{"version":3,"file":"0a8c73e7fef2363fc2a3.bundle.js","mappings":"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","sources":["webpack://multidialogo-frontend/./node_modules/@babel/polyfill/lib/index.js","webpack://multidialogo-frontend/./node_modules/@babel/polyfill/lib/noConflict.js","webpack://multidialogo-frontend/./node_modules/aurelia-binding/dist/native-modules/aurelia-binding.js","webpack://multidialogo-frontend/./node_modules/aurelia-dependency-injection/dist/native-modules/aurelia-dependency-injection.js","webpack://multidialogo-frontend/./node_modules/aurelia-dialog/dist/native-modules/aurelia-dialog.js","webpack://multidialogo-frontend/./node_modules/aurelia-dialog/dist/native-modules/chunk.js","webpack://multidialogo-frontend/./node_modules/aurelia-event-aggregator/dist/native-modules/aurelia-event-aggregator.js","webpack://multidialogo-frontend/./node_modules/aurelia-framework/dist/native-modules/aurelia-framework.js","webpack://multidialogo-frontend/./node_modules/aurelia-history-browser/dist/native-modules/aurelia-history-browser.js","webpack://multidialogo-frontend/./node_modules/aurelia-history/dist/native-modules/aurelia-history.js","webpack://multidialogo-frontend/./node_modules/aurelia-http-client/dist/native-modules/aurelia-http-client.js","webpack://multidialogo-frontend/./node_modules/aurelia-loader-webpack/dist/native-modules/aurelia-loader-webpack.js","webpack://multidialogo-frontend/./node_modules/aurelia-loader/dist/native-modules/aurelia-loader.js","webpack://multidialogo-frontend/./node_modules/aurelia-logging-console/dist/native-modules/aurelia-logging-console.js","webpack://multidialogo-frontend/./node_modules/aurelia-logging/dist/native-modules/aurelia-logging.js","webpack://multidialogo-frontend/./node_modules/aurelia-metadata/dist/native-modules/aurelia-metadata.js","webpack://multidialogo-frontend/./node_modules/aurelia-pal-browser/dist/native-modules/aurelia-pal-browser.js","webpack://multidialogo-frontend/./node_modules/aurelia-pal/dist/native-modules/aurelia-pal.js","webpack://multidialogo-frontend/./node_modules/aurelia-path/dist/native-modules/aurelia-path.js","webpack://multidialogo-frontend/./node_modules/aurelia-polyfills/dist/native-modules/aurelia-polyfills.js","webpack://multidialogo-frontend/./node_modules/aurelia-route-recognizer/dist/native-modules/aurelia-route-recognizer.js","webpack://multidialogo-frontend/./node_modules/aurelia-router/dist/native-modules/aurelia-router.js","webpack://multidialogo-frontend/./node_modules/aurelia-task-queue/dist/native-modules/aurelia-task-queue.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-binding/dist/native-modules/aurelia-templating-binding.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-resources/dist/native-modules/aurelia-templating-resources.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-router/dist/native-modules/aurelia-templating-router.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js","webpack://multidialogo-frontend/./node_modules/aurelia-validation/dist/native-modules/aurelia-validation.js","webpack://multidialogo-frontend/./src/classes/advices.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-agreements.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-platform-messages.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-settings-linked-software.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-billing-profile.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-profile-data.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-profile-pec.js","webpack://multidialogo-frontend/./src/classes/checkflow/checkflow.js","webpack://multidialogo-frontend/./src/classes/mavRequest.js","webpack://multidialogo-frontend/./src/classes/md-table.js","webpack://multidialogo-frontend/./src/classes/md-toast/md-toast.js","webpack://multidialogo-frontend/./src/classes/models/fidelityCards.js","webpack://multidialogo-frontend/./src/classes/queueMessages.js","webpack://multidialogo-frontend/./src/classes/queueProperties.js","webpack://multidialogo-frontend/./src/environment.js","webpack://multidialogo-frontend/./src/index.js","webpack://multidialogo-frontend/./src/resources/attributes/md-tooltip/md-tooltip.js","webpack://multidialogo-frontend/./src/resources/attributes/static-tooltip/static-tooltip.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/accept-cashback-contract.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/confirm-transmission-delay.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/pay-orders.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-certified-documents.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-iban.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-legal-form.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-sdd.js","webpack://multidialogo-frontend/./src/resources/elements/km-layout/km-layout.js","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.js","webpack://multidialogo-frontend/./src/resources/elements/md-control/md-control.js","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.js","webpack://multidialogo-frontend/./src/resources/elements/md-input-array/md-input-array.js","webpack://multidialogo-frontend/./src/resources/elements/md-input/md-input.js","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.js","webpack://multidialogo-frontend/./src/resources/elements/md-nav-utenti/md-nav-utenti.js","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel-dialog.js","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel.js","webpack://multidialogo-frontend/./src/resources/elements/md-resource/md-resource.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.js","webpack://multidialogo-frontend/./src/resources/value-converters/append-comma.js","webpack://multidialogo-frontend/./src/resources/value-converters/combo-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/date-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/filesize-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/object-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/queue-channel-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/queue-status-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/stringify.js","webpack://multidialogo-frontend/./src/resources/value-converters/striphtml.js","webpack://multidialogo-frontend/./src/services/api.js","webpack://multidialogo-frontend/./src/services/md-api.js","webpack://multidialogo-frontend/./src/services/md-auth.js","webpack://multidialogo-frontend/./src/services/md-datasources.js","webpack://multidialogo-frontend/./src/services/md-files.js","webpack://multidialogo-frontend/./src/services/md-tools.js","webpack://multidialogo-frontend/./src/services/md-user.js","webpack://multidialogo-frontend/./src/services/mf-api.js","webpack://multidialogo-frontend/./src/services/mf-files.js","webpack://multidialogo-frontend/./src/views/_agreement/agreement.js","webpack://multidialogo-frontend/./src/views/_legacy/viewer.js","webpack://multidialogo-frontend/./src/views/_template/routeViewName.js","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName1.js","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName2.js","webpack://multidialogo-frontend/./src/views/accesso/dialog-missing-properties.js","webpack://multidialogo-frontend/./src/views/accesso/login.js","webpack://multidialogo-frontend/./src/views/accesso/logout.js","webpack://multidialogo-frontend/./src/views/accesso/recupero.js","webpack://multidialogo-frontend/./src/views/account/delete/delete.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/add-reseller-tag.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.js","webpack://multidialogo-frontend/./src/views/anagrafiche/revisione-abi-cab/revisione-abi-cab.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dati.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-gruppi.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/anagrafica.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/cashback.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione-editor.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/pagamenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.js","webpack://multidialogo-frontend/./src/views/app/app-navigation.js","webpack://multidialogo-frontend/./src/views/app/app-toolbar.js","webpack://multidialogo-frontend/./src/views/app/app.js","webpack://multidialogo-frontend/./src/views/app/dialog-senderui.js","webpack://multidialogo-frontend/./src/views/app/maintenance.js","webpack://multidialogo-frontend/./src/views/app/not-found.js","webpack://multidialogo-frontend/./src/views/backoffice/agreements.js","webpack://multidialogo-frontend/./src/views/backoffice/alias.js","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione-dialog.js","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/active-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/expired-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.js","webpack://multidialogo-frontend/./src/views/backoffice/bounces.js","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.js","webpack://multidialogo-frontend/./src/views/backoffice/documenti/tabs/documenti-gestione.js","webpack://multidialogo-frontend/./src/views/backoffice/multitrax/multitrax.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/tabs/lista-notifiche.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/assign-editor.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-gestione.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-prenotate.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-riscattate.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/multinvio-contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/service-contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/subscriptions.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/requests.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/transactions.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.js","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.js","webpack://multidialogo-frontend/./src/views/contabilita/orders.js","webpack://multidialogo-frontend/./src/views/dashboard/dashboard.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.js","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.js","webpack://multidialogo-frontend/./src/views/help/help.js","webpack://multidialogo-frontend/./src/views/impostazioni/agreements.js","webpack://multidialogo-frontend/./src/views/impostazioni/email.js","webpack://multidialogo-frontend/./src/views/impostazioni/fax.js","webpack://multidialogo-frontend/./src/views/impostazioni/generali.js","webpack://multidialogo-frontend/./src/views/impostazioni/impostazioni.js","webpack://multidialogo-frontend/./src/views/impostazioni/multibox.js","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta.js","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.js","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.js","webpack://multidialogo-frontend/./src/views/impostazioni/posta.js","webpack://multidialogo-frontend/./src/views/impostazioni/sms.js","webpack://multidialogo-frontend/./src/views/landing/email-confirm.js","webpack://multidialogo-frontend/./src/views/landing/offerta.js","webpack://multidialogo-frontend/./src/views/landing/registrazione.js","webpack://multidialogo-frontend/./src/views/multicerta/invite.js","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-mie.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-utenti.js","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/dialogs/account-for-receipts.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/pagamento.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/tabs/mav.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-scadenza.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivabili.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivi.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-gestione.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/volture.js","webpack://multidialogo-frontend/./src/views/servizi/credito/crediti.js","webpack://multidialogo-frontend/./src/views/servizi/credito/deposito.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-transaction-confirm.js","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.js","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.js","webpack://multidialogo-frontend/./src/views/servizi/listini/tabs/listini-elenco.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-assegnate.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-gestione.js","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.js","webpack://multidialogo-frontend/./src/views/servizi/ricariche/tabs/ricariche-elenco.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-csv-download.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.js","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.js","webpack://multidialogo-frontend/./src/views/spedizioni/pending.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/report-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/archived.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/canceled.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/sent.js","webpack://multidialogo-frontend/./node_modules/charenc/charenc.js","webpack://multidialogo-frontend/./node_modules/core-js/es6/index.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/array/flat-map.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/array/includes.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/entries.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/get-own-property-descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/values.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/promise/finally.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/pad-end.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/pad-start.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/trim-end.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/trim-start.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/symbol/async-iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/library/fn/global.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_a-function.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_an-object.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_core.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_ctx.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_dom-create.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_export.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_fails.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_global.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_has.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_hide.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_is-object.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_object-dp.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_property-desc.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/es7.global.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_a-function.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_a-number-value.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_advance-string-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_an-instance.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_an-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-copy-within.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-fill.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-methods.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-reduce.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-species-constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-species-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_bind.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_classof.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_cof.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection-strong.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection-weak.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_core.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_create-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_ctx.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_date-to-iso-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_date-to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_defined.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_dom-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_enum-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_export.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fails-is-regexp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fails.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fix-re-wks.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_flags.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_flatten-into-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_for-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_function-to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_global.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_has.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_hide.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_html.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_inherit-if-required.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_invoke.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iobject.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-array-iter.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-regexp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-call.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-detect.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-step.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iterators.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_library.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-expm1.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-fround.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-log1p.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-sign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_meta.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_microtask.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_new-promise-capability.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-assign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-dp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-dps.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopd.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopn-ext.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopn.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gops.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gpo.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-keys-internal.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-pie.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-sap.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-to-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_own-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_perform.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_promise-resolve.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_property-desc.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_redefine-all.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_redefine.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_regexp-exec.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_same-value.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-proto.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-species.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_shared-key.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_shared.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_species-constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_strict-method.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-at.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-context.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-html.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-pad.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-repeat.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-trim.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-ws.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_task.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-absolute-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-iobject.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-length.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed-buffer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_uid.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_user-agent.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_validate-collection.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks-ext.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/core.get-iterator-method.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.copy-within.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.every.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.fill.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.filter.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.find-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.find.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.for-each.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.from.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.index-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.is-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.join.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.last-index-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.reduce-right.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.reduce.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.slice.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.some.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.sort.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.species.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.now.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-json.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.bind.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.has-instance.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.name.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.acosh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.asinh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.atanh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.cbrt.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.clz32.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.cosh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.expm1.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.fround.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.hypot.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.imul.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log10.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log1p.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log2.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.sign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.sinh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.tanh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.trunc.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.epsilon.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-nan.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.to-fixed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.to-precision.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.assign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.define-properties.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.define-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.freeze.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-extensible.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-frozen.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-sealed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.seal.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.promise.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.apply.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.construct.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.define-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.has.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.flags.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.match.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.search.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.split.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.anchor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.big.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.blink.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.bold.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.code-point-at.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.ends-with.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fixed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fontcolor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fontsize.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.from-code-point.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.italics.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.link.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.raw.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.repeat.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.small.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.starts-with.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.strike.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.sub.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.sup.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.trim.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.symbol.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.data-view.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.float32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.float64-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int16-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int8-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.weak-map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.weak-set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.array.flat-map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.array.includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.entries.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.values.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.promise.finally.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.pad-end.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.pad-start.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.trim-left.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.trim-right.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.dom.iterable.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.immediate.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.timers.js","webpack://multidialogo-frontend/./node_modules/core-js/web/index.js","webpack://multidialogo-frontend/./node_modules/crypt/crypt.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/pikaday/css/pikaday.css","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.sass","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.sass","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.sass","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.sass","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.sass","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.sass","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.scss","webpack://multidialogo-frontend/./src/static/app.sass","webpack://multidialogo-frontend/./src/views/_agreement/agreement.sass","webpack://multidialogo-frontend/./src/views/accesso/login.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.sass","webpack://multidialogo-frontend/./src/views/app/not-found.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.sass","webpack://multidialogo-frontend/./src/views/backoffice/backoffice.scss","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.sass","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.sass","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.sass","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.sass","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.sass","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.sass","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.sass","webpack://multidialogo-frontend/./src/views/contabilita/orders.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.sass","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.sass","webpack://multidialogo-frontend/./src/views/help/help.sass","webpack://multidialogo-frontend/./src/views/impostazioni/email.sass","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.sass","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.scss","webpack://multidialogo-frontend/./src/views/impostazioni/sms.sass","webpack://multidialogo-frontend/./src/views/landing/offerta.sass","webpack://multidialogo-frontend/./src/views/landing/registrazione.sass","webpack://multidialogo-frontend/./src/views/multicerta/invite.scss","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.sass","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.sass","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.scss","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.sass","webpack://multidialogo-frontend/./src/views/servizi/credito/credito-deposito.scss","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.scss","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.scss","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.sass","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.scss","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.sass","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-csv-download.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.sass","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.sass","webpack://multidialogo-frontend/./src/views/spedizioni/pending.sass","webpack://multidialogo-frontend/./src/views/spedizioni/report/report-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.sass","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/api.js","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-button/ka-button.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-check/ka-control-check.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-combo/ka-control-combo.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-date/ka-control-date.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-datetime/ka-control-datetime.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-editor/ka-control-editor.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-file/ka-control-file.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-list/ka-control-list.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-number/ka-control-number.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-password/ka-control-password.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-table/ka-control-table.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-text/ka-control-text.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-textarea/ka-control-textarea.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control/ka-control.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-datetime/ka-datetime.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-dialog/ka-dialog-vm.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-input/ka-input-controls.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-input/ka-input.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-layout/ka-layout.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-navbar/ka-navbar.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-progress/ka-progress.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-resource/ka-resource.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-table/ka-table.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-table/ka-tableFilters.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-tabs/ka-tabs.html","webpack://multidialogo-frontend/./src/index.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/accept-cashback-contract.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/confirm-transmission-delay.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/pay-orders.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-certified-documents.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-iban.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-legal-form.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-sdd.html","webpack://multidialogo-frontend/./src/resources/elements/km-layout/km-layout.html","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.html","webpack://multidialogo-frontend/./src/resources/elements/md-control/md-control.html","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.html","webpack://multidialogo-frontend/./src/resources/elements/md-input-array/md-input-array.html","webpack://multidialogo-frontend/./src/resources/elements/md-input/md-input.html","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.html","webpack://multidialogo-frontend/./src/resources/elements/md-nav-utenti/md-nav-utenti.html","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel-dialog.html","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel.html","webpack://multidialogo-frontend/./src/resources/elements/md-resource/md-resource.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.html","webpack://multidialogo-frontend/./src/views/_agreement/agreement.html","webpack://multidialogo-frontend/./src/views/_legacy/viewer.html","webpack://multidialogo-frontend/./src/views/_template/routeViewName.html","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName1.html","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName2.html","webpack://multidialogo-frontend/./src/views/accesso/dialog-missing-properties.html","webpack://multidialogo-frontend/./src/views/accesso/login.html","webpack://multidialogo-frontend/./src/views/accesso/logout.html","webpack://multidialogo-frontend/./src/views/accesso/recupero.html","webpack://multidialogo-frontend/./src/views/account/delete/delete.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/add-reseller-tag.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.html","webpack://multidialogo-frontend/./src/views/anagrafiche/revisione-abi-cab/revisione-abi-cab.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dati.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-gruppi.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/anagrafica.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/cashback.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione-editor.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/pagamenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.html","webpack://multidialogo-frontend/./src/views/app/app.html","webpack://multidialogo-frontend/./src/views/app/dialog-senderui.html","webpack://multidialogo-frontend/./src/views/app/maintenance.html","webpack://multidialogo-frontend/./src/views/app/not-found.html","webpack://multidialogo-frontend/./src/views/backoffice/agreements.html","webpack://multidialogo-frontend/./src/views/backoffice/alias.html","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione-dialog.html","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/active-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/expired-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.html","webpack://multidialogo-frontend/./src/views/backoffice/bounces.html","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.html","webpack://multidialogo-frontend/./src/views/backoffice/documenti/tabs/documenti-gestione.html","webpack://multidialogo-frontend/./src/views/backoffice/multitrax/multitrax.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/tabs/lista-notifiche.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/assign-editor.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-gestione.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-prenotate.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-riscattate.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/multinvio-contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/service-contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/subscriptions.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/requests.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/transactions.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.html","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.html","webpack://multidialogo-frontend/./src/views/contabilita/orders.html","webpack://multidialogo-frontend/./src/views/dashboard/dashboard.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.html","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.html","webpack://multidialogo-frontend/./src/views/help/help.html","webpack://multidialogo-frontend/./src/views/impostazioni/agreements.html","webpack://multidialogo-frontend/./src/views/impostazioni/email.html","webpack://multidialogo-frontend/./src/views/impostazioni/fax.html","webpack://multidialogo-frontend/./src/views/impostazioni/generali.html","webpack://multidialogo-frontend/./src/views/impostazioni/impostazioni.html","webpack://multidialogo-frontend/./src/views/impostazioni/multibox.html","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta.html","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.html","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.html","webpack://multidialogo-frontend/./src/views/impostazioni/posta.html","webpack://multidialogo-frontend/./src/views/impostazioni/sms.html","webpack://multidialogo-frontend/./src/views/landing/email-confirm.html","webpack://multidialogo-frontend/./src/views/landing/offerta.html","webpack://multidialogo-frontend/./src/views/landing/registrazione.html","webpack://multidialogo-frontend/./src/views/multicerta/invite.html","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-mie.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-utenti.html","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/dialogs/account-for-receipts.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/pagamento.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/tabs/mav.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-scadenza.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivabili.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivi.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-gestione.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/volture.html","webpack://multidialogo-frontend/./src/views/servizi/credito/crediti.html","webpack://multidialogo-frontend/./src/views/servizi/credito/deposito.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-transaction-confirm.html","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.html","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.html","webpack://multidialogo-frontend/./src/views/servizi/listini/tabs/listini-elenco.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-assegnate.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-gestione.html","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.html","webpack://multidialogo-frontend/./src/views/servizi/ricariche/tabs/ricariche-elenco.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-csv-download.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.html","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.html","webpack://multidialogo-frontend/./src/views/spedizioni/pending.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/report-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/archived.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/canceled.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/sent.html","webpack://multidialogo-frontend/./node_modules/html-loader/dist/runtime/getUrl.js","webpack://multidialogo-frontend/./node_modules/is-buffer/index.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/index.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-api/ka-api.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-button/ka-button.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-console/ka-console.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-backdrop/ka-control-backdrop.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-check/ka-control-check.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-combo/ka-control-combo.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-date/ka-control-date.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-datetime/ka-control-datetime.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-editor/ka-control-editor.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-file/ka-control-file.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-list/ka-control-list.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-number/ka-control-number.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-password/ka-control-password.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-table/ka-control-table.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-text/ka-control-text.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-textarea/ka-control-textarea.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control/ka-control.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-datetime/ka-datetime.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-dialog/ka-dialog-vm.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-dialog/ka-dialog.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-enter/ka-enter.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-input/ka-input-controls.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-input/ka-input.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-layout/ka-layout.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-navbar/ka-navbar.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-progress/ka-progress.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-resource/ka-resource.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-table/ka-table.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-table/ka-tableFilters.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-tabs/ka-tabs.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-toast/ka-toast.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-tooltip/ka-tooltip.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/ka-ckeditor/build/ckeditor.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/luxon/build/node/luxon.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/af.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-dz.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-kw.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-ly.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-ma.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-ps.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-sa.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-tn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/az.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/be.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bg.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bm.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bn-bd.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/br.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bs.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ca.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/cs.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/cv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/cy.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/da.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/de-at.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/de-ch.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/de.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/dv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/el.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-au.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-ca.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-gb.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-ie.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-il.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-in.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-nz.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-sg.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/eo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/es-do.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/es-mx.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/es-us.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/es.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/et.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/eu.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fa.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fi.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fil.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fr-ca.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fr-ch.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fy.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ga.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gd.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gom-deva.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gom-latn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gu.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/he.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/hi.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/hr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/hu.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/hy-am.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/id.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/is.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/it-ch.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/it.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ja.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/jv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ka.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/kk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/km.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/kn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ko.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ku-kmr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ku.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ky.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/lb.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/lo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/lt.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/lv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/me.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mi.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ml.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ms-my.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ms.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mt.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/my.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/nb.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ne.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/nl-be.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/nl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/nn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/oc-lnc.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/pa-in.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/pl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/pt-br.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/pt.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ro.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ru.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sd.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/se.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/si.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sq.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sr-cyrl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ss.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sw.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ta.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/te.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tet.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tg.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/th.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tl-ph.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tlh.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tzl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tzm-latn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tzm.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ug-cn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/uk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ur.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/uz-latn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/uz.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/vi.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/x-pseudo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/yo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/zh-cn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/zh-hk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/zh-mo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/zh-tw.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/moment.js","webpack://multidialogo-frontend/./node_modules/md5/md5.js","webpack://multidialogo-frontend/./node_modules/moment/locale/af.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-dz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-kw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-ly.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-ma.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-sa.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-tn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar.js","webpack://multidialogo-frontend/./node_modules/moment/locale/az.js","webpack://multidialogo-frontend/./node_modules/moment/locale/be.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bm.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bn-bd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/br.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bs.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cs.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cy.js","webpack://multidialogo-frontend/./node_modules/moment/locale/da.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de-at.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de.js","webpack://multidialogo-frontend/./node_modules/moment/locale/dv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/el.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-au.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-gb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-ie.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-il.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-in.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-nz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-sg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/eo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-do.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-mx.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-us.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es.js","webpack://multidialogo-frontend/./node_modules/moment/locale/et.js","webpack://multidialogo-frontend/./node_modules/moment/locale/eu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fa.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fil.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr-ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fy.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ga.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gom-deva.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gom-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/he.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hy-am.js","webpack://multidialogo-frontend/./node_modules/moment/locale/id.js","webpack://multidialogo-frontend/./node_modules/moment/locale/is.js","webpack://multidialogo-frontend/./node_modules/moment/locale/it-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/it.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ja.js","webpack://multidialogo-frontend/./node_modules/moment/locale/jv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ka.js","webpack://multidialogo-frontend/./node_modules/moment/locale/kk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/km.js","webpack://multidialogo-frontend/./node_modules/moment/locale/kn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ko.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ku.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ky.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/me.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ml.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ms-my.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ms.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/my.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ne.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nl-be.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/oc-lnc.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pa-in.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pt-br.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ro.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ru.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/se.js","webpack://multidialogo-frontend/./node_modules/moment/locale/si.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sq.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sr-cyrl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ss.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ta.js","webpack://multidialogo-frontend/./node_modules/moment/locale/te.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tet.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/th.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tl-ph.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tlh.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzm-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzm.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ug-cn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ur.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uz-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/vi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/x-pseudo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/yo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-cn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-hk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-mo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-tw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://multidialogo-frontend/./node_modules/moment/moment.js","webpack://multidialogo-frontend/./node_modules/regenerator-runtime/runtime.js","webpack://multidialogo-frontend/./src/services/rest-client.ts","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/regex.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/rng.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/v4.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/validate.js","webpack://multidialogo-frontend/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://multidialogo-frontend/./node_modules/luxon/src/datetime.js","webpack://multidialogo-frontend/./node_modules/luxon/src/duration.js","webpack://multidialogo-frontend/./node_modules/luxon/src/errors.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/conversions.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/diff.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/digits.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/english.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/formats.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/formatter.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/invalid.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/locale.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/regexParser.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/tokenParser.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/util.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/zoneUtil.js","webpack://multidialogo-frontend/./node_modules/luxon/src/info.js","webpack://multidialogo-frontend/./node_modules/luxon/src/interval.js","webpack://multidialogo-frontend/./node_modules/luxon/src/settings.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/IANAZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/fixedOffsetZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/invalidZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/systemZone.js","webpack://multidialogo-frontend/webpack/bootstrap","webpack://multidialogo-frontend/webpack/runtime/load script","webpack://multidialogo-frontend/webpack/runtime/Aurelia expose webpack internal","webpack://multidialogo-frontend/webpack/runtime/compat get default export","webpack://multidialogo-frontend/webpack/runtime/define property getters","webpack://multidialogo-frontend/webpack/runtime/ensure chunk","webpack://multidialogo-frontend/webpack/runtime/get javascript chunk filename","webpack://multidialogo-frontend/webpack/runtime/global","webpack://multidialogo-frontend/webpack/runtime/harmony module decorator","webpack://multidialogo-frontend/webpack/runtime/hasOwnProperty shorthand","webpack://multidialogo-frontend/webpack/runtime/make namespace object","webpack://multidialogo-frontend/webpack/runtime/node module decorator","webpack://multidialogo-frontend/webpack/runtime/publicPath","webpack://multidialogo-frontend/webpack/runtime/jsonp chunk loading","webpack://multidialogo-frontend/./node_modules/aurelia-webpack-plugin/runtime/pal-loader-entry.js","webpack://multidialogo-frontend/./node_modules/aurelia-bootstrapper/dist/native-modules/aurelia-bootstrapper.js"],"sourcesContent":["\"use strict\";\n\nrequire(\"./noConflict\");\n\nvar _global = _interopRequireDefault(require(\"core-js/library/fn/global\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nif (_global[\"default\"]._babelPolyfill && typeof console !== \"undefined\" && console.warn) {\n  console.warn(\"@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended \" + \"and may have consequences if different versions of the polyfills are applied sequentially. \" + \"If you do need to load the polyfill more than once, use @babel/polyfill/noConflict \" + \"instead to bypass the warning.\");\n}\n\n_global[\"default\"]._babelPolyfill = true;","\"use strict\";\n\nrequire(\"core-js/es6\");\n\nrequire(\"core-js/fn/array/includes\");\n\nrequire(\"core-js/fn/array/flat-map\");\n\nrequire(\"core-js/fn/string/pad-start\");\n\nrequire(\"core-js/fn/string/pad-end\");\n\nrequire(\"core-js/fn/string/trim-start\");\n\nrequire(\"core-js/fn/string/trim-end\");\n\nrequire(\"core-js/fn/symbol/async-iterator\");\n\nrequire(\"core-js/fn/object/get-own-property-descriptors\");\n\nrequire(\"core-js/fn/object/values\");\n\nrequire(\"core-js/fn/object/entries\");\n\nrequire(\"core-js/fn/promise/finally\");\n\nrequire(\"core-js/web\");\n\nrequire(\"regenerator-runtime/runtime\");","export { _getArrayObserver as getArrayObserver };\nexport { _getMapObserver as getMapObserver };\nexport { _getSetObserver as getSetObserver };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _class, _dec3, _class2, _dec4, _class3, _dec5, _class5, _dec6, _class7, _dec7, _class8, _dec8, _class9, _dec9, _class10, _class12, _temp, _dec10, _class13, _class14, _temp2;\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nimport * as LogManager from 'aurelia-logging';\nimport { PLATFORM, DOM } from 'aurelia-pal';\nimport { TaskQueue } from 'aurelia-task-queue';\nimport { metadata } from 'aurelia-metadata';\n\nexport var targetContext = 'Binding:target';\nexport var sourceContext = 'Binding:source';\n\nvar map = Object.create(null);\n\nexport function camelCase(name) {\n  if (name in map) {\n    return map[name];\n  }\n  var result = name.charAt(0).toLowerCase() + name.slice(1).replace(/[_.-](\\w|$)/g, function (_, x) {\n    return x.toUpperCase();\n  });\n  map[name] = result;\n  return result;\n}\n\nexport function createOverrideContext(bindingContext, parentOverrideContext) {\n  return {\n    bindingContext: bindingContext,\n    parentOverrideContext: parentOverrideContext || null\n  };\n}\n\nexport function getContextFor(name, scope, ancestor) {\n  var oc = scope.overrideContext;\n\n  if (ancestor) {\n    while (ancestor && oc) {\n      ancestor--;\n      oc = oc.parentOverrideContext;\n    }\n    if (ancestor || !oc) {\n      return undefined;\n    }\n    return name in oc ? oc : oc.bindingContext;\n  }\n\n  while (oc && !(name in oc) && !(oc.bindingContext && name in oc.bindingContext)) {\n    oc = oc.parentOverrideContext;\n  }\n  if (oc) {\n    return name in oc ? oc : oc.bindingContext;\n  }\n\n  return scope.bindingContext || scope.overrideContext;\n}\n\nexport function createScopeForTest(bindingContext, parentBindingContext) {\n  if (parentBindingContext) {\n    return {\n      bindingContext: bindingContext,\n      overrideContext: createOverrideContext(bindingContext, createOverrideContext(parentBindingContext))\n    };\n  }\n  return {\n    bindingContext: bindingContext,\n    overrideContext: createOverrideContext(bindingContext)\n  };\n}\n\nvar slotNames = [];\nvar versionSlotNames = [];\nvar lastSlot = -1;\nfunction ensureEnoughSlotNames(currentSlot) {\n  if (currentSlot === lastSlot) {\n    lastSlot += 5;\n    var ii = slotNames.length = versionSlotNames.length = lastSlot + 1;\n    for (var i = currentSlot + 1; i < ii; ++i) {\n      slotNames[i] = '_observer' + i;\n      versionSlotNames[i] = '_observerVersion' + i;\n    }\n  }\n}\nensureEnoughSlotNames(-1);\n\nfunction addObserver(observer) {\n  var observerSlots = this._observerSlots === undefined ? 0 : this._observerSlots;\n  var i = observerSlots;\n  while (i-- && this[slotNames[i]] !== observer) {}\n\n  if (i === -1) {\n    i = 0;\n    while (this[slotNames[i]]) {\n      i++;\n    }\n    this[slotNames[i]] = observer;\n    observer.subscribe(sourceContext, this);\n\n    if (i === observerSlots) {\n      this._observerSlots = i + 1;\n    }\n  }\n\n  if (this._version === undefined) {\n    this._version = 0;\n  }\n  this[versionSlotNames[i]] = this._version;\n  ensureEnoughSlotNames(i);\n}\n\nfunction observeProperty(obj, propertyName) {\n  var observer = this.observerLocator.getObserver(obj, propertyName);\n  addObserver.call(this, observer);\n}\n\nfunction observeArray(array) {\n  var observer = this.observerLocator.getArrayObserver(array);\n  addObserver.call(this, observer);\n}\n\nfunction unobserve(all) {\n  var i = this._observerSlots;\n  while (i--) {\n    if (all || this[versionSlotNames[i]] !== this._version) {\n      var observer = this[slotNames[i]];\n      this[slotNames[i]] = null;\n      if (observer) {\n        observer.unsubscribe(sourceContext, this);\n      }\n    }\n  }\n}\n\nexport function connectable() {\n  return function (target) {\n    target.prototype.observeProperty = observeProperty;\n    target.prototype.observeArray = observeArray;\n    target.prototype.unobserve = unobserve;\n    target.prototype.addObserver = addObserver;\n  };\n}\n\nvar queue = [];\nvar queued = {};\nvar nextId = 0;\nvar minimumImmediate = 100;\nvar frameBudget = 15;\n\nvar isFlushRequested = false;\nvar immediate = 0;\n\nfunction flush(animationFrameStart) {\n  var length = queue.length;\n  var i = 0;\n  while (i < length) {\n    var binding = queue[i];\n    queued[binding.__connectQueueId] = false;\n    binding.connect(true);\n    i++;\n\n    if (i % 100 === 0 && PLATFORM.performance.now() - animationFrameStart > frameBudget) {\n      break;\n    }\n  }\n  queue.splice(0, i);\n\n  if (queue.length) {\n    PLATFORM.requestAnimationFrame(flush);\n  } else {\n    isFlushRequested = false;\n    immediate = 0;\n  }\n}\n\nexport function enqueueBindingConnect(binding) {\n  if (immediate < minimumImmediate) {\n    immediate++;\n    binding.connect(false);\n  } else {\n    var id = binding.__connectQueueId;\n    if (id === undefined) {\n      id = nextId;\n      nextId++;\n      binding.__connectQueueId = id;\n    }\n\n    if (!queued[id]) {\n      queue.push(binding);\n      queued[id] = true;\n    }\n  }\n  if (!isFlushRequested) {\n    isFlushRequested = true;\n    PLATFORM.requestAnimationFrame(flush);\n  }\n}\n\nexport function setConnectQueueThreshold(value) {\n  minimumImmediate = value;\n}\n\nexport function enableConnectQueue() {\n  setConnectQueueThreshold(100);\n}\n\nexport function disableConnectQueue() {\n  setConnectQueueThreshold(Number.MAX_SAFE_INTEGER);\n}\n\nexport function getConnectQueueSize() {\n  return queue.length;\n}\n\nfunction addSubscriber(context, callable) {\n  if (this.hasSubscriber(context, callable)) {\n    return false;\n  }\n  if (!this._context0) {\n    this._context0 = context;\n    this._callable0 = callable;\n    return true;\n  }\n  if (!this._context1) {\n    this._context1 = context;\n    this._callable1 = callable;\n    return true;\n  }\n  if (!this._context2) {\n    this._context2 = context;\n    this._callable2 = callable;\n    return true;\n  }\n  if (!this._contextsRest) {\n    this._contextsRest = [context];\n    this._callablesRest = [callable];\n    return true;\n  }\n  this._contextsRest.push(context);\n  this._callablesRest.push(callable);\n  return true;\n}\n\nfunction removeSubscriber(context, callable) {\n  if (this._context0 === context && this._callable0 === callable) {\n    this._context0 = null;\n    this._callable0 = null;\n    return true;\n  }\n  if (this._context1 === context && this._callable1 === callable) {\n    this._context1 = null;\n    this._callable1 = null;\n    return true;\n  }\n  if (this._context2 === context && this._callable2 === callable) {\n    this._context2 = null;\n    this._callable2 = null;\n    return true;\n  }\n  var callables = this._callablesRest;\n  if (callables === undefined || callables.length === 0) {\n    return false;\n  }\n  var contexts = this._contextsRest;\n  var i = 0;\n  while (!(callables[i] === callable && contexts[i] === context) && callables.length > i) {\n    i++;\n  }\n  if (i >= callables.length) {\n    return false;\n  }\n  contexts.splice(i, 1);\n  callables.splice(i, 1);\n  return true;\n}\n\nvar arrayPool1 = [];\nvar arrayPool2 = [];\nvar poolUtilization = [];\n\nfunction callSubscribers(newValue, oldValue) {\n  var context0 = this._context0;\n  var callable0 = this._callable0;\n  var context1 = this._context1;\n  var callable1 = this._callable1;\n  var context2 = this._context2;\n  var callable2 = this._callable2;\n  var length = this._contextsRest ? this._contextsRest.length : 0;\n  var contextsRest = void 0;\n  var callablesRest = void 0;\n  var poolIndex = void 0;\n  var i = void 0;\n  if (length) {\n    poolIndex = poolUtilization.length;\n    while (poolIndex-- && poolUtilization[poolIndex]) {}\n    if (poolIndex < 0) {\n      poolIndex = poolUtilization.length;\n      contextsRest = [];\n      callablesRest = [];\n      poolUtilization.push(true);\n      arrayPool1.push(contextsRest);\n      arrayPool2.push(callablesRest);\n    } else {\n      poolUtilization[poolIndex] = true;\n      contextsRest = arrayPool1[poolIndex];\n      callablesRest = arrayPool2[poolIndex];\n    }\n\n    i = length;\n    while (i--) {\n      contextsRest[i] = this._contextsRest[i];\n      callablesRest[i] = this._callablesRest[i];\n    }\n  }\n\n  if (context0) {\n    if (callable0) {\n      callable0.call(context0, newValue, oldValue);\n    } else {\n      context0(newValue, oldValue);\n    }\n  }\n  if (context1) {\n    if (callable1) {\n      callable1.call(context1, newValue, oldValue);\n    } else {\n      context1(newValue, oldValue);\n    }\n  }\n  if (context2) {\n    if (callable2) {\n      callable2.call(context2, newValue, oldValue);\n    } else {\n      context2(newValue, oldValue);\n    }\n  }\n  if (length) {\n    for (i = 0; i < length; i++) {\n      var callable = callablesRest[i];\n      var context = contextsRest[i];\n      if (callable) {\n        callable.call(context, newValue, oldValue);\n      } else {\n        context(newValue, oldValue);\n      }\n      contextsRest[i] = null;\n      callablesRest[i] = null;\n    }\n    poolUtilization[poolIndex] = false;\n  }\n}\n\nfunction hasSubscribers() {\n  return !!(this._context0 || this._context1 || this._context2 || this._contextsRest && this._contextsRest.length);\n}\n\nfunction hasSubscriber(context, callable) {\n  var has = this._context0 === context && this._callable0 === callable || this._context1 === context && this._callable1 === callable || this._context2 === context && this._callable2 === callable;\n  if (has) {\n    return true;\n  }\n  var index = void 0;\n  var contexts = this._contextsRest;\n  if (!contexts || (index = contexts.length) === 0) {\n    return false;\n  }\n  var callables = this._callablesRest;\n  while (index--) {\n    if (contexts[index] === context && callables[index] === callable) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport function subscriberCollection() {\n  return function (target) {\n    target.prototype.addSubscriber = addSubscriber;\n    target.prototype.removeSubscriber = removeSubscriber;\n    target.prototype.callSubscribers = callSubscribers;\n    target.prototype.hasSubscribers = hasSubscribers;\n    target.prototype.hasSubscriber = hasSubscriber;\n  };\n}\n\nexport var ExpressionObserver = (_dec = connectable(), _dec2 = subscriberCollection(), _dec(_class = _dec2(_class = function () {\n  function ExpressionObserver(scope, expression, observerLocator, lookupFunctions) {\n    \n\n    this.scope = scope;\n    this.expression = expression;\n    this.observerLocator = observerLocator;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  ExpressionObserver.prototype.getValue = function getValue() {\n    return this.expression.evaluate(this.scope, this.lookupFunctions);\n  };\n\n  ExpressionObserver.prototype.setValue = function setValue(newValue) {\n    this.expression.assign(this.scope, newValue);\n  };\n\n  ExpressionObserver.prototype.subscribe = function subscribe(context, callable) {\n    var _this = this;\n\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.expression.evaluate(this.scope, this.lookupFunctions);\n      this.expression.connect(this, this.scope);\n    }\n    this.addSubscriber(context, callable);\n    if (arguments.length === 1 && context instanceof Function) {\n      return {\n        dispose: function dispose() {\n          _this.unsubscribe(context, callable);\n        }\n      };\n    }\n  };\n\n  ExpressionObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.unobserve(true);\n      this.oldValue = undefined;\n    }\n  };\n\n  ExpressionObserver.prototype.call = function call() {\n    var newValue = this.expression.evaluate(this.scope, this.lookupFunctions);\n    var oldValue = this.oldValue;\n    if (newValue !== oldValue) {\n      this.oldValue = newValue;\n      this.callSubscribers(newValue, oldValue);\n    }\n    this._version++;\n    this.expression.connect(this, this.scope);\n    this.unobserve(false);\n  };\n\n  return ExpressionObserver;\n}()) || _class) || _class);\n\nfunction isIndex(s) {\n  return +s === s >>> 0;\n}\n\nfunction toNumber(s) {\n  return +s;\n}\n\nfunction newSplice(index, removed, addedCount) {\n  return {\n    index: index,\n    removed: removed,\n    addedCount: addedCount\n  };\n}\n\nvar EDIT_LEAVE = 0;\nvar EDIT_UPDATE = 1;\nvar EDIT_ADD = 2;\nvar EDIT_DELETE = 3;\n\nfunction ArraySplice() {}\n\nArraySplice.prototype = {\n  calcEditDistances: function calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n    var rowCount = oldEnd - oldStart + 1;\n    var columnCount = currentEnd - currentStart + 1;\n    var distances = new Array(rowCount);\n    var north = void 0;\n    var west = void 0;\n\n    for (var i = 0; i < rowCount; ++i) {\n      distances[i] = new Array(columnCount);\n      distances[i][0] = i;\n    }\n\n    for (var j = 0; j < columnCount; ++j) {\n      distances[0][j] = j;\n    }\n\n    for (var _i = 1; _i < rowCount; ++_i) {\n      for (var _j = 1; _j < columnCount; ++_j) {\n        if (this.equals(current[currentStart + _j - 1], old[oldStart + _i - 1])) {\n          distances[_i][_j] = distances[_i - 1][_j - 1];\n        } else {\n          north = distances[_i - 1][_j] + 1;\n          west = distances[_i][_j - 1] + 1;\n          distances[_i][_j] = north < west ? north : west;\n        }\n      }\n    }\n\n    return distances;\n  },\n\n  spliceOperationsFromEditDistances: function spliceOperationsFromEditDistances(distances) {\n    var i = distances.length - 1;\n    var j = distances[0].length - 1;\n    var current = distances[i][j];\n    var edits = [];\n    while (i > 0 || j > 0) {\n      if (i === 0) {\n        edits.push(EDIT_ADD);\n        j--;\n        continue;\n      }\n      if (j === 0) {\n        edits.push(EDIT_DELETE);\n        i--;\n        continue;\n      }\n      var northWest = distances[i - 1][j - 1];\n      var west = distances[i - 1][j];\n      var north = distances[i][j - 1];\n\n      var min = void 0;\n      if (west < north) {\n        min = west < northWest ? west : northWest;\n      } else {\n        min = north < northWest ? north : northWest;\n      }\n\n      if (min === northWest) {\n        if (northWest === current) {\n          edits.push(EDIT_LEAVE);\n        } else {\n          edits.push(EDIT_UPDATE);\n          current = northWest;\n        }\n        i--;\n        j--;\n      } else if (min === west) {\n        edits.push(EDIT_DELETE);\n        i--;\n        current = west;\n      } else {\n        edits.push(EDIT_ADD);\n        j--;\n        current = north;\n      }\n    }\n\n    edits.reverse();\n    return edits;\n  },\n\n  calcSplices: function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n    var prefixCount = 0;\n    var suffixCount = 0;\n\n    var minLength = Math.min(currentEnd - currentStart, oldEnd - oldStart);\n    if (currentStart === 0 && oldStart === 0) {\n      prefixCount = this.sharedPrefix(current, old, minLength);\n    }\n\n    if (currentEnd === current.length && oldEnd === old.length) {\n      suffixCount = this.sharedSuffix(current, old, minLength - prefixCount);\n    }\n\n    currentStart += prefixCount;\n    oldStart += prefixCount;\n    currentEnd -= suffixCount;\n    oldEnd -= suffixCount;\n\n    if (currentEnd - currentStart === 0 && oldEnd - oldStart === 0) {\n      return [];\n    }\n\n    if (currentStart === currentEnd) {\n      var _splice = newSplice(currentStart, [], 0);\n      while (oldStart < oldEnd) {\n        _splice.removed.push(old[oldStart++]);\n      }\n\n      return [_splice];\n    } else if (oldStart === oldEnd) {\n      return [newSplice(currentStart, [], currentEnd - currentStart)];\n    }\n\n    var ops = this.spliceOperationsFromEditDistances(this.calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd));\n\n    var splice = undefined;\n    var splices = [];\n    var index = currentStart;\n    var oldIndex = oldStart;\n    for (var i = 0; i < ops.length; ++i) {\n      switch (ops[i]) {\n        case EDIT_LEAVE:\n          if (splice) {\n            splices.push(splice);\n            splice = undefined;\n          }\n\n          index++;\n          oldIndex++;\n          break;\n        case EDIT_UPDATE:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.addedCount++;\n          index++;\n\n          splice.removed.push(old[oldIndex]);\n          oldIndex++;\n          break;\n        case EDIT_ADD:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.addedCount++;\n          index++;\n          break;\n        case EDIT_DELETE:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.removed.push(old[oldIndex]);\n          oldIndex++;\n          break;\n      }\n    }\n\n    if (splice) {\n      splices.push(splice);\n    }\n    return splices;\n  },\n\n  sharedPrefix: function sharedPrefix(current, old, searchLength) {\n    for (var i = 0; i < searchLength; ++i) {\n      if (!this.equals(current[i], old[i])) {\n        return i;\n      }\n    }\n\n    return searchLength;\n  },\n\n  sharedSuffix: function sharedSuffix(current, old, searchLength) {\n    var index1 = current.length;\n    var index2 = old.length;\n    var count = 0;\n    while (count < searchLength && this.equals(current[--index1], old[--index2])) {\n      count++;\n    }\n\n    return count;\n  },\n\n  calculateSplices: function calculateSplices(current, previous) {\n    return this.calcSplices(current, 0, current.length, previous, 0, previous.length);\n  },\n\n  equals: function equals(currentValue, previousValue) {\n    return currentValue === previousValue;\n  }\n};\n\nvar arraySplice = new ArraySplice();\n\nexport function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n  return arraySplice.calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd);\n}\n\nfunction intersect(start1, end1, start2, end2) {\n  if (end1 < start2 || end2 < start1) {\n    return -1;\n  }\n\n  if (end1 === start2 || end2 === start1) {\n    return 0;\n  }\n\n  if (start1 < start2) {\n    if (end1 < end2) {\n      return end1 - start2;\n    }\n\n    return end2 - start2;\n  }\n\n  if (end2 < end1) {\n    return end2 - start1;\n  }\n\n  return end1 - start1;\n}\n\nexport function mergeSplice(splices, index, removed, addedCount) {\n  var splice = newSplice(index, removed, addedCount);\n\n  var inserted = false;\n  var insertionOffset = 0;\n\n  for (var i = 0; i < splices.length; i++) {\n    var current = splices[i];\n    current.index += insertionOffset;\n\n    if (inserted) {\n      continue;\n    }\n\n    var intersectCount = intersect(splice.index, splice.index + splice.removed.length, current.index, current.index + current.addedCount);\n\n    if (intersectCount >= 0) {\n\n      splices.splice(i, 1);\n      i--;\n\n      insertionOffset -= current.addedCount - current.removed.length;\n\n      splice.addedCount += current.addedCount - intersectCount;\n      var deleteCount = splice.removed.length + current.removed.length - intersectCount;\n\n      if (!splice.addedCount && !deleteCount) {\n        inserted = true;\n      } else {\n        var currentRemoved = current.removed;\n\n        if (splice.index < current.index) {\n          var prepend = splice.removed.slice(0, current.index - splice.index);\n          Array.prototype.push.apply(prepend, currentRemoved);\n          currentRemoved = prepend;\n        }\n\n        if (splice.index + splice.removed.length > current.index + current.addedCount) {\n          var append = splice.removed.slice(current.index + current.addedCount - splice.index);\n          Array.prototype.push.apply(currentRemoved, append);\n        }\n\n        splice.removed = currentRemoved;\n        if (current.index < splice.index) {\n          splice.index = current.index;\n        }\n      }\n    } else if (splice.index < current.index) {\n\n      inserted = true;\n\n      splices.splice(i, 0, splice);\n      i++;\n\n      var offset = splice.addedCount - splice.removed.length;\n      current.index += offset;\n      insertionOffset += offset;\n    }\n  }\n\n  if (!inserted) {\n    splices.push(splice);\n  }\n}\n\nfunction createInitialSplices(array, changeRecords) {\n  var splices = [];\n\n  for (var i = 0; i < changeRecords.length; i++) {\n    var record = changeRecords[i];\n    switch (record.type) {\n      case 'splice':\n        mergeSplice(splices, record.index, record.removed.slice(), record.addedCount);\n        break;\n      case 'add':\n      case 'update':\n      case 'delete':\n        if (!isIndex(record.name)) {\n          continue;\n        }\n\n        var index = toNumber(record.name);\n        if (index < 0) {\n          continue;\n        }\n\n        mergeSplice(splices, index, [record.oldValue], record.type === 'delete' ? 0 : 1);\n        break;\n      default:\n        console.error('Unexpected record type: ' + JSON.stringify(record));\n        break;\n    }\n  }\n\n  return splices;\n}\n\nexport function projectArraySplices(array, changeRecords) {\n  var splices = [];\n\n  createInitialSplices(array, changeRecords).forEach(function (splice) {\n    if (splice.addedCount === 1 && splice.removed.length === 1) {\n      if (splice.removed[0] !== array[splice.index]) {\n        splices.push(splice);\n      }\n\n      return;\n    }\n\n    splices = splices.concat(calcSplices(array, splice.index, splice.index + splice.addedCount, splice.removed, 0, splice.removed.length));\n  });\n\n  return splices;\n}\n\nfunction newRecord(type, object, key, oldValue) {\n  return {\n    type: type,\n    object: object,\n    key: key,\n    oldValue: oldValue\n  };\n}\n\nexport function getChangeRecords(map) {\n  var entries = new Array(map.size);\n  var keys = map.keys();\n  var i = 0;\n  var item = void 0;\n\n  while (item = keys.next()) {\n    if (item.done) {\n      break;\n    }\n\n    entries[i] = newRecord('added', map, item.value);\n    i++;\n  }\n\n  return entries;\n}\n\nexport var ModifyCollectionObserver = (_dec3 = subscriberCollection(), _dec3(_class2 = function () {\n  function ModifyCollectionObserver(taskQueue, collection) {\n    \n\n    this.taskQueue = taskQueue;\n    this.queued = false;\n    this.changeRecords = null;\n    this.oldCollection = null;\n    this.collection = collection;\n    this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length';\n  }\n\n  ModifyCollectionObserver.prototype.subscribe = function subscribe(context, callable) {\n    this.addSubscriber(context, callable);\n  };\n\n  ModifyCollectionObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  ModifyCollectionObserver.prototype.addChangeRecord = function addChangeRecord(changeRecord) {\n    if (!this.hasSubscribers() && !this.lengthObserver) {\n      return;\n    }\n\n    if (changeRecord.type === 'splice') {\n      var index = changeRecord.index;\n      var arrayLength = changeRecord.object.length;\n      if (index > arrayLength) {\n        index = arrayLength - changeRecord.addedCount;\n      } else if (index < 0) {\n        index = arrayLength + changeRecord.removed.length + index - changeRecord.addedCount;\n      }\n      if (index < 0) {\n        index = 0;\n      }\n      changeRecord.index = index;\n    }\n\n    if (this.changeRecords === null) {\n      this.changeRecords = [changeRecord];\n    } else {\n      this.changeRecords.push(changeRecord);\n    }\n\n    if (!this.queued) {\n      this.queued = true;\n      this.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  ModifyCollectionObserver.prototype.flushChangeRecords = function flushChangeRecords() {\n    if (this.changeRecords && this.changeRecords.length || this.oldCollection) {\n      this.call();\n    }\n  };\n\n  ModifyCollectionObserver.prototype.reset = function reset(oldCollection) {\n    this.oldCollection = oldCollection;\n\n    if (this.hasSubscribers() && !this.queued) {\n      this.queued = true;\n      this.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  ModifyCollectionObserver.prototype.getLengthObserver = function getLengthObserver() {\n    return this.lengthObserver || (this.lengthObserver = new CollectionLengthObserver(this.collection));\n  };\n\n  ModifyCollectionObserver.prototype.call = function call() {\n    var changeRecords = this.changeRecords;\n    var oldCollection = this.oldCollection;\n    var records = void 0;\n\n    this.queued = false;\n    this.changeRecords = [];\n    this.oldCollection = null;\n\n    if (this.hasSubscribers()) {\n      if (oldCollection) {\n        if (this.collection instanceof Map || this.collection instanceof Set) {\n          records = getChangeRecords(oldCollection);\n        } else {\n          records = calcSplices(this.collection, 0, this.collection.length, oldCollection, 0, oldCollection.length);\n        }\n      } else {\n        if (this.collection instanceof Map || this.collection instanceof Set) {\n          records = changeRecords;\n        } else {\n          records = projectArraySplices(this.collection, changeRecords);\n        }\n      }\n\n      this.callSubscribers(records);\n    }\n\n    if (this.lengthObserver) {\n      this.lengthObserver.call(this.collection[this.lengthPropertyName]);\n    }\n  };\n\n  return ModifyCollectionObserver;\n}()) || _class2);\n\nexport var CollectionLengthObserver = (_dec4 = subscriberCollection(), _dec4(_class3 = function () {\n  function CollectionLengthObserver(collection) {\n    \n\n    this.collection = collection;\n    this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length';\n    this.currentValue = collection[this.lengthPropertyName];\n  }\n\n  CollectionLengthObserver.prototype.getValue = function getValue() {\n    return this.collection[this.lengthPropertyName];\n  };\n\n  CollectionLengthObserver.prototype.setValue = function setValue(newValue) {\n    this.collection[this.lengthPropertyName] = newValue;\n  };\n\n  CollectionLengthObserver.prototype.subscribe = function subscribe(context, callable) {\n    this.addSubscriber(context, callable);\n  };\n\n  CollectionLengthObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  CollectionLengthObserver.prototype.call = function call(newValue) {\n    var oldValue = this.currentValue;\n    this.callSubscribers(newValue, oldValue);\n    this.currentValue = newValue;\n  };\n\n  return CollectionLengthObserver;\n}()) || _class3);\n\nvar arrayProto = Array.prototype;\nvar pop = arrayProto.pop;\nvar push = arrayProto.push;\nvar reverse = arrayProto.reverse;\nvar shift = arrayProto.shift;\nvar sort = arrayProto.sort;\nvar splice = arrayProto.splice;\nvar unshift = arrayProto.unshift;\n\nif (arrayProto.__au_patched__) {\n  LogManager.getLogger('array-observation').warn('Detected 2nd attempt of patching array from Aurelia binding.' + ' This is probably caused by dependency mismatch between core modules and a 3rd party plugin.' + ' Please see https://github.com/aurelia/cli/pull/906 if you are using webpack.');\n} else {\n  Reflect.defineProperty(arrayProto, '__au_patched__', { value: 1 });\n  arrayProto.pop = function () {\n    var notEmpty = this.length > 0;\n    var methodCallResult = pop.apply(this, arguments);\n    if (notEmpty && this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'delete',\n        object: this,\n        name: this.length,\n        oldValue: methodCallResult\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.push = function () {\n    var methodCallResult = push.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: this.length - arguments.length,\n        removed: [],\n        addedCount: arguments.length\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.reverse = function () {\n    var oldArray = void 0;\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.flushChangeRecords();\n      oldArray = this.slice();\n    }\n    var methodCallResult = reverse.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.reset(oldArray);\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.shift = function () {\n    var notEmpty = this.length > 0;\n    var methodCallResult = shift.apply(this, arguments);\n    if (notEmpty && this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'delete',\n        object: this,\n        name: 0,\n        oldValue: methodCallResult\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.sort = function () {\n    var oldArray = void 0;\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.flushChangeRecords();\n      oldArray = this.slice();\n    }\n    var methodCallResult = sort.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.reset(oldArray);\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.splice = function () {\n    var methodCallResult = splice.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: +arguments[0],\n        removed: methodCallResult,\n        addedCount: arguments.length > 2 ? arguments.length - 2 : 0\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.unshift = function () {\n    var methodCallResult = unshift.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: 0,\n        removed: [],\n        addedCount: arguments.length\n      });\n    }\n    return methodCallResult;\n  };\n}\n\nfunction _getArrayObserver(taskQueue, array) {\n  return ModifyArrayObserver.for(taskQueue, array);\n}\n\nvar ModifyArrayObserver = function (_ModifyCollectionObse) {\n  _inherits(ModifyArrayObserver, _ModifyCollectionObse);\n\n  function ModifyArrayObserver(taskQueue, array) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse.call(this, taskQueue, array));\n  }\n\n  ModifyArrayObserver.for = function _for(taskQueue, array) {\n    if (!('__array_observer__' in array)) {\n      Reflect.defineProperty(array, '__array_observer__', {\n        value: ModifyArrayObserver.create(taskQueue, array),\n        enumerable: false, configurable: false\n      });\n    }\n    return array.__array_observer__;\n  };\n\n  ModifyArrayObserver.create = function create(taskQueue, array) {\n    return new ModifyArrayObserver(taskQueue, array);\n  };\n\n  return ModifyArrayObserver;\n}(ModifyCollectionObserver);\n\nexport var Expression = function () {\n  function Expression() {\n    \n\n    this.isAssignable = false;\n  }\n\n  Expression.prototype.evaluate = function evaluate(scope, lookupFunctions, args) {\n    throw new Error('Binding expression \"' + this + '\" cannot be evaluated.');\n  };\n\n  Expression.prototype.assign = function assign(scope, value, lookupFunctions) {\n    throw new Error('Binding expression \"' + this + '\" cannot be assigned to.');\n  };\n\n  Expression.prototype.toString = function toString() {\n    return typeof FEATURE_NO_UNPARSER === 'undefined' ? _Unparser.unparse(this) : Function.prototype.toString.call(this);\n  };\n\n  return Expression;\n}();\n\nexport var BindingBehavior = function (_Expression) {\n  _inherits(BindingBehavior, _Expression);\n\n  function BindingBehavior(expression, name, args) {\n    \n\n    var _this3 = _possibleConstructorReturn(this, _Expression.call(this));\n\n    _this3.expression = expression;\n    _this3.name = name;\n    _this3.args = args;\n    return _this3;\n  }\n\n  BindingBehavior.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.expression.evaluate(scope, lookupFunctions);\n  };\n\n  BindingBehavior.prototype.assign = function assign(scope, value, lookupFunctions) {\n    return this.expression.assign(scope, value, lookupFunctions);\n  };\n\n  BindingBehavior.prototype.accept = function accept(visitor) {\n    return visitor.visitBindingBehavior(this);\n  };\n\n  BindingBehavior.prototype.connect = function connect(binding, scope) {\n    this.expression.connect(binding, scope);\n  };\n\n  BindingBehavior.prototype.bind = function bind(binding, scope, lookupFunctions) {\n    if (this.expression.expression && this.expression.bind) {\n      this.expression.bind(binding, scope, lookupFunctions);\n    }\n    var behavior = lookupFunctions.bindingBehaviors(this.name);\n    if (!behavior) {\n      throw new Error('No BindingBehavior named \"' + this.name + '\" was found!');\n    }\n    var behaviorKey = 'behavior-' + this.name;\n    if (binding[behaviorKey]) {\n      throw new Error('A binding behavior named \"' + this.name + '\" has already been applied to \"' + this.expression + '\"');\n    }\n    binding[behaviorKey] = behavior;\n    behavior.bind.apply(behavior, [binding, scope].concat(evalList(scope, this.args, binding.lookupFunctions)));\n  };\n\n  BindingBehavior.prototype.unbind = function unbind(binding, scope) {\n    var behaviorKey = 'behavior-' + this.name;\n    binding[behaviorKey].unbind(binding, scope);\n    binding[behaviorKey] = null;\n    if (this.expression.expression && this.expression.unbind) {\n      this.expression.unbind(binding, scope);\n    }\n  };\n\n  return BindingBehavior;\n}(Expression);\n\nexport var ValueConverter = function (_Expression2) {\n  _inherits(ValueConverter, _Expression2);\n\n  function ValueConverter(expression, name, args) {\n    \n\n    var _this4 = _possibleConstructorReturn(this, _Expression2.call(this));\n\n    _this4.expression = expression;\n    _this4.name = name;\n    _this4.args = args;\n    _this4.allArgs = [expression].concat(args);\n    return _this4;\n  }\n\n  ValueConverter.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var converter = lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n\n    if ('toView' in converter) {\n      return converter.toView.apply(converter, evalList(scope, this.allArgs, lookupFunctions));\n    }\n\n    return this.allArgs[0].evaluate(scope, lookupFunctions);\n  };\n\n  ValueConverter.prototype.assign = function assign(scope, value, lookupFunctions) {\n    var converter = lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n\n    if ('fromView' in converter) {\n      value = converter.fromView.apply(converter, [value].concat(evalList(scope, this.args, lookupFunctions)));\n    }\n\n    return this.allArgs[0].assign(scope, value, lookupFunctions);\n  };\n\n  ValueConverter.prototype.accept = function accept(visitor) {\n    return visitor.visitValueConverter(this);\n  };\n\n  ValueConverter.prototype.connect = function connect(binding, scope) {\n    var expressions = this.allArgs;\n    var i = expressions.length;\n    while (i--) {\n      expressions[i].connect(binding, scope);\n    }\n    var converter = binding.lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n    var signals = converter.signals;\n    if (signals === undefined) {\n      return;\n    }\n    i = signals.length;\n    while (i--) {\n      connectBindingToSignal(binding, signals[i]);\n    }\n  };\n\n  return ValueConverter;\n}(Expression);\n\nexport var Assign = function (_Expression3) {\n  _inherits(Assign, _Expression3);\n\n  function Assign(target, value) {\n    \n\n    var _this5 = _possibleConstructorReturn(this, _Expression3.call(this));\n\n    _this5.target = target;\n    _this5.value = value;\n    _this5.isAssignable = true;\n    return _this5;\n  }\n\n  Assign.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.target.assign(scope, this.value.evaluate(scope, lookupFunctions));\n  };\n\n  Assign.prototype.accept = function accept(vistor) {\n    vistor.visitAssign(this);\n  };\n\n  Assign.prototype.connect = function connect(binding, scope) {};\n\n  Assign.prototype.assign = function assign(scope, value) {\n    this.value.assign(scope, value);\n    this.target.assign(scope, value);\n  };\n\n  return Assign;\n}(Expression);\n\nexport var Conditional = function (_Expression4) {\n  _inherits(Conditional, _Expression4);\n\n  function Conditional(condition, yes, no) {\n    \n\n    var _this6 = _possibleConstructorReturn(this, _Expression4.call(this));\n\n    _this6.condition = condition;\n    _this6.yes = yes;\n    _this6.no = no;\n    return _this6;\n  }\n\n  Conditional.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return !!this.condition.evaluate(scope, lookupFunctions) ? this.yes.evaluate(scope, lookupFunctions) : this.no.evaluate(scope, lookupFunctions);\n  };\n\n  Conditional.prototype.accept = function accept(visitor) {\n    return visitor.visitConditional(this);\n  };\n\n  Conditional.prototype.connect = function connect(binding, scope) {\n    this.condition.connect(binding, scope);\n    if (this.condition.evaluate(scope)) {\n      this.yes.connect(binding, scope);\n    } else {\n      this.no.connect(binding, scope);\n    }\n  };\n\n  return Conditional;\n}(Expression);\n\nexport var AccessThis = function (_Expression5) {\n  _inherits(AccessThis, _Expression5);\n\n  function AccessThis(ancestor) {\n    \n\n    var _this7 = _possibleConstructorReturn(this, _Expression5.call(this));\n\n    _this7.ancestor = ancestor;\n    return _this7;\n  }\n\n  AccessThis.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var oc = scope.overrideContext;\n    var i = this.ancestor;\n    while (i-- && oc) {\n      oc = oc.parentOverrideContext;\n    }\n    return i < 1 && oc ? oc.bindingContext : undefined;\n  };\n\n  AccessThis.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessThis(this);\n  };\n\n  AccessThis.prototype.connect = function connect(binding, scope) {};\n\n  return AccessThis;\n}(Expression);\n\nexport var AccessScope = function (_Expression6) {\n  _inherits(AccessScope, _Expression6);\n\n  function AccessScope(name, ancestor) {\n    \n\n    var _this8 = _possibleConstructorReturn(this, _Expression6.call(this));\n\n    _this8.name = name;\n    _this8.ancestor = ancestor;\n    _this8.isAssignable = true;\n    return _this8;\n  }\n\n  AccessScope.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    return context[this.name];\n  };\n\n  AccessScope.prototype.assign = function assign(scope, value) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    return context ? context[this.name] = value : undefined;\n  };\n\n  AccessScope.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessScope(this);\n  };\n\n  AccessScope.prototype.connect = function connect(binding, scope) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    binding.observeProperty(context, this.name);\n  };\n\n  return AccessScope;\n}(Expression);\n\nexport var AccessMember = function (_Expression7) {\n  _inherits(AccessMember, _Expression7);\n\n  function AccessMember(object, name) {\n    \n\n    var _this9 = _possibleConstructorReturn(this, _Expression7.call(this));\n\n    _this9.object = object;\n    _this9.name = name;\n    _this9.isAssignable = true;\n    return _this9;\n  }\n\n  AccessMember.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    return instance === null || instance === undefined ? instance : instance[this.name];\n  };\n\n  AccessMember.prototype.assign = function assign(scope, value) {\n    var instance = this.object.evaluate(scope);\n\n    if (instance === null || instance === undefined) {\n      instance = {};\n      this.object.assign(scope, instance);\n    }\n\n    instance[this.name] = value;\n    return value;\n  };\n\n  AccessMember.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessMember(this);\n  };\n\n  AccessMember.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (obj) {\n      binding.observeProperty(obj, this.name);\n    }\n  };\n\n  return AccessMember;\n}(Expression);\n\nexport var AccessKeyed = function (_Expression8) {\n  _inherits(AccessKeyed, _Expression8);\n\n  function AccessKeyed(object, key) {\n    \n\n    var _this10 = _possibleConstructorReturn(this, _Expression8.call(this));\n\n    _this10.object = object;\n    _this10.key = key;\n    _this10.isAssignable = true;\n    return _this10;\n  }\n\n  AccessKeyed.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    var lookup = this.key.evaluate(scope, lookupFunctions);\n    return getKeyed(instance, lookup);\n  };\n\n  AccessKeyed.prototype.assign = function assign(scope, value) {\n    var instance = this.object.evaluate(scope);\n    var lookup = this.key.evaluate(scope);\n    return setKeyed(instance, lookup, value);\n  };\n\n  AccessKeyed.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessKeyed(this);\n  };\n\n  AccessKeyed.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (obj instanceof Object) {\n      this.key.connect(binding, scope);\n      var key = this.key.evaluate(scope);\n\n      if (key !== null && key !== undefined && !(Array.isArray(obj) && typeof key === 'number')) {\n        binding.observeProperty(obj, key);\n      }\n    }\n  };\n\n  return AccessKeyed;\n}(Expression);\n\nexport var CallScope = function (_Expression9) {\n  _inherits(CallScope, _Expression9);\n\n  function CallScope(name, args, ancestor) {\n    \n\n    var _this11 = _possibleConstructorReturn(this, _Expression9.call(this));\n\n    _this11.name = name;\n    _this11.args = args;\n    _this11.ancestor = ancestor;\n    return _this11;\n  }\n\n  CallScope.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var args = evalList(scope, this.args, lookupFunctions);\n    var context = getContextFor(this.name, scope, this.ancestor);\n    var func = getFunction(context, this.name, mustEvaluate);\n    if (func) {\n      return func.apply(context, args);\n    }\n    return undefined;\n  };\n\n  CallScope.prototype.accept = function accept(visitor) {\n    return visitor.visitCallScope(this);\n  };\n\n  CallScope.prototype.connect = function connect(binding, scope) {\n    var args = this.args;\n    var i = args.length;\n    while (i--) {\n      args[i].connect(binding, scope);\n    }\n  };\n\n  return CallScope;\n}(Expression);\n\nexport var CallMember = function (_Expression10) {\n  _inherits(CallMember, _Expression10);\n\n  function CallMember(object, name, args) {\n    \n\n    var _this12 = _possibleConstructorReturn(this, _Expression10.call(this));\n\n    _this12.object = object;\n    _this12.name = name;\n    _this12.args = args;\n    return _this12;\n  }\n\n  CallMember.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    var args = evalList(scope, this.args, lookupFunctions);\n    var func = getFunction(instance, this.name, mustEvaluate);\n    if (func) {\n      return func.apply(instance, args);\n    }\n    return undefined;\n  };\n\n  CallMember.prototype.accept = function accept(visitor) {\n    return visitor.visitCallMember(this);\n  };\n\n  CallMember.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (getFunction(obj, this.name, false)) {\n      var args = this.args;\n      var i = args.length;\n      while (i--) {\n        args[i].connect(binding, scope);\n      }\n    }\n  };\n\n  return CallMember;\n}(Expression);\n\nexport var CallFunction = function (_Expression11) {\n  _inherits(CallFunction, _Expression11);\n\n  function CallFunction(func, args) {\n    \n\n    var _this13 = _possibleConstructorReturn(this, _Expression11.call(this));\n\n    _this13.func = func;\n    _this13.args = args;\n    return _this13;\n  }\n\n  CallFunction.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var func = this.func.evaluate(scope, lookupFunctions);\n    if (typeof func === 'function') {\n      return func.apply(null, evalList(scope, this.args, lookupFunctions));\n    }\n    if (!mustEvaluate && (func === null || func === undefined)) {\n      return undefined;\n    }\n    throw new Error(this.func + ' is not a function');\n  };\n\n  CallFunction.prototype.accept = function accept(visitor) {\n    return visitor.visitCallFunction(this);\n  };\n\n  CallFunction.prototype.connect = function connect(binding, scope) {\n    this.func.connect(binding, scope);\n    var func = this.func.evaluate(scope);\n    if (typeof func === 'function') {\n      var args = this.args;\n      var i = args.length;\n      while (i--) {\n        args[i].connect(binding, scope);\n      }\n    }\n  };\n\n  return CallFunction;\n}(Expression);\n\nexport var Binary = function (_Expression12) {\n  _inherits(Binary, _Expression12);\n\n  function Binary(operation, left, right) {\n    \n\n    var _this14 = _possibleConstructorReturn(this, _Expression12.call(this));\n\n    _this14.operation = operation;\n    _this14.left = left;\n    _this14.right = right;\n    return _this14;\n  }\n\n  Binary.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var left = this.left.evaluate(scope, lookupFunctions);\n\n    switch (this.operation) {\n      case '&&':\n        return left && this.right.evaluate(scope, lookupFunctions);\n      case '||':\n        return left || this.right.evaluate(scope, lookupFunctions);\n    }\n\n    var right = this.right.evaluate(scope, lookupFunctions);\n\n    switch (this.operation) {\n      case '==':\n        return left == right;\n      case '===':\n        return left === right;\n      case '!=':\n        return left != right;\n      case '!==':\n        return left !== right;\n      case 'instanceof':\n        return typeof right === 'function' && left instanceof right;\n      case 'in':\n        return (typeof right === 'undefined' ? 'undefined' : _typeof(right)) === 'object' && right !== null && left in right;\n    }\n\n    if (left === null || right === null || left === undefined || right === undefined) {\n      switch (this.operation) {\n        case '+':\n          if (left !== null && left !== undefined) return left;\n          if (right !== null && right !== undefined) return right;\n          return 0;\n        case '-':\n          if (left !== null && left !== undefined) return left;\n          if (right !== null && right !== undefined) return 0 - right;\n          return 0;\n      }\n\n      return null;\n    }\n\n    switch (this.operation) {\n      case '+':\n        return autoConvertAdd(left, right);\n      case '-':\n        return left - right;\n      case '*':\n        return left * right;\n      case '/':\n        return left / right;\n      case '%':\n        return left % right;\n      case '<':\n        return left < right;\n      case '>':\n        return left > right;\n      case '<=':\n        return left <= right;\n      case '>=':\n        return left >= right;\n      case '^':\n        return left ^ right;\n    }\n\n    throw new Error('Internal error [' + this.operation + '] not handled');\n  };\n\n  Binary.prototype.accept = function accept(visitor) {\n    return visitor.visitBinary(this);\n  };\n\n  Binary.prototype.connect = function connect(binding, scope) {\n    this.left.connect(binding, scope);\n    var left = this.left.evaluate(scope);\n    if (this.operation === '&&' && !left || this.operation === '||' && left) {\n      return;\n    }\n    this.right.connect(binding, scope);\n  };\n\n  return Binary;\n}(Expression);\n\nexport var Unary = function (_Expression13) {\n  _inherits(Unary, _Expression13);\n\n  function Unary(operation, expression) {\n    \n\n    var _this15 = _possibleConstructorReturn(this, _Expression13.call(this));\n\n    _this15.operation = operation;\n    _this15.expression = expression;\n    return _this15;\n  }\n\n  Unary.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    switch (this.operation) {\n      case '!':\n        return !this.expression.evaluate(scope, lookupFunctions);\n      case 'typeof':\n        return _typeof(this.expression.evaluate(scope, lookupFunctions));\n      case 'void':\n        return void this.expression.evaluate(scope, lookupFunctions);\n    }\n\n    throw new Error('Internal error [' + this.operation + '] not handled');\n  };\n\n  Unary.prototype.accept = function accept(visitor) {\n    return visitor.visitPrefix(this);\n  };\n\n  Unary.prototype.connect = function connect(binding, scope) {\n    this.expression.connect(binding, scope);\n  };\n\n  return Unary;\n}(Expression);\n\nexport var LiteralPrimitive = function (_Expression14) {\n  _inherits(LiteralPrimitive, _Expression14);\n\n  function LiteralPrimitive(value) {\n    \n\n    var _this16 = _possibleConstructorReturn(this, _Expression14.call(this));\n\n    _this16.value = value;\n    return _this16;\n  }\n\n  LiteralPrimitive.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.value;\n  };\n\n  LiteralPrimitive.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralPrimitive(this);\n  };\n\n  LiteralPrimitive.prototype.connect = function connect(binding, scope) {};\n\n  return LiteralPrimitive;\n}(Expression);\n\nexport var LiteralString = function (_Expression15) {\n  _inherits(LiteralString, _Expression15);\n\n  function LiteralString(value) {\n    \n\n    var _this17 = _possibleConstructorReturn(this, _Expression15.call(this));\n\n    _this17.value = value;\n    return _this17;\n  }\n\n  LiteralString.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.value;\n  };\n\n  LiteralString.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralString(this);\n  };\n\n  LiteralString.prototype.connect = function connect(binding, scope) {};\n\n  return LiteralString;\n}(Expression);\n\nexport var LiteralTemplate = function (_Expression16) {\n  _inherits(LiteralTemplate, _Expression16);\n\n  function LiteralTemplate(cooked, expressions, raw, tag) {\n    \n\n    var _this18 = _possibleConstructorReturn(this, _Expression16.call(this));\n\n    _this18.cooked = cooked;\n    _this18.expressions = expressions || [];\n    _this18.length = _this18.expressions.length;\n    _this18.tagged = tag !== undefined;\n    if (_this18.tagged) {\n      _this18.cooked.raw = raw;\n      _this18.tag = tag;\n      if (tag instanceof AccessScope) {\n        _this18.contextType = 'Scope';\n      } else if (tag instanceof AccessMember || tag instanceof AccessKeyed) {\n        _this18.contextType = 'Object';\n      } else {\n        throw new Error(_this18.tag + ' is not a valid template tag');\n      }\n    }\n    return _this18;\n  }\n\n  LiteralTemplate.prototype.getScopeContext = function getScopeContext(scope, lookupFunctions) {\n    return getContextFor(this.tag.name, scope, this.tag.ancestor);\n  };\n\n  LiteralTemplate.prototype.getObjectContext = function getObjectContext(scope, lookupFunctions) {\n    return this.tag.object.evaluate(scope, lookupFunctions);\n  };\n\n  LiteralTemplate.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var results = new Array(this.length);\n    for (var i = 0; i < this.length; i++) {\n      results[i] = this.expressions[i].evaluate(scope, lookupFunctions);\n    }\n    if (this.tagged) {\n      var func = this.tag.evaluate(scope, lookupFunctions);\n      if (typeof func === 'function') {\n        var context = this['get' + this.contextType + 'Context'](scope, lookupFunctions);\n        return func.call.apply(func, [context, this.cooked].concat(results));\n      }\n      if (!mustEvaluate) {\n        return null;\n      }\n      throw new Error(this.tag + ' is not a function');\n    }\n    var result = this.cooked[0];\n    for (var _i2 = 0; _i2 < this.length; _i2++) {\n      result = String.prototype.concat(result, results[_i2], this.cooked[_i2 + 1]);\n    }\n    return result;\n  };\n\n  LiteralTemplate.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralTemplate(this);\n  };\n\n  LiteralTemplate.prototype.connect = function connect(binding, scope) {\n    for (var i = 0; i < this.length; i++) {\n      this.expressions[i].connect(binding, scope);\n    }\n    if (this.tagged) {\n      this.tag.connect(binding, scope);\n    }\n  };\n\n  return LiteralTemplate;\n}(Expression);\n\nexport var LiteralArray = function (_Expression17) {\n  _inherits(LiteralArray, _Expression17);\n\n  function LiteralArray(elements) {\n    \n\n    var _this19 = _possibleConstructorReturn(this, _Expression17.call(this));\n\n    _this19.elements = elements;\n    return _this19;\n  }\n\n  LiteralArray.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var elements = this.elements;\n    var result = [];\n\n    for (var i = 0, length = elements.length; i < length; ++i) {\n      result[i] = elements[i].evaluate(scope, lookupFunctions);\n    }\n\n    return result;\n  };\n\n  LiteralArray.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralArray(this);\n  };\n\n  LiteralArray.prototype.connect = function connect(binding, scope) {\n    var length = this.elements.length;\n    for (var i = 0; i < length; i++) {\n      this.elements[i].connect(binding, scope);\n    }\n  };\n\n  return LiteralArray;\n}(Expression);\n\nexport var LiteralObject = function (_Expression18) {\n  _inherits(LiteralObject, _Expression18);\n\n  function LiteralObject(keys, values) {\n    \n\n    var _this20 = _possibleConstructorReturn(this, _Expression18.call(this));\n\n    _this20.keys = keys;\n    _this20.values = values;\n    return _this20;\n  }\n\n  LiteralObject.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = {};\n    var keys = this.keys;\n    var values = this.values;\n\n    for (var i = 0, length = keys.length; i < length; ++i) {\n      instance[keys[i]] = values[i].evaluate(scope, lookupFunctions);\n    }\n\n    return instance;\n  };\n\n  LiteralObject.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralObject(this);\n  };\n\n  LiteralObject.prototype.connect = function connect(binding, scope) {\n    var length = this.keys.length;\n    for (var i = 0; i < length; i++) {\n      this.values[i].connect(binding, scope);\n    }\n  };\n\n  return LiteralObject;\n}(Expression);\n\nfunction evalList(scope, list, lookupFunctions) {\n  var length = list.length;\n  var result = [];\n  for (var i = 0; i < length; i++) {\n    result[i] = list[i].evaluate(scope, lookupFunctions);\n  }\n  return result;\n}\n\nfunction autoConvertAdd(a, b) {\n  if (a !== null && b !== null) {\n    if (typeof a === 'string' && typeof b !== 'string') {\n      return a + b.toString();\n    }\n\n    if (typeof a !== 'string' && typeof b === 'string') {\n      return a.toString() + b;\n    }\n\n    return a + b;\n  }\n\n  if (a !== null) {\n    return a;\n  }\n\n  if (b !== null) {\n    return b;\n  }\n\n  return 0;\n}\n\nfunction getFunction(obj, name, mustExist) {\n  var func = obj === null || obj === undefined ? null : obj[name];\n  if (typeof func === 'function') {\n    return func;\n  }\n  if (!mustExist && (func === null || func === undefined)) {\n    return null;\n  }\n  throw new Error(name + ' is not a function');\n}\n\nfunction getKeyed(obj, key) {\n  if (Array.isArray(obj)) {\n    return obj[parseInt(key, 10)];\n  } else if (obj) {\n    return obj[key];\n  } else if (obj === null || obj === undefined) {\n    return undefined;\n  }\n\n  return obj[key];\n}\n\nfunction setKeyed(obj, key, value) {\n  if (Array.isArray(obj)) {\n    var index = parseInt(key, 10);\n\n    if (obj.length <= index) {\n      obj.length = index + 1;\n    }\n\n    obj[index] = value;\n  } else {\n    obj[key] = value;\n  }\n\n  return value;\n}\n\nvar _Unparser = null;\n\nexport { _Unparser as Unparser };\nif (typeof FEATURE_NO_UNPARSER === 'undefined') {\n  _Unparser = function () {\n    function Unparser(buffer) {\n      \n\n      this.buffer = buffer;\n    }\n\n    Unparser.unparse = function unparse(expression) {\n      var buffer = [];\n      var visitor = new _Unparser(buffer);\n\n      expression.accept(visitor);\n\n      return buffer.join('');\n    };\n\n    Unparser.prototype.write = function write(text) {\n      this.buffer.push(text);\n    };\n\n    Unparser.prototype.writeArgs = function writeArgs(args) {\n      this.write('(');\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        args[i].accept(this);\n      }\n\n      this.write(')');\n    };\n\n    Unparser.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) {\n      var args = behavior.args;\n\n      behavior.expression.accept(this);\n      this.write('&' + behavior.name);\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        this.write(':');\n        args[i].accept(this);\n      }\n    };\n\n    Unparser.prototype.visitValueConverter = function visitValueConverter(converter) {\n      var args = converter.args;\n\n      converter.expression.accept(this);\n      this.write('|' + converter.name);\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        this.write(':');\n        args[i].accept(this);\n      }\n    };\n\n    Unparser.prototype.visitAssign = function visitAssign(assign) {\n      assign.target.accept(this);\n      this.write('=');\n      assign.value.accept(this);\n    };\n\n    Unparser.prototype.visitConditional = function visitConditional(conditional) {\n      conditional.condition.accept(this);\n      this.write('?');\n      conditional.yes.accept(this);\n      this.write(':');\n      conditional.no.accept(this);\n    };\n\n    Unparser.prototype.visitAccessThis = function visitAccessThis(access) {\n      if (access.ancestor === 0) {\n        this.write('$this');\n        return;\n      }\n      this.write('$parent');\n      var i = access.ancestor - 1;\n      while (i--) {\n        this.write('.$parent');\n      }\n    };\n\n    Unparser.prototype.visitAccessScope = function visitAccessScope(access) {\n      var i = access.ancestor;\n      while (i--) {\n        this.write('$parent.');\n      }\n      this.write(access.name);\n    };\n\n    Unparser.prototype.visitAccessMember = function visitAccessMember(access) {\n      access.object.accept(this);\n      this.write('.' + access.name);\n    };\n\n    Unparser.prototype.visitAccessKeyed = function visitAccessKeyed(access) {\n      access.object.accept(this);\n      this.write('[');\n      access.key.accept(this);\n      this.write(']');\n    };\n\n    Unparser.prototype.visitCallScope = function visitCallScope(call) {\n      var i = call.ancestor;\n      while (i--) {\n        this.write('$parent.');\n      }\n      this.write(call.name);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitCallFunction = function visitCallFunction(call) {\n      call.func.accept(this);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitCallMember = function visitCallMember(call) {\n      call.object.accept(this);\n      this.write('.' + call.name);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitPrefix = function visitPrefix(prefix) {\n      this.write('(' + prefix.operation);\n      if (prefix.operation.charCodeAt(0) >= 97) {\n        this.write(' ');\n      }\n      prefix.expression.accept(this);\n      this.write(')');\n    };\n\n    Unparser.prototype.visitBinary = function visitBinary(binary) {\n      binary.left.accept(this);\n      if (binary.operation.charCodeAt(0) === 105) {\n        this.write(' ' + binary.operation + ' ');\n      } else {\n        this.write(binary.operation);\n      }\n      binary.right.accept(this);\n    };\n\n    Unparser.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) {\n      this.write('' + literal.value);\n    };\n\n    Unparser.prototype.visitLiteralArray = function visitLiteralArray(literal) {\n      var elements = literal.elements;\n\n      this.write('[');\n\n      for (var i = 0, length = elements.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        elements[i].accept(this);\n      }\n\n      this.write(']');\n    };\n\n    Unparser.prototype.visitLiteralObject = function visitLiteralObject(literal) {\n      var keys = literal.keys;\n      var values = literal.values;\n\n      this.write('{');\n\n      for (var i = 0, length = keys.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        this.write('\\'' + keys[i] + '\\':');\n        values[i].accept(this);\n      }\n\n      this.write('}');\n    };\n\n    Unparser.prototype.visitLiteralString = function visitLiteralString(literal) {\n      var escaped = literal.value.replace(/'/g, \"\\'\");\n      this.write('\\'' + escaped + '\\'');\n    };\n\n    Unparser.prototype.visitLiteralTemplate = function visitLiteralTemplate(literal) {\n      var cooked = literal.cooked,\n          expressions = literal.expressions;\n\n      var length = expressions.length;\n      this.write('`');\n      this.write(cooked[0]);\n      for (var i = 0; i < length; i++) {\n        expressions[i].accept(this);\n        this.write(cooked[i + 1]);\n      }\n      this.write('`');\n    };\n\n    return Unparser;\n  }();\n}\n\nexport var ExpressionCloner = function () {\n  function ExpressionCloner() {\n    \n  }\n\n  ExpressionCloner.prototype.cloneExpressionArray = function cloneExpressionArray(array) {\n    var clonedArray = [];\n    var i = array.length;\n    while (i--) {\n      clonedArray[i] = array[i].accept(this);\n    }\n    return clonedArray;\n  };\n\n  ExpressionCloner.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) {\n    return new BindingBehavior(behavior.expression.accept(this), behavior.name, this.cloneExpressionArray(behavior.args));\n  };\n\n  ExpressionCloner.prototype.visitValueConverter = function visitValueConverter(converter) {\n    return new ValueConverter(converter.expression.accept(this), converter.name, this.cloneExpressionArray(converter.args));\n  };\n\n  ExpressionCloner.prototype.visitAssign = function visitAssign(assign) {\n    return new Assign(assign.target.accept(this), assign.value.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitConditional = function visitConditional(conditional) {\n    return new Conditional(conditional.condition.accept(this), conditional.yes.accept(this), conditional.no.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitAccessThis = function visitAccessThis(access) {\n    return new AccessThis(access.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitAccessScope = function visitAccessScope(access) {\n    return new AccessScope(access.name, access.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitAccessMember = function visitAccessMember(access) {\n    return new AccessMember(access.object.accept(this), access.name);\n  };\n\n  ExpressionCloner.prototype.visitAccessKeyed = function visitAccessKeyed(access) {\n    return new AccessKeyed(access.object.accept(this), access.key.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitCallScope = function visitCallScope(call) {\n    return new CallScope(call.name, this.cloneExpressionArray(call.args), call.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitCallFunction = function visitCallFunction(call) {\n    return new CallFunction(call.func.accept(this), this.cloneExpressionArray(call.args));\n  };\n\n  ExpressionCloner.prototype.visitCallMember = function visitCallMember(call) {\n    return new CallMember(call.object.accept(this), call.name, this.cloneExpressionArray(call.args));\n  };\n\n  ExpressionCloner.prototype.visitUnary = function visitUnary(unary) {\n    return new Unary(prefix.operation, prefix.expression.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitBinary = function visitBinary(binary) {\n    return new Binary(binary.operation, binary.left.accept(this), binary.right.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) {\n    return new LiteralPrimitive(literal);\n  };\n\n  ExpressionCloner.prototype.visitLiteralArray = function visitLiteralArray(literal) {\n    return new LiteralArray(this.cloneExpressionArray(literal.elements));\n  };\n\n  ExpressionCloner.prototype.visitLiteralObject = function visitLiteralObject(literal) {\n    return new LiteralObject(literal.keys, this.cloneExpressionArray(literal.values));\n  };\n\n  ExpressionCloner.prototype.visitLiteralString = function visitLiteralString(literal) {\n    return new LiteralString(literal.value);\n  };\n\n  ExpressionCloner.prototype.visitLiteralTemplate = function visitLiteralTemplate(literal) {\n    return new LiteralTemplate(literal.cooked, this.cloneExpressionArray(literal.expressions), literal.raw, literal.tag && literal.tag.accept(this));\n  };\n\n  return ExpressionCloner;\n}();\n\nexport function cloneExpression(expression) {\n  var visitor = new ExpressionCloner();\n  return expression.accept(visitor);\n}\n\nexport var bindingMode = {\n  oneTime: 0,\n  toView: 1,\n  oneWay: 1,\n  twoWay: 2,\n  fromView: 3\n};\n\nexport var Parser = function () {\n  function Parser() {\n    \n\n    this.cache = Object.create(null);\n  }\n\n  Parser.prototype.parse = function parse(src) {\n    src = src || '';\n\n    return this.cache[src] || (this.cache[src] = new ParserImplementation(src).parseBindingBehavior());\n  };\n\n  return Parser;\n}();\n\nvar fromCharCode = String.fromCharCode;\n\nexport var ParserImplementation = function () {\n  _createClass(ParserImplementation, [{\n    key: 'raw',\n    get: function get() {\n      return this.src.slice(this.start, this.idx);\n    }\n  }]);\n\n  function ParserImplementation(src) {\n    \n\n    this.idx = 0;\n\n    this.start = 0;\n\n    this.src = src;\n    this.len = src.length;\n\n    this.tkn = T$EOF;\n\n    this.val = undefined;\n\n    this.ch = src.charCodeAt(0);\n  }\n\n  ParserImplementation.prototype.parseBindingBehavior = function parseBindingBehavior() {\n    this.nextToken();\n    if (this.tkn & T$ExpressionTerminal) {\n      this.err('Invalid start of expression');\n    }\n    var result = this.parseValueConverter();\n    while (this.opt(T$Ampersand)) {\n      result = new BindingBehavior(result, this.val, this.parseVariadicArgs());\n    }\n    if (this.tkn !== T$EOF) {\n      this.err('Unconsumed token ' + this.raw);\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseValueConverter = function parseValueConverter() {\n    var result = this.parseExpression();\n    while (this.opt(T$Bar)) {\n      result = new ValueConverter(result, this.val, this.parseVariadicArgs());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseVariadicArgs = function parseVariadicArgs() {\n    this.nextToken();\n    var result = [];\n    while (this.opt(T$Colon)) {\n      result.push(this.parseExpression());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseExpression = function parseExpression() {\n    var exprStart = this.idx;\n    var result = this.parseConditional();\n\n    while (this.tkn === T$Eq) {\n      if (!result.isAssignable) {\n        this.err('Expression ' + this.src.slice(exprStart, this.start) + ' is not assignable');\n      }\n      this.nextToken();\n      exprStart = this.idx;\n      result = new Assign(result, this.parseConditional());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseConditional = function parseConditional() {\n    var result = this.parseBinary(0);\n\n    if (this.opt(T$Question)) {\n      var yes = this.parseExpression();\n      this.expect(T$Colon);\n      result = new Conditional(result, yes, this.parseExpression());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseBinary = function parseBinary(minPrecedence) {\n    var left = this.parseLeftHandSide(0);\n\n    while (this.tkn & T$BinaryOp) {\n      var opToken = this.tkn;\n      if ((opToken & T$Precedence) <= minPrecedence) {\n        break;\n      }\n      this.nextToken();\n      left = new Binary(TokenValues[opToken & T$TokenMask], left, this.parseBinary(opToken & T$Precedence));\n    }\n    return left;\n  };\n\n  ParserImplementation.prototype.parseLeftHandSide = function parseLeftHandSide(context) {\n    var result = void 0;\n\n    primary: switch (this.tkn) {\n      case T$Plus:\n        this.nextToken();\n        return this.parseLeftHandSide(0);\n      case T$Minus:\n        this.nextToken();\n        return new Binary('-', new LiteralPrimitive(0), this.parseLeftHandSide(0));\n      case T$Bang:\n      case T$TypeofKeyword:\n      case T$VoidKeyword:\n        var op = TokenValues[this.tkn & T$TokenMask];\n        this.nextToken();\n        return new Unary(op, this.parseLeftHandSide(0));\n      case T$ParentScope:\n        {\n          do {\n            this.nextToken();\n            context++;\n            if (this.opt(T$Period)) {\n              if (this.tkn === T$Period) {\n                this.err();\n              }\n              continue;\n            } else if (this.tkn & T$AccessScopeTerminal) {\n              result = new AccessThis(context & C$Ancestor);\n\n              context = context & C$ShorthandProp | C$This;\n              break primary;\n            } else {\n              this.err();\n            }\n          } while (this.tkn === T$ParentScope);\n        }\n\n      case T$Identifier:\n        {\n          result = new AccessScope(this.val, context & C$Ancestor);\n          this.nextToken();\n          context = context & C$ShorthandProp | C$Scope;\n          break;\n        }\n      case T$ThisScope:\n        this.nextToken();\n        result = new AccessThis(0);\n        context = context & C$ShorthandProp | C$This;\n        break;\n      case T$LParen:\n        this.nextToken();\n        result = this.parseExpression();\n        this.expect(T$RParen);\n        context = C$Primary;\n        break;\n      case T$LBracket:\n        {\n          this.nextToken();\n          var _elements = [];\n          if (this.tkn !== T$RBracket) {\n            do {\n              _elements.push(this.parseExpression());\n            } while (this.opt(T$Comma));\n          }\n          this.expect(T$RBracket);\n          result = new LiteralArray(_elements);\n          context = C$Primary;\n          break;\n        }\n      case T$LBrace:\n        {\n          var keys = [];\n          var values = [];\n          this.nextToken();\n          while (this.tkn !== T$RBrace) {\n            if (this.tkn & T$IdentifierOrKeyword) {\n              var ch = this.ch,\n                  tkn = this.tkn,\n                  idx = this.idx;\n\n              keys.push(this.val);\n              this.nextToken();\n              if (this.opt(T$Colon)) {\n                values.push(this.parseExpression());\n              } else {\n                this.ch = ch;\n                this.tkn = tkn;\n                this.idx = idx;\n                values.push(this.parseLeftHandSide(C$ShorthandProp));\n              }\n            } else if (this.tkn & T$Literal) {\n              keys.push(this.val);\n              this.nextToken();\n              this.expect(T$Colon);\n              values.push(this.parseExpression());\n            } else {\n              this.err();\n            }\n            if (this.tkn !== T$RBrace) {\n              this.expect(T$Comma);\n            }\n          }\n          this.expect(T$RBrace);\n          result = new LiteralObject(keys, values);\n          context = C$Primary;\n          break;\n        }\n      case T$StringLiteral:\n        result = new LiteralString(this.val);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      case T$TemplateTail:\n        result = new LiteralTemplate([this.val]);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      case T$TemplateContinuation:\n        result = this.parseTemplate(0);\n        context = C$Primary;\n        break;\n      case T$NumericLiteral:\n        {\n          result = new LiteralPrimitive(this.val);\n          this.nextToken();\n\n          break;\n        }\n      case T$NullKeyword:\n      case T$UndefinedKeyword:\n      case T$TrueKeyword:\n      case T$FalseKeyword:\n        result = new LiteralPrimitive(TokenValues[this.tkn & T$TokenMask]);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      default:\n        if (this.idx >= this.len) {\n          this.err('Unexpected end of expression');\n        } else {\n          this.err();\n        }\n    }\n\n    if (context & C$ShorthandProp) {\n      return result;\n    }\n\n    var name = this.val;\n    while (this.tkn & T$MemberOrCallExpression) {\n      switch (this.tkn) {\n        case T$Period:\n          this.nextToken();\n          if (!(this.tkn & T$IdentifierOrKeyword)) {\n            this.err();\n          }\n          name = this.val;\n          this.nextToken();\n\n          context = context & C$Primary | (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1 | (context & C$Call) >> 2;\n          if (this.tkn === T$LParen) {\n            continue;\n          }\n          if (context & C$Scope) {\n            result = new AccessScope(name, result.ancestor);\n          } else {\n            result = new AccessMember(result, name);\n          }\n          continue;\n        case T$LBracket:\n          this.nextToken();\n          context = C$Keyed;\n          result = new AccessKeyed(result, this.parseExpression());\n          this.expect(T$RBracket);\n          break;\n        case T$LParen:\n          this.nextToken();\n          var args = [];\n          while (this.tkn !== T$RParen) {\n            args.push(this.parseExpression());\n            if (!this.opt(T$Comma)) {\n              break;\n            }\n          }\n          this.expect(T$RParen);\n          if (context & C$Scope) {\n            result = new CallScope(name, args, result.ancestor);\n          } else if (context & (C$Member | C$Primary)) {\n            result = new CallMember(result, name, args);\n          } else {\n            result = new CallFunction(result, args);\n          }\n          context = C$Call;\n          break;\n        case T$TemplateTail:\n          result = new LiteralTemplate([this.val], [], [this.raw], result);\n          this.nextToken();\n          break;\n        case T$TemplateContinuation:\n          result = this.parseTemplate(context | C$Tagged, result);\n      }\n    }\n\n    return result;\n  };\n\n  ParserImplementation.prototype.parseTemplate = function parseTemplate(context, func) {\n    var cooked = [this.val];\n    var raw = context & C$Tagged ? [this.raw] : undefined;\n    this.expect(T$TemplateContinuation);\n    var expressions = [this.parseExpression()];\n\n    while ((this.tkn = this.scanTemplateTail()) !== T$TemplateTail) {\n      cooked.push(this.val);\n      if (context & C$Tagged) {\n        raw.push(this.raw);\n      }\n      this.expect(T$TemplateContinuation);\n      expressions.push(this.parseExpression());\n    }\n\n    cooked.push(this.val);\n    if (context & C$Tagged) {\n      raw.push(this.raw);\n    }\n    this.nextToken();\n    return new LiteralTemplate(cooked, expressions, raw, func);\n  };\n\n  ParserImplementation.prototype.nextToken = function nextToken() {\n    while (this.idx < this.len) {\n      if (this.ch <= 0x20) {\n        this.next();\n        continue;\n      }\n      this.start = this.idx;\n      if (this.ch === 0x24 || this.ch >= 0x61 && this.ch <= 0x7A) {\n        this.tkn = this.scanIdentifier();\n        return;\n      }\n\n      if ((this.tkn = CharScanners[this.ch](this)) !== null) {\n        return;\n      }\n    }\n    this.tkn = T$EOF;\n  };\n\n  ParserImplementation.prototype.next = function next() {\n    return this.ch = this.src.charCodeAt(++this.idx);\n  };\n\n  ParserImplementation.prototype.scanIdentifier = function scanIdentifier() {\n    while (AsciiIdParts.has(this.next()) || this.ch > 0x7F && IdParts[this.ch]) {}\n\n    return KeywordLookup[this.val = this.raw] || T$Identifier;\n  };\n\n  ParserImplementation.prototype.scanNumber = function scanNumber(isFloat) {\n    if (isFloat) {\n      this.val = 0;\n    } else {\n      this.val = this.ch - 0x30;\n      while (this.next() <= 0x39 && this.ch >= 0x30) {\n        this.val = this.val * 10 + this.ch - 0x30;\n      }\n    }\n\n    if (isFloat || this.ch === 0x2E) {\n      if (!isFloat) {\n        this.next();\n      }\n      var start = this.idx;\n      var value = this.ch - 0x30;\n      while (this.next() <= 0x39 && this.ch >= 0x30) {\n        value = value * 10 + this.ch - 0x30;\n      }\n      this.val = this.val + value / Math.pow(10, this.idx - start);\n    }\n\n    if (this.ch === 0x65 || this.ch === 0x45) {\n      var _start = this.idx;\n\n      this.next();\n      if (this.ch === 0x2D || this.ch === 0x2B) {\n        this.next();\n      }\n\n      if (!(this.ch >= 0x30 && this.ch <= 0x39)) {\n        this.idx = _start;\n        this.err('Invalid exponent');\n      }\n      while (this.next() <= 0x39 && this.ch >= 0x30) {}\n      this.val = parseFloat(this.src.slice(this.start, this.idx));\n    }\n\n    return T$NumericLiteral;\n  };\n\n  ParserImplementation.prototype.scanString = function scanString() {\n    var quote = this.ch;\n    this.next();\n\n    var buffer = void 0;\n    var marker = this.idx;\n\n    while (this.ch !== quote) {\n      if (this.ch === 0x5C) {\n        if (!buffer) {\n          buffer = [];\n        }\n\n        buffer.push(this.src.slice(marker, this.idx));\n\n        this.next();\n\n        var _unescaped = void 0;\n\n        if (this.ch === 0x75) {\n          this.next();\n\n          if (this.idx + 4 < this.len) {\n            var hex = this.src.slice(this.idx, this.idx + 4);\n\n            if (!/[A-Z0-9]{4}/i.test(hex)) {\n              this.err('Invalid unicode escape [\\\\u' + hex + ']');\n            }\n\n            _unescaped = parseInt(hex, 16);\n            this.idx += 4;\n            this.ch = this.src.charCodeAt(this.idx);\n          } else {\n            this.err();\n          }\n        } else {\n          _unescaped = unescape(this.ch);\n          this.next();\n        }\n\n        buffer.push(fromCharCode(_unescaped));\n        marker = this.idx;\n      } else if (this.ch === 0 || this.idx >= this.len) {\n        this.err('Unterminated quote');\n      } else {\n        this.next();\n      }\n    }\n\n    var last = this.src.slice(marker, this.idx);\n    this.next();\n    var unescaped = last;\n\n    if (buffer !== null && buffer !== undefined) {\n      buffer.push(last);\n      unescaped = buffer.join('');\n    }\n\n    this.val = unescaped;\n    return T$StringLiteral;\n  };\n\n  ParserImplementation.prototype.scanTemplate = function scanTemplate() {\n    var tail = true;\n    var result = '';\n\n    while (this.next() !== 0x60) {\n      if (this.ch === 0x24) {\n        if (this.idx + 1 < this.len && this.src.charCodeAt(this.idx + 1) === 0x7B) {\n          this.idx++;\n          tail = false;\n          break;\n        } else {\n          result += '$';\n        }\n      } else if (this.ch === 0x5C) {\n        result += fromCharCode(unescape(this.next()));\n      } else if (this.ch === 0 || this.idx >= this.len) {\n        this.err('Unterminated template literal');\n      } else {\n        result += fromCharCode(this.ch);\n      }\n    }\n\n    this.next();\n    this.val = result;\n    if (tail) {\n      return T$TemplateTail;\n    }\n    return T$TemplateContinuation;\n  };\n\n  ParserImplementation.prototype.scanTemplateTail = function scanTemplateTail() {\n    if (this.idx >= this.len) {\n      this.err('Unterminated template');\n    }\n    this.idx--;\n    return this.scanTemplate();\n  };\n\n  ParserImplementation.prototype.err = function err() {\n    var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Unexpected token ' + this.raw;\n    var column = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.start;\n\n    throw new Error('Parser Error: ' + message + ' at column ' + column + ' in expression [' + this.src + ']');\n  };\n\n  ParserImplementation.prototype.opt = function opt(token) {\n    if (this.tkn === token) {\n      this.nextToken();\n      return true;\n    }\n\n    return false;\n  };\n\n  ParserImplementation.prototype.expect = function expect(token) {\n    if (this.tkn === token) {\n      this.nextToken();\n    } else {\n      this.err('Missing expected token ' + TokenValues[token & T$TokenMask], this.idx);\n    }\n  };\n\n  return ParserImplementation;\n}();\n\nfunction unescape(code) {\n  switch (code) {\n    case 0x66:\n      return 0xC;\n    case 0x6E:\n      return 0xA;\n    case 0x72:\n      return 0xD;\n    case 0x74:\n      return 0x9;\n    case 0x76:\n      return 0xB;\n    default:\n      return code;\n  }\n}\n\nvar C$This = 1 << 10;\nvar C$Scope = 1 << 11;\nvar C$Member = 1 << 12;\nvar C$Keyed = 1 << 13;\nvar C$Call = 1 << 14;\nvar C$Primary = 1 << 15;\nvar C$ShorthandProp = 1 << 16;\nvar C$Tagged = 1 << 17;\n\nvar C$Ancestor = (1 << 9) - 1;\n\nvar T$TokenMask = (1 << 6) - 1;\n\nvar T$PrecShift = 6;\n\nvar T$Precedence = 7 << T$PrecShift;\n\nvar T$ExpressionTerminal = 1 << 11;\n\nvar T$ClosingToken = 1 << 12;\n\nvar T$OpeningToken = 1 << 13;\n\nvar T$AccessScopeTerminal = 1 << 14;\nvar T$Keyword = 1 << 15;\nvar T$EOF = 1 << 16 | T$AccessScopeTerminal | T$ExpressionTerminal;\nvar T$Identifier = 1 << 17;\nvar T$IdentifierOrKeyword = T$Identifier | T$Keyword;\nvar T$Literal = 1 << 18;\nvar T$NumericLiteral = 1 << 19 | T$Literal;\nvar T$StringLiteral = 1 << 20 | T$Literal;\nvar T$BinaryOp = 1 << 21;\n\nvar T$UnaryOp = 1 << 22;\n\nvar T$MemberExpression = 1 << 23;\n\nvar T$MemberOrCallExpression = 1 << 24;\nvar T$TemplateTail = 1 << 25 | T$MemberOrCallExpression;\nvar T$TemplateContinuation = 1 << 26 | T$MemberOrCallExpression;\n\nvar T$FalseKeyword = 0 | T$Keyword | T$Literal;\nvar T$TrueKeyword = 1 | T$Keyword | T$Literal;\nvar T$NullKeyword = 2 | T$Keyword | T$Literal;\nvar T$UndefinedKeyword = 3 | T$Keyword | T$Literal;\nvar T$ThisScope = 4 | T$IdentifierOrKeyword;\nvar T$ParentScope = 5 | T$IdentifierOrKeyword;\n\nvar T$LParen = 6 | T$OpeningToken | T$AccessScopeTerminal | T$MemberOrCallExpression;\nvar T$LBrace = 7 | T$OpeningToken;\nvar T$Period = 8 | T$MemberExpression | T$MemberOrCallExpression;\nvar T$RBrace = 9 | T$AccessScopeTerminal | T$ClosingToken | T$ExpressionTerminal;\nvar T$RParen = 10 | T$AccessScopeTerminal | T$ClosingToken | T$ExpressionTerminal;\nvar T$Comma = 11 | T$AccessScopeTerminal;\nvar T$LBracket = 12 | T$OpeningToken | T$AccessScopeTerminal | T$MemberExpression | T$MemberOrCallExpression;\nvar T$RBracket = 13 | T$ClosingToken | T$ExpressionTerminal;\nvar T$Colon = 14 | T$AccessScopeTerminal;\nvar T$Question = 15;\n\nvar T$Ampersand = 18 | T$AccessScopeTerminal;\nvar T$Bar = 19 | T$AccessScopeTerminal;\nvar T$BarBar = 20 | 1 << T$PrecShift | T$BinaryOp;\nvar T$AmpersandAmpersand = 21 | 2 << T$PrecShift | T$BinaryOp;\nvar T$Caret = 22 | 3 << T$PrecShift | T$BinaryOp;\nvar T$EqEq = 23 | 4 << T$PrecShift | T$BinaryOp;\nvar T$BangEq = 24 | 4 << T$PrecShift | T$BinaryOp;\nvar T$EqEqEq = 25 | 4 << T$PrecShift | T$BinaryOp;\nvar T$BangEqEq = 26 | 4 << T$PrecShift | T$BinaryOp;\nvar T$Lt = 27 | 5 << T$PrecShift | T$BinaryOp;\nvar T$Gt = 28 | 5 << T$PrecShift | T$BinaryOp;\nvar T$LtEq = 29 | 5 << T$PrecShift | T$BinaryOp;\nvar T$GtEq = 30 | 5 << T$PrecShift | T$BinaryOp;\nvar T$InKeyword = 31 | 5 << T$PrecShift | T$BinaryOp | T$Keyword;\nvar T$InstanceOfKeyword = 32 | 5 << T$PrecShift | T$BinaryOp | T$Keyword;\nvar T$Plus = 33 | 6 << T$PrecShift | T$BinaryOp | T$UnaryOp;\nvar T$Minus = 34 | 6 << T$PrecShift | T$BinaryOp | T$UnaryOp;\nvar T$TypeofKeyword = 35 | T$UnaryOp | T$Keyword;\nvar T$VoidKeyword = 36 | T$UnaryOp | T$Keyword;\nvar T$Star = 37 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Percent = 38 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Slash = 39 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Eq = 40;\nvar T$Bang = 41 | T$UnaryOp;\n\nvar KeywordLookup = Object.create(null);\nKeywordLookup.true = T$TrueKeyword;\nKeywordLookup.null = T$NullKeyword;\nKeywordLookup.false = T$FalseKeyword;\nKeywordLookup.undefined = T$UndefinedKeyword;\nKeywordLookup.$this = T$ThisScope;\nKeywordLookup.$parent = T$ParentScope;\nKeywordLookup.in = T$InKeyword;\nKeywordLookup.instanceof = T$InstanceOfKeyword;\nKeywordLookup.typeof = T$TypeofKeyword;\nKeywordLookup.void = T$VoidKeyword;\n\nvar TokenValues = [false, true, null, undefined, '$this', '$parent', '(', '{', '.', '}', ')', ',', '[', ']', ':', '?', '\\'', '\"', '&', '|', '||', '&&', '^', '==', '!=', '===', '!==', '<', '>', '<=', '>=', 'in', 'instanceof', '+', '-', 'typeof', 'void', '*', '%', '/', '=', '!'];\n\nvar codes = {\n  AsciiIdPart: [0x24, 0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0, 0x61, 0x7B],\n  IdStart: [0x24, 0, 0x41, 0x5B, 0x5F, 0, 0x61, 0x7B, 0xAA, 0, 0xBA, 0, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2E0, 0x2E5, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x2071, 0, 0x207F, 0, 0x2090, 0x209D, 0x212A, 0x212C, 0x2132, 0, 0x214E, 0, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA722, 0xA788, 0xA78B, 0xA7AF, 0xA7B0, 0xA7B8, 0xA7F7, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B],\n  Digit: [0x30, 0x3A],\n  Skip: [0, 0x21, 0x7F, 0xA1]\n};\n\nfunction decompress(lookup, set, compressed, value) {\n  var rangeCount = compressed.length;\n  for (var i = 0; i < rangeCount; i += 2) {\n    var start = compressed[i];\n    var end = compressed[i + 1];\n    end = end > 0 ? end : start + 1;\n    if (lookup) {\n      var j = start;\n      while (j < end) {\n        lookup[j] = value;\n        j++;\n      }\n    }\n    if (set) {\n      for (var ch = start; ch < end; ch++) {\n        set.add(ch);\n      }\n    }\n  }\n}\n\nfunction returnToken(token) {\n  return function (p) {\n    p.next();\n    return token;\n  };\n}\nfunction unexpectedCharacter(p) {\n  p.err('Unexpected character [' + fromCharCode(p.ch) + ']');\n  return null;\n}\n\nvar AsciiIdParts = new Set();\ndecompress(null, AsciiIdParts, codes.AsciiIdPart, true);\n\nvar IdParts = new Uint8Array(0xFFFF);\ndecompress(IdParts, null, codes.IdStart, 1);\ndecompress(IdParts, null, codes.Digit, 1);\n\nvar CharScanners = new Array(0xFFFF);\nvar ci = 0;\nwhile (ci < 0xFFFF) {\n  CharScanners[ci] = unexpectedCharacter;\n  ci++;\n}\n\ndecompress(CharScanners, null, codes.Skip, function (p) {\n  p.next();\n  return null;\n});\ndecompress(CharScanners, null, codes.IdStart, function (p) {\n  return p.scanIdentifier();\n});\ndecompress(CharScanners, null, codes.Digit, function (p) {\n  return p.scanNumber(false);\n});\n\nCharScanners[0x22] = CharScanners[0x27] = function (p) {\n  return p.scanString();\n};\nCharScanners[0x60] = function (p) {\n  return p.scanTemplate();\n};\n\nCharScanners[0x21] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Bang;\n  }\n  if (p.next() !== 0x3D) {\n    return T$BangEq;\n  }\n  p.next();\n  return T$BangEqEq;\n};\n\nCharScanners[0x3D] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Eq;\n  }\n  if (p.next() !== 0x3D) {\n    return T$EqEq;\n  }\n  p.next();\n  return T$EqEqEq;\n};\n\nCharScanners[0x26] = function (p) {\n  if (p.next() !== 0x26) {\n    return T$Ampersand;\n  }\n  p.next();\n  return T$AmpersandAmpersand;\n};\n\nCharScanners[0x7C] = function (p) {\n  if (p.next() !== 0x7C) {\n    return T$Bar;\n  }\n  p.next();\n  return T$BarBar;\n};\n\nCharScanners[0x2E] = function (p) {\n  if (p.next() <= 0x39 && p.ch >= 0x30) {\n    return p.scanNumber(true);\n  }\n  return T$Period;\n};\n\nCharScanners[0x3C] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Lt;\n  }\n  p.next();\n  return T$LtEq;\n};\n\nCharScanners[0x3E] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Gt;\n  }\n  p.next();\n  return T$GtEq;\n};\n\nCharScanners[0x25] = returnToken(T$Percent);\nCharScanners[0x28] = returnToken(T$LParen);\nCharScanners[0x29] = returnToken(T$RParen);\nCharScanners[0x2A] = returnToken(T$Star);\nCharScanners[0x2B] = returnToken(T$Plus);\nCharScanners[0x2C] = returnToken(T$Comma);\nCharScanners[0x2D] = returnToken(T$Minus);\nCharScanners[0x2F] = returnToken(T$Slash);\nCharScanners[0x3A] = returnToken(T$Colon);\nCharScanners[0x3F] = returnToken(T$Question);\nCharScanners[0x5B] = returnToken(T$LBracket);\nCharScanners[0x5D] = returnToken(T$RBracket);\nCharScanners[0x5E] = returnToken(T$Caret);\nCharScanners[0x7B] = returnToken(T$LBrace);\nCharScanners[0x7D] = returnToken(T$RBrace);\n\nvar mapProto = Map.prototype;\n\nfunction _getMapObserver(taskQueue, map) {\n  return ModifyMapObserver.for(taskQueue, map);\n}\n\nvar ModifyMapObserver = function (_ModifyCollectionObse2) {\n  _inherits(ModifyMapObserver, _ModifyCollectionObse2);\n\n  function ModifyMapObserver(taskQueue, map) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse2.call(this, taskQueue, map));\n  }\n\n  ModifyMapObserver.for = function _for(taskQueue, map) {\n    if (!('__map_observer__' in map)) {\n      Reflect.defineProperty(map, '__map_observer__', {\n        value: ModifyMapObserver.create(taskQueue, map),\n        enumerable: false, configurable: false\n      });\n    }\n    return map.__map_observer__;\n  };\n\n  ModifyMapObserver.create = function create(taskQueue, map) {\n    var observer = new ModifyMapObserver(taskQueue, map);\n\n    var proto = mapProto;\n    if (proto.set !== map.set || proto.delete !== map.delete || proto.clear !== map.clear) {\n      proto = {\n        set: map.set,\n        delete: map.delete,\n        clear: map.clear\n      };\n    }\n\n    map.set = function () {\n      var hasValue = map.has(arguments[0]);\n      var type = hasValue ? 'update' : 'add';\n      var oldValue = map.get(arguments[0]);\n      var methodCallResult = proto.set.apply(map, arguments);\n      if (!hasValue || oldValue !== map.get(arguments[0])) {\n        observer.addChangeRecord({\n          type: type,\n          object: map,\n          key: arguments[0],\n          oldValue: oldValue\n        });\n      }\n      return methodCallResult;\n    };\n\n    map.delete = function () {\n      var hasValue = map.has(arguments[0]);\n      var oldValue = map.get(arguments[0]);\n      var methodCallResult = proto.delete.apply(map, arguments);\n      if (hasValue) {\n        observer.addChangeRecord({\n          type: 'delete',\n          object: map,\n          key: arguments[0],\n          oldValue: oldValue\n        });\n      }\n      return methodCallResult;\n    };\n\n    map.clear = function () {\n      var methodCallResult = proto.clear.apply(map, arguments);\n      observer.addChangeRecord({\n        type: 'clear',\n        object: map\n      });\n      return methodCallResult;\n    };\n\n    return observer;\n  };\n\n  return ModifyMapObserver;\n}(ModifyCollectionObserver);\n\nvar emLogger = LogManager.getLogger('event-manager');\n\nfunction findOriginalEventTarget(event) {\n  return event.composedPath && event.composedPath()[0] || event.deepPath && event.deepPath()[0] || event.path && event.path[0] || event.target;\n}\n\nfunction stopPropagation() {\n  this.standardStopPropagation();\n  this.propagationStopped = true;\n}\n\nfunction handleCapturedEvent(event) {\n  event.propagationStopped = false;\n  var target = findOriginalEventTarget(event);\n\n  var orderedCallbacks = [];\n\n  while (target) {\n    if (target.capturedCallbacks) {\n      var callback = target.capturedCallbacks[event.type];\n      if (callback) {\n        if (event.stopPropagation !== stopPropagation) {\n          event.standardStopPropagation = event.stopPropagation;\n          event.stopPropagation = stopPropagation;\n        }\n        orderedCallbacks.push(callback);\n      }\n    }\n    target = target.parentNode;\n  }\n  for (var i = orderedCallbacks.length - 1; i >= 0 && !event.propagationStopped; i--) {\n    var orderedCallback = orderedCallbacks[i];\n    if ('handleEvent' in orderedCallback) {\n      orderedCallback.handleEvent(event);\n    } else {\n      orderedCallback(event);\n    }\n  }\n}\n\nvar CapturedHandlerEntry = function () {\n  function CapturedHandlerEntry(eventName) {\n    \n\n    this.eventName = eventName;\n    this.count = 0;\n  }\n\n  CapturedHandlerEntry.prototype.increment = function increment() {\n    this.count++;\n\n    if (this.count === 1) {\n      DOM.addEventListener(this.eventName, handleCapturedEvent, true);\n    }\n  };\n\n  CapturedHandlerEntry.prototype.decrement = function decrement() {\n    if (this.count === 0) {\n      emLogger.warn('The same EventListener was disposed multiple times.');\n    } else if (--this.count === 0) {\n      DOM.removeEventListener(this.eventName, handleCapturedEvent, true);\n    }\n  };\n\n  return CapturedHandlerEntry;\n}();\n\nvar DelegateHandlerEntry = function () {\n  function DelegateHandlerEntry(eventName, eventManager) {\n    \n\n    this.eventName = eventName;\n    this.count = 0;\n    this.eventManager = eventManager;\n  }\n\n  DelegateHandlerEntry.prototype.handleEvent = function handleEvent(event) {\n    event.propagationStopped = false;\n    var target = findOriginalEventTarget(event);\n\n    while (target && !event.propagationStopped) {\n      if (target.delegatedCallbacks) {\n        var callback = target.delegatedCallbacks[event.type];\n        if (callback) {\n          if (event.stopPropagation !== stopPropagation) {\n            event.standardStopPropagation = event.stopPropagation;\n            event.stopPropagation = stopPropagation;\n          }\n          if ('handleEvent' in callback) {\n            callback.handleEvent(event);\n          } else {\n            callback(event);\n          }\n        }\n      }\n\n      var parent = target.parentNode;\n      var shouldEscapeShadowRoot = this.eventManager.escapeShadowRoot && parent instanceof ShadowRoot;\n\n      target = shouldEscapeShadowRoot ? parent.host : parent;\n    }\n  };\n\n  DelegateHandlerEntry.prototype.increment = function increment() {\n    this.count++;\n\n    if (this.count === 1) {\n      DOM.addEventListener(this.eventName, this, false);\n    }\n  };\n\n  DelegateHandlerEntry.prototype.decrement = function decrement() {\n    if (this.count === 0) {\n      emLogger.warn('The same EventListener was disposed multiple times.');\n    } else if (--this.count === 0) {\n      DOM.removeEventListener(this.eventName, this, false);\n    }\n  };\n\n  return DelegateHandlerEntry;\n}();\n\nvar DelegationEntryHandler = function () {\n  function DelegationEntryHandler(entry, lookup, targetEvent) {\n    \n\n    this.entry = entry;\n    this.lookup = lookup;\n    this.targetEvent = targetEvent;\n  }\n\n  DelegationEntryHandler.prototype.dispose = function dispose() {\n    if (this.lookup[this.targetEvent]) {\n      this.entry.decrement();\n      this.lookup[this.targetEvent] = null;\n    } else {\n      emLogger.warn('Calling .dispose() on already disposed eventListener');\n    }\n  };\n\n  return DelegationEntryHandler;\n}();\n\nvar EventHandler = function () {\n  function EventHandler(target, targetEvent, callback) {\n    \n\n    this.target = target;\n    this.targetEvent = targetEvent;\n    this.callback = callback;\n  }\n\n  EventHandler.prototype.dispose = function dispose() {\n    this.target.removeEventListener(this.targetEvent, this.callback);\n  };\n\n  return EventHandler;\n}();\n\nvar DefaultEventStrategy = function () {\n  function DefaultEventStrategy(eventManager) {\n    \n\n    this.delegatedHandlers = {};\n    this.capturedHandlers = {};\n\n    this.eventManager = eventManager;\n  }\n\n  DefaultEventStrategy.prototype.subscribe = function subscribe(target, targetEvent, callback, strategy, disposable) {\n    var delegatedHandlers = void 0;\n    var capturedHandlers = void 0;\n    var handlerEntry = void 0;\n\n    if (strategy === delegationStrategy.bubbling) {\n      delegatedHandlers = this.delegatedHandlers;\n      handlerEntry = delegatedHandlers[targetEvent] || (delegatedHandlers[targetEvent] = new DelegateHandlerEntry(targetEvent, this.eventManager));\n      var delegatedCallbacks = target.delegatedCallbacks || (target.delegatedCallbacks = {});\n      if (!delegatedCallbacks[targetEvent]) {\n        handlerEntry.increment();\n      } else {\n        emLogger.warn('Overriding previous callback for event listener', { event: targetEvent, callback: callback, previousCallback: delegatedCallbacks[targetEvent] });\n      }\n      delegatedCallbacks[targetEvent] = callback;\n\n      if (disposable === true) {\n        return new DelegationEntryHandler(handlerEntry, delegatedCallbacks, targetEvent);\n      }\n\n      return function () {\n        handlerEntry.decrement();\n        delegatedCallbacks[targetEvent] = null;\n      };\n    }\n    if (strategy === delegationStrategy.capturing) {\n      capturedHandlers = this.capturedHandlers;\n      handlerEntry = capturedHandlers[targetEvent] || (capturedHandlers[targetEvent] = new CapturedHandlerEntry(targetEvent));\n      var capturedCallbacks = target.capturedCallbacks || (target.capturedCallbacks = {});\n      if (!capturedCallbacks[targetEvent]) {\n        handlerEntry.increment();\n      } else {\n        emLogger.error('already have a callback for event', { event: targetEvent, callback: callback });\n      }\n      capturedCallbacks[targetEvent] = callback;\n\n      if (disposable === true) {\n        return new DelegationEntryHandler(handlerEntry, capturedCallbacks, targetEvent);\n      }\n\n      return function () {\n        handlerEntry.decrement();\n        capturedCallbacks[targetEvent] = null;\n      };\n    }\n\n    target.addEventListener(targetEvent, callback);\n\n    if (disposable === true) {\n      return new EventHandler(target, targetEvent, callback);\n    }\n\n    return function () {\n      target.removeEventListener(targetEvent, callback);\n    };\n  };\n\n  return DefaultEventStrategy;\n}();\n\nexport var delegationStrategy = {\n  none: 0,\n  capturing: 1,\n  bubbling: 2\n};\n\nexport var EventManager = function () {\n  function EventManager() {\n    var escapeShadowRoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n    \n\n    this.elementHandlerLookup = {};\n    this.eventStrategyLookup = {};\n    this.escapeShadowRoot = escapeShadowRoot;\n\n    this.registerElementConfig({\n      tagName: 'input',\n      properties: {\n        value: ['change', 'input'],\n        checked: ['change', 'input'],\n        files: ['change', 'input']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'textarea',\n      properties: {\n        value: ['change', 'input']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'select',\n      properties: {\n        value: ['change']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'content editable',\n      properties: {\n        value: ['change', 'input', 'blur', 'keyup', 'paste']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'scrollable element',\n      properties: {\n        scrollTop: ['scroll'],\n        scrollLeft: ['scroll']\n      }\n    });\n\n    this.defaultEventStrategy = new DefaultEventStrategy(this);\n  }\n\n  EventManager.prototype.registerElementConfig = function registerElementConfig(config) {\n    var tagName = config.tagName.toLowerCase();\n    var properties = config.properties;\n    var propertyName = void 0;\n\n    var lookup = this.elementHandlerLookup[tagName] = {};\n\n    for (propertyName in properties) {\n      if (properties.hasOwnProperty(propertyName)) {\n        lookup[propertyName] = properties[propertyName];\n      }\n    }\n  };\n\n  EventManager.prototype.registerEventStrategy = function registerEventStrategy(eventName, strategy) {\n    this.eventStrategyLookup[eventName] = strategy;\n  };\n\n  EventManager.prototype.getElementHandler = function getElementHandler(target, propertyName) {\n    var tagName = void 0;\n    var lookup = this.elementHandlerLookup;\n\n    if (target.tagName) {\n      tagName = target.tagName.toLowerCase();\n\n      if (lookup[tagName] && lookup[tagName][propertyName]) {\n        return new EventSubscriber(lookup[tagName][propertyName]);\n      }\n\n      if (propertyName === 'textContent' || propertyName === 'innerHTML') {\n        return new EventSubscriber(lookup['content editable'].value);\n      }\n\n      if (propertyName === 'scrollTop' || propertyName === 'scrollLeft') {\n        return new EventSubscriber(lookup['scrollable element'][propertyName]);\n      }\n    }\n\n    return null;\n  };\n\n  EventManager.prototype.addEventListener = function addEventListener(target, targetEvent, callbackOrListener, delegate, disposable) {\n    return (this.eventStrategyLookup[targetEvent] || this.defaultEventStrategy).subscribe(target, targetEvent, callbackOrListener, delegate, disposable);\n  };\n\n  return EventManager;\n}();\n\nexport var EventSubscriber = function () {\n  function EventSubscriber(events) {\n    \n\n    this.events = events;\n    this.element = null;\n    this.handler = null;\n  }\n\n  EventSubscriber.prototype.subscribe = function subscribe(element, callbackOrListener) {\n    this.element = element;\n    this.handler = callbackOrListener;\n\n    var events = this.events;\n    for (var i = 0, ii = events.length; ii > i; ++i) {\n      element.addEventListener(events[i], callbackOrListener);\n    }\n  };\n\n  EventSubscriber.prototype.dispose = function dispose() {\n    if (this.element === null) {\n      return;\n    }\n    var element = this.element;\n    var callbackOrListener = this.handler;\n    var events = this.events;\n    for (var i = 0, ii = events.length; ii > i; ++i) {\n      element.removeEventListener(events[i], callbackOrListener);\n    }\n    this.element = this.handler = null;\n  };\n\n  return EventSubscriber;\n}();\n\nexport var DirtyChecker = function () {\n  function DirtyChecker() {\n    \n\n    this.tracked = [];\n    this.checkDelay = 120;\n  }\n\n  DirtyChecker.prototype.addProperty = function addProperty(property) {\n    var tracked = this.tracked;\n\n    tracked.push(property);\n\n    if (tracked.length === 1) {\n      this.scheduleDirtyCheck();\n    }\n  };\n\n  DirtyChecker.prototype.removeProperty = function removeProperty(property) {\n    var tracked = this.tracked;\n    tracked.splice(tracked.indexOf(property), 1);\n  };\n\n  DirtyChecker.prototype.scheduleDirtyCheck = function scheduleDirtyCheck() {\n    var _this22 = this;\n\n    setTimeout(function () {\n      return _this22.check();\n    }, this.checkDelay);\n  };\n\n  DirtyChecker.prototype.check = function check() {\n    var tracked = this.tracked;\n    var i = tracked.length;\n\n    while (i--) {\n      var current = tracked[i];\n\n      if (current.isDirty()) {\n        current.call();\n      }\n    }\n\n    if (tracked.length) {\n      this.scheduleDirtyCheck();\n    }\n  };\n\n  return DirtyChecker;\n}();\n\nexport var DirtyCheckProperty = (_dec5 = subscriberCollection(), _dec5(_class5 = function () {\n  function DirtyCheckProperty(dirtyChecker, obj, propertyName) {\n    \n\n    this.dirtyChecker = dirtyChecker;\n    this.obj = obj;\n    this.propertyName = propertyName;\n  }\n\n  DirtyCheckProperty.prototype.getValue = function getValue() {\n    return this.obj[this.propertyName];\n  };\n\n  DirtyCheckProperty.prototype.setValue = function setValue(newValue) {\n    this.obj[this.propertyName] = newValue;\n  };\n\n  DirtyCheckProperty.prototype.call = function call() {\n    var oldValue = this.oldValue;\n    var newValue = this.getValue();\n\n    this.callSubscribers(newValue, oldValue);\n\n    this.oldValue = newValue;\n  };\n\n  DirtyCheckProperty.prototype.isDirty = function isDirty() {\n    return this.oldValue !== this.obj[this.propertyName];\n  };\n\n  DirtyCheckProperty.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.getValue();\n      this.dirtyChecker.addProperty(this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  DirtyCheckProperty.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.dirtyChecker.removeProperty(this);\n    }\n  };\n\n  return DirtyCheckProperty;\n}()) || _class5);\n\nvar logger = LogManager.getLogger('property-observation');\n\nexport var propertyAccessor = {\n  getValue: function getValue(obj, propertyName) {\n    return obj[propertyName];\n  },\n  setValue: function setValue(value, obj, propertyName) {\n    obj[propertyName] = value;\n  }\n};\n\nexport var PrimitiveObserver = function () {\n  function PrimitiveObserver(primitive, propertyName) {\n    \n\n    this.doNotCache = true;\n\n    this.primitive = primitive;\n    this.propertyName = propertyName;\n  }\n\n  PrimitiveObserver.prototype.getValue = function getValue() {\n    return this.primitive[this.propertyName];\n  };\n\n  PrimitiveObserver.prototype.setValue = function setValue() {\n    var type = _typeof(this.primitive);\n    throw new Error('The ' + this.propertyName + ' property of a ' + type + ' (' + this.primitive + ') cannot be assigned.');\n  };\n\n  PrimitiveObserver.prototype.subscribe = function subscribe() {};\n\n  PrimitiveObserver.prototype.unsubscribe = function unsubscribe() {};\n\n  return PrimitiveObserver;\n}();\n\nexport var SetterObserver = (_dec6 = subscriberCollection(), _dec6(_class7 = function () {\n  function SetterObserver(taskQueue, obj, propertyName) {\n    \n\n    this.taskQueue = taskQueue;\n    this.obj = obj;\n    this.propertyName = propertyName;\n    this.queued = false;\n    this.observing = false;\n  }\n\n  SetterObserver.prototype.getValue = function getValue() {\n    return this.obj[this.propertyName];\n  };\n\n  SetterObserver.prototype.setValue = function setValue(newValue) {\n    this.obj[this.propertyName] = newValue;\n  };\n\n  SetterObserver.prototype.getterValue = function getterValue() {\n    return this.currentValue;\n  };\n\n  SetterObserver.prototype.setterValue = function setterValue(newValue) {\n    var oldValue = this.currentValue;\n\n    if (oldValue !== newValue) {\n      if (!this.queued) {\n        this.oldValue = oldValue;\n        this.queued = true;\n        this.taskQueue.queueMicroTask(this);\n      }\n\n      this.currentValue = newValue;\n    }\n  };\n\n  SetterObserver.prototype.call = function call() {\n    var oldValue = this.oldValue;\n    var newValue = this.oldValue = this.currentValue;\n\n    this.queued = false;\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  SetterObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.observing) {\n      this.convertProperty();\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  SetterObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  SetterObserver.prototype.convertProperty = function convertProperty() {\n    this.observing = true;\n    this.currentValue = this.obj[this.propertyName];\n    this.setValue = this.setterValue;\n    this.getValue = this.getterValue;\n\n    if (!Reflect.defineProperty(this.obj, this.propertyName, {\n      configurable: true,\n      enumerable: this.propertyName in this.obj ? this.obj.propertyIsEnumerable(this.propertyName) : true,\n      get: this.getValue.bind(this),\n      set: this.setValue.bind(this)\n    })) {\n      logger.warn('Cannot observe property \\'' + this.propertyName + '\\' of object', this.obj);\n    }\n  };\n\n  return SetterObserver;\n}()) || _class7);\n\nexport var XLinkAttributeObserver = function () {\n  function XLinkAttributeObserver(element, propertyName, attributeName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n    this.attributeName = attributeName;\n  }\n\n  XLinkAttributeObserver.prototype.getValue = function getValue() {\n    return this.element.getAttributeNS('http://www.w3.org/1999/xlink', this.attributeName);\n  };\n\n  XLinkAttributeObserver.prototype.setValue = function setValue(newValue) {\n    return this.element.setAttributeNS('http://www.w3.org/1999/xlink', this.attributeName, newValue);\n  };\n\n  XLinkAttributeObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return XLinkAttributeObserver;\n}();\n\nexport var dataAttributeAccessor = {\n  getValue: function getValue(obj, propertyName) {\n    return obj.getAttribute(propertyName);\n  },\n  setValue: function setValue(value, obj, propertyName) {\n    if (value === null || value === undefined) {\n      obj.removeAttribute(propertyName);\n    } else {\n      obj.setAttribute(propertyName, value);\n    }\n  }\n};\n\nexport var DataAttributeObserver = function () {\n  function DataAttributeObserver(element, propertyName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n  }\n\n  DataAttributeObserver.prototype.getValue = function getValue() {\n    return this.element.getAttribute(this.propertyName);\n  };\n\n  DataAttributeObserver.prototype.setValue = function setValue(newValue) {\n    if (newValue === null || newValue === undefined) {\n      return this.element.removeAttribute(this.propertyName);\n    }\n    return this.element.setAttribute(this.propertyName, newValue);\n  };\n\n  DataAttributeObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return DataAttributeObserver;\n}();\n\nexport var StyleObserver = function () {\n  function StyleObserver(element, propertyName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n\n    this.styles = null;\n    this.version = 0;\n  }\n\n  StyleObserver.prototype.getValue = function getValue() {\n    return this.element.style.cssText;\n  };\n\n  StyleObserver.prototype._setProperty = function _setProperty(style, value) {\n    var priority = '';\n\n    if (value !== null && value !== undefined && typeof value.indexOf === 'function' && value.indexOf('!important') !== -1) {\n      priority = 'important';\n      value = value.replace('!important', '');\n    }\n    this.element.style.setProperty(style, value, priority);\n  };\n\n  StyleObserver.prototype.setValue = function setValue(newValue) {\n    var styles = this.styles || {};\n    var style = void 0;\n    var version = this.version;\n\n    if (newValue !== null && newValue !== undefined) {\n      if (newValue instanceof Object) {\n        var value = void 0;\n        for (style in newValue) {\n          if (newValue.hasOwnProperty(style)) {\n            value = newValue[style];\n            style = style.replace(/([A-Z])/g, function (m) {\n              return '-' + m.toLowerCase();\n            });\n            styles[style] = version;\n            this._setProperty(style, value);\n          }\n        }\n      } else if (newValue.length) {\n        var rx = /\\s*([\\w\\-]+)\\s*:\\s*((?:(?:[\\w\\-]+\\(\\s*(?:\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[\\w\\-]+\\(\\s*(?:^\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[^\\)]*)\\),?|[^\\)]*)\\),?|\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[^;]*),?\\s*)+);?/g;\n        var pair = void 0;\n        while ((pair = rx.exec(newValue)) !== null) {\n          style = pair[1];\n          if (!style) {\n            continue;\n          }\n\n          styles[style] = version;\n          this._setProperty(style, pair[2]);\n        }\n      }\n    }\n\n    this.styles = styles;\n    this.version += 1;\n\n    if (version === 0) {\n      return;\n    }\n\n    version -= 1;\n    for (style in styles) {\n      if (!styles.hasOwnProperty(style) || styles[style] !== version) {\n        continue;\n      }\n\n      this.element.style.removeProperty(style);\n    }\n  };\n\n  StyleObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return StyleObserver;\n}();\n\nexport var ValueAttributeObserver = (_dec7 = subscriberCollection(), _dec7(_class8 = function () {\n  function ValueAttributeObserver(element, propertyName, handler) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n    this.handler = handler;\n    if (propertyName === 'files') {\n      this.setValue = function () {};\n    }\n  }\n\n  ValueAttributeObserver.prototype.getValue = function getValue() {\n    return this.element[this.propertyName];\n  };\n\n  ValueAttributeObserver.prototype.setValue = function setValue(newValue) {\n    newValue = newValue === undefined || newValue === null ? '' : newValue;\n    if (this.element[this.propertyName] !== newValue) {\n      this.element[this.propertyName] = newValue;\n      this.notify();\n    }\n  };\n\n  ValueAttributeObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.getValue();\n\n    this.callSubscribers(newValue, oldValue);\n\n    this.oldValue = newValue;\n  };\n\n  ValueAttributeObserver.prototype.handleEvent = function handleEvent() {\n    this.notify();\n  };\n\n  ValueAttributeObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.getValue();\n      this.handler.subscribe(this.element, this);\n    }\n\n    this.addSubscriber(context, callable);\n  };\n\n  ValueAttributeObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  return ValueAttributeObserver;\n}()) || _class8);\n\nvar checkedArrayContext = 'CheckedObserver:array';\nvar checkedValueContext = 'CheckedObserver:value';\n\nexport var CheckedObserver = (_dec8 = subscriberCollection(), _dec8(_class9 = function () {\n  function CheckedObserver(element, handler, observerLocator) {\n    \n\n    this.element = element;\n    this.handler = handler;\n    this.observerLocator = observerLocator;\n  }\n\n  CheckedObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  CheckedObserver.prototype.setValue = function setValue(newValue) {\n    if (this.initialSync && this.value === newValue) {\n      return;\n    }\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(checkedArrayContext, this);\n      this.arrayObserver = null;\n    }\n\n    if (this.element.type === 'checkbox' && Array.isArray(newValue)) {\n      this.arrayObserver = this.observerLocator.getArrayObserver(newValue);\n      this.arrayObserver.subscribe(checkedArrayContext, this);\n    }\n\n    this.oldValue = this.value;\n    this.value = newValue;\n    this.synchronizeElement();\n    this.notify();\n\n    if (!this.initialSync) {\n      this.initialSync = true;\n      this.observerLocator.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  CheckedObserver.prototype.call = function call(context, splices) {\n    this.synchronizeElement();\n\n    if (!this.valueObserver) {\n      this.valueObserver = this.element.__observers__.model || this.element.__observers__.value;\n      if (this.valueObserver) {\n        this.valueObserver.subscribe(checkedValueContext, this);\n      }\n    }\n  };\n\n  CheckedObserver.prototype.synchronizeElement = function synchronizeElement() {\n    var value = this.value;\n    var element = this.element;\n    var elementValue = element.hasOwnProperty('model') ? element.model : element.value;\n    var isRadio = element.type === 'radio';\n    var matcher = element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    element.checked = isRadio && !!matcher(value, elementValue) || !isRadio && value === true || !isRadio && Array.isArray(value) && value.findIndex(function (item) {\n      return !!matcher(item, elementValue);\n    }) !== -1;\n  };\n\n  CheckedObserver.prototype.synchronizeValue = function synchronizeValue() {\n    var value = this.value;\n    var element = this.element;\n    var elementValue = element.hasOwnProperty('model') ? element.model : element.value;\n    var index = void 0;\n    var matcher = element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    if (element.type === 'checkbox') {\n      if (Array.isArray(value)) {\n        index = value.findIndex(function (item) {\n          return !!matcher(item, elementValue);\n        });\n        if (element.checked && index === -1) {\n          value.push(elementValue);\n        } else if (!element.checked && index !== -1) {\n          value.splice(index, 1);\n        }\n\n        return;\n      }\n\n      value = element.checked;\n    } else if (element.checked) {\n      value = elementValue;\n    } else {\n      return;\n    }\n\n    this.oldValue = this.value;\n    this.value = value;\n    this.notify();\n  };\n\n  CheckedObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.value;\n\n    if (newValue === oldValue) {\n      return;\n    }\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  CheckedObserver.prototype.handleEvent = function handleEvent() {\n    this.synchronizeValue();\n  };\n\n  CheckedObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.handler.subscribe(this.element, this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  CheckedObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  CheckedObserver.prototype.unbind = function unbind() {\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(checkedArrayContext, this);\n      this.arrayObserver = null;\n    }\n    if (this.valueObserver) {\n      this.valueObserver.unsubscribe(checkedValueContext, this);\n    }\n  };\n\n  return CheckedObserver;\n}()) || _class9);\n\nvar selectArrayContext = 'SelectValueObserver:array';\n\nexport var SelectValueObserver = (_dec9 = subscriberCollection(), _dec9(_class10 = function () {\n  function SelectValueObserver(element, handler, observerLocator) {\n    \n\n    this.element = element;\n    this.handler = handler;\n    this.observerLocator = observerLocator;\n  }\n\n  SelectValueObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  SelectValueObserver.prototype.setValue = function setValue(newValue) {\n    if (newValue !== null && newValue !== undefined && this.element.multiple && !Array.isArray(newValue)) {\n      throw new Error('Only null or Array instances can be bound to a multi-select.');\n    }\n    if (this.value === newValue) {\n      return;\n    }\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(selectArrayContext, this);\n      this.arrayObserver = null;\n    }\n\n    if (Array.isArray(newValue)) {\n      this.arrayObserver = this.observerLocator.getArrayObserver(newValue);\n      this.arrayObserver.subscribe(selectArrayContext, this);\n    }\n\n    this.oldValue = this.value;\n    this.value = newValue;\n    this.synchronizeOptions();\n    this.notify();\n\n    if (!this.initialSync) {\n      this.initialSync = true;\n      this.observerLocator.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  SelectValueObserver.prototype.call = function call(context, splices) {\n    this.synchronizeOptions();\n  };\n\n  SelectValueObserver.prototype.synchronizeOptions = function synchronizeOptions() {\n    var value = this.value;\n    var isArray = void 0;\n\n    if (Array.isArray(value)) {\n      isArray = true;\n    }\n\n    var options = this.element.options;\n    var i = options.length;\n    var matcher = this.element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    var _loop = function _loop() {\n      var option = options.item(i);\n      var optionValue = option.hasOwnProperty('model') ? option.model : option.value;\n      if (isArray) {\n        option.selected = value.findIndex(function (item) {\n          return !!matcher(optionValue, item);\n        }) !== -1;\n        return 'continue';\n      }\n      option.selected = !!matcher(optionValue, value);\n    };\n\n    while (i--) {\n      var _ret = _loop();\n\n      if (_ret === 'continue') continue;\n    }\n  };\n\n  SelectValueObserver.prototype.synchronizeValue = function synchronizeValue() {\n    var _this23 = this;\n\n    var options = this.element.options;\n    var count = 0;\n    var value = [];\n\n    for (var i = 0, ii = options.length; i < ii; i++) {\n      var _option = options.item(i);\n      if (!_option.selected) {\n        continue;\n      }\n      value.push(_option.hasOwnProperty('model') ? _option.model : _option.value);\n      count++;\n    }\n\n    if (this.element.multiple) {\n      if (Array.isArray(this.value)) {\n        var _ret2 = function () {\n          var matcher = _this23.element.matcher || function (a, b) {\n            return a === b;\n          };\n\n          var i = 0;\n\n          var _loop2 = function _loop2() {\n            var a = _this23.value[i];\n            if (value.findIndex(function (b) {\n              return matcher(a, b);\n            }) === -1) {\n              _this23.value.splice(i, 1);\n            } else {\n              i++;\n            }\n          };\n\n          while (i < _this23.value.length) {\n            _loop2();\n          }\n\n          i = 0;\n\n          var _loop3 = function _loop3() {\n            var a = value[i];\n            if (_this23.value.findIndex(function (b) {\n              return matcher(a, b);\n            }) === -1) {\n              _this23.value.push(a);\n            }\n            i++;\n          };\n\n          while (i < value.length) {\n            _loop3();\n          }\n          return {\n            v: void 0\n          };\n        }();\n\n        if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === \"object\") return _ret2.v;\n      }\n    } else {\n      if (count === 0) {\n        value = null;\n      } else {\n        value = value[0];\n      }\n    }\n\n    if (value !== this.value) {\n      this.oldValue = this.value;\n      this.value = value;\n      this.notify();\n    }\n  };\n\n  SelectValueObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.value;\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  SelectValueObserver.prototype.handleEvent = function handleEvent() {\n    this.synchronizeValue();\n  };\n\n  SelectValueObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.handler.subscribe(this.element, this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  SelectValueObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  SelectValueObserver.prototype.bind = function bind() {\n    var _this24 = this;\n\n    this.domObserver = DOM.createMutationObserver(function () {\n      _this24.synchronizeOptions();\n      _this24.synchronizeValue();\n    });\n    this.domObserver.observe(this.element, { childList: true, subtree: true, characterData: true });\n  };\n\n  SelectValueObserver.prototype.unbind = function unbind() {\n    this.domObserver.disconnect();\n    this.domObserver = null;\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(selectArrayContext, this);\n      this.arrayObserver = null;\n    }\n  };\n\n  return SelectValueObserver;\n}()) || _class10);\n\nexport var ClassObserver = function () {\n  function ClassObserver(element) {\n    \n\n    this.element = element;\n    this.doNotCache = true;\n    this.value = '';\n    this.version = 0;\n  }\n\n  ClassObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  ClassObserver.prototype.setValue = function setValue(newValue) {\n    var nameIndex = this.nameIndex || {};\n    var version = this.version;\n    var names = void 0;\n    var name = void 0;\n\n    if (newValue !== null && newValue !== undefined && newValue.length) {\n      names = newValue.split(/\\s+/);\n      for (var i = 0, length = names.length; i < length; i++) {\n        name = names[i];\n        if (name === '') {\n          continue;\n        }\n        nameIndex[name] = version;\n        this.element.classList.add(name);\n      }\n    }\n\n    this.value = newValue;\n    this.nameIndex = nameIndex;\n    this.version += 1;\n\n    if (version === 0) {\n      return;\n    }\n\n    version -= 1;\n    for (name in nameIndex) {\n      if (!nameIndex.hasOwnProperty(name) || nameIndex[name] !== version) {\n        continue;\n      }\n      this.element.classList.remove(name);\n    }\n  };\n\n  ClassObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"class\" property is not supported.');\n  };\n\n  return ClassObserver;\n}();\n\nexport function hasDeclaredDependencies(descriptor) {\n  return !!(descriptor && descriptor.get && descriptor.get.dependencies);\n}\n\nexport function declarePropertyDependencies(ctor, propertyName, dependencies) {\n  var descriptor = Object.getOwnPropertyDescriptor(ctor.prototype, propertyName);\n  descriptor.get.dependencies = dependencies;\n}\n\nexport function computedFrom() {\n  for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {\n    rest[_key] = arguments[_key];\n  }\n\n  return function (target, key, descriptor) {\n    descriptor.get.dependencies = rest;\n    return descriptor;\n  };\n}\n\nexport var ComputedExpression = function (_Expression19) {\n  _inherits(ComputedExpression, _Expression19);\n\n  function ComputedExpression(name, dependencies) {\n    \n\n    var _this25 = _possibleConstructorReturn(this, _Expression19.call(this));\n\n    _this25.name = name;\n    _this25.dependencies = dependencies;\n    _this25.isAssignable = true;\n    return _this25;\n  }\n\n  ComputedExpression.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return scope.bindingContext[this.name];\n  };\n\n  ComputedExpression.prototype.assign = function assign(scope, value) {\n    scope.bindingContext[this.name] = value;\n  };\n\n  ComputedExpression.prototype.accept = function accept(visitor) {\n    throw new Error('not implemented');\n  };\n\n  ComputedExpression.prototype.connect = function connect(binding, scope) {\n    var dependencies = this.dependencies;\n    var i = dependencies.length;\n    while (i--) {\n      dependencies[i].connect(binding, scope);\n    }\n  };\n\n  return ComputedExpression;\n}(Expression);\n\nexport function createComputedObserver(obj, propertyName, descriptor, observerLocator) {\n  var dependencies = descriptor.get.dependencies;\n  if (!(dependencies instanceof ComputedExpression)) {\n    var i = dependencies.length;\n    while (i--) {\n      dependencies[i] = observerLocator.parser.parse(dependencies[i]);\n    }\n    dependencies = descriptor.get.dependencies = new ComputedExpression(propertyName, dependencies);\n  }\n\n  var scope = { bindingContext: obj, overrideContext: createOverrideContext(obj) };\n  return new ExpressionObserver(scope, dependencies, observerLocator);\n}\n\nvar svgElements = void 0;\nvar svgPresentationElements = void 0;\nvar svgPresentationAttributes = void 0;\nvar svgAnalyzer = void 0;\n\nif (typeof FEATURE_NO_SVG === 'undefined') {\n  svgElements = {\n    a: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'target', 'transform', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    altGlyph: ['class', 'dx', 'dy', 'externalResourcesRequired', 'format', 'glyphRef', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    altGlyphDef: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    altGlyphItem: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    animate: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateColor: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateMotion: ['accumulate', 'additive', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keyPoints', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'origin', 'path', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'rotate', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateTransform: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'type', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    circle: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'r', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    clipPath: ['class', 'clipPathUnits', 'externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    'color-profile': ['id', 'local', 'name', 'rendering-intent', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    cursor: ['externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    defs: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    desc: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    ellipse: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    feBlend: ['class', 'height', 'id', 'in', 'in2', 'mode', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feColorMatrix: ['class', 'height', 'id', 'in', 'result', 'style', 'type', 'values', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feComponentTransfer: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feComposite: ['class', 'height', 'id', 'in', 'in2', 'k1', 'k2', 'k3', 'k4', 'operator', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feConvolveMatrix: ['bias', 'class', 'divisor', 'edgeMode', 'height', 'id', 'in', 'kernelMatrix', 'kernelUnitLength', 'order', 'preserveAlpha', 'result', 'style', 'targetX', 'targetY', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feDiffuseLighting: ['class', 'diffuseConstant', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feDisplacementMap: ['class', 'height', 'id', 'in', 'in2', 'result', 'scale', 'style', 'width', 'x', 'xChannelSelector', 'xml:base', 'xml:lang', 'xml:space', 'y', 'yChannelSelector'],\n    feDistantLight: ['azimuth', 'elevation', 'id', 'xml:base', 'xml:lang', 'xml:space'],\n    feFlood: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feFuncA: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncB: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncG: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncR: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feGaussianBlur: ['class', 'height', 'id', 'in', 'result', 'stdDeviation', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feImage: ['class', 'externalResourcesRequired', 'height', 'id', 'preserveAspectRatio', 'result', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feMerge: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feMergeNode: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    feMorphology: ['class', 'height', 'id', 'in', 'operator', 'radius', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feOffset: ['class', 'dx', 'dy', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    fePointLight: ['id', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'],\n    feSpecularLighting: ['class', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'specularConstant', 'specularExponent', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feSpotLight: ['id', 'limitingConeAngle', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'specularExponent', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'],\n    feTile: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feTurbulence: ['baseFrequency', 'class', 'height', 'id', 'numOctaves', 'result', 'seed', 'stitchTiles', 'style', 'type', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    filter: ['class', 'externalResourcesRequired', 'filterRes', 'filterUnits', 'height', 'id', 'primitiveUnits', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    font: ['class', 'externalResourcesRequired', 'horiz-adv-x', 'horiz-origin-x', 'horiz-origin-y', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face': ['accent-height', 'alphabetic', 'ascent', 'bbox', 'cap-height', 'descent', 'font-family', 'font-size', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'hanging', 'id', 'ideographic', 'mathematical', 'overline-position', 'overline-thickness', 'panose-1', 'slope', 'stemh', 'stemv', 'strikethrough-position', 'strikethrough-thickness', 'underline-position', 'underline-thickness', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'widths', 'x-height', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-format': ['id', 'string', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-name': ['id', 'name', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-src': ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-uri': ['id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    foreignObject: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    g: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    glyph: ['arabic-form', 'class', 'd', 'glyph-name', 'horiz-adv-x', 'id', 'lang', 'orientation', 'style', 'unicode', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    glyphRef: ['class', 'dx', 'dy', 'format', 'glyphRef', 'id', 'style', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    hkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space'],\n    image: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    line: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'x1', 'x2', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'],\n    linearGradient: ['class', 'externalResourcesRequired', 'gradientTransform', 'gradientUnits', 'id', 'spreadMethod', 'style', 'x1', 'x2', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'],\n    marker: ['class', 'externalResourcesRequired', 'id', 'markerHeight', 'markerUnits', 'markerWidth', 'orient', 'preserveAspectRatio', 'refX', 'refY', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'],\n    mask: ['class', 'externalResourcesRequired', 'height', 'id', 'maskContentUnits', 'maskUnits', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    metadata: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    'missing-glyph': ['class', 'd', 'horiz-adv-x', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    mpath: ['externalResourcesRequired', 'id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    path: ['class', 'd', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'pathLength', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    pattern: ['class', 'externalResourcesRequired', 'height', 'id', 'patternContentUnits', 'patternTransform', 'patternUnits', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'viewBox', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    polygon: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    polyline: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    radialGradient: ['class', 'cx', 'cy', 'externalResourcesRequired', 'fx', 'fy', 'gradientTransform', 'gradientUnits', 'id', 'r', 'spreadMethod', 'style', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    rect: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    script: ['externalResourcesRequired', 'id', 'type', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    set: ['attributeName', 'attributeType', 'begin', 'dur', 'end', 'externalResourcesRequired', 'fill', 'id', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    stop: ['class', 'id', 'offset', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    style: ['id', 'media', 'title', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    svg: ['baseProfile', 'class', 'contentScriptType', 'contentStyleType', 'externalResourcesRequired', 'height', 'id', 'onabort', 'onactivate', 'onclick', 'onerror', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onresize', 'onscroll', 'onunload', 'onzoom', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'version', 'viewBox', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'zoomAndPan'],\n    switch: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    symbol: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'],\n    text: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'transform', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    textPath: ['class', 'externalResourcesRequired', 'id', 'lengthAdjust', 'method', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'spacing', 'startOffset', 'style', 'systemLanguage', 'textLength', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    title: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    tref: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    tspan: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    use: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    view: ['externalResourcesRequired', 'id', 'preserveAspectRatio', 'viewBox', 'viewTarget', 'xml:base', 'xml:lang', 'xml:space', 'zoomAndPan'],\n    vkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space']\n  };\n\n\n  svgPresentationElements = {\n    'a': true,\n    'altGlyph': true,\n    'animate': true,\n    'animateColor': true,\n    'circle': true,\n    'clipPath': true,\n    'defs': true,\n    'ellipse': true,\n    'feBlend': true,\n    'feColorMatrix': true,\n    'feComponentTransfer': true,\n    'feComposite': true,\n    'feConvolveMatrix': true,\n    'feDiffuseLighting': true,\n    'feDisplacementMap': true,\n    'feFlood': true,\n    'feGaussianBlur': true,\n    'feImage': true,\n    'feMerge': true,\n    'feMorphology': true,\n    'feOffset': true,\n    'feSpecularLighting': true,\n    'feTile': true,\n    'feTurbulence': true,\n    'filter': true,\n    'font': true,\n    'foreignObject': true,\n    'g': true,\n    'glyph': true,\n    'glyphRef': true,\n    'image': true,\n    'line': true,\n    'linearGradient': true,\n    'marker': true,\n    'mask': true,\n    'missing-glyph': true,\n    'path': true,\n    'pattern': true,\n    'polygon': true,\n    'polyline': true,\n    'radialGradient': true,\n    'rect': true,\n    'stop': true,\n    'svg': true,\n    'switch': true,\n    'symbol': true,\n    'text': true,\n    'textPath': true,\n    'tref': true,\n    'tspan': true,\n    'use': true\n  };\n\n  svgPresentationAttributes = {\n    'alignment-baseline': true,\n    'baseline-shift': true,\n    'clip-path': true,\n    'clip-rule': true,\n    'clip': true,\n    'color-interpolation-filters': true,\n    'color-interpolation': true,\n    'color-profile': true,\n    'color-rendering': true,\n    'color': true,\n    'cursor': true,\n    'direction': true,\n    'display': true,\n    'dominant-baseline': true,\n    'enable-background': true,\n    'fill-opacity': true,\n    'fill-rule': true,\n    'fill': true,\n    'filter': true,\n    'flood-color': true,\n    'flood-opacity': true,\n    'font-family': true,\n    'font-size-adjust': true,\n    'font-size': true,\n    'font-stretch': true,\n    'font-style': true,\n    'font-variant': true,\n    'font-weight': true,\n    'glyph-orientation-horizontal': true,\n    'glyph-orientation-vertical': true,\n    'image-rendering': true,\n    'kerning': true,\n    'letter-spacing': true,\n    'lighting-color': true,\n    'marker-end': true,\n    'marker-mid': true,\n    'marker-start': true,\n    'mask': true,\n    'opacity': true,\n    'overflow': true,\n    'pointer-events': true,\n    'shape-rendering': true,\n    'stop-color': true,\n    'stop-opacity': true,\n    'stroke-dasharray': true,\n    'stroke-dashoffset': true,\n    'stroke-linecap': true,\n    'stroke-linejoin': true,\n    'stroke-miterlimit': true,\n    'stroke-opacity': true,\n    'stroke-width': true,\n    'stroke': true,\n    'text-anchor': true,\n    'text-decoration': true,\n    'text-rendering': true,\n    'unicode-bidi': true,\n    'visibility': true,\n    'word-spacing': true,\n    'writing-mode': true\n  };\n\n  var createElement = function createElement(html) {\n    var div = DOM.createElement('div');\n    div.innerHTML = html;\n    return div.firstChild;\n  };\n\n  svgAnalyzer = function () {\n    function SVGAnalyzer() {\n      \n\n      if (createElement('<svg><altGlyph /></svg>').firstElementChild.nodeName === 'altglyph' && elements.altGlyph) {\n        elements.altglyph = elements.altGlyph;\n        delete elements.altGlyph;\n        elements.altglyphdef = elements.altGlyphDef;\n        delete elements.altGlyphDef;\n        elements.altglyphitem = elements.altGlyphItem;\n        delete elements.altGlyphItem;\n        elements.glyphref = elements.glyphRef;\n        delete elements.glyphRef;\n      }\n    }\n\n    SVGAnalyzer.prototype.isStandardSvgAttribute = function isStandardSvgAttribute(nodeName, attributeName) {\n      return presentationElements[nodeName] && presentationAttributes[attributeName] || elements[nodeName] && elements[nodeName].indexOf(attributeName) !== -1;\n    };\n\n    return SVGAnalyzer;\n  }();\n}\n\nexport var elements = svgElements;\nexport var presentationElements = svgPresentationElements;\nexport var presentationAttributes = svgPresentationAttributes;\nexport var SVGAnalyzer = svgAnalyzer || function () {\n  function _class11() {\n    \n  }\n\n  _class11.prototype.isStandardSvgAttribute = function isStandardSvgAttribute() {\n    return false;\n  };\n\n  return _class11;\n}();\n\nexport var ObserverLocator = (_temp = _class12 = function () {\n  function ObserverLocator(taskQueue, eventManager, dirtyChecker, svgAnalyzer, parser) {\n    \n\n    this.taskQueue = taskQueue;\n    this.eventManager = eventManager;\n    this.dirtyChecker = dirtyChecker;\n    this.svgAnalyzer = svgAnalyzer;\n    this.parser = parser;\n\n    this.adapters = [];\n    this.logger = LogManager.getLogger('observer-locator');\n  }\n\n  ObserverLocator.prototype.getObserver = function getObserver(obj, propertyName) {\n    var observersLookup = obj.__observers__;\n    var observer = void 0;\n\n    if (observersLookup && propertyName in observersLookup) {\n      return observersLookup[propertyName];\n    }\n\n    observer = this.createPropertyObserver(obj, propertyName);\n\n    if (!observer.doNotCache) {\n      if (observersLookup === undefined) {\n        observersLookup = this.getOrCreateObserversLookup(obj);\n      }\n\n      observersLookup[propertyName] = observer;\n    }\n\n    return observer;\n  };\n\n  ObserverLocator.prototype.getOrCreateObserversLookup = function getOrCreateObserversLookup(obj) {\n    return obj.__observers__ || this.createObserversLookup(obj);\n  };\n\n  ObserverLocator.prototype.createObserversLookup = function createObserversLookup(obj) {\n    var value = {};\n\n    if (!Reflect.defineProperty(obj, '__observers__', {\n      enumerable: false,\n      configurable: false,\n      writable: false,\n      value: value\n    })) {\n      this.logger.warn('Cannot add observers to object', obj);\n    }\n\n    return value;\n  };\n\n  ObserverLocator.prototype.addAdapter = function addAdapter(adapter) {\n    this.adapters.push(adapter);\n  };\n\n  ObserverLocator.prototype.getAdapterObserver = function getAdapterObserver(obj, propertyName, descriptor) {\n    for (var i = 0, ii = this.adapters.length; i < ii; i++) {\n      var adapter = this.adapters[i];\n      var observer = adapter.getObserver(obj, propertyName, descriptor);\n      if (observer) {\n        return observer;\n      }\n    }\n    return null;\n  };\n\n  ObserverLocator.prototype.createPropertyObserver = function createPropertyObserver(obj, propertyName) {\n    var descriptor = void 0;\n    var handler = void 0;\n    var xlinkResult = void 0;\n\n    if (!(obj instanceof Object)) {\n      return new PrimitiveObserver(obj, propertyName);\n    }\n\n    if (obj instanceof DOM.Element) {\n      if (propertyName === 'class') {\n        return new ClassObserver(obj);\n      }\n      if (propertyName === 'style' || propertyName === 'css') {\n        return new StyleObserver(obj, propertyName);\n      }\n      handler = this.eventManager.getElementHandler(obj, propertyName);\n      if (propertyName === 'value' && obj.tagName.toLowerCase() === 'select') {\n        return new SelectValueObserver(obj, handler, this);\n      }\n      if (propertyName === 'checked' && obj.tagName.toLowerCase() === 'input') {\n        return new CheckedObserver(obj, handler, this);\n      }\n      if (handler) {\n        return new ValueAttributeObserver(obj, propertyName, handler);\n      }\n      xlinkResult = /^xlink:(.+)$/.exec(propertyName);\n      if (xlinkResult) {\n        return new XLinkAttributeObserver(obj, propertyName, xlinkResult[1]);\n      }\n      if (propertyName === 'role' && (obj instanceof DOM.Element || obj instanceof DOM.SVGElement) || /^\\w+:|^data-|^aria-/.test(propertyName) || obj instanceof DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName)) {\n        return new DataAttributeObserver(obj, propertyName);\n      }\n    }\n\n    descriptor = Object.getPropertyDescriptor(obj, propertyName);\n\n    if (hasDeclaredDependencies(descriptor)) {\n      return createComputedObserver(obj, propertyName, descriptor, this);\n    }\n\n    if (descriptor) {\n      var existingGetterOrSetter = descriptor.get || descriptor.set;\n      if (existingGetterOrSetter) {\n        if (existingGetterOrSetter.getObserver) {\n          return existingGetterOrSetter.getObserver(obj);\n        }\n\n        var adapterObserver = this.getAdapterObserver(obj, propertyName, descriptor);\n        if (adapterObserver) {\n          return adapterObserver;\n        }\n        return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n      }\n    }\n\n    if (obj instanceof Array) {\n      if (propertyName === 'length') {\n        return this.getArrayObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    } else if (obj instanceof Map) {\n      if (propertyName === 'size') {\n        return this.getMapObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    } else if (obj instanceof Set) {\n      if (propertyName === 'size') {\n        return this.getSetObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    }\n\n    return new SetterObserver(this.taskQueue, obj, propertyName);\n  };\n\n  ObserverLocator.prototype.getAccessor = function getAccessor(obj, propertyName) {\n    if (obj instanceof DOM.Element) {\n      if (propertyName === 'class' || propertyName === 'style' || propertyName === 'css' || propertyName === 'value' && (obj.tagName.toLowerCase() === 'input' || obj.tagName.toLowerCase() === 'select') || propertyName === 'checked' && obj.tagName.toLowerCase() === 'input' || propertyName === 'model' && obj.tagName.toLowerCase() === 'input' || /^xlink:.+$/.exec(propertyName)) {\n        return this.getObserver(obj, propertyName);\n      }\n      if (/^\\w+:|^data-|^aria-/.test(propertyName) || obj instanceof DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName) || obj.tagName.toLowerCase() === 'img' && propertyName === 'src' || obj.tagName.toLowerCase() === 'a' && propertyName === 'href') {\n        return dataAttributeAccessor;\n      }\n    }\n    return propertyAccessor;\n  };\n\n  ObserverLocator.prototype.getArrayObserver = function getArrayObserver(array) {\n    return _getArrayObserver(this.taskQueue, array);\n  };\n\n  ObserverLocator.prototype.getMapObserver = function getMapObserver(map) {\n    return _getMapObserver(this.taskQueue, map);\n  };\n\n  ObserverLocator.prototype.getSetObserver = function getSetObserver(set) {\n    return _getSetObserver(this.taskQueue, set);\n  };\n\n  return ObserverLocator;\n}(), _class12.inject = [TaskQueue, EventManager, DirtyChecker, SVGAnalyzer, Parser], _temp);\n\nexport var ObjectObservationAdapter = function () {\n  function ObjectObservationAdapter() {\n    \n  }\n\n  ObjectObservationAdapter.prototype.getObserver = function getObserver(object, propertyName, descriptor) {\n    throw new Error('BindingAdapters must implement getObserver(object, propertyName).');\n  };\n\n  return ObjectObservationAdapter;\n}();\n\nexport var BindingExpression = function () {\n  function BindingExpression(observerLocator, targetProperty, sourceExpression, mode, lookupFunctions, attribute) {\n    \n\n    this.observerLocator = observerLocator;\n    this.targetProperty = targetProperty;\n    this.sourceExpression = sourceExpression;\n    this.mode = mode;\n    this.lookupFunctions = lookupFunctions;\n    this.attribute = attribute;\n    this.discrete = false;\n  }\n\n  BindingExpression.prototype.createBinding = function createBinding(target) {\n    return new Binding(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.mode, this.lookupFunctions);\n  };\n\n  return BindingExpression;\n}();\n\nexport var Binding = (_dec10 = connectable(), _dec10(_class13 = function () {\n  function Binding(observerLocator, sourceExpression, target, targetProperty, mode, lookupFunctions) {\n    \n\n    this.observerLocator = observerLocator;\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.targetProperty = targetProperty;\n    this.mode = mode;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Binding.prototype.updateTarget = function updateTarget(value) {\n    this.targetObserver.setValue(value, this.target, this.targetProperty);\n  };\n\n  Binding.prototype.updateSource = function updateSource(value) {\n    this.sourceExpression.assign(this.source, value, this.lookupFunctions);\n  };\n\n  Binding.prototype.call = function call(context, newValue, oldValue) {\n    if (!this.isBound) {\n      return;\n    }\n    if (context === sourceContext) {\n      oldValue = this.targetObserver.getValue(this.target, this.targetProperty);\n      newValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\n      if (newValue !== oldValue) {\n        this.updateTarget(newValue);\n      }\n      if (this.mode !== bindingMode.oneTime) {\n        this._version++;\n        this.sourceExpression.connect(this, this.source);\n        this.unobserve(false);\n      }\n      return;\n    }\n    if (context === targetContext) {\n      if (newValue !== this.sourceExpression.evaluate(this.source, this.lookupFunctions)) {\n        this.updateSource(newValue);\n      }\n      return;\n    }\n    throw new Error('Unexpected call context ' + context);\n  };\n\n  Binding.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n\n    var mode = this.mode;\n    if (!this.targetObserver) {\n      var method = mode === bindingMode.twoWay || mode === bindingMode.fromView ? 'getObserver' : 'getAccessor';\n      this.targetObserver = this.observerLocator[method](this.target, this.targetProperty);\n    }\n\n    if ('bind' in this.targetObserver) {\n      this.targetObserver.bind();\n    }\n    if (this.mode !== bindingMode.fromView) {\n      var value = this.sourceExpression.evaluate(source, this.lookupFunctions);\n      this.updateTarget(value);\n    }\n\n    if (mode === bindingMode.oneTime) {\n      return;\n    } else if (mode === bindingMode.toView) {\n      enqueueBindingConnect(this);\n    } else if (mode === bindingMode.twoWay) {\n      this.sourceExpression.connect(this, source);\n      this.targetObserver.subscribe(targetContext, this);\n    } else if (mode === bindingMode.fromView) {\n      this.targetObserver.subscribe(targetContext, this);\n    }\n  };\n\n  Binding.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    if ('unbind' in this.targetObserver) {\n      this.targetObserver.unbind();\n    }\n    if (this.targetObserver.unsubscribe) {\n      this.targetObserver.unsubscribe(targetContext, this);\n    }\n    this.unobserve(true);\n  };\n\n  Binding.prototype.connect = function connect(evaluate) {\n    if (!this.isBound) {\n      return;\n    }\n    if (evaluate) {\n      var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\n      this.updateTarget(value);\n    }\n    this.sourceExpression.connect(this, this.source);\n  };\n\n  return Binding;\n}()) || _class13);\n\nexport var CallExpression = function () {\n  function CallExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions) {\n    \n\n    this.observerLocator = observerLocator;\n    this.targetProperty = targetProperty;\n    this.sourceExpression = sourceExpression;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  CallExpression.prototype.createBinding = function createBinding(target) {\n    return new Call(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.lookupFunctions);\n  };\n\n  return CallExpression;\n}();\n\nexport var Call = function () {\n  function Call(observerLocator, sourceExpression, target, targetProperty, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.targetProperty = observerLocator.getObserver(target, targetProperty);\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Call.prototype.callSource = function callSource($event) {\n    var overrideContext = this.source.overrideContext;\n    Object.assign(overrideContext, $event);\n    overrideContext.$event = $event;\n    var mustEvaluate = true;\n    var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate);\n    delete overrideContext.$event;\n    for (var prop in $event) {\n      delete overrideContext[prop];\n    }\n    return result;\n  };\n\n  Call.prototype.bind = function bind(source) {\n    var _this26 = this;\n\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this.targetProperty.setValue(function ($event) {\n      return _this26.callSource($event);\n    });\n  };\n\n  Call.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    this.targetProperty.setValue(null);\n  };\n\n  return Call;\n}();\n\nexport var ValueConverterResource = function () {\n  function ValueConverterResource(name) {\n    \n\n    this.name = name;\n  }\n\n  ValueConverterResource.convention = function convention(name) {\n    if (name.endsWith('ValueConverter')) {\n      return new ValueConverterResource(camelCase(name.substring(0, name.length - 14)));\n    }\n  };\n\n  ValueConverterResource.prototype.initialize = function initialize(container, target) {\n    this.instance = container.get(target);\n  };\n\n  ValueConverterResource.prototype.register = function register(registry, name) {\n    registry.registerValueConverter(name || this.name, this.instance);\n  };\n\n  ValueConverterResource.prototype.load = function load(container, target) {};\n\n  return ValueConverterResource;\n}();\n\nexport function valueConverter(nameOrTarget) {\n  if (nameOrTarget === undefined || typeof nameOrTarget === 'string') {\n    return function (target) {\n      metadata.define(metadata.resource, new ValueConverterResource(nameOrTarget), target);\n    };\n  }\n\n  metadata.define(metadata.resource, new ValueConverterResource(), nameOrTarget);\n}\n\nexport var BindingBehaviorResource = function () {\n  function BindingBehaviorResource(name) {\n    \n\n    this.name = name;\n  }\n\n  BindingBehaviorResource.convention = function convention(name) {\n    if (name.endsWith('BindingBehavior')) {\n      return new BindingBehaviorResource(camelCase(name.substring(0, name.length - 15)));\n    }\n  };\n\n  BindingBehaviorResource.prototype.initialize = function initialize(container, target) {\n    this.instance = container.get(target);\n  };\n\n  BindingBehaviorResource.prototype.register = function register(registry, name) {\n    registry.registerBindingBehavior(name || this.name, this.instance);\n  };\n\n  BindingBehaviorResource.prototype.load = function load(container, target) {};\n\n  return BindingBehaviorResource;\n}();\n\nexport function bindingBehavior(nameOrTarget) {\n  if (nameOrTarget === undefined || typeof nameOrTarget === 'string') {\n    return function (target) {\n      metadata.define(metadata.resource, new BindingBehaviorResource(nameOrTarget), target);\n    };\n  }\n\n  metadata.define(metadata.resource, new BindingBehaviorResource(), nameOrTarget);\n}\n\nexport var ListenerExpression = function () {\n  function ListenerExpression(eventManager, targetEvent, sourceExpression, delegationStrategy, preventDefault, lookupFunctions) {\n    \n\n    this.eventManager = eventManager;\n    this.targetEvent = targetEvent;\n    this.sourceExpression = sourceExpression;\n    this.delegationStrategy = delegationStrategy;\n    this.discrete = true;\n    this.preventDefault = preventDefault;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  ListenerExpression.prototype.createBinding = function createBinding(target) {\n    return new Listener(this.eventManager, this.targetEvent, this.delegationStrategy, this.sourceExpression, target, this.preventDefault, this.lookupFunctions);\n  };\n\n  return ListenerExpression;\n}();\n\nexport var Listener = function () {\n  function Listener(eventManager, targetEvent, delegationStrategy, sourceExpression, target, preventDefault, lookupFunctions) {\n    \n\n    this.eventManager = eventManager;\n    this.targetEvent = targetEvent;\n    this.delegationStrategy = delegationStrategy;\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.preventDefault = preventDefault;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Listener.prototype.callSource = function callSource(event) {\n    var overrideContext = this.source.overrideContext;\n    overrideContext.$event = event;\n    var mustEvaluate = true;\n    var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate);\n    delete overrideContext.$event;\n    if (result !== true && this.preventDefault) {\n      event.preventDefault();\n    }\n    return result;\n  };\n\n  Listener.prototype.handleEvent = function handleEvent(event) {\n    this.callSource(event);\n  };\n\n  Listener.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this._handler = this.eventManager.addEventListener(this.target, this.targetEvent, this, this.delegationStrategy, true);\n  };\n\n  Listener.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    this._handler.dispose();\n    this._handler = null;\n  };\n\n  return Listener;\n}();\n\nfunction getAU(element) {\n  var au = element.au;\n\n  if (au === undefined) {\n    throw new Error('No Aurelia APIs are defined for the element: \"' + element.tagName + '\".');\n  }\n\n  return au;\n}\n\nexport var NameExpression = function () {\n  function NameExpression(sourceExpression, apiName, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.apiName = apiName;\n    this.lookupFunctions = lookupFunctions;\n    this.discrete = true;\n  }\n\n  NameExpression.prototype.createBinding = function createBinding(target) {\n    return new NameBinder(this.sourceExpression, NameExpression.locateAPI(target, this.apiName), this.lookupFunctions);\n  };\n\n  NameExpression.locateAPI = function locateAPI(element, apiName) {\n    switch (apiName) {\n      case 'element':\n        return element;\n      case 'controller':\n        return getAU(element).controller;\n      case 'view-model':\n        return getAU(element).controller.viewModel;\n      case 'view':\n        return getAU(element).controller.view;\n      default:\n        var target = getAU(element)[apiName];\n\n        if (target === undefined) {\n          throw new Error('Attempted to reference \"' + apiName + '\", but it was not found amongst the target\\'s API.');\n        }\n\n        return target.viewModel;\n    }\n  };\n\n  return NameExpression;\n}();\n\nvar NameBinder = function () {\n  function NameBinder(sourceExpression, target, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  NameBinder.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this.sourceExpression.assign(this.source, this.target, this.lookupFunctions);\n  };\n\n  NameBinder.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.evaluate(this.source, this.lookupFunctions) === this.target) {\n      this.sourceExpression.assign(this.source, null, this.lookupFunctions);\n    }\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n  };\n\n  return NameBinder;\n}();\n\nvar LookupFunctions = {\n  bindingBehaviors: function bindingBehaviors(name) {\n    return null;\n  },\n  valueConverters: function valueConverters(name) {\n    return null;\n  }\n};\n\nexport var BindingEngine = (_temp2 = _class14 = function () {\n  function BindingEngine(observerLocator, parser) {\n    \n\n    this.observerLocator = observerLocator;\n    this.parser = parser;\n  }\n\n  BindingEngine.prototype.createBindingExpression = function createBindingExpression(targetProperty, sourceExpression) {\n    var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : bindingMode.toView;\n    var lookupFunctions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : LookupFunctions;\n\n    return new BindingExpression(this.observerLocator, targetProperty, this.parser.parse(sourceExpression), mode, lookupFunctions);\n  };\n\n  BindingEngine.prototype.propertyObserver = function propertyObserver(obj, propertyName) {\n    var _this27 = this;\n\n    return {\n      subscribe: function subscribe(callback) {\n        var observer = _this27.observerLocator.getObserver(obj, propertyName);\n        observer.subscribe(callback);\n        return {\n          dispose: function dispose() {\n            return observer.unsubscribe(callback);\n          }\n        };\n      }\n    };\n  };\n\n  BindingEngine.prototype.collectionObserver = function collectionObserver(collection) {\n    var _this28 = this;\n\n    return {\n      subscribe: function subscribe(callback) {\n        var observer = void 0;\n        if (collection instanceof Array) {\n          observer = _this28.observerLocator.getArrayObserver(collection);\n        } else if (collection instanceof Map) {\n          observer = _this28.observerLocator.getMapObserver(collection);\n        } else if (collection instanceof Set) {\n          observer = _this28.observerLocator.getSetObserver(collection);\n        } else {\n          throw new Error('collection must be an instance of Array, Map or Set.');\n        }\n        observer.subscribe(callback);\n        return {\n          dispose: function dispose() {\n            return observer.unsubscribe(callback);\n          }\n        };\n      }\n    };\n  };\n\n  BindingEngine.prototype.expressionObserver = function expressionObserver(bindingContext, expression) {\n    var scope = { bindingContext: bindingContext, overrideContext: createOverrideContext(bindingContext) };\n    return new ExpressionObserver(scope, this.parser.parse(expression), this.observerLocator, LookupFunctions);\n  };\n\n  BindingEngine.prototype.parseExpression = function parseExpression(expression) {\n    return this.parser.parse(expression);\n  };\n\n  BindingEngine.prototype.registerAdapter = function registerAdapter(adapter) {\n    this.observerLocator.addAdapter(adapter);\n  };\n\n  return BindingEngine;\n}(), _class14.inject = [ObserverLocator, Parser], _temp2);\n\nvar setProto = Set.prototype;\n\nfunction _getSetObserver(taskQueue, set) {\n  return ModifySetObserver.for(taskQueue, set);\n}\n\nvar ModifySetObserver = function (_ModifyCollectionObse3) {\n  _inherits(ModifySetObserver, _ModifyCollectionObse3);\n\n  function ModifySetObserver(taskQueue, set) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse3.call(this, taskQueue, set));\n  }\n\n  ModifySetObserver.for = function _for(taskQueue, set) {\n    if (!('__set_observer__' in set)) {\n      Reflect.defineProperty(set, '__set_observer__', {\n        value: ModifySetObserver.create(taskQueue, set),\n        enumerable: false, configurable: false\n      });\n    }\n    return set.__set_observer__;\n  };\n\n  ModifySetObserver.create = function create(taskQueue, set) {\n    var observer = new ModifySetObserver(taskQueue, set);\n\n    var proto = setProto;\n    if (proto.add !== set.add || proto.delete !== set.delete || proto.clear !== set.clear) {\n      proto = {\n        add: set.add,\n        delete: set.delete,\n        clear: set.clear\n      };\n    }\n\n    set.add = function () {\n      var type = 'add';\n      var oldSize = set.size;\n      var methodCallResult = proto.add.apply(set, arguments);\n      var hasValue = set.size === oldSize;\n      if (!hasValue) {\n        observer.addChangeRecord({\n          type: type,\n          object: set,\n          value: Array.from(set).pop()\n        });\n      }\n      return methodCallResult;\n    };\n\n    set.delete = function () {\n      var hasValue = set.has(arguments[0]);\n      var methodCallResult = proto.delete.apply(set, arguments);\n      if (hasValue) {\n        observer.addChangeRecord({\n          type: 'delete',\n          object: set,\n          value: arguments[0]\n        });\n      }\n      return methodCallResult;\n    };\n\n    set.clear = function () {\n      var methodCallResult = proto.clear.apply(set, arguments);\n      observer.addChangeRecord({\n        type: 'clear',\n        object: set\n      });\n      return methodCallResult;\n    };\n\n    return observer;\n  };\n\n  return ModifySetObserver;\n}(ModifyCollectionObserver);\n\nexport function observable(targetOrConfig, key, descriptor) {\n  function deco(target, key, descriptor, config) {\n    var isClassDecorator = key === undefined;\n    if (isClassDecorator) {\n      target = target.prototype;\n      key = typeof config === 'string' ? config : config.name;\n    }\n\n    var innerPropertyName = '_' + key;\n    var innerPropertyDescriptor = {\n      configurable: true,\n      enumerable: false,\n      writable: true\n    };\n\n    var callbackName = config && config.changeHandler || key + 'Changed';\n\n    if (descriptor) {\n      if (typeof descriptor.initializer === 'function') {\n        innerPropertyDescriptor.value = descriptor.initializer();\n      }\n    } else {\n      descriptor = {};\n    }\n\n    if (!('enumerable' in descriptor)) {\n      descriptor.enumerable = true;\n    }\n\n    delete descriptor.value;\n    delete descriptor.writable;\n    delete descriptor.initializer;\n\n    Reflect.defineProperty(target, innerPropertyName, innerPropertyDescriptor);\n\n    descriptor.get = function () {\n      return this[innerPropertyName];\n    };\n    descriptor.set = function (newValue) {\n      var oldValue = this[innerPropertyName];\n      if (newValue === oldValue) {\n        return;\n      }\n\n      this[innerPropertyName] = newValue;\n      Reflect.defineProperty(this, innerPropertyName, { enumerable: false });\n\n      if (this[callbackName]) {\n        this[callbackName](newValue, oldValue, key);\n      }\n    };\n\n    descriptor.get.dependencies = [innerPropertyName];\n\n    if (isClassDecorator) {\n      Reflect.defineProperty(target, key, descriptor);\n    } else {\n      return descriptor;\n    }\n  }\n\n  if (key === undefined) {\n    return function (t, k, d) {\n      return deco(t, k, d, targetOrConfig);\n    };\n  }\n  return deco(targetOrConfig, key, descriptor);\n}\n\nvar signals = {};\n\nexport function connectBindingToSignal(binding, name) {\n  if (!signals.hasOwnProperty(name)) {\n    signals[name] = 0;\n  }\n  binding.observeProperty(signals, name);\n}\n\nexport function signalBindings(name) {\n  if (signals.hasOwnProperty(name)) {\n    signals[name]++;\n  }\n}","import { metadata, protocol } from 'aurelia-metadata';\nimport { AggregateError } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __decorate(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\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\n\nfunction isInjectable(potentialTarget) {\r\n    return !!potentialTarget;\r\n}\r\nfunction autoinject(potentialTarget) {\r\n    var deco = function (target) {\r\n        if (!target.hasOwnProperty('inject')) {\r\n            target.inject = (metadata.getOwn(metadata.paramTypes, target) ||\r\n                _emptyParameters).slice();\r\n            if (target.inject && target.inject.length > 0) {\r\n                if (target.inject[target.inject.length - 1] === Object) {\r\n                    target.inject.splice(-1, 1);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    if (isInjectable(potentialTarget)) {\r\n        return deco(potentialTarget);\r\n    }\r\n    return deco;\r\n}\r\nfunction inject() {\r\n    var rest = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        rest[_i] = arguments[_i];\r\n    }\r\n    return function (target, _key, descriptor) {\r\n        if (typeof descriptor === 'number') {\r\n            autoinject(target);\r\n            if (rest.length === 1) {\r\n                target.inject[descriptor] = rest[0];\r\n            }\r\n            return;\r\n        }\r\n        if (descriptor) {\r\n            var fn = descriptor.value;\r\n            fn.inject = rest;\r\n        }\r\n        else {\r\n            target.inject = rest;\r\n        }\r\n    };\r\n}\n\nvar resolver = protocol.create('aurelia:resolver', function (target) {\r\n    if (!(typeof target.get === 'function')) {\r\n        return 'Resolvers must implement: get(container: Container, key: any): any';\r\n    }\r\n    return true;\r\n});\r\nvar Strategy;\r\n(function (Strategy) {\r\n    Strategy[Strategy[\"instance\"] = 0] = \"instance\";\r\n    Strategy[Strategy[\"singleton\"] = 1] = \"singleton\";\r\n    Strategy[Strategy[\"transient\"] = 2] = \"transient\";\r\n    Strategy[Strategy[\"function\"] = 3] = \"function\";\r\n    Strategy[Strategy[\"array\"] = 4] = \"array\";\r\n    Strategy[Strategy[\"alias\"] = 5] = \"alias\";\r\n})(Strategy || (Strategy = {}));\r\nfunction isStrategy(actual, expected, state) {\r\n    return actual === expected;\r\n}\r\nvar StrategyResolver = (function () {\r\n    function StrategyResolver(strategy, state) {\r\n        this.strategy = strategy;\r\n        this.state = state;\r\n    }\r\n    StrategyResolver.prototype.get = function (container, key) {\r\n        if (isStrategy(this.strategy, Strategy.instance, this.state)) {\r\n            return this.state;\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.singleton, this.state)) {\r\n            var singleton = container.invoke(this.state);\r\n            this.state = singleton;\r\n            this.strategy = 0;\r\n            return singleton;\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.transient, this.state)) {\r\n            return container.invoke(this.state);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.function, this.state)) {\r\n            return this.state(container, key, this);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.array, this.state)) {\r\n            return this.state[0].get(container, key);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.alias, this.state)) {\r\n            return container.get(this.state);\r\n        }\r\n        throw new Error('Invalid strategy: ' + this.strategy);\r\n    };\r\n    StrategyResolver = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Number, Object])\r\n    ], StrategyResolver);\r\n    return StrategyResolver;\r\n}());\r\nvar Lazy = (function () {\r\n    function Lazy(key) {\r\n        this._key = key;\r\n    }\r\n    Lazy_1 = Lazy;\r\n    Lazy.prototype.get = function (container) {\r\n        var _this = this;\r\n        return function () { return container.get(_this._key); };\r\n    };\r\n    Lazy.of = function (key) {\r\n        return new Lazy_1(key);\r\n    };\r\n    var Lazy_1;\r\n    Lazy = Lazy_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Lazy);\r\n    return Lazy;\r\n}());\r\nvar All = (function () {\r\n    function All(key) {\r\n        this._key = key;\r\n    }\r\n    All_1 = All;\r\n    All.prototype.get = function (container) {\r\n        return container.getAll(this._key);\r\n    };\r\n    All.of = function (key) {\r\n        return new All_1(key);\r\n    };\r\n    var All_1;\r\n    All = All_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], All);\r\n    return All;\r\n}());\r\nvar Optional = (function () {\r\n    function Optional(key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = true; }\r\n        this._key = key;\r\n        this._checkParent = checkParent;\r\n    }\r\n    Optional_1 = Optional;\r\n    Optional.prototype.get = function (container) {\r\n        if (container.hasResolver(this._key, this._checkParent)) {\r\n            return container.get(this._key);\r\n        }\r\n        return null;\r\n    };\r\n    Optional.of = function (key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = true; }\r\n        return new Optional_1(key, checkParent);\r\n    };\r\n    var Optional_1;\r\n    Optional = Optional_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object, Boolean])\r\n    ], Optional);\r\n    return Optional;\r\n}());\r\nvar Parent = (function () {\r\n    function Parent(key) {\r\n        this._key = key;\r\n    }\r\n    Parent_1 = Parent;\r\n    Parent.prototype.get = function (container) {\r\n        return container.parent ? container.parent.get(this._key) : null;\r\n    };\r\n    Parent.of = function (key) {\r\n        return new Parent_1(key);\r\n    };\r\n    var Parent_1;\r\n    Parent = Parent_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Parent);\r\n    return Parent;\r\n}());\r\nvar Factory = (function () {\r\n    function Factory(key) {\r\n        this._key = key;\r\n    }\r\n    Factory_1 = Factory;\r\n    Factory.prototype.get = function (container) {\r\n        var fn = this._key;\r\n        var resolver = container.getResolver(fn);\r\n        if (resolver && resolver.strategy === Strategy.function) {\r\n            fn = resolver.state;\r\n        }\r\n        return function () {\r\n            var rest = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                rest[_i] = arguments[_i];\r\n            }\r\n            return container.invoke(fn, rest);\r\n        };\r\n    };\r\n    Factory.of = function (key) {\r\n        return new Factory_1(key);\r\n    };\r\n    var Factory_1;\r\n    Factory = Factory_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Factory);\r\n    return Factory;\r\n}());\r\nvar NewInstance = (function () {\r\n    function NewInstance(key) {\r\n        var dynamicDependencies = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            dynamicDependencies[_i - 1] = arguments[_i];\r\n        }\r\n        this.key = key;\r\n        this.asKey = key;\r\n        this.dynamicDependencies = dynamicDependencies;\r\n    }\r\n    NewInstance_1 = NewInstance;\r\n    NewInstance.prototype.get = function (container) {\r\n        var dynamicDependencies = this.dynamicDependencies.length > 0\r\n            ? this.dynamicDependencies.map(function (dependency) {\r\n                return dependency['protocol:aurelia:resolver']\r\n                    ? dependency.get(container)\r\n                    : container.get(dependency);\r\n            })\r\n            : undefined;\r\n        var fn = this.key;\r\n        var resolver = container.getResolver(fn);\r\n        if (resolver && resolver.strategy === 3) {\r\n            fn = resolver.state;\r\n        }\r\n        var instance = container.invoke(fn, dynamicDependencies);\r\n        container.registerInstance(this.asKey, instance);\r\n        return instance;\r\n    };\r\n    NewInstance.prototype.as = function (key) {\r\n        this.asKey = key;\r\n        return this;\r\n    };\r\n    NewInstance.of = function (key) {\r\n        var dynamicDependencies = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            dynamicDependencies[_i - 1] = arguments[_i];\r\n        }\r\n        return new (NewInstance_1.bind.apply(NewInstance_1, [void 0, key].concat(dynamicDependencies)))();\r\n    };\r\n    var NewInstance_1;\r\n    NewInstance = NewInstance_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object, Object])\r\n    ], NewInstance);\r\n    return NewInstance;\r\n}());\r\nfunction getDecoratorDependencies(target) {\r\n    autoinject(target);\r\n    return target.inject;\r\n}\r\nfunction lazy(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = Lazy.of(keyValue);\r\n    };\r\n}\r\nfunction all(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = All.of(keyValue);\r\n    };\r\n}\r\nfunction optional(checkParentOrTarget) {\r\n    if (checkParentOrTarget === void 0) { checkParentOrTarget = true; }\r\n    var deco = function (checkParent) {\r\n        return function (target, _key, index) {\r\n            var inject$$1 = getDecoratorDependencies(target);\r\n            inject$$1[index] = Optional.of(inject$$1[index], checkParent);\r\n        };\r\n    };\r\n    if (typeof checkParentOrTarget === 'boolean') {\r\n        return deco(checkParentOrTarget);\r\n    }\r\n    return deco(true);\r\n}\r\nfunction parent(target, _key, index) {\r\n    var inject$$1 = getDecoratorDependencies(target);\r\n    inject$$1[index] = Parent.of(inject$$1[index]);\r\n}\r\nfunction factory(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = Factory.of(keyValue);\r\n    };\r\n}\r\nfunction newInstance(asKeyOrTarget) {\r\n    var dynamicDependencies = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        dynamicDependencies[_i - 1] = arguments[_i];\r\n    }\r\n    var deco = function (asKey) {\r\n        return function (target, _key, index) {\r\n            var inject$$1 = getDecoratorDependencies(target);\r\n            inject$$1[index] = NewInstance.of.apply(NewInstance, [inject$$1[index]].concat(dynamicDependencies));\r\n            if (!!asKey) {\r\n                inject$$1[index].as(asKey);\r\n            }\r\n        };\r\n    };\r\n    if (arguments.length >= 1) {\r\n        return deco(asKeyOrTarget);\r\n    }\r\n    return deco();\r\n}\n\nfunction validateKey(key) {\r\n    if (key === null || key === undefined) {\r\n        throw new Error('key/value cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n    }\r\n}\r\nvar _emptyParameters = Object.freeze([]);\r\nmetadata.registration = 'aurelia:registration';\r\nmetadata.invoker = 'aurelia:invoker';\r\nvar resolverDecorates = resolver.decorates;\r\nvar InvocationHandler = (function () {\r\n    function InvocationHandler(fn, invoker, dependencies) {\r\n        this.fn = fn;\r\n        this.invoker = invoker;\r\n        this.dependencies = dependencies;\r\n    }\r\n    InvocationHandler.prototype.invoke = function (container, dynamicDependencies) {\r\n        return dynamicDependencies !== undefined\r\n            ? this.invoker.invokeWithDynamicDependencies(container, this.fn, this.dependencies, dynamicDependencies)\r\n            : this.invoker.invoke(container, this.fn, this.dependencies);\r\n    };\r\n    return InvocationHandler;\r\n}());\r\nfunction invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) {\r\n    var i = staticDependencies.length;\r\n    var args = new Array(i);\r\n    var lookup;\r\n    while (i--) {\r\n        lookup = staticDependencies[i];\r\n        if (lookup === null || lookup === undefined) {\r\n            throw new Error('Constructor Parameter with index ' +\r\n                i +\r\n                ' cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n        }\r\n        else {\r\n            args[i] = container.get(lookup);\r\n        }\r\n    }\r\n    if (dynamicDependencies !== undefined) {\r\n        args = args.concat(dynamicDependencies);\r\n    }\r\n    return Reflect.construct(fn, args);\r\n}\r\nvar classInvoker = {\r\n    invoke: function (container, Type, deps) {\r\n        var instances = deps.map(function (dep) { return container.get(dep); });\r\n        return Reflect.construct(Type, instances);\r\n    },\r\n    invokeWithDynamicDependencies: invokeWithDynamicDependencies\r\n};\r\nfunction getDependencies(f) {\r\n    if (!f.hasOwnProperty('inject')) {\r\n        return [];\r\n    }\r\n    if (typeof f.inject === 'function') {\r\n        return f.inject();\r\n    }\r\n    return f.inject;\r\n}\r\nvar Container = (function () {\r\n    function Container(configuration) {\r\n        if (configuration === undefined) {\r\n            configuration = {};\r\n        }\r\n        this._configuration = configuration;\r\n        this._onHandlerCreated = configuration.onHandlerCreated;\r\n        this._handlers =\r\n            configuration.handlers || (configuration.handlers = new Map());\r\n        this._resolvers = new Map();\r\n        this.root = this;\r\n        this.parent = null;\r\n    }\r\n    Container.prototype.makeGlobal = function () {\r\n        Container.instance = this;\r\n        return this;\r\n    };\r\n    Container.prototype.setHandlerCreatedCallback = function (onHandlerCreated) {\r\n        this._onHandlerCreated = onHandlerCreated;\r\n        this._configuration.onHandlerCreated = onHandlerCreated;\r\n    };\r\n    Container.prototype.registerInstance = function (key, instance) {\r\n        return this.registerResolver(key, new StrategyResolver(0, instance === undefined ? key : instance));\r\n    };\r\n    Container.prototype.registerSingleton = function (key, fn) {\r\n        return this.registerResolver(key, new StrategyResolver(1, fn === undefined ? key : fn));\r\n    };\r\n    Container.prototype.registerTransient = function (key, fn) {\r\n        return this.registerResolver(key, new StrategyResolver(2, fn === undefined ? key : fn));\r\n    };\r\n    Container.prototype.registerHandler = function (key, handler) {\r\n        return this.registerResolver(key, new StrategyResolver(3, handler));\r\n    };\r\n    Container.prototype.registerAlias = function (originalKey, aliasKey) {\r\n        return this.registerResolver(aliasKey, new StrategyResolver(5, originalKey));\r\n    };\r\n    Container.prototype.registerResolver = function (key, resolver$$1) {\r\n        validateKey(key);\r\n        var allResolvers = this._resolvers;\r\n        var result = allResolvers.get(key);\r\n        if (result === undefined) {\r\n            allResolvers.set(key, resolver$$1);\r\n        }\r\n        else if (result.strategy === 4) {\r\n            result.state.push(resolver$$1);\r\n        }\r\n        else {\r\n            allResolvers.set(key, new StrategyResolver(4, [result, resolver$$1]));\r\n        }\r\n        return resolver$$1;\r\n    };\r\n    Container.prototype.autoRegister = function (key, fn) {\r\n        fn = fn === undefined ? key : fn;\r\n        if (typeof fn === 'function') {\r\n            var registration = metadata.get(metadata.registration, fn);\r\n            if (registration === undefined) {\r\n                return this.registerResolver(key, new StrategyResolver(1, fn));\r\n            }\r\n            return registration.registerResolver(this, key, fn);\r\n        }\r\n        return this.registerResolver(key, new StrategyResolver(0, fn));\r\n    };\r\n    Container.prototype.autoRegisterAll = function (fns) {\r\n        var i = fns.length;\r\n        while (i--) {\r\n            this.autoRegister(fns[i]);\r\n        }\r\n    };\r\n    Container.prototype.unregister = function (key) {\r\n        this._resolvers.delete(key);\r\n    };\r\n    Container.prototype.hasResolver = function (key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = false; }\r\n        validateKey(key);\r\n        return (this._resolvers.has(key) ||\r\n            (checkParent &&\r\n                this.parent !== null &&\r\n                this.parent.hasResolver(key, checkParent)));\r\n    };\r\n    Container.prototype.getResolver = function (key) {\r\n        return this._resolvers.get(key);\r\n    };\r\n    Container.prototype.get = function (key) {\r\n        validateKey(key);\r\n        if (key === Container) {\r\n            return this;\r\n        }\r\n        if (resolverDecorates(key)) {\r\n            return key.get(this, key);\r\n        }\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return this.autoRegister(key).get(this, key);\r\n            }\r\n            var registration = metadata.get(metadata.registration, key);\r\n            if (registration === undefined) {\r\n                return this.parent._get(key);\r\n            }\r\n            return registration.registerResolver(this, key, key).get(this, key);\r\n        }\r\n        return resolver$$1.get(this, key);\r\n    };\r\n    Container.prototype._get = function (key) {\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return this.autoRegister(key).get(this, key);\r\n            }\r\n            return this.parent._get(key);\r\n        }\r\n        return resolver$$1.get(this, key);\r\n    };\r\n    Container.prototype.getAll = function (key) {\r\n        validateKey(key);\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return _emptyParameters;\r\n            }\r\n            return this.parent.getAll(key);\r\n        }\r\n        if (resolver$$1.strategy === 4) {\r\n            var state = resolver$$1.state;\r\n            var i = state.length;\r\n            var results = new Array(i);\r\n            while (i--) {\r\n                results[i] = state[i].get(this, key);\r\n            }\r\n            return results;\r\n        }\r\n        return [resolver$$1.get(this, key)];\r\n    };\r\n    Container.prototype.createChild = function () {\r\n        var child = new Container(this._configuration);\r\n        child.root = this.root;\r\n        child.parent = this;\r\n        return child;\r\n    };\r\n    Container.prototype.invoke = function (fn, dynamicDependencies) {\r\n        try {\r\n            var handler = this._handlers.get(fn);\r\n            if (handler === undefined) {\r\n                handler = this._createInvocationHandler(fn);\r\n                this._handlers.set(fn, handler);\r\n            }\r\n            return handler.invoke(this, dynamicDependencies);\r\n        }\r\n        catch (e) {\r\n            throw new AggregateError(\"Error invoking \" + fn.name + \". Check the inner error for details.\", e, true);\r\n        }\r\n    };\r\n    Container.prototype._createInvocationHandler = function (fn) {\r\n        var dependencies;\r\n        if (fn.inject === undefined) {\r\n            dependencies =\r\n                metadata.getOwn(metadata.paramTypes, fn) || _emptyParameters;\r\n        }\r\n        else {\r\n            dependencies = [];\r\n            var ctor = fn;\r\n            while (typeof ctor === 'function') {\r\n                dependencies.push.apply(dependencies, getDependencies(ctor));\r\n                ctor = Object.getPrototypeOf(ctor);\r\n            }\r\n        }\r\n        var invoker = metadata.getOwn(metadata.invoker, fn) || classInvoker;\r\n        var handler = new InvocationHandler(fn, invoker, dependencies);\r\n        return this._onHandlerCreated !== undefined\r\n            ? this._onHandlerCreated(handler)\r\n            : handler;\r\n    };\r\n    return Container;\r\n}());\n\nfunction invoker(value) {\r\n    return function (target) {\r\n        metadata.define(metadata.invoker, value, target);\r\n    };\r\n}\r\nfunction invokeAsFactory(potentialTarget) {\r\n    var deco = function (target) {\r\n        metadata.define(metadata.invoker, FactoryInvoker.instance, target);\r\n    };\r\n    return potentialTarget ? deco(potentialTarget) : deco;\r\n}\r\nvar FactoryInvoker = (function () {\r\n    function FactoryInvoker() {\r\n    }\r\n    FactoryInvoker.prototype.invoke = function (container, fn, dependencies) {\r\n        var i = dependencies.length;\r\n        var args = new Array(i);\r\n        while (i--) {\r\n            args[i] = container.get(dependencies[i]);\r\n        }\r\n        return fn.apply(undefined, args);\r\n    };\r\n    FactoryInvoker.prototype.invokeWithDynamicDependencies = function (container, fn, staticDependencies, dynamicDependencies) {\r\n        var i = staticDependencies.length;\r\n        var args = new Array(i);\r\n        while (i--) {\r\n            args[i] = container.get(staticDependencies[i]);\r\n        }\r\n        if (dynamicDependencies !== undefined) {\r\n            args = args.concat(dynamicDependencies);\r\n        }\r\n        return fn.apply(undefined, args);\r\n    };\r\n    return FactoryInvoker;\r\n}());\r\nFactoryInvoker.instance = new FactoryInvoker();\n\nfunction registration(value) {\r\n    return function (target) {\r\n        metadata.define(metadata.registration, value, target);\r\n    };\r\n}\r\nfunction transient(key) {\r\n    return registration(new TransientRegistration(key));\r\n}\r\nfunction singleton(keyOrRegisterInChild, registerInChild) {\r\n    if (registerInChild === void 0) { registerInChild = false; }\r\n    return registration(new SingletonRegistration(keyOrRegisterInChild, registerInChild));\r\n}\r\nvar TransientRegistration = (function () {\r\n    function TransientRegistration(key) {\r\n        this._key = key;\r\n    }\r\n    TransientRegistration.prototype.registerResolver = function (container, key, fn) {\r\n        var existingResolver = container.getResolver(this._key || key);\r\n        return existingResolver === undefined\r\n            ? container.registerTransient((this._key || key), fn)\r\n            : existingResolver;\r\n    };\r\n    return TransientRegistration;\r\n}());\r\nvar SingletonRegistration = (function () {\r\n    function SingletonRegistration(keyOrRegisterInChild, registerInChild) {\r\n        if (registerInChild === void 0) { registerInChild = false; }\r\n        if (typeof keyOrRegisterInChild === 'boolean') {\r\n            this._registerInChild = keyOrRegisterInChild;\r\n        }\r\n        else {\r\n            this._key = keyOrRegisterInChild;\r\n            this._registerInChild = registerInChild;\r\n        }\r\n    }\r\n    SingletonRegistration.prototype.registerResolver = function (container, key, fn) {\r\n        var targetContainer = this._registerInChild ? container : container.root;\r\n        var existingResolver = targetContainer.getResolver(this._key || key);\r\n        return existingResolver === undefined\r\n            ? targetContainer.registerSingleton(this._key || key, fn)\r\n            : existingResolver;\r\n    };\r\n    return SingletonRegistration;\r\n}());\n\nexport { _emptyParameters, InvocationHandler, Container, autoinject, inject, invoker, invokeAsFactory, FactoryInvoker, registration, transient, singleton, TransientRegistration, SingletonRegistration, resolver, Strategy, StrategyResolver, Lazy, All, Optional, Parent, Factory, NewInstance, getDecoratorDependencies, lazy, all, optional, parent, factory, newInstance };\n","import { a as Renderer, b as createDialogCancelError, c as invokeLifecycle, d as DialogController } from './chunk.js';\nexport { d as DialogController, a as Renderer, b as createDialogCancelError, e as createDialogCloseError } from './chunk.js';\nimport { DOM } from 'aurelia-pal';\nimport { Container } from 'aurelia-dependency-injection';\nimport { ViewSlot, CompositionEngine } from 'aurelia-templating';\n\nvar DefaultDialogSettings = (function () {\r\n    function DefaultDialogSettings() {\r\n        this.lock = true;\r\n        this.startingZIndex = 1000;\r\n        this.centerHorizontalOnly = false;\r\n        this.rejectOnCancel = false;\r\n        this.ignoreTransitions = false;\r\n        this.restoreFocus = function (lastActiveElement) { return lastActiveElement.focus(); };\r\n    }\r\n    return DefaultDialogSettings;\r\n}());\n\nvar RENDERRERS = {\r\n    ux: function () { return import('./ux-dialog-renderer.js').then(function (m) { return m.DialogRenderer; }); },\r\n    native: function () { return import('./native-dialog-renderer.js').then(function (m) { return m.NativeDialogRenderer; }); }\r\n};\r\nvar DEFAULT_RESOURCES = {\r\n    'ux-dialog': function () { return import('./ux-dialog.js').then(function (m) { return m.UxDialog; }); },\r\n    'ux-dialog-header': function () { return import('./ux-dialog-header.js').then(function (m) { return m.UxDialogHeader; }); },\r\n    'ux-dialog-body': function () { return import('./ux-dialog-body.js').then(function (m) { return m.UxDialogBody; }); },\r\n    'ux-dialog-footer': function () { return import('./ux-dialog-footer.js').then(function (m) { return m.UxDialogFooter; }); },\r\n    'attach-focus': function () { return import('./attach-focus.js').then(function (m) { return m.AttachFocus; }); }\r\n};\r\nvar DEFAULT_CSS_TEXT = function () { return import('./default-styles.js').then(function (cssM) { return cssM['default']; }); };\r\nvar DialogConfiguration = (function () {\r\n    function DialogConfiguration(frameworkConfiguration, applySetter) {\r\n        var _this = this;\r\n        this.renderer = 'ux';\r\n        this.cssText = DEFAULT_CSS_TEXT;\r\n        this.resources = [];\r\n        this.fwConfig = frameworkConfiguration;\r\n        this.settings = frameworkConfiguration.container.get(DefaultDialogSettings);\r\n        applySetter(function () { return _this._apply(); });\r\n    }\r\n    DialogConfiguration.prototype._apply = function () {\r\n        var _this = this;\r\n        var renderer = this.renderer;\r\n        var cssText = this.cssText;\r\n        return Promise\r\n            .all([\r\n            typeof renderer === 'string' ? RENDERRERS[renderer]() : renderer,\r\n            cssText\r\n                ? typeof cssText === 'string'\r\n                    ? cssText\r\n                    : cssText()\r\n                : ''\r\n        ])\r\n            .then(function (_a) {\r\n            var rendererImpl = _a[0], $cssText = _a[1];\r\n            var fwConfig = _this.fwConfig;\r\n            fwConfig.transient(Renderer, rendererImpl);\r\n            if ($cssText) {\r\n                DOM.injectStyles($cssText);\r\n            }\r\n            return Promise\r\n                .all(_this.resources.map(function (name) { return DEFAULT_RESOURCES[name](); }))\r\n                .then(function (modules) {\r\n                fwConfig.globalResources(modules);\r\n            });\r\n        });\r\n    };\r\n    DialogConfiguration.prototype.useDefaults = function () {\r\n        return this\r\n            .useRenderer('ux')\r\n            .useCSS(DEFAULT_CSS_TEXT)\r\n            .useStandardResources();\r\n    };\r\n    DialogConfiguration.prototype.useStandardResources = function () {\r\n        Object.keys(DEFAULT_RESOURCES).forEach(this.useResource, this);\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useResource = function (resourceName) {\r\n        this.resources.push(resourceName);\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useRenderer = function (renderer, settings) {\r\n        this.renderer = renderer;\r\n        if (settings) {\r\n            Object.assign(this.settings, settings);\r\n        }\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useCSS = function (cssText) {\r\n        this.cssText = cssText;\r\n        return this;\r\n    };\r\n    return DialogConfiguration;\r\n}());\n\nfunction whenClosed(onfulfilled, onrejected) {\r\n    return this.then(function (r) { return r.wasCancelled ? r : r.closeResult; }).then(onfulfilled, onrejected);\r\n}\r\nfunction asDialogOpenPromise(promise) {\r\n    promise.whenClosed = whenClosed;\r\n    return promise;\r\n}\r\nvar DialogService = (function () {\r\n    function DialogService(container, compositionEngine, defaultSettings) {\r\n        this.controllers = [];\r\n        this.hasOpenDialog = false;\r\n        this.hasActiveDialog = false;\r\n        this.container = container;\r\n        this.compositionEngine = compositionEngine;\r\n        this.defaultSettings = defaultSettings;\r\n    }\r\n    DialogService.prototype.validateSettings = function (settings) {\r\n        if (!settings.viewModel && !settings.view) {\r\n            throw new Error('Invalid Dialog Settings. You must provide \"viewModel\", \"view\" or both.');\r\n        }\r\n    };\r\n    DialogService.prototype.createCompositionContext = function (childContainer, host, settings) {\r\n        return {\r\n            container: childContainer.parent,\r\n            childContainer: childContainer,\r\n            bindingContext: null,\r\n            viewResources: null,\r\n            model: settings.model,\r\n            view: settings.view,\r\n            viewModel: settings.viewModel,\r\n            viewSlot: new ViewSlot(host, true),\r\n            host: host\r\n        };\r\n    };\r\n    DialogService.prototype.ensureViewModel = function (compositionContext) {\r\n        if (typeof compositionContext.viewModel === 'object') {\r\n            return Promise.resolve(compositionContext);\r\n        }\r\n        return this.compositionEngine.ensureViewModel(compositionContext);\r\n    };\r\n    DialogService.prototype._cancelOperation = function (rejectOnCancel) {\r\n        if (!rejectOnCancel) {\r\n            return { wasCancelled: true };\r\n        }\r\n        throw createDialogCancelError();\r\n    };\r\n    DialogService.prototype.composeAndShowDialog = function (compositionContext, dialogController) {\r\n        var _this = this;\r\n        if (!compositionContext.viewModel) {\r\n            compositionContext.bindingContext = { controller: dialogController };\r\n        }\r\n        return this.compositionEngine\r\n            .compose(compositionContext)\r\n            .then(function (controller) {\r\n            dialogController.controller = controller;\r\n            return dialogController.renderer\r\n                .showDialog(dialogController)\r\n                .then(function () {\r\n                _this.controllers.push(dialogController);\r\n                _this.hasActiveDialog = _this.hasOpenDialog = !!_this.controllers.length;\r\n            }, function (reason) {\r\n                if (controller.viewModel) {\r\n                    invokeLifecycle(controller.viewModel, 'deactivate');\r\n                }\r\n                return Promise.reject(reason);\r\n            });\r\n        });\r\n    };\r\n    DialogService.prototype.createSettings = function (settings) {\r\n        settings = Object.assign({}, this.defaultSettings, settings);\r\n        if (typeof settings.keyboard !== 'boolean' && !settings.keyboard) {\r\n            settings.keyboard = !settings.lock;\r\n        }\r\n        if (typeof settings.overlayDismiss !== 'boolean') {\r\n            settings.overlayDismiss = !settings.lock;\r\n        }\r\n        Object.defineProperty(settings, 'rejectOnCancel', {\r\n            writable: false,\r\n            configurable: true,\r\n            enumerable: true\r\n        });\r\n        this.validateSettings(settings);\r\n        return settings;\r\n    };\r\n    DialogService.prototype.open = function (settings) {\r\n        var _this = this;\r\n        if (settings === void 0) { settings = {}; }\r\n        settings = this.createSettings(settings);\r\n        var childContainer = settings.childContainer || this.container.createChild();\r\n        var resolveCloseResult;\r\n        var rejectCloseResult;\r\n        var closeResult = new Promise(function (resolve, reject) {\r\n            resolveCloseResult = resolve;\r\n            rejectCloseResult = reject;\r\n        });\r\n        var dialogController = childContainer.invoke(DialogController, [settings, resolveCloseResult, rejectCloseResult]);\r\n        childContainer.registerInstance(DialogController, dialogController);\r\n        closeResult.then(function () {\r\n            removeController(_this, dialogController);\r\n        }, function () {\r\n            removeController(_this, dialogController);\r\n        });\r\n        var compositionContext = this.createCompositionContext(childContainer, dialogController.renderer.getDialogContainer(), dialogController.settings);\r\n        var openResult = this.ensureViewModel(compositionContext).then(function (compositionContext) {\r\n            if (!compositionContext.viewModel) {\r\n                return true;\r\n            }\r\n            return invokeLifecycle(compositionContext.viewModel, 'canActivate', dialogController.settings.model);\r\n        }).then(function (canActivate) {\r\n            if (!canActivate) {\r\n                return _this._cancelOperation(dialogController.settings.rejectOnCancel);\r\n            }\r\n            return _this.composeAndShowDialog(compositionContext, dialogController)\r\n                .then(function () { return ({ controller: dialogController, closeResult: closeResult, wasCancelled: false }); });\r\n        });\r\n        return asDialogOpenPromise(openResult);\r\n    };\r\n    DialogService.prototype.closeAll = function () {\r\n        return Promise.all(this.controllers.slice(0).map(function (controller) {\r\n            if (!controller.settings.rejectOnCancel) {\r\n                return controller.cancel().then(function (result) {\r\n                    if (result.wasCancelled) {\r\n                        return controller;\r\n                    }\r\n                    return null;\r\n                });\r\n            }\r\n            return controller.cancel().then(function () { return null; }).catch(function (reason) {\r\n                if (reason.wasCancelled) {\r\n                    return controller;\r\n                }\r\n                throw reason;\r\n            });\r\n        })).then(function (unclosedControllers) { return unclosedControllers.filter(function (unclosed) { return !!unclosed; }); });\r\n    };\r\n    DialogService.inject = [Container, CompositionEngine, DefaultDialogSettings];\r\n    return DialogService;\r\n}());\r\nfunction removeController(service, dialogController) {\r\n    var i = service.controllers.indexOf(dialogController);\r\n    if (i !== -1) {\r\n        service.controllers.splice(i, 1);\r\n        service.hasActiveDialog = service.hasOpenDialog = !!service.controllers.length;\r\n    }\r\n}\n\nfunction configure(frameworkConfig, callback) {\r\n    var applyConfig = null;\r\n    var config = new DialogConfiguration(frameworkConfig, function (apply) { applyConfig = apply; });\r\n    if (typeof callback === 'function') {\r\n        callback(config);\r\n    }\r\n    else {\r\n        config.useDefaults();\r\n    }\r\n    return applyConfig();\r\n}\n\nexport { DefaultDialogSettings, DialogConfiguration, DialogService, configure };\n//# sourceMappingURL=aurelia-dialog.js.map\n","var Renderer = (function () {\r\n    function Renderer() {\r\n    }\r\n    Renderer.prototype.getDialogContainer = function () {\r\n        throw new Error('DialogRenderer must implement getDialogContainer().');\r\n    };\r\n    Renderer.prototype.showDialog = function (dialogController) {\r\n        throw new Error('DialogRenderer must implement showDialog().');\r\n    };\r\n    Renderer.prototype.hideDialog = function (dialogController) {\r\n        throw new Error('DialogRenderer must implement hideDialog().');\r\n    };\r\n    return Renderer;\r\n}());\n\nfunction createDialogCancelError(output) {\r\n    var error = new Error('Operation cancelled.');\r\n    error.wasCancelled = true;\r\n    error.output = output;\r\n    return error;\r\n}\n\nfunction createDialogCloseError(output) {\r\n    var error = new Error();\r\n    error.wasCancelled = false;\r\n    error.output = output;\r\n    return error;\r\n}\n\nfunction invokeLifecycle(instance, name, model) {\r\n    if (typeof instance[name] === 'function') {\r\n        return new Promise(function (resolve) {\r\n            resolve(instance[name](model));\r\n        }).then(function (result) {\r\n            if (result !== null && result !== undefined) {\r\n                return result;\r\n            }\r\n            return true;\r\n        });\r\n    }\r\n    return Promise.resolve(true);\r\n}\n\nvar DialogController = (function () {\r\n    function DialogController(renderer, settings, resolve, reject) {\r\n        this.resolve = resolve;\r\n        this.reject = reject;\r\n        this.settings = settings;\r\n        this.renderer = renderer;\r\n    }\r\n    DialogController.prototype.releaseResources = function (result) {\r\n        var _this = this;\r\n        return invokeLifecycle(this.controller.viewModel || {}, 'deactivate', result)\r\n            .then(function () { return _this.renderer.hideDialog(_this); })\r\n            .then(function () {\r\n            _this.controller.unbind();\r\n        });\r\n    };\r\n    DialogController.prototype.cancelOperation = function () {\r\n        if (!this.settings.rejectOnCancel) {\r\n            return { wasCancelled: true };\r\n        }\r\n        throw createDialogCancelError();\r\n    };\r\n    DialogController.prototype.ok = function (output) {\r\n        return this.close(true, output);\r\n    };\r\n    DialogController.prototype.cancel = function (output) {\r\n        return this.close(false, output);\r\n    };\r\n    DialogController.prototype.error = function (output) {\r\n        var _this = this;\r\n        var closeError = createDialogCloseError(output);\r\n        return this.releaseResources(closeError).then(function () { _this.reject(closeError); });\r\n    };\r\n    DialogController.prototype.close = function (ok, output) {\r\n        var _this = this;\r\n        if (this.closePromise) {\r\n            return this.closePromise;\r\n        }\r\n        var dialogResult = { wasCancelled: !ok, output: output };\r\n        return this.closePromise = invokeLifecycle(this.controller.viewModel || {}, 'canDeactivate', dialogResult)\r\n            .catch(function (reason) {\r\n            _this.closePromise = undefined;\r\n            return Promise.reject(reason);\r\n        }).then(function (canDeactivate) {\r\n            if (!canDeactivate) {\r\n                _this.closePromise = undefined;\r\n                return _this.cancelOperation();\r\n            }\r\n            return _this.releaseResources(dialogResult).then(function () {\r\n                if (!_this.settings.rejectOnCancel || ok) {\r\n                    _this.resolve(dialogResult);\r\n                }\r\n                else {\r\n                    _this.reject(createDialogCancelError(output));\r\n                }\r\n                return { wasCancelled: false };\r\n            }).catch(function (reason) {\r\n                _this.closePromise = undefined;\r\n                return Promise.reject(reason);\r\n            });\r\n        });\r\n    };\r\n    DialogController.inject = [Renderer];\r\n    return DialogController;\r\n}());\n\nexport { Renderer as a, createDialogCancelError as b, invokeLifecycle as c, DialogController as d, createDialogCloseError as e };\n//# sourceMappingURL=chunk.js.map\n","\n\nimport * as LogManager from 'aurelia-logging';\n\nvar logger = LogManager.getLogger('event-aggregator');\n\nvar Handler = function () {\n  function Handler(messageType, callback) {\n    \n\n    this.messageType = messageType;\n    this.callback = callback;\n  }\n\n  Handler.prototype.handle = function handle(message) {\n    if (message instanceof this.messageType) {\n      this.callback.call(null, message);\n    }\n  };\n\n  return Handler;\n}();\n\nfunction invokeCallback(callback, data, event) {\n  try {\n    callback(data, event);\n  } catch (e) {\n    logger.error(e);\n  }\n}\n\nfunction invokeHandler(handler, data) {\n  try {\n    handler.handle(data);\n  } catch (e) {\n    logger.error(e);\n  }\n}\n\nexport var EventAggregator = function () {\n  function EventAggregator() {\n    \n\n    this.eventLookup = {};\n    this.messageHandlers = [];\n  }\n\n  EventAggregator.prototype.publish = function publish(event, data) {\n    var subscribers = void 0;\n    var i = void 0;\n\n    if (!event) {\n      throw new Error('Event was invalid.');\n    }\n\n    if (typeof event === 'string') {\n      subscribers = this.eventLookup[event];\n      if (subscribers) {\n        subscribers = subscribers.slice();\n        i = subscribers.length;\n\n        while (i--) {\n          invokeCallback(subscribers[i], data, event);\n        }\n      }\n    } else {\n      subscribers = this.messageHandlers.slice();\n      i = subscribers.length;\n\n      while (i--) {\n        invokeHandler(subscribers[i], event);\n      }\n    }\n  };\n\n  EventAggregator.prototype.subscribe = function subscribe(event, callback) {\n    var handler = void 0;\n    var subscribers = void 0;\n\n    if (!event) {\n      throw new Error('Event channel/type was invalid.');\n    }\n\n    if (typeof event === 'string') {\n      handler = callback;\n      subscribers = this.eventLookup[event] || (this.eventLookup[event] = []);\n    } else {\n      handler = new Handler(event, callback);\n      subscribers = this.messageHandlers;\n    }\n\n    subscribers.push(handler);\n\n    return {\n      dispose: function dispose() {\n        var idx = subscribers.indexOf(handler);\n        if (idx !== -1) {\n          subscribers.splice(idx, 1);\n        }\n      }\n    };\n  };\n\n  EventAggregator.prototype.subscribeOnce = function subscribeOnce(event, callback) {\n    var sub = this.subscribe(event, function (a, b) {\n      sub.dispose();\n      return callback(a, b);\n    });\n\n    return sub;\n  };\n\n  return EventAggregator;\n}();\n\nexport function includeEventsIn(obj) {\n  var ea = new EventAggregator();\n\n  obj.subscribeOnce = function (event, callback) {\n    return ea.subscribeOnce(event, callback);\n  };\n\n  obj.subscribe = function (event, callback) {\n    return ea.subscribe(event, callback);\n  };\n\n  obj.publish = function (event, data) {\n    ea.publish(event, data);\n  };\n\n  return ea;\n}\n\nexport function configure(config) {\n  config.instance(EventAggregator, includeEventsIn(config.aurelia));\n}","import { Container } from 'aurelia-dependency-injection';\nexport * from 'aurelia-dependency-injection';\nexport * from 'aurelia-binding';\nexport * from 'aurelia-metadata';\nimport { HtmlBehaviorResource, ViewEngine, BindingLanguage, TemplatingEngine, CompositionTransaction, ViewSlot, ViewResources } from 'aurelia-templating';\nexport * from 'aurelia-templating';\nimport { Loader } from 'aurelia-loader';\nexport * from 'aurelia-loader';\nexport * from 'aurelia-task-queue';\nimport { join, relativeToFile } from 'aurelia-path';\nexport * from 'aurelia-path';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nexport * from 'aurelia-pal';\nimport * as TheLogManager from 'aurelia-logging';\nexport { TheLogManager as LogManager };\n\nvar logger = TheLogManager.getLogger('aurelia');\r\nvar extPattern = /\\.[^/.]+$/;\r\nfunction runTasks(config, tasks) {\r\n    var current;\r\n    var next = function () {\r\n        current = tasks.shift();\r\n        if (current) {\r\n            return Promise.resolve(current(config)).then(next);\r\n        }\r\n        return Promise.resolve();\r\n    };\r\n    return next();\r\n}\r\nfunction loadPlugin(fwConfig, loader, info) {\r\n    logger.debug(\"Loading plugin \".concat(info.moduleId, \".\"));\r\n    if (typeof info.moduleId === 'string') {\r\n        fwConfig.resourcesRelativeTo = info.resourcesRelativeTo;\r\n        var id = info.moduleId;\r\n        if (info.resourcesRelativeTo.length > 1) {\r\n            return loader.normalize(info.moduleId, info.resourcesRelativeTo[1])\r\n                .then(function (normalizedId) { return _loadPlugin(normalizedId); });\r\n        }\r\n        return _loadPlugin(id);\r\n    }\r\n    else if (typeof info.configure === 'function') {\r\n        if (fwConfig.configuredPlugins.indexOf(info.configure) !== -1) {\r\n            return Promise.resolve();\r\n        }\r\n        fwConfig.configuredPlugins.push(info.configure);\r\n        return Promise.resolve(info.configure.call(null, fwConfig, info.config || {}));\r\n    }\r\n    throw new Error(invalidConfigMsg(info.moduleId || info.configure, 'plugin'));\r\n    function _loadPlugin(moduleId) {\r\n        return loader.loadModule(moduleId).then(function (m) {\r\n            if ('configure' in m) {\r\n                if (fwConfig.configuredPlugins.indexOf(m.configure) !== -1) {\r\n                    return Promise.resolve();\r\n                }\r\n                return Promise.resolve(m.configure(fwConfig, info.config || {})).then(function () {\r\n                    fwConfig.configuredPlugins.push(m.configure);\r\n                    fwConfig.resourcesRelativeTo = null;\r\n                    logger.debug(\"Configured plugin \".concat(info.moduleId, \".\"));\r\n                });\r\n            }\r\n            fwConfig.resourcesRelativeTo = null;\r\n            logger.debug(\"Loaded plugin \".concat(info.moduleId, \".\"));\r\n        });\r\n    }\r\n}\r\nfunction loadResources(aurelia, resourcesToLoad, appResources) {\r\n    if (Object.keys(resourcesToLoad).length === 0) {\r\n        return Promise.resolve();\r\n    }\r\n    var viewEngine = aurelia.container.get(ViewEngine);\r\n    return Promise.all(Object.keys(resourcesToLoad).map(function (n) { return _normalize(resourcesToLoad[n]); }))\r\n        .then(function (loads) {\r\n        var names = [];\r\n        var importIds = [];\r\n        loads.forEach(function (l) {\r\n            names.push(undefined);\r\n            importIds.push(l.importId);\r\n        });\r\n        return viewEngine.importViewResources(importIds, names, appResources);\r\n    });\r\n    function _normalize(load) {\r\n        var moduleId = load.moduleId;\r\n        var ext = getExt(moduleId);\r\n        if (isOtherResource(moduleId)) {\r\n            moduleId = removeExt(moduleId);\r\n        }\r\n        return aurelia.loader.normalize(moduleId, load.relativeTo)\r\n            .then(function (normalized) {\r\n            return {\r\n                name: load.moduleId,\r\n                importId: isOtherResource(load.moduleId) ? addOriginalExt(normalized, ext) : normalized\r\n            };\r\n        });\r\n    }\r\n    function isOtherResource(name) {\r\n        var ext = getExt(name);\r\n        if (!ext)\r\n            return false;\r\n        if (ext === '')\r\n            return false;\r\n        if (ext === '.js' || ext === '.ts')\r\n            return false;\r\n        return true;\r\n    }\r\n    function removeExt(name) {\r\n        return name.replace(extPattern, '');\r\n    }\r\n    function addOriginalExt(normalized, ext) {\r\n        return removeExt(normalized) + '.' + ext;\r\n    }\r\n}\r\nfunction getExt(name) {\r\n    var match = name.match(extPattern);\r\n    if (match && match.length > 0) {\r\n        return (match[0].split('.'))[1];\r\n    }\r\n}\r\nfunction loadBehaviors(config) {\r\n    return Promise.all(config.behaviorsToLoad.map(function (m) { return m.load(config.container, m.target); })).then(function () {\r\n        config.behaviorsToLoad = null;\r\n    });\r\n}\r\nfunction assertProcessed(plugins) {\r\n    if (plugins.processed) {\r\n        throw new Error('This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.');\r\n    }\r\n}\r\nfunction invalidConfigMsg(cfg, type) {\r\n    return \"Invalid \".concat(type, \" [\").concat(cfg, \"], \").concat(type, \" must be specified as functions or relative module IDs.\");\r\n}\r\nvar FrameworkConfiguration = (function () {\r\n    function FrameworkConfiguration(aurelia) {\r\n        var _this = this;\r\n        this.aurelia = aurelia;\r\n        this.container = aurelia.container;\r\n        this.info = [];\r\n        this.processed = false;\r\n        this.preTasks = [];\r\n        this.postTasks = [];\r\n        this.behaviorsToLoad = [];\r\n        this.configuredPlugins = [];\r\n        this.resourcesToLoad = {};\r\n        this.preTask(function () { return aurelia.loader.normalize('aurelia-bootstrapper', undefined)\r\n            .then(function (name) { return _this.bootstrapperName = name; }); });\r\n        this.postTask(function () { return loadResources(aurelia, _this.resourcesToLoad, aurelia.resources); });\r\n    }\r\n    FrameworkConfiguration.prototype.instance = function (type, instance) {\r\n        this.container.registerInstance(type, instance);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.singleton = function (type, implementation) {\r\n        this.container.registerSingleton(type, implementation);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.transient = function (type, implementation) {\r\n        this.container.registerTransient(type, implementation);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.preTask = function (task) {\r\n        assertProcessed(this);\r\n        this.preTasks.push(task);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.postTask = function (task) {\r\n        assertProcessed(this);\r\n        this.postTasks.push(task);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.feature = function (plugin, config) {\r\n        if (config === void 0) { config = {}; }\r\n        switch (typeof plugin) {\r\n            case 'string':\r\n                var hasIndex = /\\/index$/i.test(plugin);\r\n                var moduleId = hasIndex || getExt(plugin) ? plugin : plugin + '/index';\r\n                var root = hasIndex ? plugin.slice(0, -6) : plugin;\r\n                this.info.push({ moduleId: moduleId, resourcesRelativeTo: [root, ''], config: config });\r\n                break;\r\n            case 'function':\r\n                this.info.push({ configure: plugin, config: config || {} });\r\n                break;\r\n            default:\r\n                throw new Error(invalidConfigMsg(plugin, 'feature'));\r\n        }\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.globalResources = function (resources) {\r\n        var _this = this;\r\n        assertProcessed(this);\r\n        var toAdd = Array.isArray(resources) ? resources : arguments;\r\n        var resource;\r\n        var resourcesRelativeTo = this.resourcesRelativeTo || ['', ''];\r\n        for (var i = 0, ii = toAdd.length; i < ii; ++i) {\r\n            resource = toAdd[i];\r\n            switch (typeof resource) {\r\n                case 'string':\r\n                    var parent_1 = resourcesRelativeTo[0];\r\n                    var grandParent = resourcesRelativeTo[1];\r\n                    var name_1 = resource;\r\n                    if ((resource.startsWith('./') || resource.startsWith('../')) && parent_1 !== '') {\r\n                        name_1 = join(parent_1, resource);\r\n                    }\r\n                    this.resourcesToLoad[name_1] = { moduleId: name_1, relativeTo: grandParent };\r\n                    break;\r\n                case 'function':\r\n                    var meta = this.aurelia.resources.autoRegister(this.container, resource);\r\n                    if (meta instanceof HtmlBehaviorResource && meta.elementName !== null) {\r\n                        if (this.behaviorsToLoad.push(meta) === 1) {\r\n                            this.postTask(function () { return loadBehaviors(_this); });\r\n                        }\r\n                    }\r\n                    break;\r\n                default:\r\n                    throw new Error(invalidConfigMsg(resource, 'resource'));\r\n            }\r\n        }\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.globalName = function (resourcePath, newName) {\r\n        assertProcessed(this);\r\n        this.resourcesToLoad[resourcePath] = { moduleId: newName, relativeTo: '' };\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.plugin = function (plugin, pluginConfig) {\r\n        assertProcessed(this);\r\n        var info;\r\n        switch (typeof plugin) {\r\n            case 'string':\r\n                info = { moduleId: plugin, resourcesRelativeTo: [plugin, ''], config: pluginConfig || {} };\r\n                break;\r\n            case 'function':\r\n                info = { configure: plugin, config: pluginConfig || {} };\r\n                break;\r\n            default:\r\n                throw new Error(invalidConfigMsg(plugin, 'plugin'));\r\n        }\r\n        this.info.push(info);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype._addNormalizedPlugin = function (name, config) {\r\n        var _this = this;\r\n        var plugin = { moduleId: name, resourcesRelativeTo: [name, ''], config: config || {} };\r\n        this.info.push(plugin);\r\n        this.preTask(function () {\r\n            var relativeTo = [name, _this.bootstrapperName];\r\n            plugin.moduleId = name;\r\n            plugin.resourcesRelativeTo = relativeTo;\r\n            return Promise.resolve();\r\n        });\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.defaultBindingLanguage = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-binding');\r\n    };\r\n    FrameworkConfiguration.prototype.router = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-router');\r\n    };\r\n    FrameworkConfiguration.prototype.history = function () {\r\n        return this._addNormalizedPlugin('aurelia-history-browser');\r\n    };\r\n    FrameworkConfiguration.prototype.defaultResources = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-resources');\r\n    };\r\n    FrameworkConfiguration.prototype.eventAggregator = function () {\r\n        return this._addNormalizedPlugin('aurelia-event-aggregator');\r\n    };\r\n    FrameworkConfiguration.prototype.basicConfiguration = function () {\r\n        return this.defaultBindingLanguage().defaultResources().eventAggregator();\r\n    };\r\n    FrameworkConfiguration.prototype.standardConfiguration = function () {\r\n        return this.basicConfiguration().history().router();\r\n    };\r\n    FrameworkConfiguration.prototype.developmentLogging = function (level) {\r\n        var _this = this;\r\n        var logLevel = level ? TheLogManager.logLevel[level] : undefined;\r\n        if (logLevel === undefined) {\r\n            logLevel = TheLogManager.logLevel.debug;\r\n        }\r\n        this.preTask(function () {\r\n            return _this.aurelia.loader.normalize('aurelia-logging-console', _this.bootstrapperName).then(function (name) {\r\n                return _this.aurelia.loader.loadModule(name).then(function (m) {\r\n                    TheLogManager.addAppender(new m.ConsoleAppender());\r\n                    TheLogManager.setLevel(logLevel);\r\n                });\r\n            });\r\n        });\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.apply = function () {\r\n        var _this = this;\r\n        if (this.processed) {\r\n            return Promise.resolve();\r\n        }\r\n        return runTasks(this, this.preTasks).then(function () {\r\n            var loader = _this.aurelia.loader;\r\n            var info = _this.info;\r\n            var current;\r\n            var next = function () {\r\n                current = info.shift();\r\n                if (current) {\r\n                    return loadPlugin(_this, loader, current).then(next);\r\n                }\r\n                _this.processed = true;\r\n                _this.configuredPlugins = null;\r\n                return Promise.resolve();\r\n            };\r\n            return next().then(function () { return runTasks(_this, _this.postTasks); });\r\n        });\r\n    };\r\n    return FrameworkConfiguration;\r\n}());\n\nfunction preventActionlessFormSubmit() {\r\n    DOM.addEventListener('submit', function (evt) {\r\n        var target = evt.target;\r\n        var action = target.action;\r\n        if (target.tagName.toLowerCase() === 'form' && !action) {\r\n            evt.preventDefault();\r\n        }\r\n    }, false);\r\n}\r\nvar Aurelia = (function () {\r\n    function Aurelia(loader, container, resources) {\r\n        this.loader = loader || new PLATFORM.Loader();\r\n        this.container = container || (new Container()).makeGlobal();\r\n        this.resources = resources || new ViewResources();\r\n        this.use = new FrameworkConfiguration(this);\r\n        this.logger = TheLogManager.getLogger('aurelia');\r\n        this.hostConfigured = false;\r\n        this.host = null;\r\n        this.use.instance(Aurelia, this);\r\n        this.use.instance(Loader, this.loader);\r\n        this.use.instance(ViewResources, this.resources);\r\n    }\r\n    Aurelia.prototype.start = function () {\r\n        var _this = this;\r\n        if (this._started) {\r\n            return this._started;\r\n        }\r\n        this.logger.info('Aurelia Starting');\r\n        return this._started = this.use.apply().then(function () {\r\n            preventActionlessFormSubmit();\r\n            if (!_this.container.hasResolver(BindingLanguage)) {\r\n                var message = 'You must configure Aurelia with a BindingLanguage implementation.';\r\n                _this.logger.error(message);\r\n                throw new Error(message);\r\n            }\r\n            _this.logger.info('Aurelia Started');\r\n            var evt = DOM.createCustomEvent('aurelia-started', { bubbles: true, cancelable: true });\r\n            DOM.dispatchEvent(evt);\r\n            return _this;\r\n        });\r\n    };\r\n    Aurelia.prototype.enhance = function (bindingContext, applicationHost) {\r\n        var _this = this;\r\n        if (bindingContext === void 0) { bindingContext = {}; }\r\n        if (applicationHost === void 0) { applicationHost = null; }\r\n        this._configureHost(applicationHost || DOM.querySelectorAll('body')[0]);\r\n        return new Promise(function (resolve) {\r\n            var engine = _this.container.get(TemplatingEngine);\r\n            _this.root = engine.enhance({ container: _this.container, element: _this.host, resources: _this.resources, bindingContext: bindingContext });\r\n            _this.root.attached();\r\n            _this._onAureliaComposed();\r\n            resolve(_this);\r\n        });\r\n    };\r\n    Aurelia.prototype.setRoot = function (root, applicationHost) {\r\n        var _this = this;\r\n        if (root === void 0) { root = null; }\r\n        if (applicationHost === void 0) { applicationHost = null; }\r\n        var instruction = {};\r\n        if (this.root && this.root.viewModel && this.root.viewModel.router) {\r\n            this.root.viewModel.router.deactivate();\r\n            this.root.viewModel.router.reset();\r\n        }\r\n        this._configureHost(applicationHost);\r\n        var engine = this.container.get(TemplatingEngine);\r\n        var transaction = this.container.get(CompositionTransaction);\r\n        delete transaction.initialComposition;\r\n        if (!root) {\r\n            if (this.configModuleId) {\r\n                root = relativeToFile('./app', this.configModuleId);\r\n            }\r\n            else {\r\n                root = 'app';\r\n            }\r\n        }\r\n        instruction.viewModel = root;\r\n        instruction.container = instruction.childContainer = this.container;\r\n        instruction.viewSlot = this.hostSlot;\r\n        instruction.host = this.host;\r\n        return engine.compose(instruction).then(function (r) {\r\n            _this.root = r;\r\n            instruction.viewSlot.attached();\r\n            _this._onAureliaComposed();\r\n            return _this;\r\n        });\r\n    };\r\n    Aurelia.prototype._configureHost = function (applicationHost) {\r\n        if (this.hostConfigured) {\r\n            return;\r\n        }\r\n        applicationHost = applicationHost || this.host;\r\n        if (!applicationHost || typeof applicationHost === 'string') {\r\n            this.host = DOM.getElementById(applicationHost || 'applicationHost');\r\n        }\r\n        else {\r\n            this.host = applicationHost;\r\n        }\r\n        if (!this.host) {\r\n            throw new Error('No applicationHost was specified.');\r\n        }\r\n        this.hostConfigured = true;\r\n        this.host.aurelia = this;\r\n        this.hostSlot = new ViewSlot(this.host, true);\r\n        this.hostSlot.transformChildNodesIntoView();\r\n        this.container.registerInstance(DOM.boundary, this.host);\r\n    };\r\n    Aurelia.prototype._onAureliaComposed = function () {\r\n        var evt = DOM.createCustomEvent('aurelia-composed', { bubbles: true, cancelable: true });\r\n        setTimeout(function () { return DOM.dispatchEvent(evt); }, 1);\r\n    };\r\n    return Aurelia;\r\n}());\n\nexport { Aurelia, FrameworkConfiguration };\n//# sourceMappingURL=aurelia-framework.js.map\n","import { History } from 'aurelia-history';\nimport { DOM, PLATFORM } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    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 extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(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}\n\nvar LinkHandler = (function () {\r\n    function LinkHandler() {\r\n    }\r\n    LinkHandler.prototype.activate = function (history) { };\r\n    LinkHandler.prototype.deactivate = function () { };\r\n    return LinkHandler;\r\n}());\r\nvar DefaultLinkHandler = (function (_super) {\r\n    __extends(DefaultLinkHandler, _super);\r\n    function DefaultLinkHandler() {\r\n        var _this = _super.call(this) || this;\r\n        _this.handler = function (e) {\r\n            var _a = DefaultLinkHandler.getEventInfo(e), shouldHandleEvent = _a.shouldHandleEvent, href = _a.href;\r\n            if (shouldHandleEvent) {\r\n                e.preventDefault();\r\n                _this.history.navigate(href);\r\n            }\r\n        };\r\n        return _this;\r\n    }\r\n    DefaultLinkHandler.prototype.activate = function (history) {\r\n        if (history._hasPushState) {\r\n            this.history = history;\r\n            DOM.addEventListener('click', this.handler, true);\r\n        }\r\n    };\r\n    DefaultLinkHandler.prototype.deactivate = function () {\r\n        DOM.removeEventListener('click', this.handler, true);\r\n    };\r\n    DefaultLinkHandler.getEventInfo = function (event) {\r\n        var $event = event;\r\n        var info = {\r\n            shouldHandleEvent: false,\r\n            href: null,\r\n            anchor: null\r\n        };\r\n        var target = DefaultLinkHandler.findClosestAnchor($event.target);\r\n        if (!target || !DefaultLinkHandler.targetIsThisWindow(target)) {\r\n            return info;\r\n        }\r\n        if (hasAttribute(target, 'download')\r\n            || hasAttribute(target, 'router-ignore')\r\n            || hasAttribute(target, 'data-router-ignore')) {\r\n            return info;\r\n        }\r\n        if ($event.altKey || $event.ctrlKey || $event.metaKey || $event.shiftKey) {\r\n            return info;\r\n        }\r\n        var href = target.getAttribute('href');\r\n        info.anchor = target;\r\n        info.href = href;\r\n        var leftButtonClicked = $event.which === 1;\r\n        var isRelative = href && !(href.charAt(0) === '#' || (/^[a-z]+:/i).test(href));\r\n        info.shouldHandleEvent = leftButtonClicked && isRelative;\r\n        return info;\r\n    };\r\n    DefaultLinkHandler.findClosestAnchor = function (el) {\r\n        while (el) {\r\n            if (el.tagName === 'A') {\r\n                return el;\r\n            }\r\n            el = el.parentNode;\r\n        }\r\n    };\r\n    DefaultLinkHandler.targetIsThisWindow = function (target) {\r\n        var targetWindow = target.getAttribute('target');\r\n        var win = PLATFORM.global;\r\n        return !targetWindow ||\r\n            targetWindow === win.name ||\r\n            targetWindow === '_self';\r\n    };\r\n    return DefaultLinkHandler;\r\n}(LinkHandler));\r\nvar hasAttribute = function (el, attr) { return el.hasAttribute(attr); };\n\nvar BrowserHistory = (function (_super) {\r\n    __extends(BrowserHistory, _super);\r\n    function BrowserHistory(linkHandler) {\r\n        var _this = _super.call(this) || this;\r\n        _this._isActive = false;\r\n        _this._checkUrlCallback = _this._checkUrl.bind(_this);\r\n        _this.location = PLATFORM.location;\r\n        _this.history = PLATFORM.history;\r\n        _this.linkHandler = linkHandler;\r\n        return _this;\r\n    }\r\n    BrowserHistory.prototype.activate = function (options) {\r\n        if (this._isActive) {\r\n            throw new Error('History has already been activated.');\r\n        }\r\n        var $history = this.history;\r\n        var wantsPushState = !!options.pushState;\r\n        this._isActive = true;\r\n        var normalizedOptions = this.options = Object.assign({}, { root: '/' }, this.options, options);\r\n        var rootUrl = this.root = ('/' + normalizedOptions.root + '/').replace(rootStripper, '/');\r\n        var wantsHashChange = this._wantsHashChange = normalizedOptions.hashChange !== false;\r\n        var hasPushState = this._hasPushState = !!(normalizedOptions.pushState && $history && $history.pushState);\r\n        var eventName;\r\n        if (hasPushState) {\r\n            eventName = 'popstate';\r\n        }\r\n        else if (wantsHashChange) {\r\n            eventName = 'hashchange';\r\n        }\r\n        PLATFORM.addEventListener(eventName, this._checkUrlCallback);\r\n        if (wantsHashChange && wantsPushState) {\r\n            var $location = this.location;\r\n            var atRoot = $location.pathname.replace(/[^\\/]$/, '$&/') === rootUrl;\r\n            if (!hasPushState && !atRoot) {\r\n                var fragment = this.fragment = this._getFragment(null, true);\r\n                $location.replace(rootUrl + $location.search + '#' + fragment);\r\n                return true;\r\n            }\r\n            else if (hasPushState && atRoot && $location.hash) {\r\n                var fragment = this.fragment = this._getHash().replace(routeStripper, '');\r\n                $history.replaceState({}, DOM.title, rootUrl + fragment + $location.search);\r\n            }\r\n        }\r\n        if (!this.fragment) {\r\n            this.fragment = this._getFragment('');\r\n        }\r\n        this.linkHandler.activate(this);\r\n        if (!normalizedOptions.silent) {\r\n            return this._loadUrl('');\r\n        }\r\n    };\r\n    BrowserHistory.prototype.deactivate = function () {\r\n        var handler = this._checkUrlCallback;\r\n        PLATFORM.removeEventListener('popstate', handler);\r\n        PLATFORM.removeEventListener('hashchange', handler);\r\n        this._isActive = false;\r\n        this.linkHandler.deactivate();\r\n    };\r\n    BrowserHistory.prototype.getAbsoluteRoot = function () {\r\n        var $location = this.location;\r\n        var origin = createOrigin($location.protocol, $location.hostname, $location.port);\r\n        return \"\" + origin + this.root;\r\n    };\r\n    BrowserHistory.prototype.navigate = function (fragment, _a) {\r\n        var _b = _a === void 0 ? {} : _a, _c = _b.trigger, trigger = _c === void 0 ? true : _c, _d = _b.replace, replace = _d === void 0 ? false : _d;\r\n        var location = this.location;\r\n        if (fragment && absoluteUrl.test(fragment)) {\r\n            location.href = fragment;\r\n            return true;\r\n        }\r\n        if (!this._isActive) {\r\n            return false;\r\n        }\r\n        fragment = this._getFragment(fragment || '');\r\n        if (this.fragment === fragment && !replace) {\r\n            return false;\r\n        }\r\n        this.fragment = fragment;\r\n        var url = this.root + fragment;\r\n        if (fragment === '' && url !== '/') {\r\n            url = url.slice(0, -1);\r\n        }\r\n        if (this._hasPushState) {\r\n            url = url.replace('//', '/');\r\n            this.history[replace ? 'replaceState' : 'pushState']({}, DOM.title, url);\r\n        }\r\n        else if (this._wantsHashChange) {\r\n            updateHash(location, fragment, replace);\r\n        }\r\n        else {\r\n            location.assign(url);\r\n        }\r\n        if (trigger) {\r\n            return this._loadUrl(fragment);\r\n        }\r\n        return true;\r\n    };\r\n    BrowserHistory.prototype.navigateBack = function () {\r\n        this.history.back();\r\n    };\r\n    BrowserHistory.prototype.setTitle = function (title) {\r\n        DOM.title = title;\r\n    };\r\n    BrowserHistory.prototype.setState = function (key, value) {\r\n        var $history = this.history;\r\n        var state = Object.assign({}, $history.state);\r\n        var _a = this.location, pathname = _a.pathname, search = _a.search, hash = _a.hash;\r\n        state[key] = value;\r\n        $history.replaceState(state, null, \"\" + pathname + search + hash);\r\n    };\r\n    BrowserHistory.prototype.getState = function (key) {\r\n        var state = Object.assign({}, this.history.state);\r\n        return state[key];\r\n    };\r\n    BrowserHistory.prototype.getHistoryIndex = function () {\r\n        var historyIndex = this.getState('HistoryIndex');\r\n        if (historyIndex === undefined) {\r\n            historyIndex = this.history.length - 1;\r\n            this.setState('HistoryIndex', historyIndex);\r\n        }\r\n        return historyIndex;\r\n    };\r\n    BrowserHistory.prototype.go = function (movement) {\r\n        this.history.go(movement);\r\n    };\r\n    BrowserHistory.prototype._getHash = function () {\r\n        return this.location.hash.substr(1);\r\n    };\r\n    BrowserHistory.prototype._getFragment = function (fragment, forcePushState) {\r\n        var rootUrl;\r\n        if (!fragment) {\r\n            if (this._hasPushState || !this._wantsHashChange || forcePushState) {\r\n                var location_1 = this.location;\r\n                fragment = location_1.pathname + location_1.search;\r\n                rootUrl = this.root.replace(trailingSlash, '');\r\n                if (!fragment.indexOf(rootUrl)) {\r\n                    fragment = fragment.substr(rootUrl.length);\r\n                }\r\n            }\r\n            else {\r\n                fragment = this._getHash();\r\n            }\r\n        }\r\n        return '/' + fragment.replace(routeStripper, '');\r\n    };\r\n    BrowserHistory.prototype._checkUrl = function () {\r\n        var current = this._getFragment('');\r\n        if (current !== this.fragment) {\r\n            this._loadUrl('');\r\n        }\r\n    };\r\n    BrowserHistory.prototype._loadUrl = function (fragmentOverride) {\r\n        var fragment = this.fragment = this._getFragment(fragmentOverride);\r\n        return this.options.routeHandler ?\r\n            this.options.routeHandler(fragment) :\r\n            false;\r\n    };\r\n    BrowserHistory.inject = [LinkHandler];\r\n    return BrowserHistory;\r\n}(History));\r\nvar routeStripper = /^#?\\/*|\\s+$/g;\r\nvar rootStripper = /^\\/+|\\/+$/g;\r\nvar trailingSlash = /\\/$/;\r\nvar absoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\r\nfunction updateHash($location, fragment, replace) {\r\n    if (replace) {\r\n        var href = $location.href.replace(/(javascript:|#).*$/, '');\r\n        $location.replace(href + '#' + fragment);\r\n    }\r\n    else {\r\n        $location.hash = '#' + fragment;\r\n    }\r\n}\r\nfunction createOrigin(protocol, hostname, port) {\r\n    return protocol + \"//\" + hostname + (port ? ':' + port : '');\r\n}\n\nfunction configure(config) {\r\n    var $config = config;\r\n    $config.singleton(History, BrowserHistory);\r\n    $config.transient(LinkHandler, DefaultLinkHandler);\r\n}\n\nexport { BrowserHistory, DefaultLinkHandler, LinkHandler, configure };\n//# sourceMappingURL=aurelia-history-browser.js.map\n","\n\nfunction mi(name) {\n  throw new Error('History must implement ' + name + '().');\n}\n\nexport var History = function () {\n  function History() {\n    \n  }\n\n  History.prototype.activate = function activate(options) {\n    mi('activate');\n  };\n\n  History.prototype.deactivate = function deactivate() {\n    mi('deactivate');\n  };\n\n  History.prototype.getAbsoluteRoot = function getAbsoluteRoot() {\n    mi('getAbsoluteRoot');\n  };\n\n  History.prototype.navigate = function navigate(fragment, options) {\n    mi('navigate');\n  };\n\n  History.prototype.navigateBack = function navigateBack() {\n    mi('navigateBack');\n  };\n\n  History.prototype.setTitle = function setTitle(title) {\n    mi('setTitle');\n  };\n\n  History.prototype.setState = function setState(key, value) {\n    mi('setState');\n  };\n\n  History.prototype.getState = function getState(key) {\n    mi('getState');\n  };\n\n  History.prototype.getHistoryIndex = function getHistoryIndex() {\n    mi('getHistoryIndex');\n  };\n\n  History.prototype.go = function go(movement) {\n    mi('go');\n  };\n\n  return History;\n}();","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nimport { join, buildQueryString } from 'aurelia-path';\nimport { PLATFORM, DOM } from 'aurelia-pal';\n\nexport var Headers = function () {\n  function Headers() {\n    var headers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n    \n\n    this.headers = {};\n\n    for (var _key in headers) {\n      this.headers[_key.toLowerCase()] = { key: _key, value: headers[_key] };\n    }\n  }\n\n  Headers.prototype.add = function add(key, value) {\n    this.headers[key.toLowerCase()] = { key: key, value: value };\n  };\n\n  Headers.prototype.get = function get(key) {\n    var header = this.headers[key.toLowerCase()];\n    return header ? header.value : undefined;\n  };\n\n  Headers.prototype.clear = function clear() {\n    this.headers = {};\n  };\n\n  Headers.prototype.has = function has(header) {\n    return this.headers.hasOwnProperty(header.toLowerCase());\n  };\n\n  Headers.prototype.configureXHR = function configureXHR(xhr) {\n    for (var name in this.headers) {\n      if (this.headers.hasOwnProperty(name)) {\n        xhr.setRequestHeader(this.headers[name].key, this.headers[name].value);\n      }\n    }\n  };\n\n  Headers.parse = function parse(headerStr) {\n    var headers = new Headers();\n    if (!headerStr) {\n      return headers;\n    }\n\n    var headerPairs = headerStr.split('\\r\\n');\n    for (var i = 0; i < headerPairs.length; i++) {\n      var headerPair = headerPairs[i];\n\n      var index = headerPair.indexOf(': ');\n      if (index > 0) {\n        var _key2 = headerPair.substring(0, index);\n        var val = headerPair.substring(index + 2);\n        headers.add(_key2, val);\n      }\n    }\n\n    return headers;\n  };\n\n  return Headers;\n}();\n\nexport var RequestMessage = function () {\n  function RequestMessage(method, url, content, headers) {\n    \n\n    this.method = method;\n    this.url = url;\n    this.content = content;\n    this.headers = headers || new Headers();\n    this.baseUrl = '';\n  }\n\n  RequestMessage.prototype.buildFullUrl = function buildFullUrl() {\n    var absoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\n    var url = absoluteUrl.test(this.url) ? this.url : join(this.baseUrl, this.url);\n\n    if (this.params) {\n      var qs = buildQueryString(this.params, this.traditional);\n      url = qs ? url + (this.url.indexOf('?') < 0 ? '?' : '&') + qs : url;\n    }\n\n    return url;\n  };\n\n  return RequestMessage;\n}();\n\nexport var HttpResponseMessage = function () {\n  function HttpResponseMessage(requestMessage, xhr, responseType, reviver) {\n    \n\n    this.requestMessage = requestMessage;\n    this.statusCode = xhr.status;\n    this.response = xhr.response || xhr.responseText;\n    this.isSuccess = xhr.status >= 200 && xhr.status < 400;\n    this.statusText = xhr.statusText;\n    this.reviver = reviver;\n    this.mimeType = null;\n\n    if (xhr.getAllResponseHeaders) {\n      this.headers = Headers.parse(xhr.getAllResponseHeaders());\n    } else {\n      this.headers = new Headers();\n    }\n\n    var contentType = void 0;\n\n    if (this.headers && this.headers.headers) {\n      contentType = this.headers.get('Content-Type');\n    }\n\n    if (contentType) {\n      this.mimeType = responseType = contentType.split(';')[0].trim();\n      if (mimeTypes.hasOwnProperty(this.mimeType)) responseType = mimeTypes[this.mimeType];\n    }\n\n    this.responseType = responseType;\n  }\n\n  _createClass(HttpResponseMessage, [{\n    key: 'content',\n    get: function get() {\n      try {\n        if (this._content !== undefined) {\n          return this._content;\n        }\n\n        if (this.response === undefined || this.response === null || this.response === '') {\n          this._content = this.response;\n          return this._content;\n        }\n\n        if (this.responseType === 'json') {\n          this._content = JSON.parse(this.response, this.reviver);\n          return this._content;\n        }\n\n        if (this.reviver) {\n          this._content = this.reviver(this.response);\n          return this._content;\n        }\n\n        this._content = this.response;\n        return this._content;\n      } catch (e) {\n        if (this.isSuccess) {\n          throw e;\n        }\n\n        this._content = null;\n        return this._content;\n      }\n    }\n  }]);\n\n  return HttpResponseMessage;\n}();\n\nexport var mimeTypes = {\n  'text/html': 'html',\n  'text/javascript': 'js',\n  'application/javascript': 'js',\n  'text/json': 'json',\n  'application/json': 'json',\n  'application/rss+xml': 'rss',\n  'application/atom+xml': 'atom',\n  'application/xhtml+xml': 'xhtml',\n  'text/markdown': 'md',\n  'text/xml': 'xml',\n  'text/mathml': 'mml',\n  'application/xml': 'xml',\n  'text/yml': 'yml',\n  'text/csv': 'csv',\n  'text/css': 'css',\n  'text/less': 'less',\n  'text/stylus': 'styl',\n  'text/scss': 'scss',\n  'text/sass': 'sass',\n  'text/plain': 'txt'\n};\n\nfunction applyXhrTransformers(xhrTransformers, client, processor, message, xhr) {\n  var i = void 0;\n  var ii = void 0;\n\n  for (i = 0, ii = xhrTransformers.length; i < ii; ++i) {\n    xhrTransformers[i](client, processor, message, xhr);\n  }\n}\n\nexport var RequestMessageProcessor = function () {\n  function RequestMessageProcessor(xhrType, xhrTransformers) {\n    \n\n    this.XHRType = xhrType;\n    this.xhrTransformers = xhrTransformers;\n    this.isAborted = false;\n  }\n\n  RequestMessageProcessor.prototype.abort = function abort() {\n    if (this.xhr && this.xhr.readyState !== PLATFORM.XMLHttpRequest.UNSENT) {\n      this.xhr.abort();\n    }\n\n    this.isAborted = true;\n  };\n\n  RequestMessageProcessor.prototype.process = function process(client, requestMessage) {\n    var _this = this;\n\n    var promise = new Promise(function (resolve, reject) {\n      var rejectResponse = void 0;\n      if (client.rejectPromiseWithErrorObject) {\n        rejectResponse = function rejectResponse(resp) {\n          var errorResp = new ErrorHttpResponseMessage(resp);\n          reject(errorResp);\n        };\n      } else {\n        rejectResponse = function rejectResponse(resp) {\n          reject(resp);\n        };\n      }\n\n      var xhr = _this.xhr = new _this.XHRType();\n      xhr.onload = function (e) {\n        var response = new HttpResponseMessage(requestMessage, xhr, requestMessage.responseType, requestMessage.reviver);\n        if (response.isSuccess) {\n          resolve(response);\n        } else {\n          rejectResponse(response);\n        }\n      };\n\n      xhr.ontimeout = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'timeout'));\n      };\n\n      xhr.onerror = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'error'));\n      };\n\n      xhr.onabort = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'abort'));\n      };\n    });\n\n    return Promise.resolve(requestMessage).then(function (message) {\n      var processRequest = function processRequest() {\n        if (_this.isAborted) {\n          _this.xhr.abort();\n        } else {\n          _this.xhr.open(message.method, message.buildFullUrl(), true, message.user, message.password);\n          applyXhrTransformers(_this.xhrTransformers, client, _this, message, _this.xhr);\n          if (typeof message.content === 'undefined') {\n            _this.xhr.send();\n          } else {\n            _this.xhr.send(message.content);\n          }\n        }\n\n        return promise;\n      };\n\n      var chain = [[processRequest, undefined]];\n\n      var interceptors = message.interceptors || [];\n      interceptors.forEach(function (interceptor) {\n        if (interceptor.request || interceptor.requestError) {\n          chain.unshift([interceptor.request ? interceptor.request.bind(interceptor) : undefined, interceptor.requestError ? interceptor.requestError.bind(interceptor) : undefined]);\n        }\n\n        if (interceptor.response || interceptor.responseError) {\n          chain.push([interceptor.response ? interceptor.response.bind(interceptor) : undefined, interceptor.responseError ? interceptor.responseError.bind(interceptor) : undefined]);\n        }\n      });\n\n      var interceptorsPromise = Promise.resolve(message);\n\n      while (chain.length) {\n        var _interceptorsPromise;\n\n        interceptorsPromise = (_interceptorsPromise = interceptorsPromise).then.apply(_interceptorsPromise, chain.shift());\n      }\n\n      return interceptorsPromise;\n    });\n  };\n\n  return RequestMessageProcessor;\n}();\n\nexport function timeoutTransformer(client, processor, message, xhr) {\n  if (message.timeout !== undefined) {\n    xhr.timeout = message.timeout;\n  }\n}\n\nexport function callbackParameterNameTransformer(client, processor, message, xhr) {\n  if (message.callbackParameterName !== undefined) {\n    xhr.callbackParameterName = message.callbackParameterName;\n  }\n}\n\nexport function credentialsTransformer(client, processor, message, xhr) {\n  if (message.withCredentials !== undefined) {\n    xhr.withCredentials = message.withCredentials;\n  }\n}\n\nexport function progressTransformer(client, processor, message, xhr) {\n  if (message.progressCallback) {\n    xhr.upload.onprogress = message.progressCallback;\n  }\n}\n\nexport function downloadProgressTransformer(client, processor, message, xhr) {\n  if (message.downloadProgressCallback) {\n    xhr.onprogress = message.downloadProgressCallback;\n  }\n}\n\nexport function responseTypeTransformer(client, processor, message, xhr) {\n  var responseType = message.responseType;\n\n  if (responseType === 'json') {\n    responseType = 'text';\n  }\n\n  xhr.responseType = responseType;\n}\n\nexport function headerTransformer(client, processor, message, xhr) {\n  message.headers.configureXHR(xhr);\n}\n\nexport function contentTransformer(client, processor, message, xhr) {\n  if (message.skipContentProcessing) {\n    return;\n  }\n\n  if (PLATFORM.global.FormData && message.content instanceof FormData) {\n    return;\n  }\n\n  if (PLATFORM.global.Blob && message.content instanceof Blob) {\n    return;\n  }\n\n  if (PLATFORM.global.ArrayBuffer && message.content instanceof ArrayBuffer) {\n    return;\n  }\n\n  if (message.content instanceof Document) {\n    return;\n  }\n\n  if (typeof message.content === 'string') {\n    return;\n  }\n\n  if (message.content === null || message.content === undefined) {\n    return;\n  }\n\n  message.content = JSON.stringify(message.content, message.replacer);\n\n  if (!message.headers.has('Content-Type')) {\n    message.headers.add('Content-Type', 'application/json');\n  }\n}\n\nexport var JSONPRequestMessage = function (_RequestMessage) {\n  _inherits(JSONPRequestMessage, _RequestMessage);\n\n  function JSONPRequestMessage(url, callbackParameterName) {\n    \n\n    var _this2 = _possibleConstructorReturn(this, _RequestMessage.call(this, 'JSONP', url));\n\n    _this2.responseType = 'jsonp';\n    _this2.callbackParameterName = callbackParameterName;\n    return _this2;\n  }\n\n  return JSONPRequestMessage;\n}(RequestMessage);\n\nvar JSONPXHR = function () {\n  function JSONPXHR() {\n    \n  }\n\n  JSONPXHR.prototype.open = function open(method, url) {\n    this.method = method;\n    this.url = url;\n    this.callbackName = 'jsonp_callback_' + Math.round(100000 * Math.random());\n  };\n\n  JSONPXHR.prototype.send = function send() {\n    var _this3 = this;\n\n    var url = this.url + (this.url.indexOf('?') >= 0 ? '&' : '?') + encodeURIComponent(this.callbackParameterName) + '=' + this.callbackName;\n    var script = DOM.createElement('script');\n\n    script.src = url;\n    script.onerror = function (e) {\n      cleanUp();\n\n      _this3.status = 0;\n      _this3.onerror(new Error('error'));\n    };\n\n    var cleanUp = function cleanUp() {\n      delete PLATFORM.global[_this3.callbackName];\n      DOM.removeNode(script);\n    };\n\n    PLATFORM.global[this.callbackName] = function (data) {\n      cleanUp();\n\n      if (_this3.status === undefined) {\n        _this3.status = 200;\n        _this3.statusText = 'OK';\n        _this3.response = data;\n        _this3.onload(_this3);\n      }\n    };\n\n    DOM.appendNode(script);\n\n    if (this.timeout !== undefined) {\n      setTimeout(function () {\n        if (_this3.status === undefined) {\n          _this3.status = 0;\n          _this3.ontimeout(new Error('timeout'));\n        }\n      }, this.timeout);\n    }\n  };\n\n  JSONPXHR.prototype.abort = function abort() {\n    if (this.status === undefined) {\n      this.status = 0;\n      this.onabort(new Error('abort'));\n    }\n  };\n\n  JSONPXHR.prototype.setRequestHeader = function setRequestHeader() {};\n\n  return JSONPXHR;\n}();\n\nexport function createJSONPRequestMessageProcessor() {\n  return new RequestMessageProcessor(JSONPXHR, [timeoutTransformer, callbackParameterNameTransformer]);\n}\n\nexport var HttpRequestMessage = function (_RequestMessage2) {\n  _inherits(HttpRequestMessage, _RequestMessage2);\n\n  function HttpRequestMessage(method, url, content, headers) {\n    \n\n    var _this4 = _possibleConstructorReturn(this, _RequestMessage2.call(this, method, url, content, headers));\n\n    _this4.responseType = 'json';return _this4;\n  }\n\n  return HttpRequestMessage;\n}(RequestMessage);\n\nexport function createHttpRequestMessageProcessor() {\n  return new RequestMessageProcessor(PLATFORM.XMLHttpRequest, [timeoutTransformer, credentialsTransformer, progressTransformer, downloadProgressTransformer, responseTypeTransformer, contentTransformer, headerTransformer]);\n}\n\nexport var ErrorHttpResponseMessage = function (_HttpResponseMessage) {\n  _inherits(ErrorHttpResponseMessage, _HttpResponseMessage);\n\n  function ErrorHttpResponseMessage(responseMessage) {\n    \n\n    var _this5 = _possibleConstructorReturn(this, _HttpResponseMessage.call(this, responseMessage.requestMessage, {\n      response: responseMessage.response,\n      status: responseMessage.statusCode,\n      statusText: responseMessage.statusText\n    }, responseMessage.responseType));\n\n    _this5.name = responseMessage.responseType;\n    _this5.message = 'Error: ' + responseMessage.statusCode + ' Status: ' + responseMessage.statusText;\n    return _this5;\n  }\n\n  return ErrorHttpResponseMessage;\n}(HttpResponseMessage);\n\nexport var RequestBuilder = function () {\n  function RequestBuilder(client) {\n    \n\n    this.client = client;\n    this.transformers = client.requestTransformers.slice(0);\n    this.useJsonp = false;\n  }\n\n  RequestBuilder.prototype.asDelete = function asDelete() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'DELETE';\n    });\n  };\n\n  RequestBuilder.prototype.asGet = function asGet() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'GET';\n    });\n  };\n\n  RequestBuilder.prototype.asHead = function asHead() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'HEAD';\n    });\n  };\n\n  RequestBuilder.prototype.asOptions = function asOptions() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'OPTIONS';\n    });\n  };\n\n  RequestBuilder.prototype.asPatch = function asPatch() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'PATCH';\n    });\n  };\n\n  RequestBuilder.prototype.asPost = function asPost() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'POST';\n    });\n  };\n\n  RequestBuilder.prototype.asPut = function asPut() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'PUT';\n    });\n  };\n\n  RequestBuilder.prototype.asJsonp = function asJsonp(callbackParameterName) {\n    this.useJsonp = true;\n    return this._addTransformer(function (client, processor, message) {\n      message.callbackParameterName = callbackParameterName;\n    });\n  };\n\n  RequestBuilder.prototype.withUrl = function withUrl(url) {\n    return this._addTransformer(function (client, processor, message) {\n      message.url = url;\n    });\n  };\n\n  RequestBuilder.prototype.withContent = function withContent(content) {\n    return this._addTransformer(function (client, processor, message) {\n      message.content = content;\n    });\n  };\n\n  RequestBuilder.prototype.withBaseUrl = function withBaseUrl(baseUrl) {\n    return this._addTransformer(function (client, processor, message) {\n      message.baseUrl = baseUrl;\n    });\n  };\n\n  RequestBuilder.prototype.withParams = function withParams(params, traditional) {\n    return this._addTransformer(function (client, processor, message) {\n      message.traditional = traditional;\n      message.params = params;\n    });\n  };\n\n  RequestBuilder.prototype.withResponseType = function withResponseType(responseType) {\n    return this._addTransformer(function (client, processor, message) {\n      message.responseType = responseType;\n    });\n  };\n\n  RequestBuilder.prototype.withTimeout = function withTimeout(timeout) {\n    return this._addTransformer(function (client, processor, message) {\n      message.timeout = timeout;\n    });\n  };\n\n  RequestBuilder.prototype.withHeader = function withHeader(key, value) {\n    return this._addTransformer(function (client, processor, message) {\n      message.headers.add(key, value);\n    });\n  };\n\n  RequestBuilder.prototype.withCredentials = function withCredentials(value) {\n    return this._addTransformer(function (client, processor, message) {\n      message.withCredentials = value;\n    });\n  };\n\n  RequestBuilder.prototype.withLogin = function withLogin(user, password) {\n    return this._addTransformer(function (client, processor, message) {\n      message.user = user;message.password = password;\n    });\n  };\n\n  RequestBuilder.prototype.withReviver = function withReviver(reviver) {\n    return this._addTransformer(function (client, processor, message) {\n      message.reviver = reviver;\n    });\n  };\n\n  RequestBuilder.prototype.withReplacer = function withReplacer(replacer) {\n    return this._addTransformer(function (client, processor, message) {\n      message.replacer = replacer;\n    });\n  };\n\n  RequestBuilder.prototype.withProgressCallback = function withProgressCallback(progressCallback) {\n    return this._addTransformer(function (client, processor, message) {\n      message.progressCallback = progressCallback;\n    });\n  };\n\n  RequestBuilder.prototype.withDownloadProgressCallback = function withDownloadProgressCallback(downloadProgressCallback) {\n    return this._addTransformer(function (client, processor, message) {\n      message.downloadProgressCallback = downloadProgressCallback;\n    });\n  };\n\n  RequestBuilder.prototype.withCallbackParameterName = function withCallbackParameterName(callbackParameterName) {\n    return this._addTransformer(function (client, processor, message) {\n      message.callbackParameterName = callbackParameterName;\n    });\n  };\n\n  RequestBuilder.prototype.withInterceptor = function withInterceptor(interceptor) {\n    return this._addTransformer(function (client, processor, message) {\n      message.interceptors = message.interceptors || [];\n      message.interceptors.unshift(interceptor);\n    });\n  };\n\n  RequestBuilder.prototype.skipContentProcessing = function skipContentProcessing() {\n    return this._addTransformer(function (client, processor, message) {\n      message.skipContentProcessing = true;\n    });\n  };\n\n  RequestBuilder.prototype._addTransformer = function _addTransformer(fn) {\n    this.transformers.push(fn);\n    return this;\n  };\n\n  RequestBuilder.addHelper = function addHelper(name, fn) {\n    RequestBuilder.prototype[name] = function () {\n      return this._addTransformer(fn.apply(this, arguments));\n    };\n  };\n\n  RequestBuilder.prototype.send = function send() {\n    var message = this.useJsonp ? new JSONPRequestMessage() : new HttpRequestMessage();\n    return this.client.send(message, this.transformers);\n  };\n\n  return RequestBuilder;\n}();\n\nfunction trackRequestStart(client, processor) {\n  client.pendingRequests.push(processor);\n  client.isRequesting = true;\n}\n\nfunction trackRequestEnd(client, processor) {\n  var index = client.pendingRequests.indexOf(processor);\n\n  client.pendingRequests.splice(index, 1);\n  client.isRequesting = client.pendingRequests.length > 0;\n\n  if (!client.isRequesting) {\n    var evt = DOM.createCustomEvent('aurelia-http-client-requests-drained', { bubbles: true, cancelable: true });\n    setTimeout(function () {\n      return DOM.dispatchEvent(evt);\n    }, 1);\n  }\n}\n\nexport var HttpClient = function () {\n  function HttpClient() {\n    \n\n    this.isRequesting = false;\n\n    this.rejectPromiseWithErrorObject = false;\n    this.requestTransformers = [];\n    this.requestProcessorFactories = new Map();\n    this.requestProcessorFactories.set(HttpRequestMessage, createHttpRequestMessageProcessor);\n    this.requestProcessorFactories.set(JSONPRequestMessage, createJSONPRequestMessageProcessor);\n    this.pendingRequests = [];\n  }\n\n  HttpClient.prototype.configure = function configure(fn) {\n    var builder = new RequestBuilder(this);\n    fn(builder);\n    this.requestTransformers = builder.transformers;\n    return this;\n  };\n\n  HttpClient.prototype.createRequest = function createRequest(url) {\n    var builder = new RequestBuilder(this);\n\n    if (url) {\n      builder.withUrl(url);\n    }\n\n    return builder;\n  };\n\n  HttpClient.prototype.send = function send(requestMessage, transformers) {\n    var _this6 = this;\n\n    var createProcessor = this.requestProcessorFactories.get(requestMessage.constructor);\n    var processor = void 0;\n    var promise = void 0;\n    var i = void 0;\n    var ii = void 0;\n\n    if (!createProcessor) {\n      throw new Error('No request message processor factory for ' + requestMessage.constructor + '.');\n    }\n\n    processor = createProcessor();\n    trackRequestStart(this, processor);\n\n    transformers = transformers || this.requestTransformers;\n\n    promise = Promise.resolve(requestMessage).then(function (message) {\n      for (i = 0, ii = transformers.length; i < ii; ++i) {\n        transformers[i](_this6, processor, message);\n      }\n\n      return processor.process(_this6, message).then(function (response) {\n        trackRequestEnd(_this6, processor);\n        return response;\n      }).catch(function (response) {\n        trackRequestEnd(_this6, processor);\n        throw response;\n      });\n    });\n\n    promise.abort = promise.cancel = function () {\n      processor.abort();\n    };\n\n    return promise;\n  };\n\n  HttpClient.prototype.delete = function _delete(url) {\n    return this.createRequest(url).asDelete().send();\n  };\n\n  HttpClient.prototype.get = function get(url, params, traditional) {\n    var req = this.createRequest(url).asGet();\n\n    if (params) {\n      return req.withParams(params, traditional).send();\n    }\n\n    return req.send();\n  };\n\n  HttpClient.prototype.head = function head(url) {\n    return this.createRequest(url).asHead().send();\n  };\n\n  HttpClient.prototype.jsonp = function jsonp(url) {\n    var callbackParameterName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'jsoncallback';\n\n    return this.createRequest(url).asJsonp(callbackParameterName).send();\n  };\n\n  HttpClient.prototype.options = function options(url) {\n    return this.createRequest(url).asOptions().send();\n  };\n\n  HttpClient.prototype.put = function put(url, content) {\n    return this.createRequest(url).asPut().withContent(content).send();\n  };\n\n  HttpClient.prototype.patch = function patch(url, content) {\n    return this.createRequest(url).asPatch().withContent(content).send();\n  };\n\n  HttpClient.prototype.post = function post(url, content) {\n    return this.createRequest(url).asPost().withContent(content).send();\n  };\n\n  return HttpClient;\n}();","import { Loader } from 'aurelia-loader';\nimport { Origin } from 'aurelia-metadata';\nimport { PLATFORM, DOM } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\n\n/**\r\n* An implementation of the TemplateLoader interface implemented with text-based loading.\r\n*/\r\nvar TextTemplateLoader = /** @class */ (function () {\r\n    function TextTemplateLoader() {\r\n    }\r\n    /**\r\n    * Loads a template.\r\n    * @param loader The loader that is requesting the template load.\r\n    * @param entry The TemplateRegistryEntry to load and populate with a template.\r\n    * @return A promise which resolves when the TemplateRegistryEntry is loaded with a template.\r\n    */\r\n    TextTemplateLoader.prototype.loadTemplate = function (loader, entry) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var text;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0: return [4 /*yield*/, loader.loadText(entry.address)];\r\n                    case 1:\r\n                        text = _a.sent();\r\n                        entry.template = DOM.createTemplateFromMarkup(text);\r\n                        return [2 /*return*/];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    return TextTemplateLoader;\r\n}());\r\nfunction ensureOriginOnExports(moduleExports, moduleId) {\r\n    var target = moduleExports;\r\n    var key;\r\n    var exportedValue;\r\n    if (target.__useDefault) {\r\n        target = target.default;\r\n    }\r\n    Origin.set(target, new Origin(moduleId, 'default'));\r\n    if (typeof target === 'object') {\r\n        for (key in target) {\r\n            exportedValue = target[key];\r\n            if (typeof exportedValue === 'function') {\r\n                Origin.set(exportedValue, new Origin(moduleId, key));\r\n            }\r\n        }\r\n    }\r\n    return moduleExports;\r\n}\r\n/**\r\n* A default implementation of the Loader abstraction which works with webpack (extended common-js style).\r\n*/\r\nvar WebpackLoader = /** @class */ (function (_super) {\r\n    __extends(WebpackLoader, _super);\r\n    function WebpackLoader() {\r\n        var _this = _super.call(this) || this;\r\n        _this.moduleRegistry = Object.create(null);\r\n        _this.loaderPlugins = Object.create(null);\r\n        _this.modulesBeingLoaded = new Map();\r\n        _this.useTemplateLoader(new TextTemplateLoader());\r\n        _this.addPlugin('template-registry-entry', {\r\n            fetch: function (moduleId) { return __awaiter(_this, void 0, void 0, function () {\r\n                var HmrContext, entry;\r\n                var _this = this;\r\n                return __generator(this, function (_a) {\r\n                    switch (_a.label) {\r\n                        case 0:\r\n                            // HMR:\r\n                            if (module.hot) {\r\n                                if (!this.hmrContext) {\r\n                                    HmrContext = require('aurelia-hot-module-reload').HmrContext;\r\n                                    this.hmrContext = new HmrContext(this);\r\n                                }\r\n                                module.hot.accept(moduleId, function () { return __awaiter(_this, void 0, void 0, function () {\r\n                                    return __generator(this, function (_a) {\r\n                                        switch (_a.label) {\r\n                                            case 0: return [4 /*yield*/, this.hmrContext.handleViewChange(moduleId)];\r\n                                            case 1:\r\n                                                _a.sent();\r\n                                                return [2 /*return*/];\r\n                                        }\r\n                                    });\r\n                                }); });\r\n                            }\r\n                            entry = this.getOrCreateTemplateRegistryEntry(moduleId);\r\n                            if (!!entry.templateIsLoaded) return [3 /*break*/, 2];\r\n                            return [4 /*yield*/, this.templateLoader.loadTemplate(this, entry)];\r\n                        case 1:\r\n                            _a.sent();\r\n                            _a.label = 2;\r\n                        case 2: return [2 /*return*/, entry];\r\n                    }\r\n                });\r\n            }); }\r\n        });\r\n        PLATFORM.eachModule = function (callback) {\r\n            var registry = __webpack_require__.c;\r\n            var cachedModuleIds = Object.getOwnPropertyNames(registry);\r\n            cachedModuleIds\r\n                // Note: we use .some here like a .forEach that can be \"break\"ed out of.\r\n                // It will stop iterating only when a truthy value is returned.\r\n                // Even though the docs say \"true\" explicitly, loader-default also goes by truthy\r\n                // and this is to keep it consistent with that.\r\n                .some(function (moduleId) {\r\n                var moduleExports = registry[moduleId].exports;\r\n                if (typeof moduleExports === 'object') {\r\n                    return callback(moduleId, moduleExports);\r\n                }\r\n                return false;\r\n            });\r\n        };\r\n        return _this;\r\n    }\r\n    WebpackLoader.prototype._import = function (address, defaultHMR) {\r\n        if (defaultHMR === void 0) { defaultHMR = true; }\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var addressParts, moduleId, loaderPlugin, plugin_1, asyncModuleId, callback;\r\n            var _this = this;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        addressParts = address.split('!');\r\n                        moduleId = addressParts.splice(addressParts.length - 1, 1)[0];\r\n                        loaderPlugin = addressParts.length === 1 ? addressParts[0] : null;\r\n                        if (!loaderPlugin) return [3 /*break*/, 2];\r\n                        plugin_1 = this.loaderPlugins[loaderPlugin];\r\n                        if (!plugin_1) {\r\n                            throw new Error(\"Plugin \" + loaderPlugin + \" is not registered in the loader.\");\r\n                        }\r\n                        if (module.hot && plugin_1.hot) {\r\n                            module.hot.accept(moduleId, function () { return plugin_1.hot(moduleId); });\r\n                        }\r\n                        return [4 /*yield*/, plugin_1.fetch(moduleId)];\r\n                    case 1: return [2 /*return*/, _a.sent()];\r\n                    case 2:\r\n                        if (__webpack_require__.m[moduleId]) {\r\n                            if (defaultHMR && module.hot && this.hmrContext) {\r\n                                module.hot.accept(moduleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                            }\r\n                            return [2 /*return*/, __webpack_require__(moduleId)];\r\n                        }\r\n                        asyncModuleId = \"async!\" + moduleId;\r\n                        if (!__webpack_require__.m[asyncModuleId]) return [3 /*break*/, 4];\r\n                        if (defaultHMR && module.hot && this.hmrContext) {\r\n                            module.hot.accept(moduleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                            module.hot.accept(asyncModuleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                        }\r\n                        callback = __webpack_require__(asyncModuleId);\r\n                        return [4 /*yield*/, new Promise(callback)];\r\n                    case 3: return [2 /*return*/, _a.sent()];\r\n                    case 4: throw new Error(\"Unable to find module with ID: \" + moduleId);\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Maps a module id to a source.\r\n    * @param id The module id.\r\n    * @param source The source to map the module to.\r\n    */\r\n    WebpackLoader.prototype.map = function (id, source) { };\r\n    /**\r\n    * Normalizes a module id.\r\n    * @param moduleId The module id to normalize.\r\n    * @param relativeTo What the module id should be normalized relative to.\r\n    * @return The normalized module id.\r\n    */\r\n    WebpackLoader.prototype.normalizeSync = function (moduleId, relativeTo) {\r\n        return moduleId;\r\n    };\r\n    /**\r\n    * Normalizes a module id.\r\n    * @param moduleId The module id to normalize.\r\n    * @param relativeTo What the module id should be normalized relative to.\r\n    * @return The normalized module id.\r\n    */\r\n    WebpackLoader.prototype.normalize = function (moduleId, relativeTo) {\r\n        return Promise.resolve(moduleId);\r\n    };\r\n    /**\r\n    * Instructs the loader to use a specific TemplateLoader instance for loading templates\r\n    * @param templateLoader The instance of TemplateLoader to use for loading templates.\r\n    */\r\n    WebpackLoader.prototype.useTemplateLoader = function (templateLoader) {\r\n        this.templateLoader = templateLoader;\r\n    };\r\n    /**\r\n    * Loads a collection of modules.\r\n    * @param ids The set of module ids to load.\r\n    * @return A Promise for an array of loaded modules.\r\n    */\r\n    WebpackLoader.prototype.loadAllModules = function (ids) {\r\n        var _this = this;\r\n        return Promise.all(ids.map(function (id) { return _this.loadModule(id); }));\r\n    };\r\n    /**\r\n    * Loads a module.\r\n    * @param moduleId The module ID to load.\r\n    * @return A Promise for the loaded module.\r\n    */\r\n    WebpackLoader.prototype.loadModule = function (moduleId, defaultHMR) {\r\n        if (defaultHMR === void 0) { defaultHMR = true; }\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var existing, beingLoaded, moduleExports;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        existing = this.moduleRegistry[moduleId];\r\n                        if (existing) {\r\n                            return [2 /*return*/, existing];\r\n                        }\r\n                        beingLoaded = this.modulesBeingLoaded.get(moduleId);\r\n                        if (beingLoaded) {\r\n                            return [2 /*return*/, beingLoaded];\r\n                        }\r\n                        beingLoaded = this._import(moduleId, defaultHMR);\r\n                        this.modulesBeingLoaded.set(moduleId, beingLoaded);\r\n                        return [4 /*yield*/, beingLoaded];\r\n                    case 1:\r\n                        moduleExports = _a.sent();\r\n                        this.moduleRegistry[moduleId] = ensureOriginOnExports(moduleExports, moduleId);\r\n                        this.modulesBeingLoaded.delete(moduleId);\r\n                        return [2 /*return*/, moduleExports];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Loads a template.\r\n    * @param url The url of the template to load.\r\n    * @return A Promise for a TemplateRegistryEntry containing the template.\r\n    */\r\n    WebpackLoader.prototype.loadTemplate = function (url) {\r\n        return this.loadModule(this.applyPluginToUrl(url, 'template-registry-entry'), false);\r\n    };\r\n    /**\r\n    * Loads a text-based resource.\r\n    * @param url The url of the text file to load.\r\n    * @return A Promise for text content.\r\n    */\r\n    WebpackLoader.prototype.loadText = function (url) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var result, defaultExport;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0: return [4 /*yield*/, this.loadModule(url, false)];\r\n                    case 1:\r\n                        result = _a.sent();\r\n                        defaultExport = result && result.__esModule ? result.default : result;\r\n                        if (defaultExport instanceof Array && defaultExport[0] instanceof Array && defaultExport.hasOwnProperty('toString')) {\r\n                            // we're dealing with a file loaded using the css-loader:\r\n                            return [2 /*return*/, defaultExport.toString()];\r\n                        }\r\n                        return [2 /*return*/, typeof result === \"string\" ? result : defaultExport];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Alters a module id so that it includes a plugin loader.\r\n    * @param url The url of the module to load.\r\n    * @param pluginName The plugin to apply to the module id.\r\n    * @return The plugin-based module id.\r\n    */\r\n    WebpackLoader.prototype.applyPluginToUrl = function (url, pluginName) {\r\n        return pluginName + \"!\" + url;\r\n    };\r\n    /**\r\n    * Registers a plugin with the loader.\r\n    * @param pluginName The name of the plugin.\r\n    * @param implementation The plugin implementation.\r\n    */\r\n    WebpackLoader.prototype.addPlugin = function (pluginName, implementation) {\r\n        this.loaderPlugins[pluginName] = implementation;\r\n    };\r\n    return WebpackLoader;\r\n}(Loader));\r\nPLATFORM.Loader = WebpackLoader;\n\nexport { TextTemplateLoader, WebpackLoader, ensureOriginOnExports };\n","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n\n\nimport { relativeToFile } from 'aurelia-path';\nimport { Origin } from 'aurelia-metadata';\n\nexport var TemplateDependency = function TemplateDependency(src, name) {\n  \n\n  this.src = src;\n  this.name = name;\n};\n\nexport var TemplateRegistryEntry = function () {\n  function TemplateRegistryEntry(address) {\n    \n\n    this.templateIsLoaded = false;\n    this.factoryIsReady = false;\n    this.resources = null;\n    this.dependencies = null;\n\n    this.address = address;\n    this.onReady = null;\n    this._template = null;\n    this._factory = null;\n  }\n\n  TemplateRegistryEntry.prototype.addDependency = function addDependency(src, name) {\n    var finalSrc = typeof src === 'string' ? relativeToFile(src, this.address) : Origin.get(src).moduleId;\n\n    this.dependencies.push(new TemplateDependency(finalSrc, name));\n  };\n\n  _createClass(TemplateRegistryEntry, [{\n    key: 'template',\n    get: function get() {\n      return this._template;\n    },\n    set: function set(value) {\n      var address = this.address;\n      var requires = void 0;\n      var current = void 0;\n      var src = void 0;\n      var dependencies = void 0;\n\n      this._template = value;\n      this.templateIsLoaded = true;\n\n      requires = value.content.querySelectorAll('require');\n      dependencies = this.dependencies = new Array(requires.length);\n\n      for (var i = 0, ii = requires.length; i < ii; ++i) {\n        current = requires[i];\n        src = current.getAttribute('from');\n\n        if (!src) {\n          throw new Error('<require> element in ' + address + ' has no \"from\" attribute.');\n        }\n\n        dependencies[i] = new TemplateDependency(relativeToFile(src, address), current.getAttribute('as'));\n\n        if (current.parentNode) {\n          current.parentNode.removeChild(current);\n        }\n      }\n    }\n  }, {\n    key: 'factory',\n    get: function get() {\n      return this._factory;\n    },\n    set: function set(value) {\n      this._factory = value;\n      this.factoryIsReady = true;\n    }\n  }]);\n\n  return TemplateRegistryEntry;\n}();\n\nexport var Loader = function () {\n  function Loader() {\n    \n\n    this.templateRegistry = {};\n  }\n\n  Loader.prototype.map = function map(id, source) {\n    throw new Error('Loaders must implement map(id, source).');\n  };\n\n  Loader.prototype.normalizeSync = function normalizeSync(moduleId, relativeTo) {\n    throw new Error('Loaders must implement normalizeSync(moduleId, relativeTo).');\n  };\n\n  Loader.prototype.normalize = function normalize(moduleId, relativeTo) {\n    throw new Error('Loaders must implement normalize(moduleId: string, relativeTo: string): Promise<string>.');\n  };\n\n  Loader.prototype.loadModule = function loadModule(id) {\n    throw new Error('Loaders must implement loadModule(id).');\n  };\n\n  Loader.prototype.loadAllModules = function loadAllModules(ids) {\n    throw new Error('Loader must implement loadAllModules(ids).');\n  };\n\n  Loader.prototype.loadTemplate = function loadTemplate(url) {\n    throw new Error('Loader must implement loadTemplate(url).');\n  };\n\n  Loader.prototype.loadText = function loadText(url) {\n    throw new Error('Loader must implement loadText(url).');\n  };\n\n  Loader.prototype.applyPluginToUrl = function applyPluginToUrl(url, pluginName) {\n    throw new Error('Loader must implement applyPluginToUrl(url, pluginName).');\n  };\n\n  Loader.prototype.addPlugin = function addPlugin(pluginName, implementation) {\n    throw new Error('Loader must implement addPlugin(pluginName, implementation).');\n  };\n\n  Loader.prototype.getOrCreateTemplateRegistryEntry = function getOrCreateTemplateRegistryEntry(address) {\n    return this.templateRegistry[address] || (this.templateRegistry[address] = new TemplateRegistryEntry(address));\n  };\n\n  return Loader;\n}();","\n\nexport var ConsoleAppender = function () {\n  function ConsoleAppender() {\n    \n  }\n\n  ConsoleAppender.prototype.debug = function debug(logger) {\n    var _console;\n\n    for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      rest[_key - 1] = arguments[_key];\n    }\n\n    (_console = console).debug.apply(_console, [\"DEBUG [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.info = function info(logger) {\n    var _console2;\n\n    for (var _len2 = arguments.length, rest = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n      rest[_key2 - 1] = arguments[_key2];\n    }\n\n    (_console2 = console).info.apply(_console2, [\"INFO [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.warn = function warn(logger) {\n    var _console3;\n\n    for (var _len3 = arguments.length, rest = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n      rest[_key3 - 1] = arguments[_key3];\n    }\n\n    (_console3 = console).warn.apply(_console3, [\"WARN [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.error = function error(logger) {\n    var _console4;\n\n    for (var _len4 = arguments.length, rest = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n      rest[_key4 - 1] = arguments[_key4];\n    }\n\n    (_console4 = console).error.apply(_console4, [\"ERROR [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  return ConsoleAppender;\n}();","\n\nexport var logLevel = {\n  none: 0,\n  error: 10,\n  warn: 20,\n  info: 30,\n  debug: 40\n};\n\nvar loggers = {};\nvar appenders = [];\nvar globalDefaultLevel = logLevel.none;\n\nvar standardLevels = ['none', 'error', 'warn', 'info', 'debug'];\nfunction isStandardLevel(level) {\n  return standardLevels.filter(function (l) {\n    return l === level;\n  }).length > 0;\n}\n\nfunction appendArgs() {\n  return [this].concat(Array.prototype.slice.call(arguments));\n}\n\nfunction logFactory(level) {\n  var threshold = logLevel[level];\n  return function () {\n    if (this.level < threshold) {\n      return;\n    }\n\n    var args = appendArgs.apply(this, arguments);\n    var i = appenders.length;\n    while (i--) {\n      var _appenders$i;\n\n      (_appenders$i = appenders[i])[level].apply(_appenders$i, args);\n    }\n  };\n}\n\nfunction logFactoryCustom(level) {\n  var threshold = logLevel[level];\n  return function () {\n    if (this.level < threshold) {\n      return;\n    }\n\n    var args = appendArgs.apply(this, arguments);\n    var i = appenders.length;\n    while (i--) {\n      var appender = appenders[i];\n      if (appender[level] !== undefined) {\n        appender[level].apply(appender, args);\n      }\n    }\n  };\n}\n\nfunction connectLoggers() {\n  var proto = Logger.prototype;\n  for (var _level in logLevel) {\n    if (isStandardLevel(_level)) {\n      if (_level !== 'none') {\n        proto[_level] = logFactory(_level);\n      }\n    } else {\n      proto[_level] = logFactoryCustom(_level);\n    }\n  }\n}\n\nfunction disconnectLoggers() {\n  var proto = Logger.prototype;\n  for (var _level2 in logLevel) {\n    if (_level2 !== 'none') {\n      proto[_level2] = function () {};\n    }\n  }\n}\n\nexport function getLogger(id) {\n  return loggers[id] || new Logger(id);\n}\n\nexport function addAppender(appender) {\n  if (appenders.push(appender) === 1) {\n    connectLoggers();\n  }\n}\n\nexport function removeAppender(appender) {\n  appenders = appenders.filter(function (a) {\n    return a !== appender;\n  });\n}\n\nexport function getAppenders() {\n  return [].concat(appenders);\n}\n\nexport function clearAppenders() {\n  appenders = [];\n  disconnectLoggers();\n}\n\nexport function addCustomLevel(name, value) {\n  if (logLevel[name] !== undefined) {\n    throw Error('Log level \"' + name + '\" already exists.');\n  }\n\n  if (isNaN(value)) {\n    throw Error('Value must be a number.');\n  }\n\n  logLevel[name] = value;\n\n  if (appenders.length > 0) {\n    connectLoggers();\n  } else {\n    Logger.prototype[name] = function () {};\n  }\n}\n\nexport function removeCustomLevel(name) {\n  if (logLevel[name] === undefined) {\n    return;\n  }\n\n  if (isStandardLevel(name)) {\n    throw Error('Built-in log level \"' + name + '\" cannot be removed.');\n  }\n\n  delete logLevel[name];\n  delete Logger.prototype[name];\n}\n\nexport function setLevel(level) {\n  globalDefaultLevel = level;\n  for (var key in loggers) {\n    loggers[key].setLevel(level);\n  }\n}\n\nexport function getLevel() {\n  return globalDefaultLevel;\n}\n\nexport var Logger = function () {\n  function Logger(id) {\n    \n\n    var cached = loggers[id];\n    if (cached) {\n      return cached;\n    }\n\n    loggers[id] = this;\n    this.id = id;\n    this.level = globalDefaultLevel;\n  }\n\n  Logger.prototype.debug = function debug(message) {};\n\n  Logger.prototype.info = function info(message) {};\n\n  Logger.prototype.warn = function warn(message) {};\n\n  Logger.prototype.error = function error(message) {};\n\n  Logger.prototype.setLevel = function setLevel(level) {\n    this.level = level;\n  };\n\n  Logger.prototype.isDebugEnabled = function isDebugEnabled() {\n    return this.level === logLevel.debug;\n  };\n\n  return Logger;\n}();","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nimport { PLATFORM } from 'aurelia-pal';\n\nfunction isObject(val) {\n  return val && (typeof val === 'function' || (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object');\n}\n\nexport var metadata = {\n  resource: 'aurelia:resource',\n  paramTypes: 'design:paramtypes',\n  propertyType: 'design:type',\n  properties: 'design:properties',\n  get: function get(metadataKey, target, targetKey) {\n    if (!isObject(target)) {\n      return undefined;\n    }\n    var result = metadata.getOwn(metadataKey, target, targetKey);\n    return result === undefined ? metadata.get(metadataKey, Object.getPrototypeOf(target), targetKey) : result;\n  },\n  getOwn: function getOwn(metadataKey, target, targetKey) {\n    if (!isObject(target)) {\n      return undefined;\n    }\n    return Reflect.getOwnMetadata(metadataKey, target, targetKey);\n  },\n  define: function define(metadataKey, metadataValue, target, targetKey) {\n    Reflect.defineMetadata(metadataKey, metadataValue, target, targetKey);\n  },\n  getOrCreateOwn: function getOrCreateOwn(metadataKey, Type, target, targetKey) {\n    var result = metadata.getOwn(metadataKey, target, targetKey);\n\n    if (result === undefined) {\n      result = new Type();\n      Reflect.defineMetadata(metadataKey, result, target, targetKey);\n    }\n\n    return result;\n  }\n};\n\nvar originStorage = new Map();\nvar unknownOrigin = Object.freeze({ moduleId: undefined, moduleMember: undefined });\n\nexport var Origin = function () {\n  function Origin(moduleId, moduleMember) {\n    \n\n    this.moduleId = moduleId;\n    this.moduleMember = moduleMember;\n  }\n\n  Origin.get = function get(fn) {\n    var origin = originStorage.get(fn);\n\n    if (origin === undefined) {\n      PLATFORM.eachModule(function (key, value) {\n        if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n          for (var name in value) {\n            try {\n              var exp = value[name];\n              if (exp === fn) {\n                originStorage.set(fn, origin = new Origin(key, name));\n                return true;\n              }\n            } catch (e) {}\n          }\n        }\n\n        if (value === fn) {\n          originStorage.set(fn, origin = new Origin(key, 'default'));\n          return true;\n        }\n\n        return false;\n      });\n    }\n\n    return origin || unknownOrigin;\n  };\n\n  Origin.set = function set(fn, origin) {\n    originStorage.set(fn, origin);\n  };\n\n  return Origin;\n}();\n\nexport function decorators() {\n  for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {\n    rest[_key] = arguments[_key];\n  }\n\n  var applicator = function applicator(target, key, descriptor) {\n    var i = rest.length;\n\n    if (key) {\n      descriptor = descriptor || {\n        value: target[key],\n        writable: true,\n        configurable: true,\n        enumerable: true\n      };\n\n      while (i--) {\n        descriptor = rest[i](target, key, descriptor) || descriptor;\n      }\n\n      Object.defineProperty(target, key, descriptor);\n    } else {\n      while (i--) {\n        target = rest[i](target) || target;\n      }\n    }\n\n    return target;\n  };\n\n  applicator.on = applicator;\n  return applicator;\n}\n\nexport function deprecated(optionsOrTarget, maybeKey, maybeDescriptor) {\n  function decorator(target, key, descriptor) {\n    var methodSignature = target.constructor.name + '#' + key;\n    var options = maybeKey ? {} : optionsOrTarget || {};\n    var message = 'DEPRECATION - ' + methodSignature;\n\n    if (typeof descriptor.value !== 'function') {\n      throw new SyntaxError('Only methods can be marked as deprecated.');\n    }\n\n    if (options.message) {\n      message += ' - ' + options.message;\n    }\n\n    return _extends({}, descriptor, {\n      value: function deprecationWrapper() {\n        if (options.error) {\n          throw new Error(message);\n        } else {\n          console.warn(message);\n        }\n\n        return descriptor.value.apply(this, arguments);\n      }\n    });\n  }\n\n  return maybeKey ? decorator(optionsOrTarget, maybeKey, maybeDescriptor) : decorator;\n}\n\nexport function mixin(behavior) {\n  var instanceKeys = Object.keys(behavior);\n\n  function _mixin(possible) {\n    var decorator = function decorator(target) {\n      var resolvedTarget = typeof target === 'function' ? target.prototype : target;\n\n      var i = instanceKeys.length;\n      while (i--) {\n        var property = instanceKeys[i];\n        Object.defineProperty(resolvedTarget, property, {\n          value: behavior[property],\n          writable: true\n        });\n      }\n    };\n\n    return possible ? decorator(possible) : decorator;\n  }\n\n  return _mixin;\n}\n\nfunction alwaysValid() {\n  return true;\n}\nfunction noCompose() {}\n\nfunction ensureProtocolOptions(options) {\n  if (options === undefined) {\n    options = {};\n  } else if (typeof options === 'function') {\n    options = {\n      validate: options\n    };\n  }\n\n  if (!options.validate) {\n    options.validate = alwaysValid;\n  }\n\n  if (!options.compose) {\n    options.compose = noCompose;\n  }\n\n  return options;\n}\n\nfunction createProtocolValidator(validate) {\n  return function (target) {\n    var result = validate(target);\n    return result === true;\n  };\n}\n\nfunction createProtocolAsserter(name, validate) {\n  return function (target) {\n    var result = validate(target);\n    if (result !== true) {\n      throw new Error(result || name + ' was not correctly implemented.');\n    }\n  };\n}\n\nexport function protocol(name, options) {\n  options = ensureProtocolOptions(options);\n\n  var result = function result(target) {\n    var resolvedTarget = typeof target === 'function' ? target.prototype : target;\n\n    options.compose(resolvedTarget);\n    result.assert(resolvedTarget);\n\n    Object.defineProperty(resolvedTarget, 'protocol:' + name, {\n      enumerable: false,\n      configurable: false,\n      writable: false,\n      value: true\n    });\n  };\n\n  result.validate = createProtocolValidator(options.validate);\n  result.assert = createProtocolAsserter(name, options.validate);\n\n  return result;\n}\n\nprotocol.create = function (name, options) {\n  options = ensureProtocolOptions(options);\n  var hidden = 'protocol:' + name;\n  var result = function result(target) {\n    var decorator = protocol(name, options);\n    return target ? decorator(target) : decorator;\n  };\n\n  result.decorates = function (obj) {\n    return obj[hidden] === true;\n  };\n  result.validate = createProtocolValidator(options.validate);\n  result.assert = createProtocolAsserter(name, options.validate);\n\n  return result;\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { initializePAL, isInitialized } from 'aurelia-pal';\n\nexport var _PLATFORM = {\n  location: window.location,\n  history: window.history,\n  addEventListener: function addEventListener(eventName, callback, capture) {\n    this.global.addEventListener(eventName, callback, capture);\n  },\n  removeEventListener: function removeEventListener(eventName, callback, capture) {\n    this.global.removeEventListener(eventName, callback, capture);\n  },\n\n  performance: window.performance,\n  requestAnimationFrame: function requestAnimationFrame(callback) {\n    return this.global.requestAnimationFrame(callback);\n  }\n};\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var test = function test() {};\n\n  if (test.name === undefined) {\n    Object.defineProperty(Function.prototype, 'name', {\n      get: function get() {\n        var name = this.toString().match(/^\\s*function\\s*(\\S*)\\s*\\(/)[1];\n\n        Object.defineProperty(this, 'name', { value: name });\n        return name;\n      }\n    });\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  if (!('classList' in document.createElement('_')) || document.createElementNS && !('classList' in document.createElementNS('http://www.w3.org/2000/svg', 'g'))) {\n    var protoProp = 'prototype';\n    var strTrim = String.prototype.trim;\n    var arrIndexOf = Array.prototype.indexOf;\n    var emptyArray = [];\n\n    var DOMEx = function DOMEx(type, message) {\n      this.name = type;\n      this.code = DOMException[type];\n      this.message = message;\n    };\n\n    var checkTokenAndGetIndex = function checkTokenAndGetIndex(classList, token) {\n      if (token === '') {\n        throw new DOMEx('SYNTAX_ERR', 'An invalid or illegal string was specified');\n      }\n\n      if (/\\s/.test(token)) {\n        throw new DOMEx('INVALID_CHARACTER_ERR', 'String contains an invalid character');\n      }\n\n      return arrIndexOf.call(classList, token);\n    };\n\n    var ClassList = function ClassList(elem) {\n      var trimmedClasses = strTrim.call(elem.getAttribute('class') || '');\n      var classes = trimmedClasses ? trimmedClasses.split(/\\s+/) : emptyArray;\n\n      for (var i = 0, ii = classes.length; i < ii; ++i) {\n        this.push(classes[i]);\n      }\n\n      this._updateClassName = function () {\n        elem.setAttribute('class', this.toString());\n      };\n    };\n\n    var classListProto = ClassList[protoProp] = [];\n\n    DOMEx[protoProp] = Error[protoProp];\n\n    classListProto.item = function (i) {\n      return this[i] || null;\n    };\n\n    classListProto.contains = function (token) {\n      token += '';\n      return checkTokenAndGetIndex(this, token) !== -1;\n    };\n\n    classListProto.add = function () {\n      var tokens = arguments;\n      var i = 0;\n      var ii = tokens.length;\n      var token = void 0;\n      var updated = false;\n\n      do {\n        token = tokens[i] + '';\n        if (checkTokenAndGetIndex(this, token) === -1) {\n          this.push(token);\n          updated = true;\n        }\n      } while (++i < ii);\n\n      if (updated) {\n        this._updateClassName();\n      }\n    };\n\n    classListProto.remove = function () {\n      var tokens = arguments;\n      var i = 0;\n      var ii = tokens.length;\n      var token = void 0;\n      var updated = false;\n      var index = void 0;\n\n      do {\n        token = tokens[i] + '';\n        index = checkTokenAndGetIndex(this, token);\n        while (index !== -1) {\n          this.splice(index, 1);\n          updated = true;\n          index = checkTokenAndGetIndex(this, token);\n        }\n      } while (++i < ii);\n\n      if (updated) {\n        this._updateClassName();\n      }\n    };\n\n    classListProto.toggle = function (token, force) {\n      token += '';\n\n      var result = this.contains(token);\n      var method = result ? force !== true && 'remove' : force !== false && 'add';\n\n      if (method) {\n        this[method](token);\n      }\n\n      if (force === true || force === false) {\n        return force;\n      }\n\n      return !result;\n    };\n\n    classListProto.toString = function () {\n      return this.join(' ');\n    };\n\n    Object.defineProperty(Element.prototype, 'classList', {\n      get: function get() {\n        return new ClassList(this);\n      },\n      enumerable: true,\n      configurable: true\n    });\n  } else {\n    var testElement = document.createElement('_');\n    testElement.classList.add('c1', 'c2');\n\n    if (!testElement.classList.contains('c2')) {\n      var createMethod = function createMethod(method) {\n        var original = DOMTokenList.prototype[method];\n\n        DOMTokenList.prototype[method] = function (token) {\n          for (var i = 0, ii = arguments.length; i < ii; ++i) {\n            token = arguments[i];\n            original.call(this, token);\n          }\n        };\n      };\n\n      createMethod('add');\n      createMethod('remove');\n    }\n\n    testElement.classList.toggle('c3', false);\n\n    if (testElement.classList.contains('c3')) {\n      var _toggle = DOMTokenList.prototype.toggle;\n\n      DOMTokenList.prototype.toggle = function (token, force) {\n        if (1 in arguments && !this.contains(token) === !force) {\n          return force;\n        }\n\n        return _toggle.call(this, token);\n      };\n    }\n\n    testElement = null;\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var _filterEntries = function _filterEntries(key, value) {\n    var i = 0,\n        n = _entries.length,\n        result = [];\n    for (; i < n; i++) {\n      if (_entries[i][key] == value) {\n        result.push(_entries[i]);\n      }\n    }\n    return result;\n  };\n\n  var _clearEntries = function _clearEntries(type, name) {\n    var i = _entries.length,\n        entry;\n    while (i--) {\n      entry = _entries[i];\n      if (entry.entryType == type && (name === void 0 || entry.name == name)) {\n        _entries.splice(i, 1);\n      }\n    }\n  };\n\n  // @license http://opensource.org/licenses/MIT\n  if ('performance' in window === false) {\n    window.performance = {};\n  }\n\n  if ('now' in window.performance === false) {\n    var nowOffset = Date.now();\n\n    if (performance.timing && performance.timing.navigationStart) {\n      nowOffset = performance.timing.navigationStart;\n    }\n\n    window.performance.now = function now() {\n      return Date.now() - nowOffset;\n    };\n  }\n\n  var startOffset = Date.now ? Date.now() : +new Date();\n  var _entries = [];\n  var _marksIndex = {};\n\n  ;\n\n  if (!window.performance.mark) {\n    window.performance.mark = window.performance.webkitMark || function (name) {\n      var mark = {\n        name: name,\n        entryType: \"mark\",\n        startTime: window.performance.now(),\n        duration: 0\n      };\n\n      _entries.push(mark);\n      _marksIndex[name] = mark;\n    };\n  }\n\n  if (!window.performance.measure) {\n    window.performance.measure = window.performance.webkitMeasure || function (name, startMark, endMark) {\n      startMark = _marksIndex[startMark].startTime;\n      endMark = _marksIndex[endMark].startTime;\n\n      _entries.push({\n        name: name,\n        entryType: \"measure\",\n        startTime: startMark,\n        duration: endMark - startMark\n      });\n    };\n  }\n\n  if (!window.performance.getEntriesByType) {\n    window.performance.getEntriesByType = window.performance.webkitGetEntriesByType || function (type) {\n      return _filterEntries(\"entryType\", type);\n    };\n  }\n\n  if (!window.performance.getEntriesByName) {\n    window.performance.getEntriesByName = window.performance.webkitGetEntriesByName || function (name) {\n      return _filterEntries(\"name\", name);\n    };\n  }\n\n  if (!window.performance.clearMarks) {\n    window.performance.clearMarks = window.performance.webkitClearMarks || function (name) {\n      _clearEntries(\"mark\", name);\n    };\n  }\n\n  if (!window.performance.clearMeasures) {\n    window.performance.clearMeasures = window.performance.webkitClearMeasures || function (name) {\n      _clearEntries(\"measure\", name);\n    };\n  }\n\n  _PLATFORM.performance = window.performance;\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var con = window.console = window.console || {};\n  var nop = function nop() {};\n\n  if (!con.memory) con.memory = {};\n  ('assert,clear,count,debug,dir,dirxml,error,exception,group,' + 'groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,' + 'show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn').split(',').forEach(function (m) {\n    if (!con[m]) con[m] = nop;\n  });\n\n  if (_typeof(con.log) === 'object') {\n    'log,info,warn,error,assert,dir,clear,profile,profileEnd'.split(',').forEach(function (method) {\n      console[method] = this.bind(console[method], console);\n    }, Function.prototype.call);\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  if (!window.CustomEvent || typeof window.CustomEvent !== 'function') {\n    var _CustomEvent = function _CustomEvent(event, params) {\n      params = params || {\n        bubbles: false,\n        cancelable: false,\n        detail: undefined\n      };\n\n      var evt = document.createEvent('CustomEvent');\n      evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n      return evt;\n    };\n\n    _CustomEvent.prototype = window.Event.prototype;\n    window.CustomEvent = _CustomEvent;\n  }\n}\n\nif (Element && !Element.prototype.matches) {\n  var proto = Element.prototype;\n  proto.matches = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector;\n}\n\nexport var _FEATURE = {\n  shadowDOM: !!HTMLElement.prototype.attachShadow,\n  scopedCSS: 'scoped' in document.createElement('style'),\n  htmlTemplateElement: function () {\n    var d = document.createElement('div');\n    d.innerHTML = '<template></template>';\n    return 'content' in d.children[0];\n  }(),\n  mutationObserver: !!(window.MutationObserver || window.WebKitMutationObserver),\n  ensureHTMLTemplateElement: function ensureHTMLTemplateElement(t) {\n    return t;\n  }\n};\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var isSVGTemplate = function isSVGTemplate(el) {\n    return el.tagName === 'template' && el.namespaceURI === 'http://www.w3.org/2000/svg';\n  };\n\n  var fixSVGTemplateElement = function fixSVGTemplateElement(el) {\n    var template = el.ownerDocument.createElement('template');\n    var attrs = el.attributes;\n    var length = attrs.length;\n    var attr = void 0;\n\n    el.parentNode.insertBefore(template, el);\n\n    while (length-- > 0) {\n      attr = attrs[length];\n      template.setAttribute(attr.name, attr.value);\n      el.removeAttribute(attr.name);\n    }\n\n    el.parentNode.removeChild(el);\n\n    return fixHTMLTemplateElement(template);\n  };\n\n  var fixHTMLTemplateElement = function fixHTMLTemplateElement(template) {\n    var content = template.content = document.createDocumentFragment();\n    var child = void 0;\n\n    while (child = template.firstChild) {\n      content.appendChild(child);\n    }\n\n    return template;\n  };\n\n  var fixHTMLTemplateElementRoot = function fixHTMLTemplateElementRoot(template) {\n    var content = fixHTMLTemplateElement(template).content;\n    var childTemplates = content.querySelectorAll('template');\n\n    for (var i = 0, ii = childTemplates.length; i < ii; ++i) {\n      var child = childTemplates[i];\n\n      if (isSVGTemplate(child)) {\n        fixSVGTemplateElement(child);\n      } else {\n        fixHTMLTemplateElement(child);\n      }\n    }\n\n    return template;\n  };\n\n  if (!_FEATURE.htmlTemplateElement) {\n    _FEATURE.ensureHTMLTemplateElement = fixHTMLTemplateElementRoot;\n  }\n}\n\nvar shadowPoly = window.ShadowDOMPolyfill || null;\n\nexport var _DOM = {\n  Element: Element,\n  NodeList: NodeList,\n  SVGElement: SVGElement,\n  boundary: 'aurelia-dom-boundary',\n  addEventListener: function addEventListener(eventName, callback, capture) {\n    document.addEventListener(eventName, callback, capture);\n  },\n  removeEventListener: function removeEventListener(eventName, callback, capture) {\n    document.removeEventListener(eventName, callback, capture);\n  },\n  adoptNode: function adoptNode(node) {\n    return document.adoptNode(node);\n  },\n  createAttribute: function createAttribute(name) {\n    return document.createAttribute(name);\n  },\n  createElement: function createElement(tagName) {\n    return document.createElement(tagName);\n  },\n  createTextNode: function createTextNode(text) {\n    return document.createTextNode(text);\n  },\n  createComment: function createComment(text) {\n    return document.createComment(text);\n  },\n  createDocumentFragment: function createDocumentFragment() {\n    return document.createDocumentFragment();\n  },\n  createTemplateElement: function createTemplateElement() {\n    var template = document.createElement('template');\n    return _FEATURE.ensureHTMLTemplateElement(template);\n  },\n  createMutationObserver: function createMutationObserver(callback) {\n    return new (window.MutationObserver || window.WebKitMutationObserver)(callback);\n  },\n  createCustomEvent: function createCustomEvent(eventType, options) {\n    return new window.CustomEvent(eventType, options);\n  },\n  dispatchEvent: function dispatchEvent(evt) {\n    document.dispatchEvent(evt);\n  },\n  getComputedStyle: function getComputedStyle(element) {\n    return window.getComputedStyle(element);\n  },\n  getElementById: function getElementById(id) {\n    return document.getElementById(id);\n  },\n  querySelector: function querySelector(query) {\n    return document.querySelector(query);\n  },\n  querySelectorAll: function querySelectorAll(query) {\n    return document.querySelectorAll(query);\n  },\n  nextElementSibling: function nextElementSibling(element) {\n    if (element.nextElementSibling) {\n      return element.nextElementSibling;\n    }\n    do {\n      element = element.nextSibling;\n    } while (element && element.nodeType !== 1);\n    return element;\n  },\n  createTemplateFromMarkup: function createTemplateFromMarkup(markup) {\n    var parser = document.createElement('div');\n    parser.innerHTML = markup;\n\n    var temp = parser.firstElementChild;\n    if (!temp || temp.nodeName !== 'TEMPLATE') {\n      throw new Error('Template markup must be wrapped in a <template> element e.g. <template> <!-- markup here --> </template>');\n    }\n\n    return _FEATURE.ensureHTMLTemplateElement(temp);\n  },\n  appendNode: function appendNode(newNode, parentNode) {\n    (parentNode || document.body).appendChild(newNode);\n  },\n  replaceNode: function replaceNode(newNode, node, parentNode) {\n    if (node.parentNode) {\n      node.parentNode.replaceChild(newNode, node);\n    } else if (shadowPoly !== null) {\n      shadowPoly.unwrap(parentNode).replaceChild(shadowPoly.unwrap(newNode), shadowPoly.unwrap(node));\n    } else {\n      parentNode.replaceChild(newNode, node);\n    }\n  },\n  removeNode: function removeNode(node, parentNode) {\n    if (node.parentNode) {\n      node.parentNode.removeChild(node);\n    } else if (parentNode) {\n      if (shadowPoly !== null) {\n        shadowPoly.unwrap(parentNode).removeChild(shadowPoly.unwrap(node));\n      } else {\n        parentNode.removeChild(node);\n      }\n    }\n  },\n  injectStyles: function injectStyles(styles, destination, prepend, id) {\n    if (id) {\n      var oldStyle = document.getElementById(id);\n      if (oldStyle) {\n        var isStyleTag = oldStyle.tagName.toLowerCase() === 'style';\n\n        if (isStyleTag) {\n          oldStyle.innerHTML = styles;\n          return;\n        }\n\n        throw new Error('The provided id does not indicate a style tag.');\n      }\n    }\n\n    var node = document.createElement('style');\n    node.innerHTML = styles;\n    node.type = 'text/css';\n\n    if (id) {\n      node.id = id;\n    }\n\n    destination = destination || document.head;\n\n    if (prepend && destination.childNodes.length > 0) {\n      destination.insertBefore(node, destination.childNodes[0]);\n    } else {\n      destination.appendChild(node);\n    }\n\n    return node;\n  }\n};\n\nexport function initialize() {\n  if (isInitialized) {\n    return;\n  }\n\n  initializePAL(function (platform, feature, dom) {\n    Object.assign(platform, _PLATFORM);\n    Object.assign(feature, _FEATURE);\n    Object.assign(dom, _DOM);\n\n    Object.defineProperty(dom, 'title', {\n      get: function get() {\n        return document.title;\n      },\n      set: function set(value) {\n        document.title = value;\n      }\n    });\n\n    Object.defineProperty(dom, 'activeElement', {\n      get: function get() {\n        return document.activeElement;\n      }\n    });\n\n    Object.defineProperty(platform, 'XMLHttpRequest', {\n      get: function get() {\n        return platform.global.XMLHttpRequest;\n      }\n    });\n  });\n}","\nexport function AggregateError(message, innerError, skipIfAlreadyAggregate) {\n  if (innerError) {\n    if (innerError.innerError && skipIfAlreadyAggregate) {\n      return innerError;\n    }\n\n    var separator = '\\n------------------------------------------------\\n';\n\n    message += separator + 'Inner Error:\\n';\n\n    if (typeof innerError === 'string') {\n      message += 'Message: ' + innerError;\n    } else {\n      if (innerError.message) {\n        message += 'Message: ' + innerError.message;\n      } else {\n        message += 'Unknown Inner Error Type. Displaying Inner Error as JSON:\\n ' + JSON.stringify(innerError, null, '  ');\n      }\n\n      if (innerError.stack) {\n        message += '\\nInner Error Stack:\\n' + innerError.stack;\n        message += '\\nEnd Inner Error Stack';\n      }\n    }\n\n    message += separator;\n  }\n\n  var e = new Error(message);\n  if (innerError) {\n    e.innerError = innerError;\n  }\n\n  return e;\n}\n\nexport var FEATURE = {};\n\nexport var PLATFORM = {\n  noop: function noop() {},\n  eachModule: function eachModule() {},\n  moduleName: function (_moduleName) {\n    function moduleName(_x) {\n      return _moduleName.apply(this, arguments);\n    }\n\n    moduleName.toString = function () {\n      return _moduleName.toString();\n    };\n\n    return moduleName;\n  }(function (moduleName) {\n    return moduleName;\n  })\n};\n\nPLATFORM.global = function () {\n  if (typeof self !== 'undefined') {\n    return self;\n  }\n\n  if (typeof global !== 'undefined') {\n    return global;\n  }\n\n  return new Function('return this')();\n}();\n\nexport var DOM = {};\nexport var isInitialized = false;\n\nexport function initializePAL(callback) {\n  if (isInitialized) {\n    return;\n  }\n  isInitialized = true;\n  if (typeof Object.getPropertyDescriptor !== 'function') {\n    Object.getPropertyDescriptor = function (subject, name) {\n      var pd = Object.getOwnPropertyDescriptor(subject, name);\n      var proto = Object.getPrototypeOf(subject);\n      while (typeof pd === 'undefined' && proto !== null) {\n        pd = Object.getOwnPropertyDescriptor(proto, name);\n        proto = Object.getPrototypeOf(proto);\n      }\n      return pd;\n    };\n  }\n\n  callback(PLATFORM, FEATURE, DOM);\n}\nexport function reset() {\n  isInitialized = false;\n}","function trimDots(ary) {\r\n    for (var i = 0; i < ary.length; ++i) {\r\n        var part = ary[i];\r\n        if (part === '.') {\r\n            ary.splice(i, 1);\r\n            i -= 1;\r\n        }\r\n        else if (part === '..') {\r\n            if (i === 0 || (i === 1 && ary[2] === '..') || ary[i - 1] === '..') {\r\n                continue;\r\n            }\r\n            else if (i > 0) {\r\n                ary.splice(i - 1, 2);\r\n                i -= 2;\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction relativeToFile(name, file) {\r\n    var fileParts = file && file.split('/');\r\n    var nameParts = name.trim().split('/');\r\n    if (nameParts[0].charAt(0) === '.' && fileParts) {\r\n        var normalizedBaseParts = fileParts.slice(0, fileParts.length - 1);\r\n        nameParts.unshift.apply(nameParts, normalizedBaseParts);\r\n    }\r\n    trimDots(nameParts);\r\n    return nameParts.join('/');\r\n}\r\nfunction join(path1, path2) {\r\n    if (!path1) {\r\n        return path2;\r\n    }\r\n    if (!path2) {\r\n        return path1;\r\n    }\r\n    var schemeMatch = path1.match(/^([^/]*?:)\\//);\r\n    var scheme = (schemeMatch && schemeMatch.length > 0) ? schemeMatch[1] : '';\r\n    path1 = path1.substr(scheme.length);\r\n    var urlPrefix;\r\n    if (path1.indexOf('///') === 0 && scheme === 'file:') {\r\n        urlPrefix = '///';\r\n    }\r\n    else if (path1.indexOf('//') === 0) {\r\n        urlPrefix = '//';\r\n    }\r\n    else if (path1.indexOf('/') === 0) {\r\n        urlPrefix = '/';\r\n    }\r\n    else {\r\n        urlPrefix = '';\r\n    }\r\n    var trailingSlash = path2.slice(-1) === '/' ? '/' : '';\r\n    var url1 = path1.split('/');\r\n    var url2 = path2.split('/');\r\n    var url3 = [];\r\n    for (var i = 0, ii = url1.length; i < ii; ++i) {\r\n        if (url1[i] === '..') {\r\n            if (url3.length && url3[url3.length - 1] !== '..') {\r\n                url3.pop();\r\n            }\r\n            else {\r\n                url3.push(url1[i]);\r\n            }\r\n        }\r\n        else if (url1[i] === '.' || url1[i] === '') {\r\n            continue;\r\n        }\r\n        else {\r\n            url3.push(url1[i]);\r\n        }\r\n    }\r\n    for (var i = 0, ii = url2.length; i < ii; ++i) {\r\n        if (url2[i] === '..') {\r\n            if (url3.length && url3[url3.length - 1] !== '..') {\r\n                url3.pop();\r\n            }\r\n            else {\r\n                url3.push(url2[i]);\r\n            }\r\n        }\r\n        else if (url2[i] === '.' || url2[i] === '') {\r\n            continue;\r\n        }\r\n        else {\r\n            url3.push(url2[i]);\r\n        }\r\n    }\r\n    return scheme + urlPrefix + url3.join('/') + trailingSlash;\r\n}\r\nvar encode = encodeURIComponent;\r\nvar encodeKey = function (k) { return encode(k).replace('%24', '$'); };\r\nfunction buildParam(key, value, traditional) {\r\n    var result = [];\r\n    if (value === null || value === undefined) {\r\n        return result;\r\n    }\r\n    if (Array.isArray(value)) {\r\n        for (var i = 0, l = value.length; i < l; i++) {\r\n            if (traditional) {\r\n                result.push(encodeKey(key) + \"=\" + encode(value[i]));\r\n            }\r\n            else {\r\n                var arrayKey = key + '[' + (typeof value[i] === 'object' && value[i] !== null ? i : '') + ']';\r\n                result = result.concat(buildParam(arrayKey, value[i]));\r\n            }\r\n        }\r\n    }\r\n    else if (typeof (value) === 'object' && !traditional) {\r\n        for (var propertyName in value) {\r\n            result = result.concat(buildParam(key + '[' + propertyName + ']', value[propertyName]));\r\n        }\r\n    }\r\n    else {\r\n        result.push(encodeKey(key) + \"=\" + encode(value));\r\n    }\r\n    return result;\r\n}\r\nfunction buildQueryString(params, traditional) {\r\n    var pairs = [];\r\n    var keys = Object.keys(params || {}).sort();\r\n    for (var i = 0, len = keys.length; i < len; i++) {\r\n        var key = keys[i];\r\n        pairs = pairs.concat(buildParam(key, params[key], traditional));\r\n    }\r\n    if (pairs.length === 0) {\r\n        return '';\r\n    }\r\n    return pairs.join('&');\r\n}\r\nfunction processScalarParam(existedParam, value) {\r\n    if (Array.isArray(existedParam)) {\r\n        existedParam.push(value);\r\n        return existedParam;\r\n    }\r\n    if (existedParam !== undefined) {\r\n        return [existedParam, value];\r\n    }\r\n    return value;\r\n}\r\nfunction parseComplexParam(queryParams, keys, value) {\r\n    var currentParams = queryParams;\r\n    var keysLastIndex = keys.length - 1;\r\n    for (var j = 0; j <= keysLastIndex; j++) {\r\n        var key = keys[j] === '' ? currentParams.length : keys[j];\r\n        preventPollution(key);\r\n        if (j < keysLastIndex) {\r\n            var prevValue = !currentParams[key] || typeof currentParams[key] === 'object' ? currentParams[key] : [currentParams[key]];\r\n            currentParams = currentParams[key] = prevValue || (isNaN(keys[j + 1]) ? {} : []);\r\n        }\r\n        else {\r\n            currentParams = currentParams[key] = value;\r\n        }\r\n    }\r\n}\r\nfunction parseQueryString(queryString) {\r\n    var queryParams = {};\r\n    if (!queryString || typeof queryString !== 'string') {\r\n        return queryParams;\r\n    }\r\n    var query = queryString;\r\n    if (query.charAt(0) === '?') {\r\n        query = query.substr(1);\r\n    }\r\n    var pairs = query.replace(/\\+/g, ' ').split('&');\r\n    for (var i = 0; i < pairs.length; i++) {\r\n        var pair = pairs[i].split('=');\r\n        var key = decodeURIComponent(pair[0]);\r\n        if (!key) {\r\n            continue;\r\n        }\r\n        var keys = key.split('][');\r\n        var keysLastIndex = keys.length - 1;\r\n        if (/\\[/.test(keys[0]) && /\\]$/.test(keys[keysLastIndex])) {\r\n            keys[keysLastIndex] = keys[keysLastIndex].replace(/\\]$/, '');\r\n            keys = keys.shift().split('[').concat(keys);\r\n            keysLastIndex = keys.length - 1;\r\n        }\r\n        else {\r\n            keysLastIndex = 0;\r\n        }\r\n        if (pair.length >= 2) {\r\n            var value = pair[1] ? decodeURIComponent(pair[1]) : '';\r\n            if (keysLastIndex) {\r\n                parseComplexParam(queryParams, keys, value);\r\n            }\r\n            else {\r\n                preventPollution(key);\r\n                queryParams[key] = processScalarParam(queryParams[key], value);\r\n            }\r\n        }\r\n        else {\r\n            queryParams[key] = true;\r\n        }\r\n    }\r\n    return queryParams;\r\n}\r\nfunction preventPollution(key) {\r\n    if (key === '__proto__') {\r\n        throw new Error('Prototype pollution detected.');\r\n    }\r\n}\n\nexport { buildQueryString, join, parseQueryString, relativeToFile };\n//# sourceMappingURL=aurelia-path.js.map\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { PLATFORM } from 'aurelia-pal';\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function (Object, GOPS) {\n    'use strict';\n\n    if (GOPS in Object) return;\n\n    var setDescriptor,\n        G = PLATFORM.global,\n        id = 0,\n        random = '' + Math.random(),\n        prefix = '__\\x01symbol:',\n        prefixLength = prefix.length,\n        internalSymbol = '__\\x01symbol@@' + random,\n        DP = 'defineProperty',\n        DPies = 'defineProperties',\n        GOPN = 'getOwnPropertyNames',\n        GOPD = 'getOwnPropertyDescriptor',\n        PIE = 'propertyIsEnumerable',\n        gOPN = Object[GOPN],\n        gOPD = Object[GOPD],\n        create = Object.create,\n        keys = Object.keys,\n        defineProperty = Object[DP],\n        $defineProperties = Object[DPies],\n        descriptor = gOPD(Object, GOPN),\n        ObjectProto = Object.prototype,\n        hOP = ObjectProto.hasOwnProperty,\n        pIE = ObjectProto[PIE],\n        toString = ObjectProto.toString,\n        indexOf = Array.prototype.indexOf || function (v) {\n      for (var i = this.length; i-- && this[i] !== v;) {}\n      return i;\n    },\n        addInternalIfNeeded = function addInternalIfNeeded(o, uid, enumerable) {\n      if (!hOP.call(o, internalSymbol)) {\n        defineProperty(o, internalSymbol, {\n          enumerable: false,\n          configurable: false,\n          writable: false,\n          value: {}\n        });\n      }\n      o[internalSymbol]['@@' + uid] = enumerable;\n    },\n        createWithSymbols = function createWithSymbols(proto, descriptors) {\n      var self = create(proto);\n      if (descriptors !== null && (typeof descriptors === 'undefined' ? 'undefined' : _typeof(descriptors)) === 'object') {\n        gOPN(descriptors).forEach(function (key) {\n          if (propertyIsEnumerable.call(descriptors, key)) {\n            $defineProperty(self, key, descriptors[key]);\n          }\n        });\n      }\n      return self;\n    },\n        copyAsNonEnumerable = function copyAsNonEnumerable(descriptor) {\n      var newDescriptor = create(descriptor);\n      newDescriptor.enumerable = false;\n      return newDescriptor;\n    },\n        get = function get() {},\n        onlyNonSymbols = function onlyNonSymbols(name) {\n      return name != internalSymbol && !hOP.call(source, name);\n    },\n        onlySymbols = function onlySymbols(name) {\n      return name != internalSymbol && hOP.call(source, name);\n    },\n        propertyIsEnumerable = function propertyIsEnumerable(key) {\n      var uid = '' + key;\n      return onlySymbols(uid) ? hOP.call(this, uid) && this[internalSymbol] && this[internalSymbol]['@@' + uid] : pIE.call(this, key);\n    },\n        setAndGetSymbol = function setAndGetSymbol(uid) {\n      var descriptor = {\n        enumerable: false,\n        configurable: true,\n        get: get,\n        set: function set(value) {\n          setDescriptor(this, uid, {\n            enumerable: false,\n            configurable: true,\n            writable: true,\n            value: value\n          });\n          addInternalIfNeeded(this, uid, true);\n        }\n      };\n      defineProperty(ObjectProto, uid, descriptor);\n      return source[uid] = defineProperty(Object(uid), 'constructor', sourceConstructor);\n    },\n        _Symbol = function _Symbol2(description) {\n      if (this && this !== G) {\n        throw new TypeError('Symbol is not a constructor');\n      }\n      return setAndGetSymbol(prefix.concat(description || '', random, ++id));\n    },\n        source = create(null),\n        sourceConstructor = { value: _Symbol },\n        sourceMap = function sourceMap(uid) {\n      return source[uid];\n    },\n        $defineProperty = function defineProp(o, key, descriptor) {\n      var uid = '' + key;\n      if (onlySymbols(uid)) {\n        setDescriptor(o, uid, descriptor.enumerable ? copyAsNonEnumerable(descriptor) : descriptor);\n        addInternalIfNeeded(o, uid, !!descriptor.enumerable);\n      } else {\n        defineProperty(o, key, descriptor);\n      }\n      return o;\n    },\n        $getOwnPropertySymbols = function getOwnPropertySymbols(o) {\n      var cof = toString.call(o);\n      o = cof === '[object String]' ? o.split('') : Object(o);\n      return gOPN(o).filter(onlySymbols).map(sourceMap);\n    };\n\n    descriptor.value = $defineProperty;\n    defineProperty(Object, DP, descriptor);\n\n    descriptor.value = $getOwnPropertySymbols;\n    defineProperty(Object, GOPS, descriptor);\n\n    var cachedWindowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' ? Object.getOwnPropertyNames(window) : [];\n    var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n    descriptor.value = function getOwnPropertyNames(o) {\n      if (toString.call(o) === '[object Window]') {\n        try {\n          return originalObjectGetOwnPropertyNames(o);\n        } catch (e) {\n          return [].concat([], cachedWindowNames);\n        }\n      }\n      return gOPN(o).filter(onlyNonSymbols);\n    };\n    defineProperty(Object, GOPN, descriptor);\n\n    descriptor.value = function defineProperties(o, descriptors) {\n      var symbols = $getOwnPropertySymbols(descriptors);\n      if (symbols.length) {\n        keys(descriptors).concat(symbols).forEach(function (uid) {\n          if (propertyIsEnumerable.call(descriptors, uid)) {\n            $defineProperty(o, uid, descriptors[uid]);\n          }\n        });\n      } else {\n        $defineProperties(o, descriptors);\n      }\n      return o;\n    };\n    defineProperty(Object, DPies, descriptor);\n\n    descriptor.value = propertyIsEnumerable;\n    defineProperty(ObjectProto, PIE, descriptor);\n\n    descriptor.value = _Symbol;\n    defineProperty(G, 'Symbol', descriptor);\n\n    descriptor.value = function (key) {\n      var uid = prefix.concat(prefix, key, random);\n      return uid in ObjectProto ? source[uid] : setAndGetSymbol(uid);\n    };\n    defineProperty(_Symbol, 'for', descriptor);\n\n    descriptor.value = function (symbol) {\n      return hOP.call(source, symbol) ? symbol.slice(prefixLength * 2, -random.length) : void 0;\n    };\n    defineProperty(_Symbol, 'keyFor', descriptor);\n\n    descriptor.value = function getOwnPropertyDescriptor(o, key) {\n      var descriptor = gOPD(o, key);\n      if (descriptor && onlySymbols(key)) {\n        descriptor.enumerable = propertyIsEnumerable.call(o, key);\n      }\n      return descriptor;\n    };\n    defineProperty(Object, GOPD, descriptor);\n\n    descriptor.value = function (proto, descriptors) {\n      return arguments.length === 1 ? create(proto) : createWithSymbols(proto, descriptors);\n    };\n    defineProperty(Object, 'create', descriptor);\n\n    descriptor.value = function () {\n      var str = toString.call(this);\n      return str === '[object String]' && onlySymbols(this) ? '[object Symbol]' : str;\n    };\n    defineProperty(ObjectProto, 'toString', descriptor);\n\n    try {\n      setDescriptor = create(defineProperty({}, prefix, {\n        get: function get() {\n          return defineProperty(this, prefix, { value: false })[prefix];\n        }\n      }))[prefix] || defineProperty;\n    } catch (o_O) {\n      setDescriptor = function setDescriptor(o, key, descriptor) {\n        var protoDescriptor = gOPD(ObjectProto, key);\n        delete ObjectProto[key];\n        defineProperty(o, key, descriptor);\n        defineProperty(ObjectProto, key, protoDescriptor);\n      };\n    }\n  })(Object, 'getOwnPropertySymbols');\n\n  (function (O, S) {\n    var dP = O.defineProperty,\n        ObjectProto = O.prototype,\n        toString = ObjectProto.toString,\n        toStringTag = 'toStringTag',\n        descriptor;\n    ['iterator', 'match', 'replace', 'search', 'split', 'hasInstance', 'isConcatSpreadable', 'unscopables', 'species', 'toPrimitive', toStringTag].forEach(function (name) {\n      if (!(name in Symbol)) {\n        dP(Symbol, name, { value: Symbol(name) });\n        switch (name) {\n          case toStringTag:\n            descriptor = O.getOwnPropertyDescriptor(ObjectProto, 'toString');\n            descriptor.value = function () {\n              var str = toString.call(this),\n                  tst = typeof this === 'undefined' || this === null ? undefined : this[Symbol.toStringTag];\n              return typeof tst === 'undefined' ? str : '[object ' + tst + ']';\n            };\n            dP(ObjectProto, 'toString', descriptor);\n            break;\n        }\n      }\n    });\n  })(Object, Symbol);\n\n  (function (Si, AP, SP) {\n\n    function returnThis() {\n      return this;\n    }\n\n    if (!AP[Si]) AP[Si] = function () {\n      var i = 0,\n          self = this,\n          iterator = {\n        next: function next() {\n          var done = self.length <= i;\n          return done ? { done: done } : { done: done, value: self[i++] };\n        }\n      };\n      iterator[Si] = returnThis;\n      return iterator;\n    };\n\n    if (!SP[Si]) SP[Si] = function () {\n      var fromCodePoint = String.fromCodePoint,\n          self = this,\n          i = 0,\n          length = self.length,\n          iterator = {\n        next: function next() {\n          var done = length <= i,\n              c = done ? '' : fromCodePoint(self.codePointAt(i));\n          i += c.length;\n          return done ? { done: done } : { done: done, value: c };\n        }\n      };\n      iterator[Si] = returnThis;\n      return iterator;\n    };\n  })(Symbol.iterator, Array.prototype, String.prototype);\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  Number.isNaN = Number.isNaN || function (value) {\n    return value !== value;\n  };\n\n  Number.isFinite = Number.isFinite || function (value) {\n    return typeof value === \"number\" && isFinite(value);\n  };\n}\n\nif (!String.prototype.endsWith || function () {\n  try {\n    return !\"ab\".endsWith(\"a\", 1);\n  } catch (e) {\n    return true;\n  }\n}()) {\n  String.prototype.endsWith = function (searchString, position) {\n    var subjectString = this.toString();\n    if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n      position = subjectString.length;\n    }\n    position -= searchString.length;\n    var lastIndex = subjectString.indexOf(searchString, position);\n    return lastIndex !== -1 && lastIndex === position;\n  };\n}\n\nif (!String.prototype.startsWith || function () {\n  try {\n    return !\"ab\".startsWith(\"b\", 1);\n  } catch (e) {\n    return true;\n  }\n}()) {\n  String.prototype.startsWith = function (searchString, position) {\n    position = position || 0;\n    return this.substr(position, searchString.length) === searchString;\n  };\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  if (!Array.from) {\n    Array.from = function () {\n      var toInteger = function toInteger(it) {\n        return isNaN(it = +it) ? 0 : (it > 0 ? Math.floor : Math.ceil)(it);\n      };\n      var toLength = function toLength(it) {\n        return it > 0 ? Math.min(toInteger(it), 0x1fffffffffffff) : 0;\n      };\n      var iterCall = function iterCall(iter, fn, val, index) {\n        try {\n          return fn(val, index);\n        } catch (E) {\n          if (typeof iter.return == 'function') iter.return();\n          throw E;\n        }\n      };\n\n      return function from(arrayLike) {\n        var O = Object(arrayLike),\n            C = typeof this == 'function' ? this : Array,\n            aLen = arguments.length,\n            mapfn = aLen > 1 ? arguments[1] : undefined,\n            mapping = mapfn !== undefined,\n            index = 0,\n            iterFn = O[Symbol.iterator],\n            length,\n            result,\n            step,\n            iterator;\n        if (mapping) mapfn = mapfn.bind(aLen > 2 ? arguments[2] : undefined);\n        if (iterFn != undefined && !Array.isArray(arrayLike)) {\n          for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n            result[index] = mapping ? iterCall(iterator, mapfn, step.value, index) : step.value;\n          }\n        } else {\n          length = toLength(O.length);\n          for (result = new C(length); length > index; index++) {\n            result[index] = mapping ? mapfn(O[index], index) : O[index];\n          }\n        }\n        result.length = index;\n        return result;\n      };\n    }();\n  }\n\n  if (!Array.prototype.find) {\n    Object.defineProperty(Array.prototype, 'find', {\n      configurable: true,\n      writable: true,\n      enumerable: false,\n      value: function value(predicate) {\n        if (this === null) {\n          throw new TypeError('Array.prototype.find called on null or undefined');\n        }\n        if (typeof predicate !== 'function') {\n          throw new TypeError('predicate must be a function');\n        }\n        var list = Object(this);\n        var length = list.length >>> 0;\n        var thisArg = arguments[1];\n        var value;\n\n        for (var i = 0; i < length; i++) {\n          value = list[i];\n          if (predicate.call(thisArg, value, i, list)) {\n            return value;\n          }\n        }\n        return undefined;\n      }\n    });\n  }\n\n  if (!Array.prototype.findIndex) {\n    Object.defineProperty(Array.prototype, 'findIndex', {\n      configurable: true,\n      writable: true,\n      enumerable: false,\n      value: function value(predicate) {\n        if (this === null) {\n          throw new TypeError('Array.prototype.findIndex called on null or undefined');\n        }\n        if (typeof predicate !== 'function') {\n          throw new TypeError('predicate must be a function');\n        }\n        var list = Object(this);\n        var length = list.length >>> 0;\n        var thisArg = arguments[1];\n        var value;\n\n        for (var i = 0; i < length; i++) {\n          value = list[i];\n          if (predicate.call(thisArg, value, i, list)) {\n            return i;\n          }\n        }\n        return -1;\n      }\n    });\n  }\n}\n\nif (typeof FEATURE_NO_ES2016 === 'undefined' && !Array.prototype.includes) {\n  Object.defineProperty(Array.prototype, 'includes', {\n    configurable: true,\n    writable: true,\n    enumerable: false,\n    value: function value(searchElement) {\n      var O = Object(this);\n      var len = parseInt(O.length) || 0;\n      if (len === 0) {\n        return false;\n      }\n      var n = parseInt(arguments[1]) || 0;\n      var k;\n      if (n >= 0) {\n        k = n;\n      } else {\n        k = len + n;\n        if (k < 0) {\n          k = 0;\n        }\n      }\n      var currentElement;\n      while (k < len) {\n        currentElement = O[k];\n        if (searchElement === currentElement || searchElement !== searchElement && currentElement !== currentElement) {\n          return true;\n        }\n        k++;\n      }\n      return false;\n    }\n  });\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function () {\n    var needsFix = false;\n\n    try {\n      var s = Object.keys('a');\n      needsFix = s.length !== 1 || s[0] !== '0';\n    } catch (e) {\n      needsFix = true;\n    }\n\n    if (needsFix) {\n      Object.keys = function () {\n        var hasOwnProperty = Object.prototype.hasOwnProperty,\n            hasDontEnumBug = !{ toString: null }.propertyIsEnumerable('toString'),\n            dontEnums = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'],\n            dontEnumsLength = dontEnums.length;\n\n        return function (obj) {\n          if (obj === undefined || obj === null) {\n            throw TypeError('Cannot convert undefined or null to object');\n          }\n\n          obj = Object(obj);\n\n          var result = [],\n              prop,\n              i;\n\n          for (prop in obj) {\n            if (hasOwnProperty.call(obj, prop)) {\n              result.push(prop);\n            }\n          }\n\n          if (hasDontEnumBug) {\n            for (i = 0; i < dontEnumsLength; i++) {\n              if (hasOwnProperty.call(obj, dontEnums[i])) {\n                result.push(dontEnums[i]);\n              }\n            }\n          }\n\n          return result;\n        };\n      }();\n    }\n  })();\n\n  (function (O) {\n    if ('assign' in O) {\n      return;\n    }\n\n    O.defineProperty(O, 'assign', {\n      configurable: true,\n      writable: true,\n      value: function () {\n        var gOPS = O.getOwnPropertySymbols,\n            pIE = O.propertyIsEnumerable,\n            filterOS = gOPS ? function (self) {\n          return gOPS(self).filter(pIE, self);\n        } : function () {\n          return Array.prototype;\n        };\n\n        return function assign(where) {\n          if (gOPS && !(where instanceof O)) {\n            console.warn('problematic Symbols', where);\n          }\n\n          function set(keyOrSymbol) {\n            where[keyOrSymbol] = arg[keyOrSymbol];\n          }\n\n          for (var i = 1, ii = arguments.length; i < ii; ++i) {\n            var arg = arguments[i];\n\n            if (arg === null || arg === undefined) {\n              continue;\n            }\n\n            O.keys(arg).concat(filterOS(arg)).forEach(set);\n          }\n\n          return where;\n        };\n      }()\n    });\n  })(Object);\n\n  if (!Object.is) {\n    Object.is = function (x, y) {\n      if (x === y) {\n        return x !== 0 || 1 / x === 1 / y;\n      } else {\n        return x !== x && y !== y;\n      }\n    };\n  }\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function (global) {\n    var i;\n\n    var defineProperty = Object.defineProperty,\n        is = function is(a, b) {\n      return a === b || a !== a && b !== b;\n    };\n\n    if (typeof WeakMap == 'undefined') {\n      global.WeakMap = createCollection({\n        'delete': sharedDelete,\n\n        clear: sharedClear,\n\n        get: sharedGet,\n\n        has: mapHas,\n\n        set: sharedSet\n      }, true);\n    }\n\n    if (typeof Map == 'undefined' || typeof new Map().values !== 'function' || !new Map().values().next) {\n      var _createCollection;\n\n      global.Map = createCollection((_createCollection = {\n        'delete': sharedDelete,\n\n        has: mapHas,\n\n        get: sharedGet,\n\n        set: sharedSet,\n\n        keys: sharedKeys,\n\n        values: sharedValues,\n\n        entries: mapEntries,\n\n        forEach: sharedForEach,\n\n        clear: sharedClear\n      }, _createCollection[Symbol.iterator] = mapEntries, _createCollection));\n    }\n\n    if (typeof Set == 'undefined' || typeof new Set().values !== 'function' || !new Set().values().next) {\n      var _createCollection2;\n\n      global.Set = createCollection((_createCollection2 = {\n        has: setHas,\n\n        add: sharedAdd,\n\n        'delete': sharedDelete,\n\n        clear: sharedClear,\n\n        keys: sharedValues,\n        values: sharedValues,\n\n        entries: setEntries,\n\n        forEach: sharedForEach\n      }, _createCollection2[Symbol.iterator] = sharedValues, _createCollection2));\n    }\n\n    if (typeof WeakSet == 'undefined') {\n      global.WeakSet = createCollection({\n        'delete': sharedDelete,\n\n        add: sharedAdd,\n\n        clear: sharedClear,\n\n        has: setHas\n      }, true);\n    }\n\n    function createCollection(proto, objectOnly) {\n      function Collection(a) {\n        if (!this || this.constructor !== Collection) return new Collection(a);\n        this._keys = [];\n        this._values = [];\n        this._itp = [];\n        this.objectOnly = objectOnly;\n\n        if (a) init.call(this, a);\n      }\n\n      if (!objectOnly) {\n        defineProperty(proto, 'size', {\n          get: sharedSize\n        });\n      }\n\n      proto.constructor = Collection;\n      Collection.prototype = proto;\n\n      return Collection;\n    }\n\n    function init(a) {\n      var i;\n\n      if (this.add) a.forEach(this.add, this);else a.forEach(function (a) {\n          this.set(a[0], a[1]);\n        }, this);\n    }\n\n    function sharedDelete(key) {\n      if (this.has(key)) {\n        this._keys.splice(i, 1);\n        this._values.splice(i, 1);\n\n        this._itp.forEach(function (p) {\n          if (i < p[0]) p[0]--;\n        });\n      }\n\n      return -1 < i;\n    };\n\n    function sharedGet(key) {\n      return this.has(key) ? this._values[i] : undefined;\n    }\n\n    function has(list, key) {\n      if (this.objectOnly && key !== Object(key)) throw new TypeError(\"Invalid value used as weak collection key\");\n\n      if (key != key || key === 0) for (i = list.length; i-- && !is(list[i], key);) {} else i = list.indexOf(key);\n      return -1 < i;\n    }\n\n    function setHas(value) {\n      return has.call(this, this._values, value);\n    }\n\n    function mapHas(value) {\n      return has.call(this, this._keys, value);\n    }\n\n    function sharedSet(key, value) {\n      this.has(key) ? this._values[i] = value : this._values[this._keys.push(key) - 1] = value;\n      return this;\n    }\n\n    function sharedAdd(value) {\n      if (!this.has(value)) this._values.push(value);\n      return this;\n    }\n\n    function sharedClear() {\n      (this._keys || 0).length = this._values.length = 0;\n    }\n\n    function sharedKeys() {\n      return sharedIterator(this._itp, this._keys);\n    }\n\n    function sharedValues() {\n      return sharedIterator(this._itp, this._values);\n    }\n\n    function mapEntries() {\n      return sharedIterator(this._itp, this._keys, this._values);\n    }\n\n    function setEntries() {\n      return sharedIterator(this._itp, this._values, this._values);\n    }\n\n    function sharedIterator(itp, array, array2) {\n      var _ref;\n\n      var p = [0],\n          done = false;\n      itp.push(p);\n      return _ref = {}, _ref[Symbol.iterator] = function () {\n        return this;\n      }, _ref.next = function next() {\n        var v,\n            k = p[0];\n        if (!done && k < array.length) {\n          v = array2 ? [array[k], array2[k]] : array[k];\n          p[0]++;\n        } else {\n          done = true;\n          itp.splice(itp.indexOf(p), 1);\n        }\n        return { done: done, value: v };\n      }, _ref;\n    }\n\n    function sharedSize() {\n      return this._values.length;\n    }\n\n    function sharedForEach(callback, context) {\n      var it = this.entries();\n      for (;;) {\n        var r = it.next();\n        if (r.done) break;\n        callback.call(context, r.value[1], r.value[0], this);\n      }\n    }\n  })(PLATFORM.global);\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  var bind = Function.prototype.bind;\n\n  if (typeof PLATFORM.global.Reflect === 'undefined') {\n    PLATFORM.global.Reflect = {};\n  }\n\n  if (typeof Reflect.defineProperty !== 'function') {\n    Reflect.defineProperty = function (target, propertyKey, descriptor) {\n      if ((typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' ? target === null : typeof target !== 'function') {\n        throw new TypeError('Reflect.defineProperty called on non-object');\n      }\n      try {\n        Object.defineProperty(target, propertyKey, descriptor);\n        return true;\n      } catch (e) {\n        return false;\n      }\n    };\n  }\n\n  if (typeof Reflect.construct !== 'function') {\n    Reflect.construct = function (Target, args) {\n      if (args) {\n        switch (args.length) {\n          case 0:\n            return new Target();\n          case 1:\n            return new Target(args[0]);\n          case 2:\n            return new Target(args[0], args[1]);\n          case 3:\n            return new Target(args[0], args[1], args[2]);\n          case 4:\n            return new Target(args[0], args[1], args[2], args[3]);\n        }\n      }\n\n      var a = [null];\n      a.push.apply(a, args);\n      return new (bind.apply(Target, a))();\n    };\n  }\n\n  if (typeof Reflect.ownKeys !== 'function') {\n    Reflect.ownKeys = function (o) {\n      return Object.getOwnPropertyNames(o).concat(Object.getOwnPropertySymbols(o));\n    };\n  }\n}\n\nif (typeof FEATURE_NO_ESNEXT === 'undefined') {\n\n  var emptyMetadata = Object.freeze({});\n  var metadataContainerKey = '__metadata__';\n\n  if (typeof Reflect.getOwnMetadata !== 'function') {\n    Reflect.getOwnMetadata = function (metadataKey, target, targetKey) {\n      if (target.hasOwnProperty(metadataContainerKey)) {\n        return (target[metadataContainerKey][targetKey] || emptyMetadata)[metadataKey];\n      }\n    };\n  }\n\n  if (typeof Reflect.defineMetadata !== 'function') {\n    Reflect.defineMetadata = function (metadataKey, metadataValue, target, targetKey) {\n      var metadataContainer = target.hasOwnProperty(metadataContainerKey) ? target[metadataContainerKey] : target[metadataContainerKey] = {};\n      var targetContainer = metadataContainer[targetKey] || (metadataContainer[targetKey] = {});\n      targetContainer[metadataKey] = metadataValue;\n    };\n  }\n\n  if (typeof Reflect.metadata !== 'function') {\n    Reflect.metadata = function (metadataKey, metadataValue) {\n      return function (target, targetKey) {\n        Reflect.defineMetadata(metadataKey, metadataValue, target, targetKey);\n      };\n    };\n  }\n}","\n\nimport { buildQueryString, parseQueryString } from 'aurelia-path';\n\nexport var State = function () {\n  function State(charSpec) {\n    \n\n    this.charSpec = charSpec;\n    this.nextStates = [];\n  }\n\n  State.prototype.get = function get(charSpec) {\n    for (var _iterator = this.nextStates, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var child = _ref;\n\n      var isEqual = child.charSpec.validChars === charSpec.validChars && child.charSpec.invalidChars === charSpec.invalidChars;\n\n      if (isEqual) {\n        return child;\n      }\n    }\n\n    return undefined;\n  };\n\n  State.prototype.put = function put(charSpec) {\n    var state = this.get(charSpec);\n\n    if (state) {\n      return state;\n    }\n\n    state = new State(charSpec);\n\n    this.nextStates.push(state);\n\n    if (charSpec.repeat) {\n      state.nextStates.push(state);\n    }\n\n    return state;\n  };\n\n  State.prototype.match = function match(ch) {\n    var nextStates = this.nextStates;\n    var results = [];\n\n    for (var i = 0, l = nextStates.length; i < l; i++) {\n      var child = nextStates[i];\n      var charSpec = child.charSpec;\n\n      if (charSpec.validChars !== undefined) {\n        if (charSpec.validChars.indexOf(ch) !== -1) {\n          results.push(child);\n        }\n      } else if (charSpec.invalidChars !== undefined) {\n        if (charSpec.invalidChars.indexOf(ch) === -1) {\n          results.push(child);\n        }\n      }\n    }\n\n    return results;\n  };\n\n  return State;\n}();\n\nvar specials = ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\\\'];\n\nvar escapeRegex = new RegExp('(\\\\' + specials.join('|\\\\') + ')', 'g');\n\nexport var StaticSegment = function () {\n  function StaticSegment(string, caseSensitive) {\n    \n\n    this.string = string;\n    this.caseSensitive = caseSensitive;\n  }\n\n  StaticSegment.prototype.eachChar = function eachChar(callback) {\n    var s = this.string;\n    for (var i = 0, ii = s.length; i < ii; ++i) {\n      var ch = s[i];\n      callback({ validChars: this.caseSensitive ? ch : ch.toUpperCase() + ch.toLowerCase() });\n    }\n  };\n\n  StaticSegment.prototype.regex = function regex() {\n    return this.string.replace(escapeRegex, '\\\\$1');\n  };\n\n  StaticSegment.prototype.generate = function generate() {\n    return this.string;\n  };\n\n  return StaticSegment;\n}();\n\nexport var DynamicSegment = function () {\n  function DynamicSegment(name, optional) {\n    \n\n    this.name = name;\n    this.optional = optional;\n  }\n\n  DynamicSegment.prototype.eachChar = function eachChar(callback) {\n    callback({ invalidChars: '/', repeat: true });\n  };\n\n  DynamicSegment.prototype.regex = function regex() {\n    return '([^/]+)';\n  };\n\n  DynamicSegment.prototype.generate = function generate(params, consumed) {\n    consumed[this.name] = true;\n    return params[this.name];\n  };\n\n  return DynamicSegment;\n}();\n\nexport var StarSegment = function () {\n  function StarSegment(name) {\n    \n\n    this.name = name;\n  }\n\n  StarSegment.prototype.eachChar = function eachChar(callback) {\n    callback({ invalidChars: '', repeat: true });\n  };\n\n  StarSegment.prototype.regex = function regex() {\n    return '(.+)';\n  };\n\n  StarSegment.prototype.generate = function generate(params, consumed) {\n    consumed[this.name] = true;\n    return params[this.name];\n  };\n\n  return StarSegment;\n}();\n\nexport var EpsilonSegment = function () {\n  function EpsilonSegment() {\n    \n  }\n\n  EpsilonSegment.prototype.eachChar = function eachChar() {};\n\n  EpsilonSegment.prototype.regex = function regex() {\n    return '';\n  };\n\n  EpsilonSegment.prototype.generate = function generate() {\n    return '';\n  };\n\n  return EpsilonSegment;\n}();\n\nexport var RouteRecognizer = function () {\n  function RouteRecognizer() {\n    \n\n    this.rootState = new State();\n    this.names = {};\n    this.routes = new Map();\n  }\n\n  RouteRecognizer.prototype.add = function add(route) {\n    var _this = this;\n\n    if (Array.isArray(route)) {\n      route.forEach(function (r) {\n        return _this.add(r);\n      });\n      return undefined;\n    }\n\n    var currentState = this.rootState;\n    var skippableStates = [];\n    var regex = '^';\n    var types = { statics: 0, dynamics: 0, stars: 0 };\n    var names = [];\n    var routeName = route.handler.name;\n    var isEmpty = true;\n    var segments = parse(route.path, names, types, route.caseSensitive);\n\n    for (var i = 0, ii = segments.length; i < ii; i++) {\n      var segment = segments[i];\n      if (segment instanceof EpsilonSegment) {\n        continue;\n      }\n\n      var _addSegment = addSegment(currentState, segment),\n          firstState = _addSegment[0],\n          nextState = _addSegment[1];\n\n      for (var j = 0, jj = skippableStates.length; j < jj; j++) {\n        skippableStates[j].nextStates.push(firstState);\n      }\n\n      if (segment.optional) {\n        skippableStates.push(nextState);\n        regex += '(?:/' + segment.regex() + ')?';\n      } else {\n        currentState = nextState;\n        regex += '/' + segment.regex();\n        skippableStates.length = 0;\n        isEmpty = false;\n      }\n    }\n\n    if (isEmpty) {\n      currentState = currentState.put({ validChars: '/' });\n      regex += '/?';\n    }\n\n    var handlers = [{ handler: route.handler, names: names }];\n\n    this.routes.set(route.handler, { segments: segments, handlers: handlers });\n    if (routeName) {\n      var routeNames = Array.isArray(routeName) ? routeName : [routeName];\n      for (var _i2 = 0; _i2 < routeNames.length; _i2++) {\n        if (!(routeNames[_i2] in this.names)) {\n          this.names[routeNames[_i2]] = { segments: segments, handlers: handlers };\n        }\n      }\n    }\n\n    for (var _i3 = 0; _i3 < skippableStates.length; _i3++) {\n      var state = skippableStates[_i3];\n      state.handlers = handlers;\n      state.regex = new RegExp(regex + '$', route.caseSensitive ? '' : 'i');\n      state.types = types;\n    }\n\n    currentState.handlers = handlers;\n    currentState.regex = new RegExp(regex + '$', route.caseSensitive ? '' : 'i');\n    currentState.types = types;\n\n    return currentState;\n  };\n\n  RouteRecognizer.prototype.getRoute = function getRoute(nameOrRoute) {\n    return typeof nameOrRoute === 'string' ? this.names[nameOrRoute] : this.routes.get(nameOrRoute);\n  };\n\n  RouteRecognizer.prototype.handlersFor = function handlersFor(nameOrRoute) {\n    var route = this.getRoute(nameOrRoute);\n    if (!route) {\n      throw new Error('There is no route named ' + nameOrRoute);\n    }\n\n    return [].concat(route.handlers);\n  };\n\n  RouteRecognizer.prototype.hasRoute = function hasRoute(nameOrRoute) {\n    return !!this.getRoute(nameOrRoute);\n  };\n\n  RouteRecognizer.prototype.generate = function generate(nameOrRoute, params) {\n    var route = this.getRoute(nameOrRoute);\n    if (!route) {\n      throw new Error('There is no route named ' + nameOrRoute);\n    }\n\n    var handler = route.handlers[0].handler;\n    if (handler.generationUsesHref) {\n      return handler.href;\n    }\n\n    var routeParams = Object.assign({}, params);\n    var segments = route.segments;\n    var consumed = {};\n    var output = '';\n\n    for (var i = 0, l = segments.length; i < l; i++) {\n      var segment = segments[i];\n\n      if (segment instanceof EpsilonSegment) {\n        continue;\n      }\n\n      var segmentValue = segment.generate(routeParams, consumed);\n      if (segmentValue === null || segmentValue === undefined) {\n        if (!segment.optional) {\n          throw new Error('A value is required for route parameter \\'' + segment.name + '\\' in route \\'' + nameOrRoute + '\\'.');\n        }\n      } else {\n        output += '/';\n        output += segmentValue;\n      }\n    }\n\n    if (output.charAt(0) !== '/') {\n      output = '/' + output;\n    }\n\n    for (var param in consumed) {\n      delete routeParams[param];\n    }\n\n    var queryString = buildQueryString(routeParams);\n    output += queryString ? '?' + queryString : '';\n\n    return output;\n  };\n\n  RouteRecognizer.prototype.recognize = function recognize(path) {\n    var states = [this.rootState];\n    var queryParams = {};\n    var isSlashDropped = false;\n    var normalizedPath = path;\n\n    var queryStart = normalizedPath.indexOf('?');\n    if (queryStart !== -1) {\n      var queryString = normalizedPath.substr(queryStart + 1, normalizedPath.length);\n      normalizedPath = normalizedPath.substr(0, queryStart);\n      queryParams = parseQueryString(queryString);\n    }\n\n    normalizedPath = decodeURI(normalizedPath);\n\n    if (normalizedPath.charAt(0) !== '/') {\n      normalizedPath = '/' + normalizedPath;\n    }\n\n    var pathLen = normalizedPath.length;\n    if (pathLen > 1 && normalizedPath.charAt(pathLen - 1) === '/') {\n      normalizedPath = normalizedPath.substr(0, pathLen - 1);\n      isSlashDropped = true;\n    }\n\n    for (var i = 0, l = normalizedPath.length; i < l; i++) {\n      states = recognizeChar(states, normalizedPath.charAt(i));\n      if (!states.length) {\n        break;\n      }\n    }\n\n    var solutions = [];\n    for (var _i4 = 0, _l = states.length; _i4 < _l; _i4++) {\n      if (states[_i4].handlers) {\n        solutions.push(states[_i4]);\n      }\n    }\n\n    states = sortSolutions(solutions);\n\n    var state = solutions[0];\n    if (state && state.handlers) {\n      if (isSlashDropped && state.regex.source.slice(-5) === '(.+)$') {\n        normalizedPath = normalizedPath + '/';\n      }\n\n      return findHandler(state, normalizedPath, queryParams);\n    }\n  };\n\n  return RouteRecognizer;\n}();\n\nvar RecognizeResults = function RecognizeResults(queryParams) {\n  \n\n  this.splice = Array.prototype.splice;\n  this.slice = Array.prototype.slice;\n  this.push = Array.prototype.push;\n  this.length = 0;\n  this.queryParams = queryParams || {};\n};\n\nfunction parse(route, names, types, caseSensitive) {\n  var normalizedRoute = route;\n  if (route.charAt(0) === '/') {\n    normalizedRoute = route.substr(1);\n  }\n\n  var results = [];\n\n  var splitRoute = normalizedRoute.split('/');\n  for (var i = 0, ii = splitRoute.length; i < ii; ++i) {\n    var segment = splitRoute[i];\n\n    var match = segment.match(/^:([^?]+)(\\?)?$/);\n    if (match) {\n      var _match = match,\n          _name = _match[1],\n          optional = _match[2];\n\n      if (_name.indexOf('=') !== -1) {\n        throw new Error('Parameter ' + _name + ' in route ' + route + ' has a default value, which is not supported.');\n      }\n      results.push(new DynamicSegment(_name, !!optional));\n      names.push(_name);\n      types.dynamics++;\n      continue;\n    }\n\n    match = segment.match(/^\\*(.+)$/);\n    if (match) {\n      results.push(new StarSegment(match[1]));\n      names.push(match[1]);\n      types.stars++;\n    } else if (segment === '') {\n      results.push(new EpsilonSegment());\n    } else {\n      results.push(new StaticSegment(segment, caseSensitive));\n      types.statics++;\n    }\n  }\n\n  return results;\n}\n\nfunction sortSolutions(states) {\n  return states.sort(function (a, b) {\n    if (a.types.stars !== b.types.stars) {\n      return a.types.stars - b.types.stars;\n    }\n\n    if (a.types.stars) {\n      if (a.types.statics !== b.types.statics) {\n        return b.types.statics - a.types.statics;\n      }\n      if (a.types.dynamics !== b.types.dynamics) {\n        return b.types.dynamics - a.types.dynamics;\n      }\n    }\n\n    if (a.types.dynamics !== b.types.dynamics) {\n      return a.types.dynamics - b.types.dynamics;\n    }\n\n    if (a.types.statics !== b.types.statics) {\n      return b.types.statics - a.types.statics;\n    }\n\n    return 0;\n  });\n}\n\nfunction recognizeChar(states, ch) {\n  var nextStates = [];\n\n  for (var i = 0, l = states.length; i < l; i++) {\n    var state = states[i];\n    nextStates.push.apply(nextStates, state.match(ch));\n  }\n\n  return nextStates;\n}\n\nfunction findHandler(state, path, queryParams) {\n  var handlers = state.handlers;\n  var regex = state.regex;\n  var captures = path.match(regex);\n  var currentCapture = 1;\n  var result = new RecognizeResults(queryParams);\n\n  for (var i = 0, l = handlers.length; i < l; i++) {\n    var _handler = handlers[i];\n    var _names = _handler.names;\n    var _params = {};\n\n    for (var j = 0, m = _names.length; j < m; j++) {\n      _params[_names[j]] = captures[currentCapture++];\n    }\n\n    result.push({ handler: _handler.handler, params: _params, isDynamic: !!_names.length });\n  }\n\n  return result;\n}\n\nfunction addSegment(currentState, segment) {\n  var firstState = currentState.put({ validChars: '/' });\n  var nextState = firstState;\n  segment.eachChar(function (ch) {\n    nextState = nextState.put(ch);\n  });\n\n  return [firstState, nextState];\n}","import { getLogger } from 'aurelia-logging';\nimport { Container } from 'aurelia-dependency-injection';\nimport { History } from 'aurelia-history';\nimport { RouteRecognizer } from 'aurelia-route-recognizer';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    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 extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(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}\n\n/**\r\n * Class used to represent an instruction during a navigation.\r\n */\r\nvar NavigationInstruction = /** @class */ (function () {\r\n    function NavigationInstruction(init) {\r\n        /**\r\n         * Current built viewport plan of this nav instruction\r\n         */\r\n        this.plan = null;\r\n        this.options = {};\r\n        Object.assign(this, init);\r\n        this.params = this.params || {};\r\n        this.viewPortInstructions = {};\r\n        var ancestorParams = [];\r\n        var current = this;\r\n        do {\r\n            var currentParams = Object.assign({}, current.params);\r\n            if (current.config && current.config.hasChildRouter) {\r\n                // remove the param for the injected child route segment\r\n                delete currentParams[current.getWildCardName()];\r\n            }\r\n            ancestorParams.unshift(currentParams);\r\n            current = current.parentInstruction;\r\n        } while (current);\r\n        var allParams = Object.assign.apply(Object, [{}, this.queryParams].concat(ancestorParams));\r\n        this.lifecycleArgs = [allParams, this.config, this];\r\n    }\r\n    /**\r\n     * Gets an array containing this instruction and all child instructions for the current navigation.\r\n     */\r\n    NavigationInstruction.prototype.getAllInstructions = function () {\r\n        var instructions = [this];\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        for (var key in viewPortInstructions) {\r\n            var childInstruction = viewPortInstructions[key].childNavigationInstruction;\r\n            if (childInstruction) {\r\n                instructions.push.apply(instructions, childInstruction.getAllInstructions());\r\n            }\r\n        }\r\n        return instructions;\r\n    };\r\n    /**\r\n     * Gets an array containing the instruction and all child instructions for the previous navigation.\r\n     * Previous instructions are no longer available after navigation completes.\r\n     */\r\n    NavigationInstruction.prototype.getAllPreviousInstructions = function () {\r\n        return this.getAllInstructions().map(function (c) { return c.previousInstruction; }).filter(function (c) { return c; });\r\n    };\r\n    NavigationInstruction.prototype.addViewPortInstruction = function (nameOrInitOptions, strategy, moduleId, component) {\r\n        var viewPortInstruction;\r\n        var viewPortName = typeof nameOrInitOptions === 'string' ? nameOrInitOptions : nameOrInitOptions.name;\r\n        var lifecycleArgs = this.lifecycleArgs;\r\n        var config = Object.assign({}, lifecycleArgs[1], { currentViewPort: viewPortName });\r\n        if (typeof nameOrInitOptions === 'string') {\r\n            viewPortInstruction = {\r\n                name: nameOrInitOptions,\r\n                strategy: strategy,\r\n                moduleId: moduleId,\r\n                component: component,\r\n                childRouter: component.childRouter,\r\n                lifecycleArgs: [lifecycleArgs[0], config, lifecycleArgs[2]]\r\n            };\r\n        }\r\n        else {\r\n            viewPortInstruction = {\r\n                name: viewPortName,\r\n                strategy: nameOrInitOptions.strategy,\r\n                component: nameOrInitOptions.component,\r\n                moduleId: nameOrInitOptions.moduleId,\r\n                childRouter: nameOrInitOptions.component.childRouter,\r\n                lifecycleArgs: [lifecycleArgs[0], config, lifecycleArgs[2]]\r\n            };\r\n        }\r\n        return this.viewPortInstructions[viewPortName] = viewPortInstruction;\r\n    };\r\n    /**\r\n     * Gets the name of the route pattern's wildcard parameter, if applicable.\r\n     */\r\n    NavigationInstruction.prototype.getWildCardName = function () {\r\n        // todo: potential issue, or at least unsafe typings\r\n        var configRoute = this.config.route;\r\n        var wildcardIndex = configRoute.lastIndexOf('*');\r\n        return configRoute.substr(wildcardIndex + 1);\r\n    };\r\n    /**\r\n     * Gets the path and query string created by filling the route\r\n     * pattern's wildcard parameter with the matching param.\r\n     */\r\n    NavigationInstruction.prototype.getWildcardPath = function () {\r\n        var wildcardName = this.getWildCardName();\r\n        var path = this.params[wildcardName] || '';\r\n        var queryString = this.queryString;\r\n        if (queryString) {\r\n            path += '?' + queryString;\r\n        }\r\n        return path;\r\n    };\r\n    /**\r\n     * Gets the instruction's base URL, accounting for wildcard route parameters.\r\n     */\r\n    NavigationInstruction.prototype.getBaseUrl = function () {\r\n        var _this = this;\r\n        var $encodeURI = encodeURI;\r\n        var fragment = decodeURI(this.fragment);\r\n        if (fragment === '') {\r\n            var nonEmptyRoute = this.router.routes.find(function (route) {\r\n                return route.name === _this.config.name &&\r\n                    route.route !== '';\r\n            });\r\n            if (nonEmptyRoute) {\r\n                fragment = nonEmptyRoute.route;\r\n            }\r\n        }\r\n        if (!this.params) {\r\n            return $encodeURI(fragment);\r\n        }\r\n        var wildcardName = this.getWildCardName();\r\n        var path = this.params[wildcardName] || '';\r\n        if (!path) {\r\n            return $encodeURI(fragment);\r\n        }\r\n        return $encodeURI(fragment.substr(0, fragment.lastIndexOf(path)));\r\n    };\r\n    /**\r\n     * Finalize a viewport instruction\r\n     * @internal\r\n     */\r\n    NavigationInstruction.prototype._commitChanges = function (waitToSwap) {\r\n        var _this = this;\r\n        var router = this.router;\r\n        router.currentInstruction = this;\r\n        var previousInstruction = this.previousInstruction;\r\n        if (previousInstruction) {\r\n            previousInstruction.config.navModel.isActive = false;\r\n        }\r\n        this.config.navModel.isActive = true;\r\n        router.refreshNavigation();\r\n        var loads = [];\r\n        var delaySwaps = [];\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        var _loop_1 = function (viewPortName) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var viewPort = router.viewPorts[viewPortName];\r\n            if (!viewPort) {\r\n                throw new Error(\"There was no router-view found in the view for \" + viewPortInstruction.moduleId + \".\");\r\n            }\r\n            var childNavInstruction = viewPortInstruction.childNavigationInstruction;\r\n            if (viewPortInstruction.strategy === \"replace\" /* Replace */) {\r\n                if (childNavInstruction && childNavInstruction.parentCatchHandler) {\r\n                    loads.push(childNavInstruction._commitChanges(waitToSwap));\r\n                }\r\n                else {\r\n                    if (waitToSwap) {\r\n                        delaySwaps.push({ viewPort: viewPort, viewPortInstruction: viewPortInstruction });\r\n                    }\r\n                    loads.push(viewPort\r\n                        .process(viewPortInstruction, waitToSwap)\r\n                        .then(function () { return childNavInstruction\r\n                        ? childNavInstruction._commitChanges(waitToSwap)\r\n                        : Promise.resolve(); }));\r\n                }\r\n            }\r\n            else {\r\n                if (childNavInstruction) {\r\n                    loads.push(childNavInstruction._commitChanges(waitToSwap));\r\n                }\r\n            }\r\n        };\r\n        for (var viewPortName in viewPortInstructions) {\r\n            _loop_1(viewPortName);\r\n        }\r\n        return Promise\r\n            .all(loads)\r\n            .then(function () {\r\n            delaySwaps.forEach(function (x) { return x.viewPort.swap(x.viewPortInstruction); });\r\n            return null;\r\n        })\r\n            .then(function () { return prune(_this); });\r\n    };\r\n    /**@internal */\r\n    NavigationInstruction.prototype._updateTitle = function () {\r\n        var router = this.router;\r\n        var title = this._buildTitle(router.titleSeparator);\r\n        if (title) {\r\n            router.history.setTitle(title);\r\n        }\r\n    };\r\n    /**@internal */\r\n    NavigationInstruction.prototype._buildTitle = function (separator) {\r\n        if (separator === void 0) { separator = ' | '; }\r\n        var title = '';\r\n        var childTitles = [];\r\n        var navModelTitle = this.config.navModel.title;\r\n        var instructionRouter = this.router;\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        if (navModelTitle) {\r\n            title = instructionRouter.transformTitle(navModelTitle);\r\n        }\r\n        for (var viewPortName in viewPortInstructions) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var child_nav_instruction = viewPortInstruction.childNavigationInstruction;\r\n            if (child_nav_instruction) {\r\n                var childTitle = child_nav_instruction._buildTitle(separator);\r\n                if (childTitle) {\r\n                    childTitles.push(childTitle);\r\n                }\r\n            }\r\n        }\r\n        if (childTitles.length) {\r\n            title = childTitles.join(separator) + (title ? separator : '') + title;\r\n        }\r\n        if (instructionRouter.title) {\r\n            title += (title ? separator : '') + instructionRouter.transformTitle(instructionRouter.title);\r\n        }\r\n        return title;\r\n    };\r\n    return NavigationInstruction;\r\n}());\r\nvar prune = function (instruction) {\r\n    instruction.previousInstruction = null;\r\n    instruction.plan = null;\r\n};\n\n/**\r\n* Class for storing and interacting with a route's navigation settings.\r\n*/\r\nvar NavModel = /** @class */ (function () {\r\n    function NavModel(router, relativeHref) {\r\n        /**\r\n        * True if this nav item is currently active.\r\n        */\r\n        this.isActive = false;\r\n        /**\r\n        * The title.\r\n        */\r\n        this.title = null;\r\n        /**\r\n        * This nav item's absolute href.\r\n        */\r\n        this.href = null;\r\n        /**\r\n        * This nav item's relative href.\r\n        */\r\n        this.relativeHref = null;\r\n        /**\r\n        * Data attached to the route at configuration time.\r\n        */\r\n        this.settings = {};\r\n        /**\r\n        * The route config.\r\n        */\r\n        this.config = null;\r\n        this.router = router;\r\n        this.relativeHref = relativeHref;\r\n    }\r\n    /**\r\n    * Sets the route's title and updates document.title.\r\n    *  If the a navigation is in progress, the change will be applied\r\n    *  to document.title when the navigation completes.\r\n    *\r\n    * @param title The new title.\r\n    */\r\n    NavModel.prototype.setTitle = function (title) {\r\n        this.title = title;\r\n        if (this.isActive) {\r\n            this.router.updateTitle();\r\n        }\r\n    };\r\n    return NavModel;\r\n}());\n\nfunction _normalizeAbsolutePath(path, hasPushState, absolute) {\r\n    if (absolute === void 0) { absolute = false; }\r\n    if (!hasPushState && path[0] !== '#') {\r\n        path = '#' + path;\r\n    }\r\n    if (hasPushState && absolute) {\r\n        path = path.substring(1, path.length);\r\n    }\r\n    return path;\r\n}\r\nfunction _createRootedPath(fragment, baseUrl, hasPushState, absolute) {\r\n    if (isAbsoluteUrl.test(fragment)) {\r\n        return fragment;\r\n    }\r\n    var path = '';\r\n    if (baseUrl.length && baseUrl[0] !== '/') {\r\n        path += '/';\r\n    }\r\n    path += baseUrl;\r\n    if ((!path.length || path[path.length - 1] !== '/') && fragment[0] !== '/') {\r\n        path += '/';\r\n    }\r\n    if (path.length && path[path.length - 1] === '/' && fragment[0] === '/') {\r\n        path = path.substring(0, path.length - 1);\r\n    }\r\n    return _normalizeAbsolutePath(path + fragment, hasPushState, absolute);\r\n}\r\nfunction _resolveUrl(fragment, baseUrl, hasPushState) {\r\n    if (isRootedPath.test(fragment)) {\r\n        return _normalizeAbsolutePath(fragment, hasPushState);\r\n    }\r\n    return _createRootedPath(fragment, baseUrl, hasPushState);\r\n}\r\nfunction _ensureArrayWithSingleRoutePerConfig(config) {\r\n    var routeConfigs = [];\r\n    if (Array.isArray(config.route)) {\r\n        for (var i = 0, ii = config.route.length; i < ii; ++i) {\r\n            var current = Object.assign({}, config);\r\n            current.route = config.route[i];\r\n            routeConfigs.push(current);\r\n        }\r\n    }\r\n    else {\r\n        routeConfigs.push(Object.assign({}, config));\r\n    }\r\n    return routeConfigs;\r\n}\r\nvar isRootedPath = /^#?\\//;\r\nvar isAbsoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\n\n/**\r\n * Class used to configure a [[Router]] instance.\r\n *\r\n * @constructor\r\n */\r\nvar RouterConfiguration = /** @class */ (function () {\r\n    function RouterConfiguration() {\r\n        this.instructions = [];\r\n        this.options = {};\r\n        this.pipelineSteps = [];\r\n    }\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s navigation pipeline.\r\n     *\r\n     * @param name The name of the pipeline slot to insert the step into.\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPipelineStep = function (name, step) {\r\n        if (step === null || step === undefined) {\r\n            throw new Error('Pipeline step cannot be null or undefined.');\r\n        }\r\n        this.pipelineSteps.push({ name: name, step: step });\r\n        return this;\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s authorize pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addAuthorizeStep = function (step) {\r\n        return this.addPipelineStep(\"authorize\" /* Authorize */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s preActivate pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPreActivateStep = function (step) {\r\n        return this.addPipelineStep(\"preActivate\" /* PreActivate */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s preRender pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPreRenderStep = function (step) {\r\n        return this.addPipelineStep(\"preRender\" /* PreRender */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s postRender pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPostRenderStep = function (step) {\r\n        return this.addPipelineStep(\"postRender\" /* PostRender */, step);\r\n    };\r\n    /**\r\n     * Configures a route that will be used if there is no previous location available on navigation cancellation.\r\n     *\r\n     * @param fragment The URL fragment to use as the navigation destination.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.fallbackRoute = function (fragment) {\r\n        this._fallbackRoute = fragment;\r\n        return this;\r\n    };\r\n    /**\r\n     * Maps one or more routes to be registered with the router.\r\n     *\r\n     * @param route The [[RouteConfig]] to map, or an array of [[RouteConfig]] to map.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.map = function (route) {\r\n        var _this = this;\r\n        if (Array.isArray(route)) {\r\n            route.forEach(function (r) { return _this.map(r); });\r\n            return this;\r\n        }\r\n        return this.mapRoute(route);\r\n    };\r\n    /**\r\n     * Configures defaults to use for any view ports.\r\n     *\r\n     * @param viewPortConfig a view port configuration object to use as a\r\n     *  default, of the form { viewPortName: { moduleId } }.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.useViewPortDefaults = function (viewPortConfig) {\r\n        this.viewPortDefaults = viewPortConfig;\r\n        return this;\r\n    };\r\n    /**\r\n     * Maps a single route to be registered with the router.\r\n     *\r\n     * @param route The [[RouteConfig]] to map.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.mapRoute = function (config) {\r\n        this.instructions.push(function (router) {\r\n            var routeConfigs = _ensureArrayWithSingleRoutePerConfig(config);\r\n            var navModel;\r\n            for (var i = 0, ii = routeConfigs.length; i < ii; ++i) {\r\n                var routeConfig = routeConfigs[i];\r\n                routeConfig.settings = routeConfig.settings || {};\r\n                if (!navModel) {\r\n                    navModel = router.createNavModel(routeConfig);\r\n                }\r\n                router.addRoute(routeConfig, navModel);\r\n            }\r\n        });\r\n        return this;\r\n    };\r\n    /**\r\n     * Registers an unknown route handler to be run when the URL fragment doesn't match any registered routes.\r\n     *\r\n     * @param config A string containing a moduleId to load, or a [[RouteConfig]], or a function that takes the\r\n     *  [[NavigationInstruction]] and selects a moduleId to load.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.mapUnknownRoutes = function (config) {\r\n        this.unknownRouteConfig = config;\r\n        return this;\r\n    };\r\n    /**\r\n     * Applies the current configuration to the specified [[Router]].\r\n     *\r\n     * @param router The [[Router]] to apply the configuration to.\r\n     */\r\n    RouterConfiguration.prototype.exportToRouter = function (router) {\r\n        var instructions = this.instructions;\r\n        for (var i = 0, ii = instructions.length; i < ii; ++i) {\r\n            instructions[i](router);\r\n        }\r\n        var _a = this, title = _a.title, titleSeparator = _a.titleSeparator, unknownRouteConfig = _a.unknownRouteConfig, _fallbackRoute = _a._fallbackRoute, viewPortDefaults = _a.viewPortDefaults;\r\n        if (title) {\r\n            router.title = title;\r\n        }\r\n        if (titleSeparator) {\r\n            router.titleSeparator = titleSeparator;\r\n        }\r\n        if (unknownRouteConfig) {\r\n            router.handleUnknownRoutes(unknownRouteConfig);\r\n        }\r\n        if (_fallbackRoute) {\r\n            router.fallbackRoute = _fallbackRoute;\r\n        }\r\n        if (viewPortDefaults) {\r\n            router.useViewPortDefaults(viewPortDefaults);\r\n        }\r\n        Object.assign(router.options, this.options);\r\n        var pipelineSteps = this.pipelineSteps;\r\n        var pipelineStepCount = pipelineSteps.length;\r\n        if (pipelineStepCount) {\r\n            if (!router.isRoot) {\r\n                throw new Error('Pipeline steps can only be added to the root router');\r\n            }\r\n            var pipelineProvider = router.pipelineProvider;\r\n            for (var i = 0, ii = pipelineStepCount; i < ii; ++i) {\r\n                var _b = pipelineSteps[i], name_1 = _b.name, step = _b.step;\r\n                pipelineProvider.addStep(name_1, step);\r\n            }\r\n        }\r\n    };\r\n    return RouterConfiguration;\r\n}());\n\n/**\r\n * The primary class responsible for handling routing and navigation.\r\n */\r\nvar Router = /** @class */ (function () {\r\n    /**\r\n     * @param container The [[Container]] to use when child routers.\r\n     * @param history The [[History]] implementation to delegate navigation requests to.\r\n     */\r\n    function Router(container, history) {\r\n        var _this = this;\r\n        /**\r\n         * The parent router, or null if this instance is not a child router.\r\n         */\r\n        this.parent = null;\r\n        this.options = {};\r\n        /**\r\n         * The defaults used when a viewport lacks specified content\r\n         */\r\n        this.viewPortDefaults = {};\r\n        /**\r\n         * Extension point to transform the document title before it is built and displayed.\r\n         * By default, child routers delegate to the parent router, and the app router\r\n         * returns the title unchanged.\r\n         */\r\n        this.transformTitle = function (title) {\r\n            if (_this.parent) {\r\n                return _this.parent.transformTitle(title);\r\n            }\r\n            return title;\r\n        };\r\n        this.container = container;\r\n        this.history = history;\r\n        this.reset();\r\n    }\r\n    /**\r\n     * Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\r\n     * Use with caution (actually, avoid using this). Do not use this to simply change your navigation model.\r\n     */\r\n    Router.prototype.reset = function () {\r\n        var _this = this;\r\n        this.viewPorts = {};\r\n        this.routes = [];\r\n        this.baseUrl = '';\r\n        this.isConfigured = false;\r\n        this.isNavigating = false;\r\n        this.isExplicitNavigation = false;\r\n        this.isExplicitNavigationBack = false;\r\n        this.isNavigatingFirst = false;\r\n        this.isNavigatingNew = false;\r\n        this.isNavigatingRefresh = false;\r\n        this.isNavigatingForward = false;\r\n        this.isNavigatingBack = false;\r\n        this.couldDeactivate = false;\r\n        this.navigation = [];\r\n        this.currentInstruction = null;\r\n        this.viewPortDefaults = {};\r\n        this._fallbackOrder = 100;\r\n        this._recognizer = new RouteRecognizer();\r\n        this._childRecognizer = new RouteRecognizer();\r\n        this._configuredPromise = new Promise(function (resolve) {\r\n            _this._resolveConfiguredPromise = resolve;\r\n        });\r\n    };\r\n    Object.defineProperty(Router.prototype, \"isRoot\", {\r\n        /**\r\n         * Gets a value indicating whether or not this [[Router]] is the root in the router tree. I.e., it has no parent.\r\n         */\r\n        get: function () {\r\n            return !this.parent;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /**\r\n     * Registers a viewPort to be used as a rendering target for activated routes.\r\n     *\r\n     * @param viewPort The viewPort.\r\n     * @param name The name of the viewPort. 'default' if unspecified.\r\n     */\r\n    Router.prototype.registerViewPort = function (viewPort, name) {\r\n        name = name || 'default';\r\n        this.viewPorts[name] = viewPort;\r\n    };\r\n    /**\r\n     * Returns a Promise that resolves when the router is configured.\r\n     */\r\n    Router.prototype.ensureConfigured = function () {\r\n        return this._configuredPromise;\r\n    };\r\n    /**\r\n     * Configures the router.\r\n     *\r\n     * @param callbackOrConfig The [[RouterConfiguration]] or a callback that takes a [[RouterConfiguration]].\r\n     */\r\n    Router.prototype.configure = function (callbackOrConfig) {\r\n        var _this = this;\r\n        this.isConfigured = true;\r\n        var result = callbackOrConfig;\r\n        var config;\r\n        if (typeof callbackOrConfig === 'function') {\r\n            config = new RouterConfiguration();\r\n            result = callbackOrConfig(config);\r\n        }\r\n        return Promise\r\n            .resolve(result)\r\n            .then(function (c) {\r\n            if (c && c.exportToRouter) {\r\n                config = c;\r\n            }\r\n            config.exportToRouter(_this);\r\n            _this.isConfigured = true;\r\n            _this._resolveConfiguredPromise();\r\n        });\r\n    };\r\n    /**\r\n     * Navigates to a new location.\r\n     *\r\n     * @param fragment The URL fragment to use as the navigation destination.\r\n     * @param options The navigation options.\r\n     */\r\n    Router.prototype.navigate = function (fragment, options) {\r\n        if (!this.isConfigured && this.parent) {\r\n            return this.parent.navigate(fragment, options);\r\n        }\r\n        this.isExplicitNavigation = true;\r\n        return this.history.navigate(_resolveUrl(fragment, this.baseUrl, this.history._hasPushState), options);\r\n    };\r\n    /**\r\n     * Navigates to a new location corresponding to the route and params specified. Equivallent to [[Router.generate]] followed\r\n     * by [[Router.navigate]].\r\n     *\r\n     * @param route The name of the route to use when generating the navigation location.\r\n     * @param params The route parameters to be used when populating the route pattern.\r\n     * @param options The navigation options.\r\n     */\r\n    Router.prototype.navigateToRoute = function (route, params, options) {\r\n        var path = this.generate(route, params);\r\n        return this.navigate(path, options);\r\n    };\r\n    /**\r\n     * Navigates back to the most recent location in history.\r\n     */\r\n    Router.prototype.navigateBack = function () {\r\n        this.isExplicitNavigationBack = true;\r\n        this.history.navigateBack();\r\n    };\r\n    /**\r\n     * Creates a child router of the current router.\r\n     *\r\n     * @param container The [[Container]] to provide to the child router. Uses the current [[Router]]'s [[Container]] if unspecified.\r\n     * @returns {Router} The new child Router.\r\n     */\r\n    Router.prototype.createChild = function (container) {\r\n        var childRouter = new Router(container || this.container.createChild(), this.history);\r\n        childRouter.parent = this;\r\n        return childRouter;\r\n    };\r\n    /**\r\n     * Generates a URL fragment matching the specified route pattern.\r\n     *\r\n     * @param name The name of the route whose pattern should be used to generate the fragment.\r\n     * @param params The route params to be used to populate the route pattern.\r\n     * @param options If options.absolute = true, then absolute url will be generated; otherwise, it will be relative url.\r\n     * @returns {string} A string containing the generated URL fragment.\r\n     */\r\n    Router.prototype.generate = function (nameOrRoute, params, options) {\r\n        if (params === void 0) { params = {}; }\r\n        if (options === void 0) { options = {}; }\r\n        // A child recognizer generates routes for potential child routes. Any potential child route is added\r\n        // to the childRoute property of params for the childRouter to recognize. When generating routes, we\r\n        // use the childRecognizer when childRoute params are available to generate a child router enabled route.\r\n        var recognizer = 'childRoute' in params ? this._childRecognizer : this._recognizer;\r\n        var hasRoute = recognizer.hasRoute(nameOrRoute);\r\n        if (!hasRoute) {\r\n            if (this.parent) {\r\n                return this.parent.generate(nameOrRoute, params, options);\r\n            }\r\n            throw new Error(\"A route with name '\" + nameOrRoute + \"' could not be found. Check that `name: '\" + nameOrRoute + \"'` was specified in the route's config.\");\r\n        }\r\n        var path = recognizer.generate(nameOrRoute, params);\r\n        var rootedPath = _createRootedPath(path, this.baseUrl, this.history._hasPushState, options.absolute);\r\n        return options.absolute ? \"\" + this.history.getAbsoluteRoot() + rootedPath : rootedPath;\r\n    };\r\n    /**\r\n     * Creates a [[NavModel]] for the specified route config.\r\n     *\r\n     * @param config The route config.\r\n     */\r\n    Router.prototype.createNavModel = function (config) {\r\n        var navModel = new NavModel(this, 'href' in config\r\n            ? config.href\r\n            // potential error when config.route is a string[] ?\r\n            : config.route);\r\n        navModel.title = config.title;\r\n        navModel.order = config.nav;\r\n        navModel.href = config.href;\r\n        navModel.settings = config.settings;\r\n        navModel.config = config;\r\n        return navModel;\r\n    };\r\n    /**\r\n     * Registers a new route with the router.\r\n     *\r\n     * @param config The [[RouteConfig]].\r\n     * @param navModel The [[NavModel]] to use for the route. May be omitted for single-pattern routes.\r\n     */\r\n    Router.prototype.addRoute = function (config, navModel) {\r\n        if (Array.isArray(config.route)) {\r\n            var routeConfigs = _ensureArrayWithSingleRoutePerConfig(config);\r\n            // the following is wrong. todo: fix this after TS refactoring release\r\n            routeConfigs.forEach(this.addRoute.bind(this));\r\n            return;\r\n        }\r\n        validateRouteConfig(config);\r\n        if (!('viewPorts' in config) && !config.navigationStrategy) {\r\n            config.viewPorts = {\r\n                'default': {\r\n                    moduleId: config.moduleId,\r\n                    view: config.view\r\n                }\r\n            };\r\n        }\r\n        if (!navModel) {\r\n            navModel = this.createNavModel(config);\r\n        }\r\n        this.routes.push(config);\r\n        var path = config.route;\r\n        if (path.charAt(0) === '/') {\r\n            path = path.substr(1);\r\n        }\r\n        var caseSensitive = config.caseSensitive === true;\r\n        var state = this._recognizer.add({\r\n            path: path,\r\n            handler: config,\r\n            caseSensitive: caseSensitive\r\n        });\r\n        if (path) {\r\n            var settings = config.settings;\r\n            delete config.settings;\r\n            var withChild = JSON.parse(JSON.stringify(config));\r\n            config.settings = settings;\r\n            withChild.route = path + \"/*childRoute\";\r\n            withChild.hasChildRouter = true;\r\n            this._childRecognizer.add({\r\n                path: withChild.route,\r\n                handler: withChild,\r\n                caseSensitive: caseSensitive\r\n            });\r\n            withChild.navModel = navModel;\r\n            withChild.settings = config.settings;\r\n            withChild.navigationStrategy = config.navigationStrategy;\r\n        }\r\n        config.navModel = navModel;\r\n        var navigation = this.navigation;\r\n        if ((navModel.order || navModel.order === 0) && navigation.indexOf(navModel) === -1) {\r\n            if ((!navModel.href && navModel.href !== '') && (state.types.dynamics || state.types.stars)) {\r\n                throw new Error('Invalid route config for \"' + config.route + '\" : dynamic routes must specify an \"href:\" to be included in the navigation model.');\r\n            }\r\n            if (typeof navModel.order !== 'number') {\r\n                navModel.order = ++this._fallbackOrder;\r\n            }\r\n            navigation.push(navModel);\r\n            // this is a potential error / inconsistency between browsers\r\n            //\r\n            // MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\r\n            // If compareFunction(a, b) returns 0, leave a and b unchanged with respect to each other,\r\n            // but sorted with respect to all different elements.\r\n            // Note: the ECMAscript standard does not guarantee this behaviour,\r\n            // and thus not all browsers (e.g. Mozilla versions dating back to at least 2003) respect this.\r\n            navigation.sort(function (a, b) { return a.order - b.order; });\r\n        }\r\n    };\r\n    /**\r\n     * Gets a value indicating whether or not this [[Router]] or one of its ancestors has a route registered with the specified name.\r\n     *\r\n     * @param name The name of the route to check.\r\n     */\r\n    Router.prototype.hasRoute = function (name) {\r\n        return !!(this._recognizer.hasRoute(name) || this.parent && this.parent.hasRoute(name));\r\n    };\r\n    /**\r\n     * Gets a value indicating whether or not this [[Router]] has a route registered with the specified name.\r\n     *\r\n     * @param name The name of the route to check.\r\n     */\r\n    Router.prototype.hasOwnRoute = function (name) {\r\n        return this._recognizer.hasRoute(name);\r\n    };\r\n    /**\r\n     * Register a handler to use when the incoming URL fragment doesn't match any registered routes.\r\n     *\r\n     * @param config The moduleId, or a function that selects the moduleId, or a [[RouteConfig]].\r\n     */\r\n    Router.prototype.handleUnknownRoutes = function (config) {\r\n        var _this = this;\r\n        if (!config) {\r\n            throw new Error('Invalid unknown route handler');\r\n        }\r\n        this.catchAllHandler = function (instruction) {\r\n            return _this\r\n                ._createRouteConfig(config, instruction)\r\n                .then(function (c) {\r\n                instruction.config = c;\r\n                return instruction;\r\n            });\r\n        };\r\n    };\r\n    /**\r\n     * Updates the document title using the current navigation instruction.\r\n     */\r\n    Router.prototype.updateTitle = function () {\r\n        var parentRouter = this.parent;\r\n        if (parentRouter) {\r\n            return parentRouter.updateTitle();\r\n        }\r\n        var currentInstruction = this.currentInstruction;\r\n        if (currentInstruction) {\r\n            currentInstruction._updateTitle();\r\n        }\r\n        return undefined;\r\n    };\r\n    /**\r\n     * Updates the navigation routes with hrefs relative to the current location.\r\n     * Note: This method will likely move to a plugin in a future release.\r\n     */\r\n    Router.prototype.refreshNavigation = function () {\r\n        var nav = this.navigation;\r\n        for (var i = 0, length_1 = nav.length; i < length_1; i++) {\r\n            var current = nav[i];\r\n            if (!current.config.href) {\r\n                current.href = _createRootedPath(current.relativeHref, this.baseUrl, this.history._hasPushState);\r\n            }\r\n            else {\r\n                current.href = _normalizeAbsolutePath(current.config.href, this.history._hasPushState);\r\n            }\r\n        }\r\n    };\r\n    /**\r\n     * Sets the default configuration for the view ports. This specifies how to\r\n     *  populate a view port for which no module is specified. The default is\r\n     *  an empty view/view-model pair.\r\n     */\r\n    Router.prototype.useViewPortDefaults = function ($viewPortDefaults) {\r\n        // a workaround to have strong typings while not requiring to expose interface ViewPortInstruction\r\n        var viewPortDefaults = $viewPortDefaults;\r\n        for (var viewPortName in viewPortDefaults) {\r\n            var viewPortConfig = viewPortDefaults[viewPortName];\r\n            this.viewPortDefaults[viewPortName] = {\r\n                moduleId: viewPortConfig.moduleId\r\n            };\r\n        }\r\n    };\r\n    /**@internal */\r\n    Router.prototype._refreshBaseUrl = function () {\r\n        var parentRouter = this.parent;\r\n        if (parentRouter) {\r\n            this.baseUrl = generateBaseUrl(parentRouter, parentRouter.currentInstruction);\r\n        }\r\n    };\r\n    /**@internal */\r\n    Router.prototype._createNavigationInstruction = function (url, parentInstruction) {\r\n        if (url === void 0) { url = ''; }\r\n        if (parentInstruction === void 0) { parentInstruction = null; }\r\n        var fragment = url;\r\n        var queryString = '';\r\n        var queryIndex = url.indexOf('?');\r\n        if (queryIndex !== -1) {\r\n            fragment = url.substr(0, queryIndex);\r\n            queryString = url.substr(queryIndex + 1);\r\n        }\r\n        var urlRecognizationResults = this._recognizer.recognize(url);\r\n        if (!urlRecognizationResults || !urlRecognizationResults.length) {\r\n            urlRecognizationResults = this._childRecognizer.recognize(url);\r\n        }\r\n        var instructionInit = {\r\n            fragment: fragment,\r\n            queryString: queryString,\r\n            config: null,\r\n            parentInstruction: parentInstruction,\r\n            previousInstruction: this.currentInstruction,\r\n            router: this,\r\n            options: {\r\n                compareQueryParams: this.options.compareQueryParams\r\n            }\r\n        };\r\n        var result;\r\n        if (urlRecognizationResults && urlRecognizationResults.length) {\r\n            var first = urlRecognizationResults[0];\r\n            var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                params: first.params,\r\n                queryParams: first.queryParams || urlRecognizationResults.queryParams,\r\n                config: first.config || first.handler\r\n            }));\r\n            if (typeof first.handler === 'function') {\r\n                result = evaluateNavigationStrategy(instruction, first.handler, first);\r\n            }\r\n            else if (first.handler && typeof first.handler.navigationStrategy === 'function') {\r\n                result = evaluateNavigationStrategy(instruction, first.handler.navigationStrategy, first.handler);\r\n            }\r\n            else {\r\n                result = Promise.resolve(instruction);\r\n            }\r\n        }\r\n        else if (this.catchAllHandler) {\r\n            var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                params: { path: fragment },\r\n                queryParams: urlRecognizationResults ? urlRecognizationResults.queryParams : {},\r\n                config: null // config will be created by the catchAllHandler\r\n            }));\r\n            result = evaluateNavigationStrategy(instruction, this.catchAllHandler);\r\n        }\r\n        else if (this.parent) {\r\n            var router = this._parentCatchAllHandler(this.parent);\r\n            if (router) {\r\n                var newParentInstruction = this._findParentInstructionFromRouter(router, parentInstruction);\r\n                var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                    params: { path: fragment },\r\n                    queryParams: urlRecognizationResults ? urlRecognizationResults.queryParams : {},\r\n                    router: router,\r\n                    parentInstruction: newParentInstruction,\r\n                    parentCatchHandler: true,\r\n                    config: null // config will be created by the chained parent catchAllHandler\r\n                }));\r\n                result = evaluateNavigationStrategy(instruction, router.catchAllHandler);\r\n            }\r\n        }\r\n        if (result && parentInstruction) {\r\n            this.baseUrl = generateBaseUrl(this.parent, parentInstruction);\r\n        }\r\n        return result || Promise.reject(new Error(\"Route not found: \" + url));\r\n    };\r\n    /**@internal */\r\n    Router.prototype._findParentInstructionFromRouter = function (router, instruction) {\r\n        if (instruction.router === router) {\r\n            instruction.fragment = router.baseUrl; // need to change the fragment in case of a redirect instead of moduleId\r\n            return instruction;\r\n        }\r\n        else if (instruction.parentInstruction) {\r\n            return this._findParentInstructionFromRouter(router, instruction.parentInstruction);\r\n        }\r\n        return undefined;\r\n    };\r\n    /**@internal */\r\n    Router.prototype._parentCatchAllHandler = function (router) {\r\n        if (router.catchAllHandler) {\r\n            return router;\r\n        }\r\n        else if (router.parent) {\r\n            return this._parentCatchAllHandler(router.parent);\r\n        }\r\n        return false;\r\n    };\r\n    /**\r\n     * @internal\r\n     */\r\n    Router.prototype._createRouteConfig = function (config, instruction) {\r\n        var _this = this;\r\n        return Promise\r\n            .resolve(config)\r\n            .then(function (c) {\r\n            if (typeof c === 'string') {\r\n                return { moduleId: c };\r\n            }\r\n            else if (typeof c === 'function') {\r\n                return c(instruction);\r\n            }\r\n            return c;\r\n        })\r\n            // typing here could be either RouteConfig or RedirectConfig\r\n            // but temporarily treat both as RouteConfig\r\n            // todo: improve typings precision\r\n            .then(function (c) { return typeof c === 'string' ? { moduleId: c } : c; })\r\n            .then(function (c) {\r\n            c.route = instruction.params.path;\r\n            validateRouteConfig(c);\r\n            if (!c.navModel) {\r\n                c.navModel = _this.createNavModel(c);\r\n            }\r\n            return c;\r\n        });\r\n    };\r\n    return Router;\r\n}());\r\n/* @internal exported for unit testing */\r\nvar generateBaseUrl = function (router, instruction) {\r\n    return \"\" + (router.baseUrl || '') + (instruction.getBaseUrl() || '');\r\n};\r\n/* @internal exported for unit testing */\r\nvar validateRouteConfig = function (config) {\r\n    if (typeof config !== 'object') {\r\n        throw new Error('Invalid Route Config');\r\n    }\r\n    if (typeof config.route !== 'string') {\r\n        var name_1 = config.name || '(no name)';\r\n        throw new Error('Invalid Route Config for \"' + name_1 + '\": You must specify a \"route:\" pattern.');\r\n    }\r\n    if (!('redirect' in config || config.moduleId || config.navigationStrategy || config.viewPorts)) {\r\n        throw new Error('Invalid Route Config for \"' + config.route + '\": You must specify a \"moduleId:\", \"redirect:\", \"navigationStrategy:\", or \"viewPorts:\".');\r\n    }\r\n};\r\n/* @internal exported for unit testing */\r\nvar evaluateNavigationStrategy = function (instruction, evaluator, context) {\r\n    return Promise\r\n        .resolve(evaluator.call(context, instruction))\r\n        .then(function () {\r\n        if (!('viewPorts' in instruction.config)) {\r\n            instruction.config.viewPorts = {\r\n                'default': {\r\n                    moduleId: instruction.config.moduleId\r\n                }\r\n            };\r\n        }\r\n        return instruction;\r\n    });\r\n};\n\n/**@internal exported for unit testing */\r\nvar createNextFn = function (instruction, steps) {\r\n    var index = -1;\r\n    var next = function () {\r\n        index++;\r\n        if (index < steps.length) {\r\n            var currentStep = steps[index];\r\n            try {\r\n                return currentStep(instruction, next);\r\n            }\r\n            catch (e) {\r\n                return next.reject(e);\r\n            }\r\n        }\r\n        else {\r\n            return next.complete();\r\n        }\r\n    };\r\n    next.complete = createCompletionHandler(next, \"completed\" /* Completed */);\r\n    next.cancel = createCompletionHandler(next, \"canceled\" /* Canceled */);\r\n    next.reject = createCompletionHandler(next, \"rejected\" /* Rejected */);\r\n    return next;\r\n};\r\n/**@internal exported for unit testing */\r\nvar createCompletionHandler = function (next, status) {\r\n    return function (output) { return Promise\r\n        .resolve({\r\n        status: status,\r\n        output: output,\r\n        completed: status === \"completed\" /* Completed */\r\n    }); };\r\n};\n\n/**\r\n * The class responsible for managing and processing the navigation pipeline.\r\n */\r\nvar Pipeline = /** @class */ (function () {\r\n    function Pipeline() {\r\n        /**\r\n         * The pipeline steps. And steps added via addStep will be converted to a function\r\n         * The actualy running functions with correct step contexts of this pipeline\r\n         */\r\n        this.steps = [];\r\n    }\r\n    /**\r\n     * Adds a step to the pipeline.\r\n     *\r\n     * @param step The pipeline step.\r\n     */\r\n    Pipeline.prototype.addStep = function (step) {\r\n        var run;\r\n        if (typeof step === 'function') {\r\n            run = step;\r\n        }\r\n        else if (typeof step.getSteps === 'function') {\r\n            // getSteps is to enable support open slots\r\n            // where devs can add multiple steps into the same slot name\r\n            var steps = step.getSteps();\r\n            for (var i = 0, l = steps.length; i < l; i++) {\r\n                this.addStep(steps[i]);\r\n            }\r\n            return this;\r\n        }\r\n        else {\r\n            run = step.run.bind(step);\r\n        }\r\n        this.steps.push(run);\r\n        return this;\r\n    };\r\n    /**\r\n     * Runs the pipeline.\r\n     *\r\n     * @param instruction The navigation instruction to process.\r\n     */\r\n    Pipeline.prototype.run = function (instruction) {\r\n        var nextFn = createNextFn(instruction, this.steps);\r\n        return nextFn();\r\n    };\r\n    return Pipeline;\r\n}());\n\n/**\r\n* Determines if the provided object is a navigation command.\r\n* A navigation command is anything with a navigate method.\r\n*\r\n* @param obj The object to check.\r\n*/\r\nfunction isNavigationCommand(obj) {\r\n    return obj && typeof obj.navigate === 'function';\r\n}\r\n/**\r\n* Used during the activation lifecycle to cause a redirect.\r\n*/\r\nvar Redirect = /** @class */ (function () {\r\n    /**\r\n     * @param url The URL fragment to use as the navigation destination.\r\n     * @param options The navigation options.\r\n     */\r\n    function Redirect(url, options) {\r\n        if (options === void 0) { options = {}; }\r\n        this.url = url;\r\n        this.options = Object.assign({ trigger: true, replace: true }, options);\r\n        this.shouldContinueProcessing = false;\r\n    }\r\n    /**\r\n     * Called by the activation system to set the child router.\r\n     *\r\n     * @param router The router.\r\n     */\r\n    Redirect.prototype.setRouter = function (router) {\r\n        this.router = router;\r\n    };\r\n    /**\r\n     * Called by the navigation pipeline to navigate.\r\n     *\r\n     * @param appRouter The router to be redirected.\r\n     */\r\n    Redirect.prototype.navigate = function (appRouter) {\r\n        var navigatingRouter = this.options.useAppRouter ? appRouter : (this.router || appRouter);\r\n        navigatingRouter.navigate(this.url, this.options);\r\n    };\r\n    return Redirect;\r\n}());\r\n/**\r\n * Used during the activation lifecycle to cause a redirect to a named route.\r\n */\r\nvar RedirectToRoute = /** @class */ (function () {\r\n    /**\r\n     * @param route The name of the route.\r\n     * @param params The parameters to be sent to the activation method.\r\n     * @param options The options to use for navigation.\r\n     */\r\n    function RedirectToRoute(route, params, options) {\r\n        if (params === void 0) { params = {}; }\r\n        if (options === void 0) { options = {}; }\r\n        this.route = route;\r\n        this.params = params;\r\n        this.options = Object.assign({ trigger: true, replace: true }, options);\r\n        this.shouldContinueProcessing = false;\r\n    }\r\n    /**\r\n     * Called by the activation system to set the child router.\r\n     *\r\n     * @param router The router.\r\n     */\r\n    RedirectToRoute.prototype.setRouter = function (router) {\r\n        this.router = router;\r\n    };\r\n    /**\r\n     * Called by the navigation pipeline to navigate.\r\n     *\r\n     * @param appRouter The router to be redirected.\r\n     */\r\n    RedirectToRoute.prototype.navigate = function (appRouter) {\r\n        var navigatingRouter = this.options.useAppRouter ? appRouter : (this.router || appRouter);\r\n        navigatingRouter.navigateToRoute(this.route, this.params, this.options);\r\n    };\r\n    return RedirectToRoute;\r\n}());\n\n/**\r\n * @internal exported for unit testing\r\n */\r\nfunction _buildNavigationPlan(instruction, forceLifecycleMinimum) {\r\n    var config = instruction.config;\r\n    if ('redirect' in config) {\r\n        return buildRedirectPlan(instruction);\r\n    }\r\n    var prevInstruction = instruction.previousInstruction;\r\n    var defaultViewPortConfigs = instruction.router.viewPortDefaults;\r\n    if (prevInstruction) {\r\n        return buildTransitionPlans(instruction, prevInstruction, defaultViewPortConfigs, forceLifecycleMinimum);\r\n    }\r\n    // first navigation, only need to prepare a few information for each viewport plan\r\n    var viewPortPlans = {};\r\n    var viewPortConfigs = config.viewPorts;\r\n    for (var viewPortName in viewPortConfigs) {\r\n        var viewPortConfig = viewPortConfigs[viewPortName];\r\n        if (viewPortConfig.moduleId === null && viewPortName in defaultViewPortConfigs) {\r\n            viewPortConfig = defaultViewPortConfigs[viewPortName];\r\n        }\r\n        viewPortPlans[viewPortName] = {\r\n            name: viewPortName,\r\n            strategy: \"replace\" /* Replace */,\r\n            config: viewPortConfig\r\n        };\r\n    }\r\n    return Promise.resolve(viewPortPlans);\r\n}\r\n/**\r\n * Build redirect plan based on config of a navigation instruction\r\n * @internal exported for unit testing\r\n */\r\nvar buildRedirectPlan = function (instruction) {\r\n    var config = instruction.config;\r\n    var router = instruction.router;\r\n    return router\r\n        ._createNavigationInstruction(config.redirect)\r\n        .then(function (redirectInstruction) {\r\n        var params = {};\r\n        var originalInstructionParams = instruction.params;\r\n        var redirectInstructionParams = redirectInstruction.params;\r\n        for (var key in redirectInstructionParams) {\r\n            // If the param on the redirect points to another param, e.g. { route: first/:this, redirect: second/:this }\r\n            var val = redirectInstructionParams[key];\r\n            if (typeof val === 'string' && val[0] === ':') {\r\n                val = val.slice(1);\r\n                // And if that param is found on the original instruction then use it\r\n                if (val in originalInstructionParams) {\r\n                    params[key] = originalInstructionParams[val];\r\n                }\r\n            }\r\n            else {\r\n                params[key] = redirectInstructionParams[key];\r\n            }\r\n        }\r\n        var redirectLocation = router.generate(redirectInstruction.config, params, instruction.options);\r\n        // Special handling for child routes\r\n        for (var key in originalInstructionParams) {\r\n            redirectLocation = redirectLocation.replace(\":\" + key, originalInstructionParams[key]);\r\n        }\r\n        var queryString = instruction.queryString;\r\n        if (queryString) {\r\n            redirectLocation += '?' + queryString;\r\n        }\r\n        return Promise.resolve(new Redirect(redirectLocation));\r\n    });\r\n};\r\n/**\r\n * @param viewPortPlans the Plan record that holds information about built plans\r\n * @internal exported for unit testing\r\n */\r\nvar buildTransitionPlans = function (currentInstruction, previousInstruction, defaultViewPortConfigs, forceLifecycleMinimum) {\r\n    var viewPortPlans = {};\r\n    var newInstructionConfig = currentInstruction.config;\r\n    var hasNewParams = hasDifferentParameterValues(previousInstruction, currentInstruction);\r\n    var pending = [];\r\n    var previousViewPortInstructions = previousInstruction.viewPortInstructions;\r\n    var _loop_1 = function (viewPortName) {\r\n        var prevViewPortInstruction = previousViewPortInstructions[viewPortName];\r\n        var prevViewPortComponent = prevViewPortInstruction.component;\r\n        var newInstructionViewPortConfigs = newInstructionConfig.viewPorts;\r\n        // if this is invoked on a viewport without any changes, based on new url,\r\n        // newViewPortConfig will be the existing viewport instruction\r\n        var nextViewPortConfig = viewPortName in newInstructionViewPortConfigs\r\n            ? newInstructionViewPortConfigs[viewPortName]\r\n            : prevViewPortInstruction;\r\n        if (nextViewPortConfig.moduleId === null && viewPortName in defaultViewPortConfigs) {\r\n            nextViewPortConfig = defaultViewPortConfigs[viewPortName];\r\n        }\r\n        var viewPortActivationStrategy = determineActivationStrategy(currentInstruction, prevViewPortInstruction, nextViewPortConfig, hasNewParams, forceLifecycleMinimum);\r\n        var viewPortPlan = viewPortPlans[viewPortName] = {\r\n            name: viewPortName,\r\n            // ViewPortInstruction can quack like a RouteConfig\r\n            config: nextViewPortConfig,\r\n            prevComponent: prevViewPortComponent,\r\n            prevModuleId: prevViewPortInstruction.moduleId,\r\n            strategy: viewPortActivationStrategy\r\n        };\r\n        // recursively build nav plans for all existing child routers/viewports of this viewport\r\n        // this is possible because existing child viewports and routers already have necessary information\r\n        // to process the wildcard path from parent instruction\r\n        if (viewPortActivationStrategy !== \"replace\" /* Replace */ && prevViewPortInstruction.childRouter) {\r\n            var path = currentInstruction.getWildcardPath();\r\n            var task = prevViewPortInstruction\r\n                .childRouter\r\n                ._createNavigationInstruction(path, currentInstruction)\r\n                .then(function (childInstruction) {\r\n                viewPortPlan.childNavigationInstruction = childInstruction;\r\n                return _buildNavigationPlan(childInstruction, \r\n                // is it safe to assume viewPortPlan has not been changed from previous assignment?\r\n                // if so, can just use local variable viewPortPlanStrategy\r\n                // there could be user code modifying viewport plan during _createNavigationInstruction?\r\n                viewPortPlan.strategy === \"invoke-lifecycle\" /* InvokeLifecycle */)\r\n                    .then(function (childPlan) {\r\n                    if (childPlan instanceof Redirect) {\r\n                        return Promise.reject(childPlan);\r\n                    }\r\n                    childInstruction.plan = childPlan;\r\n                    // for bluebird ?\r\n                    return null;\r\n                });\r\n            });\r\n            pending.push(task);\r\n        }\r\n    };\r\n    for (var viewPortName in previousViewPortInstructions) {\r\n        _loop_1(viewPortName);\r\n    }\r\n    return Promise.all(pending).then(function () { return viewPortPlans; });\r\n};\r\n/**\r\n * @param newViewPortConfig if this is invoked on a viewport without any changes, based on new url, newViewPortConfig will be the existing viewport instruction\r\n * @internal exported for unit testing\r\n */\r\nvar determineActivationStrategy = function (currentNavInstruction, prevViewPortInstruction, newViewPortConfig, \r\n// indicates whether there is difference between old and new url params\r\nhasNewParams, forceLifecycleMinimum) {\r\n    var newInstructionConfig = currentNavInstruction.config;\r\n    var prevViewPortViewModel = prevViewPortInstruction.component.viewModel;\r\n    var viewPortPlanStrategy;\r\n    if (prevViewPortInstruction.moduleId !== newViewPortConfig.moduleId) {\r\n        viewPortPlanStrategy = \"replace\" /* Replace */;\r\n    }\r\n    else if ('determineActivationStrategy' in prevViewPortViewModel) {\r\n        viewPortPlanStrategy = prevViewPortViewModel.determineActivationStrategy.apply(prevViewPortViewModel, currentNavInstruction.lifecycleArgs);\r\n    }\r\n    else if (newInstructionConfig.activationStrategy) {\r\n        viewPortPlanStrategy = newInstructionConfig.activationStrategy;\r\n    }\r\n    else if (hasNewParams || forceLifecycleMinimum) {\r\n        viewPortPlanStrategy = \"invoke-lifecycle\" /* InvokeLifecycle */;\r\n    }\r\n    else {\r\n        viewPortPlanStrategy = \"no-change\" /* NoChange */;\r\n    }\r\n    return viewPortPlanStrategy;\r\n};\r\n/**@internal exported for unit testing */\r\nvar hasDifferentParameterValues = function (prev, next) {\r\n    var prevParams = prev.params;\r\n    var nextParams = next.params;\r\n    var nextWildCardName = next.config.hasChildRouter ? next.getWildCardName() : null;\r\n    for (var key in nextParams) {\r\n        if (key === nextWildCardName) {\r\n            continue;\r\n        }\r\n        if (prevParams[key] !== nextParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    for (var key in prevParams) {\r\n        if (key === nextWildCardName) {\r\n            continue;\r\n        }\r\n        if (prevParams[key] !== nextParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    if (!next.options.compareQueryParams) {\r\n        return false;\r\n    }\r\n    var prevQueryParams = prev.queryParams;\r\n    var nextQueryParams = next.queryParams;\r\n    for (var key in nextQueryParams) {\r\n        if (prevQueryParams[key] !== nextQueryParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    for (var key in prevQueryParams) {\r\n        if (prevQueryParams[key] !== nextQueryParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    return false;\r\n};\n\n/**\r\n * Transform a navigation instruction into viewport plan record object,\r\n * or a redirect request if user viewmodel demands\r\n */\r\nvar BuildNavigationPlanStep = /** @class */ (function () {\r\n    function BuildNavigationPlanStep() {\r\n    }\r\n    BuildNavigationPlanStep.prototype.run = function (navigationInstruction, next) {\r\n        return _buildNavigationPlan(navigationInstruction)\r\n            .then(function (plan) {\r\n            if (plan instanceof Redirect) {\r\n                return next.cancel(plan);\r\n            }\r\n            navigationInstruction.plan = plan;\r\n            return next();\r\n        })\r\n            .catch(next.cancel);\r\n    };\r\n    return BuildNavigationPlanStep;\r\n}());\n\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar loadNewRoute = function (routeLoader, navigationInstruction) {\r\n    var loadingPlans = determineLoadingPlans(navigationInstruction);\r\n    var loadPromises = loadingPlans.map(function (loadingPlan) { return loadRoute(routeLoader, loadingPlan.navigationInstruction, loadingPlan.viewPortPlan); });\r\n    return Promise.all(loadPromises);\r\n};\r\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar determineLoadingPlans = function (navigationInstruction, loadingPlans) {\r\n    if (loadingPlans === void 0) { loadingPlans = []; }\r\n    var viewPortPlans = navigationInstruction.plan;\r\n    for (var viewPortName in viewPortPlans) {\r\n        var viewPortPlan = viewPortPlans[viewPortName];\r\n        var childNavInstruction = viewPortPlan.childNavigationInstruction;\r\n        if (viewPortPlan.strategy === \"replace\" /* Replace */) {\r\n            loadingPlans.push({ viewPortPlan: viewPortPlan, navigationInstruction: navigationInstruction });\r\n            if (childNavInstruction) {\r\n                determineLoadingPlans(childNavInstruction, loadingPlans);\r\n            }\r\n        }\r\n        else {\r\n            var viewPortInstruction = navigationInstruction.addViewPortInstruction({\r\n                name: viewPortName,\r\n                strategy: viewPortPlan.strategy,\r\n                moduleId: viewPortPlan.prevModuleId,\r\n                component: viewPortPlan.prevComponent\r\n            });\r\n            if (childNavInstruction) {\r\n                viewPortInstruction.childNavigationInstruction = childNavInstruction;\r\n                determineLoadingPlans(childNavInstruction, loadingPlans);\r\n            }\r\n        }\r\n    }\r\n    return loadingPlans;\r\n};\r\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar loadRoute = function (routeLoader, navigationInstruction, viewPortPlan) {\r\n    var planConfig = viewPortPlan.config;\r\n    var moduleId = planConfig ? planConfig.moduleId : null;\r\n    return loadComponent(routeLoader, navigationInstruction, planConfig)\r\n        .then(function (component) {\r\n        var viewPortInstruction = navigationInstruction.addViewPortInstruction({\r\n            name: viewPortPlan.name,\r\n            strategy: viewPortPlan.strategy,\r\n            moduleId: moduleId,\r\n            component: component\r\n        });\r\n        var childRouter = component.childRouter;\r\n        if (childRouter) {\r\n            var path = navigationInstruction.getWildcardPath();\r\n            return childRouter\r\n                ._createNavigationInstruction(path, navigationInstruction)\r\n                .then(function (childInstruction) {\r\n                viewPortPlan.childNavigationInstruction = childInstruction;\r\n                return _buildNavigationPlan(childInstruction)\r\n                    .then(function (childPlan) {\r\n                    if (childPlan instanceof Redirect) {\r\n                        return Promise.reject(childPlan);\r\n                    }\r\n                    childInstruction.plan = childPlan;\r\n                    viewPortInstruction.childNavigationInstruction = childInstruction;\r\n                    return loadNewRoute(routeLoader, childInstruction);\r\n                });\r\n            });\r\n        }\r\n        // ts complains without this, though they are same\r\n        return void 0;\r\n    });\r\n};\r\n/**\r\n * Load a routed-component based on navigation instruction and route config\r\n * @internal exported for unit testing only\r\n */\r\nvar loadComponent = function (routeLoader, navigationInstruction, config) {\r\n    var router = navigationInstruction.router;\r\n    var lifecycleArgs = navigationInstruction.lifecycleArgs;\r\n    return Promise.resolve()\r\n        .then(function () { return routeLoader.loadRoute(router, config, navigationInstruction); })\r\n        .then(\r\n    /**\r\n     * @param component an object carrying information about loaded route\r\n     * typically contains information about view model, childContainer, view and router\r\n     */\r\n    function (component) {\r\n        var viewModel = component.viewModel, childContainer = component.childContainer;\r\n        component.router = router;\r\n        component.config = config;\r\n        if ('configureRouter' in viewModel) {\r\n            var childRouter_1 = childContainer.getChildRouter();\r\n            component.childRouter = childRouter_1;\r\n            return childRouter_1\r\n                .configure(function (c) { return viewModel.configureRouter(c, childRouter_1, lifecycleArgs[0], lifecycleArgs[1], lifecycleArgs[2]); })\r\n                .then(function () { return component; });\r\n        }\r\n        return component;\r\n    });\r\n};\n\n/**\r\n * Abstract class that is responsible for loading view / view model from a route config\r\n * The default implementation can be found in `aurelia-templating-router`\r\n */\r\nvar RouteLoader = /** @class */ (function () {\r\n    function RouteLoader() {\r\n    }\r\n    /**\r\n     * Load a route config based on its viewmodel / view configuration\r\n     */\r\n    // return typing: return typings used to be never\r\n    // as it was a throw. Changing it to Promise<any> should not cause any issues\r\n    RouteLoader.prototype.loadRoute = function (router, config, navigationInstruction) {\r\n        throw new Error('Route loaders must implement \"loadRoute(router, config, navigationInstruction)\".');\r\n    };\r\n    return RouteLoader;\r\n}());\n\n/**\r\n * A pipeline step responsible for loading a route config of a navigation instruction\r\n */\r\nvar LoadRouteStep = /** @class */ (function () {\r\n    function LoadRouteStep(routeLoader) {\r\n        this.routeLoader = routeLoader;\r\n    }\r\n    /**@internal */\r\n    LoadRouteStep.inject = function () { return [RouteLoader]; };\r\n    /**\r\n     * Run the internal to load route config of a navigation instruction to prepare for next steps in the pipeline\r\n     */\r\n    LoadRouteStep.prototype.run = function (navigationInstruction, next) {\r\n        return loadNewRoute(this.routeLoader, navigationInstruction)\r\n            .then(next, next.cancel);\r\n    };\r\n    return LoadRouteStep;\r\n}());\n\n/**\r\n * A pipeline step for instructing a piepline to commit changes on a navigation instruction\r\n */\r\nvar CommitChangesStep = /** @class */ (function () {\r\n    function CommitChangesStep() {\r\n    }\r\n    CommitChangesStep.prototype.run = function (navigationInstruction, next) {\r\n        return navigationInstruction\r\n            ._commitChanges(/*wait to swap?*/ true)\r\n            .then(function () {\r\n            navigationInstruction._updateTitle();\r\n            return next();\r\n        });\r\n    };\r\n    return CommitChangesStep;\r\n}());\n\n/**\r\n * An optional interface describing the available activation strategies.\r\n * @internal Used internally.\r\n */\r\nvar InternalActivationStrategy;\r\n(function (InternalActivationStrategy) {\r\n    /**\r\n     * Reuse the existing view model, without invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"NoChange\"] = \"no-change\";\r\n    /**\r\n     * Reuse the existing view model, invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"InvokeLifecycle\"] = \"invoke-lifecycle\";\r\n    /**\r\n     * Replace the existing view model, invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"Replace\"] = \"replace\";\r\n})(InternalActivationStrategy || (InternalActivationStrategy = {}));\r\n/**\r\n * The strategy to use when activating modules during navigation.\r\n */\r\n// kept for compat reason\r\nvar activationStrategy = {\r\n    noChange: \"no-change\" /* NoChange */,\r\n    invokeLifecycle: \"invoke-lifecycle\" /* InvokeLifecycle */,\r\n    replace: \"replace\" /* Replace */\r\n};\n\n/**\r\n * Recursively find list of deactivate-able view models\r\n * and invoke the either 'canDeactivate' or 'deactivate' on each\r\n * @internal exported for unit testing\r\n */\r\nvar processDeactivatable = function (navigationInstruction, callbackName, next, ignoreResult) {\r\n    var plan = navigationInstruction.plan;\r\n    var infos = findDeactivatable(plan, callbackName);\r\n    var i = infos.length; // query from inside out\r\n    function inspect(val) {\r\n        if (ignoreResult || shouldContinue(val)) {\r\n            return iterate();\r\n        }\r\n        return next.cancel(val);\r\n    }\r\n    function iterate() {\r\n        if (i--) {\r\n            try {\r\n                var viewModel = infos[i];\r\n                var result = viewModel[callbackName](navigationInstruction);\r\n                return processPotential(result, inspect, next.cancel);\r\n            }\r\n            catch (error) {\r\n                return next.cancel(error);\r\n            }\r\n        }\r\n        navigationInstruction.router.couldDeactivate = true;\r\n        return next();\r\n    }\r\n    return iterate();\r\n};\r\n/**\r\n * Recursively find and returns a list of deactivate-able view models\r\n * @internal exported for unit testing\r\n */\r\nvar findDeactivatable = function (plan, callbackName, list) {\r\n    if (list === void 0) { list = []; }\r\n    for (var viewPortName in plan) {\r\n        var viewPortPlan = plan[viewPortName];\r\n        var prevComponent = viewPortPlan.prevComponent;\r\n        if ((viewPortPlan.strategy === activationStrategy.invokeLifecycle || viewPortPlan.strategy === activationStrategy.replace)\r\n            && prevComponent) {\r\n            var viewModel = prevComponent.viewModel;\r\n            if (callbackName in viewModel) {\r\n                list.push(viewModel);\r\n            }\r\n        }\r\n        if (viewPortPlan.strategy === activationStrategy.replace && prevComponent) {\r\n            addPreviousDeactivatable(prevComponent, callbackName, list);\r\n        }\r\n        else if (viewPortPlan.childNavigationInstruction) {\r\n            findDeactivatable(viewPortPlan.childNavigationInstruction.plan, callbackName, list);\r\n        }\r\n    }\r\n    return list;\r\n};\r\n/**\r\n * @internal exported for unit testing\r\n */\r\nvar addPreviousDeactivatable = function (component, callbackName, list) {\r\n    var childRouter = component.childRouter;\r\n    if (childRouter && childRouter.currentInstruction) {\r\n        var viewPortInstructions = childRouter.currentInstruction.viewPortInstructions;\r\n        for (var viewPortName in viewPortInstructions) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var prevComponent = viewPortInstruction.component;\r\n            var prevViewModel = prevComponent.viewModel;\r\n            if (callbackName in prevViewModel) {\r\n                list.push(prevViewModel);\r\n            }\r\n            addPreviousDeactivatable(prevComponent, callbackName, list);\r\n        }\r\n    }\r\n};\r\n/**\r\n * @internal exported for unit testing\r\n */\r\nvar processActivatable = function (navigationInstruction, callbackName, next, ignoreResult) {\r\n    var infos = findActivatable(navigationInstruction, callbackName);\r\n    var length = infos.length;\r\n    var i = -1; // query from top down\r\n    function inspect(val, router) {\r\n        if (ignoreResult || shouldContinue(val, router)) {\r\n            return iterate();\r\n        }\r\n        return next.cancel(val);\r\n    }\r\n    function iterate() {\r\n        var _a;\r\n        i++;\r\n        if (i < length) {\r\n            try {\r\n                var current_1 = infos[i];\r\n                var result = (_a = current_1.viewModel)[callbackName].apply(_a, current_1.lifecycleArgs);\r\n                return processPotential(result, function (val) { return inspect(val, current_1.router); }, next.cancel);\r\n            }\r\n            catch (error) {\r\n                return next.cancel(error);\r\n            }\r\n        }\r\n        return next();\r\n    }\r\n    return iterate();\r\n};\r\n/**\r\n * Find list of activatable view model and add to list (3rd parameter)\r\n * @internal exported for unit testing\r\n */\r\nvar findActivatable = function (navigationInstruction, callbackName, list, router) {\r\n    if (list === void 0) { list = []; }\r\n    var plan = navigationInstruction.plan;\r\n    Object\r\n        .keys(plan)\r\n        .forEach(function (viewPortName) {\r\n        var viewPortPlan = plan[viewPortName];\r\n        var viewPortInstruction = navigationInstruction.viewPortInstructions[viewPortName];\r\n        var viewPortComponent = viewPortInstruction.component;\r\n        var viewModel = viewPortComponent.viewModel;\r\n        if ((viewPortPlan.strategy === activationStrategy.invokeLifecycle\r\n            || viewPortPlan.strategy === activationStrategy.replace)\r\n            && callbackName in viewModel) {\r\n            list.push({\r\n                viewModel: viewModel,\r\n                lifecycleArgs: viewPortInstruction.lifecycleArgs,\r\n                router: router\r\n            });\r\n        }\r\n        var childNavInstruction = viewPortPlan.childNavigationInstruction;\r\n        if (childNavInstruction) {\r\n            findActivatable(childNavInstruction, callbackName, list, viewPortComponent.childRouter || router);\r\n        }\r\n    });\r\n    return list;\r\n};\r\nvar shouldContinue = function (output, router) {\r\n    if (output instanceof Error) {\r\n        return false;\r\n    }\r\n    if (isNavigationCommand(output)) {\r\n        if (typeof output.setRouter === 'function') {\r\n            output.setRouter(router);\r\n        }\r\n        return !!output.shouldContinueProcessing;\r\n    }\r\n    if (output === undefined) {\r\n        return true;\r\n    }\r\n    return output;\r\n};\r\n/**\r\n * wraps a subscription, allowing unsubscribe calls even if\r\n * the first value comes synchronously\r\n */\r\nvar SafeSubscription = /** @class */ (function () {\r\n    function SafeSubscription(subscriptionFunc) {\r\n        this._subscribed = true;\r\n        this._subscription = subscriptionFunc(this);\r\n        if (!this._subscribed) {\r\n            this.unsubscribe();\r\n        }\r\n    }\r\n    Object.defineProperty(SafeSubscription.prototype, \"subscribed\", {\r\n        get: function () {\r\n            return this._subscribed;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SafeSubscription.prototype.unsubscribe = function () {\r\n        if (this._subscribed && this._subscription) {\r\n            this._subscription.unsubscribe();\r\n        }\r\n        this._subscribed = false;\r\n    };\r\n    return SafeSubscription;\r\n}());\r\n/**\r\n * A function to process return value from `activate`/`canActivate` steps\r\n * Supports observable/promise\r\n *\r\n * For observable, resolve at first next() or on complete()\r\n */\r\nvar processPotential = function (obj, resolve, reject) {\r\n    // if promise like\r\n    if (obj && typeof obj.then === 'function') {\r\n        return Promise.resolve(obj).then(resolve).catch(reject);\r\n    }\r\n    // if observable\r\n    if (obj && typeof obj.subscribe === 'function') {\r\n        var obs_1 = obj;\r\n        return new SafeSubscription(function (sub) { return obs_1.subscribe({\r\n            next: function () {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    resolve(obj);\r\n                }\r\n            },\r\n            error: function (error) {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    reject(error);\r\n                }\r\n            },\r\n            complete: function () {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    resolve(obj);\r\n                }\r\n            }\r\n        }); });\r\n    }\r\n    // else just resolve\r\n    try {\r\n        return resolve(obj);\r\n    }\r\n    catch (error) {\r\n        return reject(error);\r\n    }\r\n};\n\n/**\r\n * A pipeline step responsible for finding and activating method `canDeactivate` on a view model of a route\r\n */\r\nvar CanDeactivatePreviousStep = /** @class */ (function () {\r\n    function CanDeactivatePreviousStep() {\r\n    }\r\n    CanDeactivatePreviousStep.prototype.run = function (navigationInstruction, next) {\r\n        return processDeactivatable(navigationInstruction, 'canDeactivate', next);\r\n    };\r\n    return CanDeactivatePreviousStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `canActivate` on a view model of a route\r\n */\r\nvar CanActivateNextStep = /** @class */ (function () {\r\n    function CanActivateNextStep() {\r\n    }\r\n    CanActivateNextStep.prototype.run = function (navigationInstruction, next) {\r\n        return processActivatable(navigationInstruction, 'canActivate', next);\r\n    };\r\n    return CanActivateNextStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `deactivate` on a view model of a route\r\n */\r\nvar DeactivatePreviousStep = /** @class */ (function () {\r\n    function DeactivatePreviousStep() {\r\n    }\r\n    DeactivatePreviousStep.prototype.run = function (navigationInstruction, next) {\r\n        return processDeactivatable(navigationInstruction, 'deactivate', next, true);\r\n    };\r\n    return DeactivatePreviousStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `activate` on a view model of a route\r\n */\r\nvar ActivateNextStep = /** @class */ (function () {\r\n    function ActivateNextStep() {\r\n    }\r\n    ActivateNextStep.prototype.run = function (navigationInstruction, next) {\r\n        return processActivatable(navigationInstruction, 'activate', next, true);\r\n    };\r\n    return ActivateNextStep;\r\n}());\n\n/**\r\n * A multi-slots Pipeline Placeholder Step for hooking into a pipeline execution\r\n */\r\nvar PipelineSlot = /** @class */ (function () {\r\n    function PipelineSlot(container, name, alias) {\r\n        this.steps = [];\r\n        this.container = container;\r\n        this.slotName = name;\r\n        this.slotAlias = alias;\r\n    }\r\n    PipelineSlot.prototype.getSteps = function () {\r\n        var _this = this;\r\n        return this.steps.map(function (x) { return _this.container.get(x); });\r\n    };\r\n    return PipelineSlot;\r\n}());\r\n/**\r\n * Class responsible for creating the navigation pipeline.\r\n */\r\nvar PipelineProvider = /** @class */ (function () {\r\n    function PipelineProvider(container) {\r\n        this.container = container;\r\n        this.steps = [\r\n            BuildNavigationPlanStep,\r\n            CanDeactivatePreviousStep,\r\n            LoadRouteStep,\r\n            createPipelineSlot(container, \"authorize\" /* Authorize */),\r\n            CanActivateNextStep,\r\n            createPipelineSlot(container, \"preActivate\" /* PreActivate */, 'modelbind'),\r\n            // NOTE: app state changes start below - point of no return\r\n            DeactivatePreviousStep,\r\n            ActivateNextStep,\r\n            createPipelineSlot(container, \"preRender\" /* PreRender */, 'precommit'),\r\n            CommitChangesStep,\r\n            createPipelineSlot(container, \"postRender\" /* PostRender */, 'postcomplete')\r\n        ];\r\n    }\r\n    /**@internal */\r\n    PipelineProvider.inject = function () { return [Container]; };\r\n    /**\r\n     * Create the navigation pipeline.\r\n     */\r\n    PipelineProvider.prototype.createPipeline = function (useCanDeactivateStep) {\r\n        var _this = this;\r\n        if (useCanDeactivateStep === void 0) { useCanDeactivateStep = true; }\r\n        var pipeline = new Pipeline();\r\n        this.steps.forEach(function (step) {\r\n            if (useCanDeactivateStep || step !== CanDeactivatePreviousStep) {\r\n                pipeline.addStep(_this.container.get(step));\r\n            }\r\n        });\r\n        return pipeline;\r\n    };\r\n    /**@internal */\r\n    PipelineProvider.prototype._findStep = function (name) {\r\n        // Steps that are not PipelineSlots are constructor functions, and they will automatically fail. Probably.\r\n        return this.steps.find(function (x) { return x.slotName === name || x.slotAlias === name; });\r\n    };\r\n    /**\r\n     * Adds a step into the pipeline at a known slot location.\r\n     */\r\n    PipelineProvider.prototype.addStep = function (name, step) {\r\n        var found = this._findStep(name);\r\n        if (found) {\r\n            var slotSteps = found.steps;\r\n            // prevent duplicates\r\n            if (!slotSteps.includes(step)) {\r\n                slotSteps.push(step);\r\n            }\r\n        }\r\n        else {\r\n            throw new Error(\"Invalid pipeline slot name: \" + name + \".\");\r\n        }\r\n    };\r\n    /**\r\n     * Removes a step from a slot in the pipeline\r\n     */\r\n    PipelineProvider.prototype.removeStep = function (name, step) {\r\n        var slot = this._findStep(name);\r\n        if (slot) {\r\n            var slotSteps = slot.steps;\r\n            slotSteps.splice(slotSteps.indexOf(step), 1);\r\n        }\r\n    };\r\n    /**\r\n     * Clears all steps from a slot in the pipeline\r\n     * @internal\r\n     */\r\n    PipelineProvider.prototype._clearSteps = function (name) {\r\n        if (name === void 0) { name = ''; }\r\n        var slot = this._findStep(name);\r\n        if (slot) {\r\n            slot.steps = [];\r\n        }\r\n    };\r\n    /**\r\n     * Resets all pipeline slots\r\n     */\r\n    PipelineProvider.prototype.reset = function () {\r\n        this._clearSteps(\"authorize\" /* Authorize */);\r\n        this._clearSteps(\"preActivate\" /* PreActivate */);\r\n        this._clearSteps(\"preRender\" /* PreRender */);\r\n        this._clearSteps(\"postRender\" /* PostRender */);\r\n    };\r\n    return PipelineProvider;\r\n}());\r\n/**@internal */\r\nvar createPipelineSlot = function (container, name, alias) {\r\n    return new PipelineSlot(container, name, alias);\r\n};\n\nvar logger = getLogger('app-router');\r\n/**\r\n * The main application router.\r\n */\r\nvar AppRouter = /** @class */ (function (_super) {\r\n    __extends(AppRouter, _super);\r\n    function AppRouter(container, history, pipelineProvider, events) {\r\n        var _this = _super.call(this, container, history) || this;\r\n        _this.pipelineProvider = pipelineProvider;\r\n        _this.events = events;\r\n        return _this;\r\n    }\r\n    /**@internal */\r\n    AppRouter.inject = function () { return [Container, History, PipelineProvider, EventAggregator]; };\r\n    /**\r\n     * Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\r\n     * Use with caution (actually, avoid using this). Do not use this to simply change your navigation model.\r\n     */\r\n    AppRouter.prototype.reset = function () {\r\n        _super.prototype.reset.call(this);\r\n        this.maxInstructionCount = 10;\r\n        if (!this._queue) {\r\n            this._queue = [];\r\n        }\r\n        else {\r\n            this._queue.length = 0;\r\n        }\r\n    };\r\n    /**\r\n     * Loads the specified URL.\r\n     *\r\n     * @param url The URL fragment to load.\r\n     */\r\n    AppRouter.prototype.loadUrl = function (url) {\r\n        var _this = this;\r\n        return this\r\n            ._createNavigationInstruction(url)\r\n            .then(function (instruction) { return _this._queueInstruction(instruction); })\r\n            .catch(function (error) {\r\n            logger.error(error);\r\n            restorePreviousLocation(_this);\r\n        });\r\n    };\r\n    /**\r\n     * Registers a viewPort to be used as a rendering target for activated routes.\r\n     *\r\n     * @param viewPort The viewPort. This is typically a <router-view/> element in Aurelia default impl\r\n     * @param name The name of the viewPort. 'default' if unspecified.\r\n     */\r\n    AppRouter.prototype.registerViewPort = function (viewPort, name) {\r\n        var _this = this;\r\n        // having strong typing without changing public API\r\n        var $viewPort = viewPort;\r\n        _super.prototype.registerViewPort.call(this, $viewPort, name);\r\n        // beside adding viewport to the registry of this instance\r\n        // AppRouter also configure routing/history to start routing functionality\r\n        // There are situation where there are more than 1 <router-view/> element at root view\r\n        // in that case, still only activate once via the following guard\r\n        if (!this.isActive) {\r\n            var viewModel_1 = this._findViewModel($viewPort);\r\n            if ('configureRouter' in viewModel_1) {\r\n                // If there are more than one <router-view/> element at root view\r\n                // use this flag to guard against configure method being invoked multiple times\r\n                // this flag is set inside method configure\r\n                if (!this.isConfigured) {\r\n                    // replace the real resolve with a noop to guarantee that any action in base class Router\r\n                    // won't resolve the configurePromise prematurely\r\n                    var resolveConfiguredPromise_1 = this._resolveConfiguredPromise;\r\n                    this._resolveConfiguredPromise = function () { };\r\n                    return this\r\n                        .configure(function (config) {\r\n                        return Promise\r\n                            .resolve(viewModel_1.configureRouter(config, _this))\r\n                            // an issue with configure interface. Should be fixed there\r\n                            // todo: fix this via configure interface in router\r\n                            .then(function () { return config; });\r\n                    })\r\n                        .then(function () {\r\n                        _this.activate();\r\n                        resolveConfiguredPromise_1();\r\n                    });\r\n                }\r\n            }\r\n            else {\r\n                this.activate();\r\n            }\r\n        }\r\n        // when a viewport is added dynamically to a root view that is already activated\r\n        // just process the navigation instruction\r\n        else {\r\n            this._dequeueInstruction();\r\n        }\r\n        return Promise.resolve();\r\n    };\r\n    /**\r\n     * Activates the router. This instructs the router to begin listening for history changes and processing instructions.\r\n     *\r\n     * @params options The set of options to activate the router with.\r\n     */\r\n    AppRouter.prototype.activate = function (options) {\r\n        if (this.isActive) {\r\n            return;\r\n        }\r\n        this.isActive = true;\r\n        // route handler property is responsible for handling url change\r\n        // the interface of aurelia-history isn't clear on this perspective\r\n        this.options = Object.assign({ routeHandler: this.loadUrl.bind(this) }, this.options, options);\r\n        this.history.activate(this.options);\r\n        this._dequeueInstruction();\r\n    };\r\n    /**\r\n     * Deactivates the router.\r\n     */\r\n    AppRouter.prototype.deactivate = function () {\r\n        this.isActive = false;\r\n        this.history.deactivate();\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._queueInstruction = function (instruction) {\r\n        var _this = this;\r\n        return new Promise(function (resolve) {\r\n            instruction.resolve = resolve;\r\n            _this._queue.unshift(instruction);\r\n            _this._dequeueInstruction();\r\n        });\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._dequeueInstruction = function (instructionCount) {\r\n        var _this = this;\r\n        if (instructionCount === void 0) { instructionCount = 0; }\r\n        return Promise.resolve().then(function () {\r\n            if (_this.isNavigating && !instructionCount) {\r\n                // ts complains about inconsistent returns without void 0\r\n                return void 0;\r\n            }\r\n            var instruction = _this._queue.shift();\r\n            _this._queue.length = 0;\r\n            if (!instruction) {\r\n                // ts complains about inconsistent returns without void 0\r\n                return void 0;\r\n            }\r\n            _this.isNavigating = true;\r\n            var navtracker = _this.history.getState('NavigationTracker');\r\n            var currentNavTracker = _this.currentNavigationTracker;\r\n            if (!navtracker && !currentNavTracker) {\r\n                _this.isNavigatingFirst = true;\r\n                _this.isNavigatingNew = true;\r\n            }\r\n            else if (!navtracker) {\r\n                _this.isNavigatingNew = true;\r\n            }\r\n            else if (!currentNavTracker) {\r\n                _this.isNavigatingRefresh = true;\r\n            }\r\n            else if (currentNavTracker < navtracker) {\r\n                _this.isNavigatingForward = true;\r\n            }\r\n            else if (currentNavTracker > navtracker) {\r\n                _this.isNavigatingBack = true;\r\n            }\r\n            if (!navtracker) {\r\n                navtracker = Date.now();\r\n                _this.history.setState('NavigationTracker', navtracker);\r\n            }\r\n            _this.currentNavigationTracker = navtracker;\r\n            instruction.previousInstruction = _this.currentInstruction;\r\n            var maxInstructionCount = _this.maxInstructionCount;\r\n            if (!instructionCount) {\r\n                _this.events.publish(\"router:navigation:processing\" /* Processing */, { instruction: instruction });\r\n            }\r\n            else if (instructionCount === maxInstructionCount - 1) {\r\n                logger.error(instructionCount + 1 + \" navigation instructions have been attempted without success. Restoring last known good location.\");\r\n                restorePreviousLocation(_this);\r\n                return _this._dequeueInstruction(instructionCount + 1);\r\n            }\r\n            else if (instructionCount > maxInstructionCount) {\r\n                throw new Error('Maximum navigation attempts exceeded. Giving up.');\r\n            }\r\n            var pipeline = _this.pipelineProvider.createPipeline(!_this.couldDeactivate);\r\n            return pipeline\r\n                .run(instruction)\r\n                .then(function (result) { return processResult(instruction, result, instructionCount, _this); })\r\n                .catch(function (error) {\r\n                return { output: error instanceof Error ? error : new Error(error) };\r\n            })\r\n                .then(function (result) { return resolveInstruction(instruction, result, !!instructionCount, _this); });\r\n        });\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._findViewModel = function (viewPort) {\r\n        if (this.container.viewModel) {\r\n            return this.container.viewModel;\r\n        }\r\n        if (viewPort.container) {\r\n            var container = viewPort.container;\r\n            while (container) {\r\n                if (container.viewModel) {\r\n                    this.container.viewModel = container.viewModel;\r\n                    return container.viewModel;\r\n                }\r\n                container = container.parent;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return AppRouter;\r\n}(Router));\r\nvar processResult = function (instruction, result, instructionCount, router) {\r\n    if (!(result && 'completed' in result && 'output' in result)) {\r\n        result = result || {};\r\n        result.output = new Error(\"Expected router pipeline to return a navigation result, but got [\" + JSON.stringify(result) + \"] instead.\");\r\n    }\r\n    var finalResult = null;\r\n    var navigationCommandResult = null;\r\n    if (isNavigationCommand(result.output)) {\r\n        navigationCommandResult = result.output.navigate(router);\r\n    }\r\n    else {\r\n        finalResult = result;\r\n        if (!result.completed) {\r\n            if (result.output instanceof Error) {\r\n                logger.error(result.output.toString());\r\n            }\r\n            restorePreviousLocation(router);\r\n        }\r\n    }\r\n    return Promise.resolve(navigationCommandResult)\r\n        .then(function (_) { return router._dequeueInstruction(instructionCount + 1); })\r\n        .then(function (innerResult) { return finalResult || innerResult || result; });\r\n};\r\nvar resolveInstruction = function (instruction, result, isInnerInstruction, router) {\r\n    instruction.resolve(result);\r\n    var eventAggregator = router.events;\r\n    var eventArgs = { instruction: instruction, result: result };\r\n    if (!isInnerInstruction) {\r\n        router.isNavigating = false;\r\n        router.isExplicitNavigation = false;\r\n        router.isExplicitNavigationBack = false;\r\n        router.isNavigatingFirst = false;\r\n        router.isNavigatingNew = false;\r\n        router.isNavigatingRefresh = false;\r\n        router.isNavigatingForward = false;\r\n        router.isNavigatingBack = false;\r\n        router.couldDeactivate = false;\r\n        var eventName = void 0;\r\n        if (result.output instanceof Error) {\r\n            eventName = \"router:navigation:error\" /* Error */;\r\n        }\r\n        else if (!result.completed) {\r\n            eventName = \"router:navigation:canceled\" /* Canceled */;\r\n        }\r\n        else {\r\n            var queryString = instruction.queryString ? ('?' + instruction.queryString) : '';\r\n            router.history.previousLocation = instruction.fragment + queryString;\r\n            eventName = \"router:navigation:success\" /* Success */;\r\n        }\r\n        eventAggregator.publish(eventName, eventArgs);\r\n        eventAggregator.publish(\"router:navigation:complete\" /* Complete */, eventArgs);\r\n    }\r\n    else {\r\n        eventAggregator.publish(\"router:navigation:child:complete\" /* ChildComplete */, eventArgs);\r\n    }\r\n    return result;\r\n};\r\nvar restorePreviousLocation = function (router) {\r\n    var previousLocation = router.history.previousLocation;\r\n    if (previousLocation) {\r\n        router.navigate(previousLocation, { trigger: false, replace: true });\r\n    }\r\n    else if (router.fallbackRoute) {\r\n        router.navigate(router.fallbackRoute, { trigger: true, replace: true });\r\n    }\r\n    else {\r\n        logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');\r\n    }\r\n};\n\n/**\r\n* The status of a Pipeline.\r\n*/\r\nvar PipelineStatus;\r\n(function (PipelineStatus) {\r\n    PipelineStatus[\"Completed\"] = \"completed\";\r\n    PipelineStatus[\"Canceled\"] = \"canceled\";\r\n    PipelineStatus[\"Rejected\"] = \"rejected\";\r\n    PipelineStatus[\"Running\"] = \"running\";\r\n})(PipelineStatus || (PipelineStatus = {}));\n\n/**\r\n * A list of known router events used by the Aurelia router\r\n * to signal the pipeline has come to a certain state\r\n */\r\n// const enum is preserved in tsconfig\r\nvar RouterEvent;\r\n(function (RouterEvent) {\r\n    RouterEvent[\"Processing\"] = \"router:navigation:processing\";\r\n    RouterEvent[\"Error\"] = \"router:navigation:error\";\r\n    RouterEvent[\"Canceled\"] = \"router:navigation:canceled\";\r\n    RouterEvent[\"Complete\"] = \"router:navigation:complete\";\r\n    RouterEvent[\"Success\"] = \"router:navigation:success\";\r\n    RouterEvent[\"ChildComplete\"] = \"router:navigation:child:complete\";\r\n})(RouterEvent || (RouterEvent = {}));\n\n/**\r\n * Available pipeline slot names to insert interceptor into router pipeline\r\n */\r\n// const enum is preserved in tsconfig\r\nvar PipelineSlotName;\r\n(function (PipelineSlotName) {\r\n    /**\r\n     * Authorization slot. Invoked early in the pipeline,\r\n     * before `canActivate` hook of incoming route\r\n     */\r\n    PipelineSlotName[\"Authorize\"] = \"authorize\";\r\n    /**\r\n     * Pre-activation slot. Invoked early in the pipeline,\r\n     * Invoked timing:\r\n     *   - after Authorization slot\r\n     *   - after canActivate hook on new view model\r\n     *   - before deactivate hook on old view model\r\n     *   - before activate hook on new view model\r\n     */\r\n    PipelineSlotName[\"PreActivate\"] = \"preActivate\";\r\n    /**\r\n     * Pre-render slot. Invoked later in the pipeline\r\n     * Invokcation timing:\r\n     *   - after activate hook on new view model\r\n     *   - before commit step on new navigation instruction\r\n     */\r\n    PipelineSlotName[\"PreRender\"] = \"preRender\";\r\n    /**\r\n     * Post-render slot. Invoked last in the pipeline\r\n     */\r\n    PipelineSlotName[\"PostRender\"] = \"postRender\";\r\n})(PipelineSlotName || (PipelineSlotName = {}));\n\nexport { ActivateNextStep, AppRouter, BuildNavigationPlanStep, CanActivateNextStep, CanDeactivatePreviousStep, CommitChangesStep, DeactivatePreviousStep, LoadRouteStep, NavModel, NavigationInstruction, Pipeline, PipelineProvider, PipelineSlotName, PipelineStatus, Redirect, RedirectToRoute, RouteLoader, Router, RouterConfiguration, RouterEvent, activationStrategy, isNavigationCommand };\n//# sourceMappingURL=aurelia-router.js.map\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nimport { DOM, FEATURE } from 'aurelia-pal';\n\nvar stackSeparator = '\\nEnqueued in TaskQueue by:\\n';\nvar microStackSeparator = '\\nEnqueued in MicroTaskQueue by:\\n';\n\nfunction makeRequestFlushFromMutationObserver(flush) {\n  var observer = DOM.createMutationObserver(flush);\n  var val = 'a';\n  var node = DOM.createTextNode('a');\n  var values = Object.create(null);\n  values.a = 'b';\n  values.b = 'a';\n  observer.observe(node, { characterData: true });\n  return function requestFlush() {\n    node.data = val = values[val];\n  };\n}\n\nfunction makeRequestFlushFromTimer(flush) {\n  return function requestFlush() {\n    var timeoutHandle = setTimeout(handleFlushTimer, 0);\n\n    var intervalHandle = setInterval(handleFlushTimer, 50);\n    function handleFlushTimer() {\n      clearTimeout(timeoutHandle);\n      clearInterval(intervalHandle);\n      flush();\n    }\n  };\n}\n\nfunction onError(error, task, longStacks) {\n  if (longStacks && task.stack && (typeof error === 'undefined' ? 'undefined' : _typeof(error)) === 'object' && error !== null) {\n    error.stack = filterFlushStack(error.stack) + task.stack;\n  }\n\n  if ('onError' in task) {\n    task.onError(error);\n  } else {\n    setTimeout(function () {\n      throw error;\n    }, 0);\n  }\n}\n\nexport var TaskQueue = function () {\n  function TaskQueue() {\n    var _this = this;\n\n    \n\n    this.flushing = false;\n    this.longStacks = false;\n\n    this.microTaskQueue = [];\n    this.microTaskQueueCapacity = 1024;\n    this.taskQueue = [];\n\n    if (FEATURE.mutationObserver) {\n      this.requestFlushMicroTaskQueue = makeRequestFlushFromMutationObserver(function () {\n        return _this.flushMicroTaskQueue();\n      });\n    } else {\n      this.requestFlushMicroTaskQueue = makeRequestFlushFromTimer(function () {\n        return _this.flushMicroTaskQueue();\n      });\n    }\n\n    this.requestFlushTaskQueue = makeRequestFlushFromTimer(function () {\n      return _this.flushTaskQueue();\n    });\n  }\n\n  TaskQueue.prototype._flushQueue = function _flushQueue(queue, capacity) {\n    var index = 0;\n    var task = void 0;\n\n    try {\n      this.flushing = true;\n      while (index < queue.length) {\n        task = queue[index];\n        if (this.longStacks) {\n          this.stack = typeof task.stack === 'string' ? task.stack : undefined;\n        }\n        task.call();\n        index++;\n\n        if (index > capacity) {\n          for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n            queue[scan] = queue[scan + index];\n          }\n\n          queue.length -= index;\n          index = 0;\n        }\n      }\n    } catch (error) {\n      onError(error, task, this.longStacks);\n    } finally {\n      this.flushing = false;\n    }\n  };\n\n  TaskQueue.prototype.queueMicroTask = function queueMicroTask(task) {\n    if (this.microTaskQueue.length < 1) {\n      this.requestFlushMicroTaskQueue();\n    }\n\n    if (this.longStacks) {\n      task.stack = this.prepareQueueStack(microStackSeparator);\n    }\n\n    this.microTaskQueue.push(task);\n  };\n\n  TaskQueue.prototype.queueTask = function queueTask(task) {\n    if (this.taskQueue.length < 1) {\n      this.requestFlushTaskQueue();\n    }\n\n    if (this.longStacks) {\n      task.stack = this.prepareQueueStack(stackSeparator);\n    }\n\n    this.taskQueue.push(task);\n  };\n\n  TaskQueue.prototype.flushTaskQueue = function flushTaskQueue() {\n    var queue = this.taskQueue;\n    this.taskQueue = [];\n    this._flushQueue(queue, Number.MAX_VALUE);\n  };\n\n  TaskQueue.prototype.flushMicroTaskQueue = function flushMicroTaskQueue() {\n    var queue = this.microTaskQueue;\n    this._flushQueue(queue, this.microTaskQueueCapacity);\n    queue.length = 0;\n  };\n\n  TaskQueue.prototype.prepareQueueStack = function prepareQueueStack(separator) {\n    var stack = separator + filterQueueStack(captureStack());\n\n    if (typeof this.stack === 'string') {\n      stack = filterFlushStack(stack) + this.stack;\n    }\n\n    return stack;\n  };\n\n  return TaskQueue;\n}();\n\nfunction captureStack() {\n  var error = new Error();\n\n  if (error.stack) {\n    return error.stack;\n  }\n\n  try {\n    throw error;\n  } catch (e) {\n    return e.stack;\n  }\n}\n\nfunction filterQueueStack(stack) {\n  return stack.replace(/^[\\s\\S]*?\\bqueue(Micro)?Task\\b[^\\n]*\\n/, '');\n}\n\nfunction filterFlushStack(stack) {\n  var index = stack.lastIndexOf('flushMicroTaskQueue');\n\n  if (index < 0) {\n    index = stack.lastIndexOf('flushTaskQueue');\n    if (index < 0) {\n      return stack;\n    }\n  }\n\n  index = stack.lastIndexOf('\\n', index);\n\n  return index < 0 ? stack : stack.substr(0, index);\n}","import { BehaviorInstruction, BindingLanguage } from 'aurelia-templating';\nimport { camelCase, SVGAnalyzer, bindingMode, enqueueBindingConnect, connectable, sourceContext, BindingExpression, ListenerExpression, delegationStrategy, CallExpression, Parser, ObserverLocator, EventManager, NameExpression, LiteralString } from 'aurelia-binding';\nimport * as LogManager from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    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 extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(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\nfunction __decorate(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}\n\nvar AttributeMap = (function () {\r\n    function AttributeMap(svg) {\r\n        this.elements = Object.create(null);\r\n        this.allElements = Object.create(null);\r\n        this.svg = svg;\r\n        this.registerUniversal('accesskey', 'accessKey');\r\n        this.registerUniversal('contenteditable', 'contentEditable');\r\n        this.registerUniversal('tabindex', 'tabIndex');\r\n        this.registerUniversal('textcontent', 'textContent');\r\n        this.registerUniversal('innerhtml', 'innerHTML');\r\n        this.registerUniversal('scrolltop', 'scrollTop');\r\n        this.registerUniversal('scrollleft', 'scrollLeft');\r\n        this.registerUniversal('readonly', 'readOnly');\r\n        this.register('label', 'for', 'htmlFor');\r\n        this.register('img', 'usemap', 'useMap');\r\n        this.register('input', 'maxlength', 'maxLength');\r\n        this.register('input', 'minlength', 'minLength');\r\n        this.register('input', 'formaction', 'formAction');\r\n        this.register('input', 'formenctype', 'formEncType');\r\n        this.register('input', 'formmethod', 'formMethod');\r\n        this.register('input', 'formnovalidate', 'formNoValidate');\r\n        this.register('input', 'formtarget', 'formTarget');\r\n        this.register('textarea', 'maxlength', 'maxLength');\r\n        this.register('td', 'rowspan', 'rowSpan');\r\n        this.register('td', 'colspan', 'colSpan');\r\n        this.register('th', 'rowspan', 'rowSpan');\r\n        this.register('th', 'colspan', 'colSpan');\r\n    }\r\n    AttributeMap.prototype.register = function (elementName, attributeName, propertyName) {\r\n        elementName = elementName.toLowerCase();\r\n        attributeName = attributeName.toLowerCase();\r\n        var element = this.elements[elementName] = (this.elements[elementName] || Object.create(null));\r\n        element[attributeName] = propertyName;\r\n    };\r\n    AttributeMap.prototype.registerUniversal = function (attributeName, propertyName) {\r\n        attributeName = attributeName.toLowerCase();\r\n        this.allElements[attributeName] = propertyName;\r\n    };\r\n    AttributeMap.prototype.map = function (elementName, attributeName) {\r\n        if (this.svg.isStandardSvgAttribute(elementName, attributeName)) {\r\n            return attributeName;\r\n        }\r\n        elementName = elementName.toLowerCase();\r\n        attributeName = attributeName.toLowerCase();\r\n        var element = this.elements[elementName];\r\n        if (element !== undefined && attributeName in element) {\r\n            return element[attributeName];\r\n        }\r\n        if (attributeName in this.allElements) {\r\n            return this.allElements[attributeName];\r\n        }\r\n        if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) {\r\n            return attributeName;\r\n        }\r\n        return camelCase(attributeName);\r\n    };\r\n    AttributeMap.inject = [SVGAnalyzer];\r\n    return AttributeMap;\r\n}());\n\nvar InterpolationBindingExpression = (function () {\r\n    function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) {\r\n        this.observerLocator = observerLocator;\r\n        this.targetProperty = targetProperty;\r\n        this.parts = parts;\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.attribute = this.attrToRemove = attribute;\r\n        this.discrete = false;\r\n    }\r\n    InterpolationBindingExpression.prototype.createBinding = function (target) {\r\n        if (this.parts.length === 3) {\r\n            return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]);\r\n        }\r\n        return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions);\r\n    };\r\n    return InterpolationBindingExpression;\r\n}());\r\nfunction validateTarget(target, propertyName) {\r\n    if (propertyName === 'style') {\r\n        LogManager.getLogger('templating-binding')\r\n            .info('Internet Explorer does not support interpolation in \"style\" attributes.  Use the style attribute\\'s alias, \"css\" instead.');\r\n    }\r\n    else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') {\r\n        throw new Error('Interpolation binding cannot be used in the content of a textarea element.  Use <textarea value.bind=\"expression\"></textarea> instead.');\r\n    }\r\n}\r\nvar InterpolationBinding = (function () {\r\n    function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) {\r\n        validateTarget(target, targetProperty);\r\n        this.observerLocator = observerLocator;\r\n        this.parts = parts;\r\n        this.target = target;\r\n        this.targetProperty = targetProperty;\r\n        this.targetAccessor = observerLocator.getAccessor(target, targetProperty);\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n    }\r\n    InterpolationBinding.prototype.interpolate = function () {\r\n        if (this.isBound) {\r\n            var value = '';\r\n            var parts = this.parts;\r\n            for (var i = 0, ii = parts.length; i < ii; i++) {\r\n                value += (i % 2 === 0 ? parts[i] : this[\"childBinding\".concat(i)].value);\r\n            }\r\n            this.targetAccessor.setValue(value, this.target, this.targetProperty);\r\n        }\r\n    };\r\n    InterpolationBinding.prototype.updateOneTimeBindings = function () {\r\n        for (var i = 1, ii = this.parts.length; i < ii; i += 2) {\r\n            var child = this[\"childBinding\".concat(i)];\r\n            if (child.mode === bindingMode.oneTime) {\r\n                child.call();\r\n            }\r\n        }\r\n    };\r\n    InterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.source = source;\r\n        var parts = this.parts;\r\n        for (var i = 1, ii = parts.length; i < ii; i += 2) {\r\n            var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions);\r\n            binding.bind(source);\r\n            this[\"childBinding\".concat(i)] = binding;\r\n        }\r\n        this.isBound = true;\r\n        this.interpolate();\r\n    };\r\n    InterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        var parts = this.parts;\r\n        for (var i = 1, ii = parts.length; i < ii; i += 2) {\r\n            var name_1 = \"childBinding\".concat(i);\r\n            this[name_1].unbind();\r\n        }\r\n    };\r\n    return InterpolationBinding;\r\n}());\r\nvar ChildInterpolationBinding = (function () {\r\n    function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) {\r\n        if (target instanceof InterpolationBinding) {\r\n            this.parent = target;\r\n        }\r\n        else {\r\n            validateTarget(target, targetProperty);\r\n            this.target = target;\r\n            this.targetProperty = targetProperty;\r\n            this.targetAccessor = observerLocator.getAccessor(target, targetProperty);\r\n        }\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.left = left;\r\n        this.right = right;\r\n    }\r\n    ChildInterpolationBinding.prototype.updateTarget = function (value) {\r\n        value = value === null || value === undefined ? '' : value.toString();\r\n        if (value !== this.value) {\r\n            this.value = value;\r\n            if (this.parent) {\r\n                this.parent.interpolate();\r\n            }\r\n            else {\r\n                this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty);\r\n            }\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.call = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n        this.updateTarget(this.rawValue);\r\n        if (this.mode !== bindingMode.oneTime) {\r\n            this._version++;\r\n            this.sourceExpression.connect(this, this.source);\r\n            if (this.rawValue instanceof Array) {\r\n                this.observeArray(this.rawValue);\r\n            }\r\n            this.unobserve(false);\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        var sourceExpression = this.sourceExpression;\r\n        if (sourceExpression.bind) {\r\n            sourceExpression.bind(this, source, this.lookupFunctions);\r\n        }\r\n        this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions);\r\n        this.updateTarget(this.rawValue);\r\n        if (this.mode === bindingMode.oneWay) {\r\n            enqueueBindingConnect(this);\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        var sourceExpression = this.sourceExpression;\r\n        if (sourceExpression.unbind) {\r\n            sourceExpression.unbind(this, this.source);\r\n        }\r\n        this.source = null;\r\n        this.value = null;\r\n        this.rawValue = null;\r\n        this.unobserve(true);\r\n    };\r\n    ChildInterpolationBinding.prototype.connect = function (evaluate) {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        if (evaluate) {\r\n            this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n            this.updateTarget(this.rawValue);\r\n        }\r\n        this.sourceExpression.connect(this, this.source);\r\n        if (this.rawValue instanceof Array) {\r\n            this.observeArray(this.rawValue);\r\n        }\r\n    };\r\n    ChildInterpolationBinding = __decorate([\r\n        connectable()\r\n    ], ChildInterpolationBinding);\r\n    return ChildInterpolationBinding;\r\n}());\n\nvar LetExpression = (function () {\r\n    function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetExpression.prototype.createBinding = function () {\r\n        return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext);\r\n    };\r\n    return LetExpression;\r\n}());\r\nvar LetBinding = (function () {\r\n    function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.source = null;\r\n        this.target = null;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetBinding.prototype.updateTarget = function () {\r\n        var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n        this.target[this.targetProperty] = value;\r\n    };\r\n    LetBinding.prototype.call = function (context) {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        if (context === sourceContext) {\r\n            this.updateTarget();\r\n            return;\r\n        }\r\n        throw new Error(\"Unexpected call context \".concat(context));\r\n    };\r\n    LetBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        this.target = this.toBindingContext ? source.bindingContext : source.overrideContext;\r\n        if (this.sourceExpression.bind) {\r\n            this.sourceExpression.bind(this, source, this.lookupFunctions);\r\n        }\r\n        enqueueBindingConnect(this);\r\n    };\r\n    LetBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        if (this.sourceExpression.unbind) {\r\n            this.sourceExpression.unbind(this, this.source);\r\n        }\r\n        this.source = null;\r\n        this.target = null;\r\n        this.unobserve(true);\r\n    };\r\n    LetBinding.prototype.unobserve = function (arg0) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    LetBinding.prototype.connect = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.updateTarget();\r\n        this.sourceExpression.connect(this, this.source);\r\n    };\r\n    LetBinding = __decorate([\r\n        connectable()\r\n    ], LetBinding);\r\n    return LetBinding;\r\n}());\n\nvar LetInterpolationBindingExpression = (function () {\r\n    function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.targetProperty = targetProperty;\r\n        this.parts = parts;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetInterpolationBindingExpression.prototype.createBinding = function () {\r\n        return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext);\r\n    };\r\n    return LetInterpolationBindingExpression;\r\n}());\r\nvar LetInterpolationBinding = (function () {\r\n    function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.parts = parts;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n        this.target = null;\r\n    }\r\n    LetInterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        this.target = this.toBindingContext ? source.bindingContext : source.overrideContext;\r\n        this.interpolationBinding = this.createInterpolationBinding();\r\n        this.interpolationBinding.bind(source);\r\n    };\r\n    LetInterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        this.target = null;\r\n        this.interpolationBinding.unbind();\r\n        this.interpolationBinding = null;\r\n    };\r\n    LetInterpolationBinding.prototype.createInterpolationBinding = function () {\r\n        if (this.parts.length === 3) {\r\n            return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]);\r\n        }\r\n        return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.toView, this.lookupFunctions);\r\n    };\r\n    return LetInterpolationBinding;\r\n}());\n\nvar SyntaxInterpreter = (function () {\r\n    function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) {\r\n        this.parser = parser;\r\n        this.observerLocator = observerLocator;\r\n        this.eventManager = eventManager;\r\n        this.attributeMap = attributeMap;\r\n    }\r\n    SyntaxInterpreter.prototype.interpret = function (resources, element, info, existingInstruction, context) {\r\n        if (info.command in this) {\r\n            return this[info.command](resources, element, info, existingInstruction, context);\r\n        }\r\n        return this.handleUnknownCommand(resources, element, info, existingInstruction, context);\r\n    };\r\n    SyntaxInterpreter.prototype.handleUnknownCommand = function (resources, element, info, existingInstruction, context) {\r\n        LogManager.getLogger('templating-binding').warn('Unknown binding command.', info);\r\n        return existingInstruction;\r\n    };\r\n    SyntaxInterpreter.prototype.determineDefaultBindingMode = function (element, attrName, context) {\r\n        var tagName = element.tagName.toLowerCase();\r\n        if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio'\r\n            || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio')\r\n            || (tagName === 'textarea' || tagName === 'select') && attrName === 'value'\r\n            || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true'\r\n            || attrName === 'scrolltop'\r\n            || attrName === 'scrollleft') {\r\n            return bindingMode.twoWay;\r\n        }\r\n        if (context\r\n            && attrName in context.attributes\r\n            && context.attributes[attrName]\r\n            && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) {\r\n            return context.attributes[attrName].defaultBindingMode;\r\n        }\r\n        return bindingMode.toView;\r\n    };\r\n    SyntaxInterpreter.prototype.bind = function (resources, element, info, existingInstruction, context) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null\r\n            ? this.determineDefaultBindingMode(element, info.attrName, context)\r\n            : info.defaultBindingMode, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype.trigger = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.capture = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.delegate = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.call = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype.options = function (resources, element, info, existingInstruction, context) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        var attrValue = info.attrValue;\r\n        var language = this.language;\r\n        var name = null;\r\n        var target = '';\r\n        var current;\r\n        var i;\r\n        var ii;\r\n        var inString = false;\r\n        var inEscape = false;\r\n        var foundName = false;\r\n        for (i = 0, ii = attrValue.length; i < ii; ++i) {\r\n            current = attrValue[i];\r\n            if (current === ';' && !inString) {\r\n                if (!foundName) {\r\n                    name = this._getPrimaryPropertyName(resources, context);\r\n                }\r\n                info = language.inspectAttribute(resources, '?', name, target.trim());\r\n                language.createAttributeInstruction(resources, element, info, instruction, context);\r\n                if (!instruction.attributes[info.attrName]) {\r\n                    instruction.attributes[info.attrName] = info.attrValue;\r\n                }\r\n                target = '';\r\n                name = null;\r\n            }\r\n            else if (current === ':' && name === null) {\r\n                foundName = true;\r\n                name = target.trim();\r\n                target = '';\r\n            }\r\n            else if (current === '\\\\') {\r\n                target += current;\r\n                inEscape = true;\r\n                continue;\r\n            }\r\n            else {\r\n                target += current;\r\n                if (name !== null && inEscape === false && current === '\\'') {\r\n                    inString = !inString;\r\n                }\r\n            }\r\n            inEscape = false;\r\n        }\r\n        if (!foundName) {\r\n            name = this._getPrimaryPropertyName(resources, context);\r\n        }\r\n        if (name !== null) {\r\n            info = language.inspectAttribute(resources, '?', name, target.trim());\r\n            language.createAttributeInstruction(resources, element, info, instruction, context);\r\n            if (!instruction.attributes[info.attrName]) {\r\n                instruction.attributes[info.attrName] = info.attrValue;\r\n            }\r\n        }\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype._getPrimaryPropertyName = function (resources, context) {\r\n        var type = resources.getAttribute(context.attributeName);\r\n        if (type && type.primaryProperty) {\r\n            return type.primaryProperty.attribute;\r\n        }\r\n        return null;\r\n    };\r\n    SyntaxInterpreter.prototype['for'] = function (resources, element, info, existingInstruction) {\r\n        var parts;\r\n        var keyValue;\r\n        var instruction;\r\n        var attrValue;\r\n        var isDestructuring;\r\n        attrValue = info.attrValue;\r\n        isDestructuring = attrValue.match(/^ *[[].+[\\]]/);\r\n        parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of ');\r\n        if (parts.length !== 2) {\r\n            throw new Error('Incorrect syntax for \"for\". The form is: \"$local of $items\" or \"[$key, $value] of $items\".');\r\n        }\r\n        instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        if (isDestructuring) {\r\n            keyValue = parts[0].replace(/[[\\]]/g, '').replace(/,/g, ' ').replace(/\\s+/g, ' ').trim().split(' ');\r\n            instruction.attributes.key = keyValue[0];\r\n            instruction.attributes.value = keyValue[1];\r\n        }\r\n        else {\r\n            instruction.attributes.local = parts[0];\r\n        }\r\n        instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.toView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['two-way'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['to-view'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['from-view'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['one-time'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.inject = [Parser, ObserverLocator, EventManager, AttributeMap];\r\n    return SyntaxInterpreter;\r\n}());\r\nObject.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view'));\n\nvar info = {};\r\nvar TemplatingBindingLanguage = (function (_super) {\r\n    __extends(TemplatingBindingLanguage, _super);\r\n    function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) {\r\n        var _this = _super.call(this) || this;\r\n        _this.parser = parser;\r\n        _this.observerLocator = observerLocator;\r\n        _this.syntaxInterpreter = syntaxInterpreter;\r\n        _this.emptyStringExpression = _this.parser.parse('\\'\\'');\r\n        syntaxInterpreter.language = _this;\r\n        _this.attributeMap = attributeMap;\r\n        _this.toBindingContextAttr = 'to-binding-context';\r\n        return _this;\r\n    }\r\n    TemplatingBindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) {\r\n        var parts = attrName.split('.');\r\n        info.defaultBindingMode = null;\r\n        if (parts.length === 2) {\r\n            info.attrName = parts[0].trim();\r\n            info.attrValue = attrValue;\r\n            info.command = parts[1].trim();\r\n            if (info.command === 'ref') {\r\n                info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions);\r\n                info.command = null;\r\n                info.attrName = 'ref';\r\n            }\r\n            else {\r\n                info.expression = null;\r\n            }\r\n        }\r\n        else if (attrName === 'ref') {\r\n            info.attrName = attrName;\r\n            info.attrValue = attrValue;\r\n            info.command = null;\r\n            info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions);\r\n        }\r\n        else {\r\n            info.attrName = attrName;\r\n            info.attrValue = attrValue;\r\n            info.command = null;\r\n            var interpolationParts = this.parseInterpolation(resources, attrValue);\r\n            if (interpolationParts === null) {\r\n                info.expression = null;\r\n            }\r\n            else {\r\n                info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.toView, resources.lookupFunctions, attrName);\r\n            }\r\n        }\r\n        return info;\r\n    };\r\n    TemplatingBindingLanguage.prototype.createAttributeInstruction = function (resources, element, theInfo, existingInstruction, context) {\r\n        var instruction;\r\n        if (theInfo.expression) {\r\n            if (theInfo.attrName === 'ref') {\r\n                return theInfo.expression;\r\n            }\r\n            instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName);\r\n            instruction.attributes[theInfo.attrName] = theInfo.expression;\r\n        }\r\n        else if (theInfo.command) {\r\n            instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context);\r\n        }\r\n        return instruction;\r\n    };\r\n    TemplatingBindingLanguage.prototype.createLetExpressions = function (resources, letElement) {\r\n        var expressions = [];\r\n        var attributes = letElement.attributes;\r\n        var attr;\r\n        var parts;\r\n        var attrName;\r\n        var attrValue;\r\n        var command;\r\n        var toBindingContextAttr = this.toBindingContextAttr;\r\n        var toBindingContext = letElement.hasAttribute(toBindingContextAttr);\r\n        for (var i = 0, ii = attributes.length; ii > i; ++i) {\r\n            attr = attributes[i];\r\n            attrName = attr.name;\r\n            attrValue = attr.nodeValue;\r\n            parts = attrName.split('.');\r\n            if (attrName === toBindingContextAttr) {\r\n                continue;\r\n            }\r\n            if (parts.length === 2) {\r\n                command = parts[1];\r\n                if (command !== 'bind') {\r\n                    LogManager.getLogger('templating-binding-language')\r\n                        .warn(\"Detected invalid let command. Expected \\\"\".concat(parts[0], \".bind\\\", given \\\"\").concat(attrName, \"\\\"\"));\r\n                    continue;\r\n                }\r\n                expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext));\r\n            }\r\n            else {\r\n                attrName = camelCase(attrName);\r\n                parts = this.parseInterpolation(resources, attrValue);\r\n                if (parts === null) {\r\n                    LogManager.getLogger('templating-binding-language')\r\n                        .warn(\"Detected string literal in let bindings. Did you mean \\\"\".concat(attrName, \".bind=\").concat(attrValue, \"\\\" or \\\"\").concat(attrName, \"=${\").concat(attrValue, \"}\\\" ?\"));\r\n                }\r\n                if (parts) {\r\n                    expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext));\r\n                }\r\n                else {\r\n                    expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext));\r\n                }\r\n            }\r\n        }\r\n        return expressions;\r\n    };\r\n    TemplatingBindingLanguage.prototype.inspectTextContent = function (resources, value) {\r\n        var parts = this.parseInterpolation(resources, value);\r\n        if (parts === null) {\r\n            return null;\r\n        }\r\n        return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.toView, resources.lookupFunctions, 'textContent');\r\n    };\r\n    TemplatingBindingLanguage.prototype.parseInterpolation = function (resources, value) {\r\n        var i = value.indexOf('${', 0);\r\n        var ii = value.length;\r\n        var char;\r\n        var pos = 0;\r\n        var open = 0;\r\n        var quote = null;\r\n        var interpolationStart;\r\n        var parts;\r\n        var partIndex = 0;\r\n        while (i >= 0 && i < ii - 2) {\r\n            open = 1;\r\n            interpolationStart = i;\r\n            i += 2;\r\n            do {\r\n                char = value[i];\r\n                i++;\r\n                if (char === \"'\" || char === '\"') {\r\n                    if (quote === null) {\r\n                        quote = char;\r\n                    }\r\n                    else if (quote === char) {\r\n                        quote = null;\r\n                    }\r\n                    continue;\r\n                }\r\n                if (char === '\\\\') {\r\n                    i++;\r\n                    continue;\r\n                }\r\n                if (quote !== null) {\r\n                    continue;\r\n                }\r\n                if (char === '{') {\r\n                    open++;\r\n                }\r\n                else if (char === '}') {\r\n                    open--;\r\n                }\r\n            } while (open > 0 && i < ii);\r\n            if (open === 0) {\r\n                parts = parts || [];\r\n                if (value[interpolationStart - 1] === '\\\\' && value[interpolationStart - 2] !== '\\\\') {\r\n                    parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i);\r\n                    partIndex++;\r\n                    parts[partIndex] = this.emptyStringExpression;\r\n                    partIndex++;\r\n                }\r\n                else {\r\n                    parts[partIndex] = value.substring(pos, interpolationStart);\r\n                    partIndex++;\r\n                    parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1));\r\n                    partIndex++;\r\n                }\r\n                pos = i;\r\n                i = value.indexOf('${', i);\r\n            }\r\n            else {\r\n                break;\r\n            }\r\n        }\r\n        if (partIndex === 0) {\r\n            return null;\r\n        }\r\n        parts[partIndex] = value.substr(pos);\r\n        return parts;\r\n    };\r\n    TemplatingBindingLanguage.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap];\r\n    return TemplatingBindingLanguage;\r\n}(BindingLanguage));\n\nfunction configure(config) {\r\n    config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage);\r\n    config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage);\r\n}\n\nexport { AttributeMap, ChildInterpolationBinding, InterpolationBinding, InterpolationBindingExpression, LetBinding, LetExpression, LetInterpolationBinding, LetInterpolationBindingExpression, SyntaxInterpreter, TemplatingBindingLanguage, configure };\n//# sourceMappingURL=aurelia-templating-binding.js.map\n","import { Container, inject, Optional } from 'aurelia-dependency-injection';\nimport { DOM, FEATURE } from 'aurelia-pal';\nimport { TaskQueue } from 'aurelia-task-queue';\nimport { bindable, noView, customElement, CompositionEngine, ViewSlot, ViewResources, customAttribute, templateController, BoundViewFactory, TargetInstruction, Animator, resource, useView, useShadowDOM, ViewEngine } from 'aurelia-templating';\nimport { createOverrideContext, bindingMode, BindingBehavior, ValueConverter, sourceContext, mergeSplice, ObserverLocator, valueConverter, DataAttributeObserver, bindingBehavior, targetContext, EventSubscriber } from 'aurelia-binding';\nimport { Loader } from 'aurelia-loader';\nimport { relativeToFile } from 'aurelia-path';\nimport { mixin } from 'aurelia-metadata';\nimport { getLogger } from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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\nfunction __decorate(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}\n\nvar ActivationStrategy;\r\n(function (ActivationStrategy) {\r\n    ActivationStrategy[\"InvokeLifecycle\"] = \"invoke-lifecycle\";\r\n    ActivationStrategy[\"Replace\"] = \"replace\";\r\n})(ActivationStrategy || (ActivationStrategy = {}));\r\nvar Compose = (function () {\r\n    function Compose(element, container, compositionEngine, viewSlot, viewResources, taskQueue) {\r\n        this.activationStrategy = ActivationStrategy.InvokeLifecycle;\r\n        this.element = element;\r\n        this.container = container;\r\n        this.compositionEngine = compositionEngine;\r\n        this.viewSlot = viewSlot;\r\n        this.viewResources = viewResources;\r\n        this.taskQueue = taskQueue;\r\n        this.currentController = null;\r\n        this.currentViewModel = null;\r\n        this.changes = Object.create(null);\r\n    }\r\n    Compose.inject = function () {\r\n        return [DOM.Element, Container, CompositionEngine, ViewSlot, ViewResources, TaskQueue];\r\n    };\r\n    Compose.prototype.created = function (owningView) {\r\n        this.owningView = owningView;\r\n    };\r\n    Compose.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n        var changes = this.changes;\r\n        changes.view = this.view;\r\n        changes.viewModel = this.viewModel;\r\n        changes.model = this.model;\r\n        if (!this.pendingTask) {\r\n            processChanges(this);\r\n        }\r\n    };\r\n    Compose.prototype.unbind = function () {\r\n        this.changes = Object.create(null);\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        var returnToCache = true;\r\n        var skipAnimation = true;\r\n        this.viewSlot.removeAll(returnToCache, skipAnimation);\r\n    };\r\n    Compose.prototype.modelChanged = function (newValue, oldValue) {\r\n        this.changes.model = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    Compose.prototype.viewChanged = function (newValue, oldValue) {\r\n        this.changes.view = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    Compose.prototype.viewModelChanged = function (newValue, oldValue) {\r\n        this.changes.viewModel = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"model\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"view\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"viewModel\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"activationStrategy\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"swapOrder\", void 0);\r\n    Compose = __decorate([\r\n        noView,\r\n        customElement('compose')\r\n    ], Compose);\r\n    return Compose;\r\n}());\r\nfunction isEmpty(obj) {\r\n    for (var _ in obj) {\r\n        return false;\r\n    }\r\n    return true;\r\n}\r\nfunction tryActivateViewModel(vm, model) {\r\n    if (vm && typeof vm.activate === 'function') {\r\n        return Promise.resolve(vm.activate(model));\r\n    }\r\n}\r\nfunction createInstruction(composer, instruction) {\r\n    return Object.assign(instruction, {\r\n        bindingContext: composer.bindingContext,\r\n        overrideContext: composer.overrideContext,\r\n        owningView: composer.owningView,\r\n        container: composer.container,\r\n        viewSlot: composer.viewSlot,\r\n        viewResources: composer.viewResources,\r\n        currentController: composer.currentController,\r\n        host: composer.element,\r\n        swapOrder: composer.swapOrder\r\n    });\r\n}\r\nfunction processChanges(composer) {\r\n    var changes = composer.changes;\r\n    composer.changes = Object.create(null);\r\n    if (needsReInitialization(composer, changes)) {\r\n        var instruction = {\r\n            view: composer.view,\r\n            viewModel: composer.currentViewModel || composer.viewModel,\r\n            model: composer.model\r\n        };\r\n        instruction = Object.assign(instruction, changes);\r\n        instruction = createInstruction(composer, instruction);\r\n        composer.pendingTask = composer.compositionEngine.compose(instruction).then(function (controller) {\r\n            composer.currentController = controller;\r\n            composer.currentViewModel = controller ? controller.viewModel : null;\r\n        });\r\n    }\r\n    else {\r\n        composer.pendingTask = tryActivateViewModel(composer.currentViewModel, changes.model);\r\n        if (!composer.pendingTask) {\r\n            return;\r\n        }\r\n    }\r\n    composer.pendingTask = composer.pendingTask\r\n        .then(function () {\r\n        completeCompositionTask(composer);\r\n    }, function (reason) {\r\n        completeCompositionTask(composer);\r\n        throw reason;\r\n    });\r\n}\r\nfunction completeCompositionTask(composer) {\r\n    composer.pendingTask = null;\r\n    if (!isEmpty(composer.changes)) {\r\n        processChanges(composer);\r\n    }\r\n}\r\nfunction requestUpdate(composer) {\r\n    if (composer.pendingTask || composer.updateRequested) {\r\n        return;\r\n    }\r\n    composer.updateRequested = true;\r\n    composer.taskQueue.queueMicroTask(function () {\r\n        composer.updateRequested = false;\r\n        processChanges(composer);\r\n    });\r\n}\r\nfunction needsReInitialization(composer, changes) {\r\n    var activationStrategy = composer.activationStrategy;\r\n    var vm = composer.currentViewModel;\r\n    if (vm && typeof vm.determineActivationStrategy === 'function') {\r\n        activationStrategy = vm.determineActivationStrategy();\r\n    }\r\n    return 'view' in changes\r\n        || 'viewModel' in changes\r\n        || activationStrategy === ActivationStrategy.Replace;\r\n}\n\nvar IfCore = (function () {\r\n    function IfCore(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.view = null;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.showing = false;\r\n        this.cache = true;\r\n    }\r\n    IfCore.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n    };\r\n    IfCore.prototype.unbind = function () {\r\n        if (this.view === null) {\r\n            return;\r\n        }\r\n        this.view.unbind();\r\n        if (!this.viewFactory.isCaching) {\r\n            return;\r\n        }\r\n        if (this.showing) {\r\n            this.showing = false;\r\n            this.viewSlot.remove(this.view, true, true);\r\n        }\r\n        else {\r\n            this.view.returnToCache();\r\n        }\r\n        this.view = null;\r\n    };\r\n    IfCore.prototype._show = function () {\r\n        if (this.showing) {\r\n            if (!this.view.isBound) {\r\n                this.view.bind(this.bindingContext, this.overrideContext);\r\n            }\r\n            return;\r\n        }\r\n        if (this.view === null) {\r\n            this.view = this.viewFactory.create();\r\n        }\r\n        if (!this.view.isBound) {\r\n            this.view.bind(this.bindingContext, this.overrideContext);\r\n        }\r\n        this.showing = true;\r\n        return this.viewSlot.add(this.view);\r\n    };\r\n    IfCore.prototype._hide = function () {\r\n        var _this = this;\r\n        if (!this.showing) {\r\n            return;\r\n        }\r\n        this.showing = false;\r\n        var removed = this.viewSlot.remove(this.view);\r\n        if (removed instanceof Promise) {\r\n            return removed.then(function () {\r\n                _this._unbindView();\r\n            });\r\n        }\r\n        this._unbindView();\r\n    };\r\n    IfCore.prototype._unbindView = function () {\r\n        var cache = this.cache === 'false' ? false : !!this.cache;\r\n        this.view.unbind();\r\n        if (!cache) {\r\n            this.view = null;\r\n        }\r\n    };\r\n    return IfCore;\r\n}());\n\nvar If = (function (_super) {\r\n    __extends(If, _super);\r\n    function If() {\r\n        var _this = _super !== null && _super.apply(this, arguments) || this;\r\n        _this.cache = true;\r\n        return _this;\r\n    }\r\n    If.prototype.bind = function (bindingContext, overrideContext) {\r\n        _super.prototype.bind.call(this, bindingContext, overrideContext);\r\n        if (this.condition) {\r\n            this._show();\r\n        }\r\n        else {\r\n            this._hide();\r\n        }\r\n    };\r\n    If.prototype.conditionChanged = function (newValue) {\r\n        this._update(newValue);\r\n    };\r\n    If.prototype._update = function (show) {\r\n        var _this = this;\r\n        if (this.animating) {\r\n            return;\r\n        }\r\n        var promise;\r\n        if (this.elseVm) {\r\n            promise = show ? this._swap(this.elseVm, this) : this._swap(this, this.elseVm);\r\n        }\r\n        else {\r\n            promise = show ? this._show() : this._hide();\r\n        }\r\n        if (promise) {\r\n            this.animating = true;\r\n            promise.then(function () {\r\n                _this.animating = false;\r\n                if (_this.condition !== _this.showing) {\r\n                    _this._update(_this.condition);\r\n                }\r\n            });\r\n        }\r\n    };\r\n    If.prototype._swap = function (remove, add) {\r\n        switch (this.swapOrder) {\r\n            case 'before':\r\n                return Promise.resolve(add._show()).then(function () { return remove._hide(); });\r\n            case 'with':\r\n                return Promise.all([remove._hide(), add._show()]);\r\n            default:\r\n                var promise = remove._hide();\r\n                return promise ? promise.then(function () { return add._show(); }) : add._show();\r\n        }\r\n    };\r\n    __decorate([\r\n        bindable({ primaryProperty: true })\r\n    ], If.prototype, \"condition\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], If.prototype, \"swapOrder\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], If.prototype, \"cache\", void 0);\r\n    If = __decorate([\r\n        customAttribute('if'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], If);\r\n    return If;\r\n}(IfCore));\n\nvar Else = (function (_super) {\r\n    __extends(Else, _super);\r\n    function Else(viewFactory, viewSlot) {\r\n        var _this = _super.call(this, viewFactory, viewSlot) || this;\r\n        _this._registerInIf();\r\n        return _this;\r\n    }\r\n    Else.prototype.bind = function (bindingContext, overrideContext) {\r\n        _super.prototype.bind.call(this, bindingContext, overrideContext);\r\n        if (this.ifVm.condition) {\r\n            this._hide();\r\n        }\r\n        else {\r\n            this._show();\r\n        }\r\n    };\r\n    Else.prototype._registerInIf = function () {\r\n        var previous = this.viewSlot.anchor.previousSibling;\r\n        while (previous && !previous.au) {\r\n            previous = previous.previousSibling;\r\n        }\r\n        if (!previous || !previous.au.if) {\r\n            throw new Error(\"Can't find matching If for Else custom attribute.\");\r\n        }\r\n        this.ifVm = previous.au.if.viewModel;\r\n        this.ifVm.elseVm = this;\r\n    };\r\n    Else = __decorate([\r\n        customAttribute('else'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], Else);\r\n    return Else;\r\n}(IfCore));\n\nvar With = (function () {\r\n    function With(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.parentOverrideContext = null;\r\n        this.view = null;\r\n    }\r\n    With.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.parentOverrideContext = overrideContext;\r\n        this.valueChanged(this.value);\r\n    };\r\n    With.prototype.valueChanged = function (newValue) {\r\n        var overrideContext = createOverrideContext(newValue, this.parentOverrideContext);\r\n        var view = this.view;\r\n        if (!view) {\r\n            view = this.view = this.viewFactory.create();\r\n            view.bind(newValue, overrideContext);\r\n            this.viewSlot.add(view);\r\n        }\r\n        else {\r\n            view.bind(newValue, overrideContext);\r\n        }\r\n    };\r\n    With.prototype.unbind = function () {\r\n        var view = this.view;\r\n        this.parentOverrideContext = null;\r\n        if (view) {\r\n            view.unbind();\r\n        }\r\n    };\r\n    With = __decorate([\r\n        customAttribute('with'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], With);\r\n    return With;\r\n}());\n\nvar oneTime = bindingMode.oneTime;\r\nfunction updateOverrideContexts(views, startIndex) {\r\n    var length = views.length;\r\n    if (startIndex > 0) {\r\n        startIndex = startIndex - 1;\r\n    }\r\n    for (; startIndex < length; ++startIndex) {\r\n        updateOverrideContext(views[startIndex].overrideContext, startIndex, length);\r\n    }\r\n}\r\nfunction createFullOverrideContext(repeat, data, index, length, key) {\r\n    var bindingContext = {};\r\n    var overrideContext = createOverrideContext(bindingContext, repeat.scope.overrideContext);\r\n    if (typeof key !== 'undefined') {\r\n        bindingContext[repeat.key] = key;\r\n        bindingContext[repeat.value] = data;\r\n    }\r\n    else {\r\n        bindingContext[repeat.local] = data;\r\n    }\r\n    updateOverrideContext(overrideContext, index, length);\r\n    return overrideContext;\r\n}\r\nfunction updateOverrideContext(overrideContext, index, length) {\r\n    var first = (index === 0);\r\n    var last = (index === length - 1);\r\n    var even = index % 2 === 0;\r\n    overrideContext.$index = index;\r\n    overrideContext.$first = first;\r\n    overrideContext.$last = last;\r\n    overrideContext.$middle = !(first || last);\r\n    overrideContext.$odd = !even;\r\n    overrideContext.$even = even;\r\n}\r\nfunction getItemsSourceExpression(instruction, attrName) {\r\n    return instruction.behaviorInstructions\r\n        .filter(function (bi) { return bi.originalAttrName === attrName; })[0]\r\n        .attributes\r\n        .items\r\n        .sourceExpression;\r\n}\r\nfunction unwrapExpression(expression) {\r\n    var unwrapped = false;\r\n    while (expression instanceof BindingBehavior) {\r\n        expression = expression.expression;\r\n    }\r\n    while (expression instanceof ValueConverter) {\r\n        expression = expression.expression;\r\n        unwrapped = true;\r\n    }\r\n    return unwrapped ? expression : null;\r\n}\r\nfunction isOneTime(expression) {\r\n    while (expression instanceof BindingBehavior) {\r\n        if (expression.name === 'oneTime') {\r\n            return true;\r\n        }\r\n        expression = expression.expression;\r\n    }\r\n    return false;\r\n}\r\nfunction updateOneTimeBinding(binding) {\r\n    if (binding.call && binding.mode === oneTime) {\r\n        binding.call(sourceContext);\r\n    }\r\n    else if (binding.updateOneTimeBindings) {\r\n        binding.updateOneTimeBindings();\r\n    }\r\n}\r\nfunction indexOf(array, item, matcher, startIndex) {\r\n    if (!matcher) {\r\n        return array.indexOf(item);\r\n    }\r\n    var length = array.length;\r\n    for (var index = startIndex || 0; index < length; index++) {\r\n        if (matcher(array[index], item)) {\r\n            return index;\r\n        }\r\n    }\r\n    return -1;\r\n}\n\nvar ArrayRepeatStrategy = (function () {\r\n    function ArrayRepeatStrategy() {\r\n    }\r\n    ArrayRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getArrayObserver(items);\r\n    };\r\n    ArrayRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var $repeat = repeat;\r\n        var itemsLength = items.length;\r\n        if (!items || itemsLength === 0) {\r\n            $repeat.removeAllViews(true, !$repeat.viewsRequireLifecycle);\r\n            return;\r\n        }\r\n        var children = $repeat.views();\r\n        var viewsLength = children.length;\r\n        if (viewsLength === 0) {\r\n            this._standardProcessInstanceChanged($repeat, items);\r\n            return;\r\n        }\r\n        if ($repeat.viewsRequireLifecycle) {\r\n            var childrenSnapshot = children.slice(0);\r\n            var itemNameInBindingContext = $repeat.local;\r\n            var matcher_1 = $repeat.matcher();\r\n            var itemsPreviouslyInViews_1 = [];\r\n            var viewsToRemove = [];\r\n            for (var index = 0; index < viewsLength; index++) {\r\n                var view = childrenSnapshot[index];\r\n                var oldItem = view.bindingContext[itemNameInBindingContext];\r\n                if (indexOf(items, oldItem, matcher_1) === -1) {\r\n                    viewsToRemove.push(view);\r\n                }\r\n                else {\r\n                    itemsPreviouslyInViews_1.push(oldItem);\r\n                }\r\n            }\r\n            var updateViews = void 0;\r\n            var removePromise = void 0;\r\n            if (itemsPreviouslyInViews_1.length > 0) {\r\n                removePromise = $repeat.removeViews(viewsToRemove, true, !$repeat.viewsRequireLifecycle);\r\n                updateViews = function () {\r\n                    for (var index = 0; index < itemsLength; index++) {\r\n                        var item = items[index];\r\n                        var indexOfView = indexOf(itemsPreviouslyInViews_1, item, matcher_1, index);\r\n                        var view = void 0;\r\n                        if (indexOfView === -1) {\r\n                            var overrideContext = createFullOverrideContext($repeat, items[index], index, itemsLength);\r\n                            $repeat.insertView(index, overrideContext.bindingContext, overrideContext);\r\n                            itemsPreviouslyInViews_1.splice(index, 0, undefined);\r\n                        }\r\n                        else if (indexOfView === index) {\r\n                            view = children[indexOfView];\r\n                            itemsPreviouslyInViews_1[indexOfView] = undefined;\r\n                        }\r\n                        else {\r\n                            view = children[indexOfView];\r\n                            $repeat.moveView(indexOfView, index);\r\n                            itemsPreviouslyInViews_1.splice(indexOfView, 1);\r\n                            itemsPreviouslyInViews_1.splice(index, 0, undefined);\r\n                        }\r\n                        if (view) {\r\n                            updateOverrideContext(view.overrideContext, index, itemsLength);\r\n                        }\r\n                    }\r\n                    _this._inPlaceProcessItems($repeat, items);\r\n                };\r\n            }\r\n            else {\r\n                removePromise = $repeat.removeAllViews(true, !$repeat.viewsRequireLifecycle);\r\n                updateViews = function () { return _this._standardProcessInstanceChanged($repeat, items); };\r\n            }\r\n            if (removePromise instanceof Promise) {\r\n                removePromise.then(updateViews);\r\n            }\r\n            else {\r\n                updateViews();\r\n            }\r\n        }\r\n        else {\r\n            this._inPlaceProcessItems($repeat, items);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._standardProcessInstanceChanged = function (repeat, items) {\r\n        for (var i = 0, ii = items.length; i < ii; i++) {\r\n            var overrideContext = createFullOverrideContext(repeat, items[i], i, ii);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._inPlaceProcessItems = function (repeat, items) {\r\n        var itemsLength = items.length;\r\n        var viewsLength = repeat.viewCount();\r\n        while (viewsLength > itemsLength) {\r\n            viewsLength--;\r\n            repeat.removeView(viewsLength, true, !repeat.viewsRequireLifecycle);\r\n        }\r\n        var local = repeat.local;\r\n        for (var i = 0; i < viewsLength; i++) {\r\n            var view = repeat.view(i);\r\n            var last = i === itemsLength - 1;\r\n            var middle = i !== 0 && !last;\r\n            var bindingContext = view.bindingContext;\r\n            var overrideContext = view.overrideContext;\r\n            if (bindingContext[local] === items[i]\r\n                && overrideContext.$middle === middle\r\n                && overrideContext.$last === last) {\r\n                continue;\r\n            }\r\n            bindingContext[local] = items[i];\r\n            overrideContext.$middle = middle;\r\n            overrideContext.$last = last;\r\n            repeat.updateBindings(view);\r\n        }\r\n        for (var i = viewsLength; i < itemsLength; i++) {\r\n            var overrideContext = createFullOverrideContext(repeat, items[i], i, itemsLength);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype.instanceMutated = function (repeat, array, splices) {\r\n        var _this = this;\r\n        if (repeat.__queuedSplices) {\r\n            for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n                var _a = splices[i], index = _a.index, removed = _a.removed, addedCount = _a.addedCount;\r\n                mergeSplice(repeat.__queuedSplices, index, removed, addedCount);\r\n            }\r\n            repeat.__array = array.slice(0);\r\n            return;\r\n        }\r\n        var maybePromise = this._runSplices(repeat, array.slice(0), splices);\r\n        if (maybePromise instanceof Promise) {\r\n            var queuedSplices_1 = repeat.__queuedSplices = [];\r\n            var runQueuedSplices_1 = function () {\r\n                if (!queuedSplices_1.length) {\r\n                    repeat.__queuedSplices = undefined;\r\n                    repeat.__array = undefined;\r\n                    return;\r\n                }\r\n                var nextPromise = _this._runSplices(repeat, repeat.__array, queuedSplices_1) || Promise.resolve();\r\n                queuedSplices_1 = repeat.__queuedSplices = [];\r\n                nextPromise.then(runQueuedSplices_1);\r\n            };\r\n            maybePromise.then(runQueuedSplices_1);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._runSplices = function (repeat, array, splices) {\r\n        var _this = this;\r\n        var removeDelta = 0;\r\n        var rmPromises = [];\r\n        for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n            var splice = splices[i];\r\n            var removed = splice.removed;\r\n            for (var j = 0, jj = removed.length; j < jj; ++j) {\r\n                var viewOrPromise = repeat.removeView(splice.index + removeDelta + rmPromises.length, true);\r\n                if (viewOrPromise instanceof Promise) {\r\n                    rmPromises.push(viewOrPromise);\r\n                }\r\n            }\r\n            removeDelta -= splice.addedCount;\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () {\r\n                var spliceIndexLow = _this._handleAddedSplices(repeat, array, splices);\r\n                updateOverrideContexts(repeat.views(), spliceIndexLow);\r\n            });\r\n        }\r\n        var spliceIndexLow = this._handleAddedSplices(repeat, array, splices);\r\n        updateOverrideContexts(repeat.views(), spliceIndexLow);\r\n        return undefined;\r\n    };\r\n    ArrayRepeatStrategy.prototype._handleAddedSplices = function (repeat, array, splices) {\r\n        var spliceIndex;\r\n        var spliceIndexLow;\r\n        var arrayLength = array.length;\r\n        for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n            var splice = splices[i];\r\n            var addIndex = spliceIndex = splice.index;\r\n            var end = splice.index + splice.addedCount;\r\n            if (typeof spliceIndexLow === 'undefined' || spliceIndexLow === null || spliceIndexLow > splice.index) {\r\n                spliceIndexLow = spliceIndex;\r\n            }\r\n            for (; addIndex < end; ++addIndex) {\r\n                var overrideContext = createFullOverrideContext(repeat, array[addIndex], addIndex, arrayLength);\r\n                repeat.insertView(addIndex, overrideContext.bindingContext, overrideContext);\r\n            }\r\n        }\r\n        return spliceIndexLow;\r\n    };\r\n    return ArrayRepeatStrategy;\r\n}());\n\nvar MapRepeatStrategy = (function () {\r\n    function MapRepeatStrategy() {\r\n    }\r\n    MapRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getMapObserver(items);\r\n    };\r\n    MapRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, items); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, items);\r\n    };\r\n    MapRepeatStrategy.prototype._standardProcessItems = function (repeat, items) {\r\n        var index = 0;\r\n        var overrideContext;\r\n        items.forEach(function (value, key) {\r\n            overrideContext = createFullOverrideContext(repeat, value, index, items.size, key);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n            ++index;\r\n        });\r\n    };\r\n    MapRepeatStrategy.prototype.instanceMutated = function (repeat, map, records) {\r\n        var key;\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var removeIndex;\r\n        var addIndex;\r\n        var record;\r\n        var rmPromises = [];\r\n        var viewOrPromise;\r\n        for (i = 0, ii = records.length; i < ii; ++i) {\r\n            record = records[i];\r\n            key = record.key;\r\n            switch (record.type) {\r\n                case 'update':\r\n                    removeIndex = this._getViewIndexByKey(repeat, key);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    overrideContext = createFullOverrideContext(repeat, map.get(key), removeIndex, map.size, key);\r\n                    repeat.insertView(removeIndex, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'add':\r\n                    addIndex = repeat.viewCount() <= map.size - 1 ? repeat.viewCount() : map.size - 1;\r\n                    overrideContext = createFullOverrideContext(repeat, map.get(key), addIndex, map.size, key);\r\n                    repeat.insertView(map.size - 1, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'delete':\r\n                    if (record.oldValue === undefined) {\r\n                        return;\r\n                    }\r\n                    removeIndex = this._getViewIndexByKey(repeat, key);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    break;\r\n                case 'clear':\r\n                    repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n                    break;\r\n                default:\r\n                    continue;\r\n            }\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            Promise.all(rmPromises).then(function () {\r\n                updateOverrideContexts(repeat.views(), 0);\r\n            });\r\n        }\r\n        else {\r\n            updateOverrideContexts(repeat.views(), 0);\r\n        }\r\n    };\r\n    MapRepeatStrategy.prototype._getViewIndexByKey = function (repeat, key) {\r\n        var i;\r\n        var ii;\r\n        var child;\r\n        for (i = 0, ii = repeat.viewCount(); i < ii; ++i) {\r\n            child = repeat.view(i);\r\n            if (child.bindingContext[repeat.key] === key) {\r\n                return i;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return MapRepeatStrategy;\r\n}());\n\nvar NullRepeatStrategy = (function () {\r\n    function NullRepeatStrategy() {\r\n    }\r\n    NullRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        repeat.removeAllViews(true);\r\n    };\r\n    NullRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n    };\r\n    return NullRepeatStrategy;\r\n}());\n\nvar NumberRepeatStrategy = (function () {\r\n    function NumberRepeatStrategy() {\r\n    }\r\n    NumberRepeatStrategy.prototype.getCollectionObserver = function () {\r\n        return null;\r\n    };\r\n    NumberRepeatStrategy.prototype.instanceChanged = function (repeat, value) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, value); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, value);\r\n    };\r\n    NumberRepeatStrategy.prototype._standardProcessItems = function (repeat, value) {\r\n        var childrenLength = repeat.viewCount();\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var viewsToRemove;\r\n        value = Math.floor(value);\r\n        viewsToRemove = childrenLength - value;\r\n        if (viewsToRemove > 0) {\r\n            if (viewsToRemove > childrenLength) {\r\n                viewsToRemove = childrenLength;\r\n            }\r\n            for (i = 0, ii = viewsToRemove; i < ii; ++i) {\r\n                repeat.removeView(childrenLength - (i + 1), true, !repeat.viewsRequireLifecycle);\r\n            }\r\n            return;\r\n        }\r\n        for (i = childrenLength, ii = value; i < ii; ++i) {\r\n            overrideContext = createFullOverrideContext(repeat, i, i, ii);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n        updateOverrideContexts(repeat.views(), 0);\r\n    };\r\n    return NumberRepeatStrategy;\r\n}());\n\nvar SetRepeatStrategy = (function () {\r\n    function SetRepeatStrategy() {\r\n    }\r\n    SetRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getSetObserver(items);\r\n    };\r\n    SetRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, items); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, items);\r\n    };\r\n    SetRepeatStrategy.prototype._standardProcessItems = function (repeat, items) {\r\n        var index = 0;\r\n        var overrideContext;\r\n        items.forEach(function (value) {\r\n            overrideContext = createFullOverrideContext(repeat, value, index, items.size);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n            ++index;\r\n        });\r\n    };\r\n    SetRepeatStrategy.prototype.instanceMutated = function (repeat, set, records) {\r\n        var value;\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var removeIndex;\r\n        var record;\r\n        var rmPromises = [];\r\n        var viewOrPromise;\r\n        for (i = 0, ii = records.length; i < ii; ++i) {\r\n            record = records[i];\r\n            value = record.value;\r\n            switch (record.type) {\r\n                case 'add':\r\n                    var size = Math.max(set.size - 1, 0);\r\n                    overrideContext = createFullOverrideContext(repeat, value, size, set.size);\r\n                    repeat.insertView(size, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'delete':\r\n                    removeIndex = this._getViewIndexByValue(repeat, value);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    break;\r\n                case 'clear':\r\n                    repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n                    break;\r\n                default:\r\n                    continue;\r\n            }\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            Promise.all(rmPromises).then(function () {\r\n                updateOverrideContexts(repeat.views(), 0);\r\n            });\r\n        }\r\n        else {\r\n            updateOverrideContexts(repeat.views(), 0);\r\n        }\r\n    };\r\n    SetRepeatStrategy.prototype._getViewIndexByValue = function (repeat, value) {\r\n        var i;\r\n        var ii;\r\n        var child;\r\n        for (i = 0, ii = repeat.viewCount(); i < ii; ++i) {\r\n            child = repeat.view(i);\r\n            if (child.bindingContext[repeat.local] === value) {\r\n                return i;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return SetRepeatStrategy;\r\n}());\n\nvar RepeatStrategyLocator = (function () {\r\n    function RepeatStrategyLocator() {\r\n        this.matchers = [];\r\n        this.strategies = [];\r\n        this.addStrategy(function (items) { return items === null || items === undefined; }, new NullRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Array; }, new ArrayRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Map; }, new MapRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Set; }, new SetRepeatStrategy());\r\n        this.addStrategy(function (items) { return typeof items === 'number'; }, new NumberRepeatStrategy());\r\n    }\r\n    RepeatStrategyLocator.prototype.addStrategy = function (matcher, strategy) {\r\n        this.matchers.push(matcher);\r\n        this.strategies.push(strategy);\r\n    };\r\n    RepeatStrategyLocator.prototype.getStrategy = function (items) {\r\n        var matchers = this.matchers;\r\n        for (var i = 0, ii = matchers.length; i < ii; ++i) {\r\n            if (matchers[i](items)) {\r\n                return this.strategies[i];\r\n            }\r\n        }\r\n        return null;\r\n    };\r\n    return RepeatStrategyLocator;\r\n}());\n\nvar lifecycleOptionalBehaviors = ['focus', 'if', 'else', 'repeat', 'show', 'hide', 'with'];\r\nfunction behaviorRequiresLifecycle(instruction) {\r\n    var t = instruction.type;\r\n    var name = t.elementName !== null ? t.elementName : t.attributeName;\r\n    return lifecycleOptionalBehaviors.indexOf(name) === -1 && (t.handlesAttached || t.handlesBind || t.handlesCreated || t.handlesDetached || t.handlesUnbind)\r\n        || t.viewFactory && viewsRequireLifecycle(t.viewFactory)\r\n        || instruction.viewFactory && viewsRequireLifecycle(instruction.viewFactory);\r\n}\r\nfunction targetRequiresLifecycle(instruction) {\r\n    var behaviors = instruction.behaviorInstructions;\r\n    if (behaviors) {\r\n        var i = behaviors.length;\r\n        while (i--) {\r\n            if (behaviorRequiresLifecycle(behaviors[i])) {\r\n                return true;\r\n            }\r\n        }\r\n    }\r\n    return instruction.viewFactory && viewsRequireLifecycle(instruction.viewFactory);\r\n}\r\nfunction viewsRequireLifecycle(viewFactory) {\r\n    if ('_viewsRequireLifecycle' in viewFactory) {\r\n        return viewFactory._viewsRequireLifecycle;\r\n    }\r\n    viewFactory._viewsRequireLifecycle = false;\r\n    if (viewFactory.viewFactory) {\r\n        viewFactory._viewsRequireLifecycle = viewsRequireLifecycle(viewFactory.viewFactory);\r\n        return viewFactory._viewsRequireLifecycle;\r\n    }\r\n    if (viewFactory.template.querySelector('.au-animate')) {\r\n        viewFactory._viewsRequireLifecycle = true;\r\n        return true;\r\n    }\r\n    for (var id in viewFactory.instructions) {\r\n        if (targetRequiresLifecycle(viewFactory.instructions[id])) {\r\n            viewFactory._viewsRequireLifecycle = true;\r\n            return true;\r\n        }\r\n    }\r\n    viewFactory._viewsRequireLifecycle = false;\r\n    return false;\r\n}\n\nvar AbstractRepeater = (function () {\r\n    function AbstractRepeater(options) {\r\n        Object.assign(this, {\r\n            local: 'items',\r\n            viewsRequireLifecycle: true\r\n        }, options);\r\n    }\r\n    AbstractRepeater.prototype.viewCount = function () {\r\n        throw new Error('subclass must implement `viewCount`');\r\n    };\r\n    AbstractRepeater.prototype.views = function () {\r\n        throw new Error('subclass must implement `views`');\r\n    };\r\n    AbstractRepeater.prototype.view = function (index) {\r\n        throw new Error('subclass must implement `view`');\r\n    };\r\n    AbstractRepeater.prototype.matcher = function () {\r\n        throw new Error('subclass must implement `matcher`');\r\n    };\r\n    AbstractRepeater.prototype.addView = function (bindingContext, overrideContext) {\r\n        throw new Error('subclass must implement `addView`');\r\n    };\r\n    AbstractRepeater.prototype.insertView = function (index, bindingContext, overrideContext) {\r\n        throw new Error('subclass must implement `insertView`');\r\n    };\r\n    AbstractRepeater.prototype.moveView = function (sourceIndex, targetIndex) {\r\n        throw new Error('subclass must implement `moveView`');\r\n    };\r\n    AbstractRepeater.prototype.removeAllViews = function (returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeAllViews`');\r\n    };\r\n    AbstractRepeater.prototype.removeViews = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeView`');\r\n    };\r\n    AbstractRepeater.prototype.removeView = function (index, returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeView`');\r\n    };\r\n    AbstractRepeater.prototype.updateBindings = function (view) {\r\n        throw new Error('subclass must implement `updateBindings`');\r\n    };\r\n    return AbstractRepeater;\r\n}());\n\nvar matcherExtractionMarker = '__marker_extracted__';\r\nvar Repeat = (function (_super) {\r\n    __extends(Repeat, _super);\r\n    function Repeat(viewFactory, instruction, viewSlot, viewResources, observerLocator, strategyLocator) {\r\n        var _this = _super.call(this, {\r\n            local: 'item',\r\n            viewsRequireLifecycle: viewsRequireLifecycle(viewFactory)\r\n        }) || this;\r\n        _this.viewFactory = viewFactory;\r\n        _this.instruction = instruction;\r\n        _this.viewSlot = viewSlot;\r\n        _this.lookupFunctions = viewResources.lookupFunctions;\r\n        _this.observerLocator = observerLocator;\r\n        _this.key = 'key';\r\n        _this.value = 'value';\r\n        _this.strategyLocator = strategyLocator;\r\n        _this.ignoreMutation = false;\r\n        _this.sourceExpression = getItemsSourceExpression(_this.instruction, 'repeat.for');\r\n        _this.isOneTime = isOneTime(_this.sourceExpression);\r\n        _this.viewsRequireLifecycle = viewsRequireLifecycle(viewFactory);\r\n        return _this;\r\n    }\r\n    Repeat_1 = Repeat;\r\n    Repeat.prototype.call = function (context, changes) {\r\n        this[context](this.items, changes);\r\n    };\r\n    Repeat.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.scope = { bindingContext: bindingContext, overrideContext: overrideContext };\r\n        var instruction = this.instruction;\r\n        if (!(matcherExtractionMarker in instruction)) {\r\n            instruction[matcherExtractionMarker] = this._captureAndRemoveMatcherBinding();\r\n        }\r\n        this.matcherBinding = instruction[matcherExtractionMarker];\r\n        this.itemsChanged();\r\n    };\r\n    Repeat.prototype.unbind = function () {\r\n        this.scope = null;\r\n        this.items = null;\r\n        this.matcherBinding = null;\r\n        this.viewSlot.removeAll(true, true);\r\n        this._unsubscribeCollection();\r\n    };\r\n    Repeat.prototype._unsubscribeCollection = function () {\r\n        if (this.collectionObserver) {\r\n            this.collectionObserver.unsubscribe(this.callContext, this);\r\n            this.collectionObserver = null;\r\n            this.callContext = null;\r\n        }\r\n    };\r\n    Repeat.prototype.itemsChanged = function () {\r\n        var _this = this;\r\n        this._unsubscribeCollection();\r\n        if (!this.scope) {\r\n            return;\r\n        }\r\n        var items = this.items;\r\n        this.strategy = this.strategyLocator.getStrategy(items);\r\n        if (!this.strategy) {\r\n            throw new Error(\"Value for '\".concat(this.sourceExpression, \"' is non-repeatable\"));\r\n        }\r\n        if (!this.isOneTime && !this._observeInnerCollection()) {\r\n            this._observeCollection();\r\n        }\r\n        this.ignoreMutation = true;\r\n        this.strategy.instanceChanged(this, items);\r\n        this.observerLocator.taskQueue.queueMicroTask(function () {\r\n            _this.ignoreMutation = false;\r\n        });\r\n    };\r\n    Repeat.prototype._getInnerCollection = function () {\r\n        var expression = unwrapExpression(this.sourceExpression);\r\n        if (!expression) {\r\n            return null;\r\n        }\r\n        return expression.evaluate(this.scope, null);\r\n    };\r\n    Repeat.prototype.handleCollectionMutated = function (collection, changes) {\r\n        if (!this.collectionObserver) {\r\n            return;\r\n        }\r\n        if (this.ignoreMutation) {\r\n            return;\r\n        }\r\n        this.strategy.instanceMutated(this, collection, changes);\r\n    };\r\n    Repeat.prototype.handleInnerCollectionMutated = function (collection, changes) {\r\n        var _this = this;\r\n        if (!this.collectionObserver) {\r\n            return;\r\n        }\r\n        if (this.ignoreMutation) {\r\n            return;\r\n        }\r\n        this.ignoreMutation = true;\r\n        var newItems = this.sourceExpression.evaluate(this.scope, this.lookupFunctions);\r\n        this.observerLocator.taskQueue.queueMicroTask(function () { return _this.ignoreMutation = false; });\r\n        if (newItems === this.items) {\r\n            this.itemsChanged();\r\n        }\r\n        else {\r\n            this.items = newItems;\r\n        }\r\n    };\r\n    Repeat.prototype._observeInnerCollection = function () {\r\n        var items = this._getInnerCollection();\r\n        var strategy = this.strategyLocator.getStrategy(items);\r\n        if (!strategy) {\r\n            return false;\r\n        }\r\n        this.collectionObserver = strategy.getCollectionObserver(this.observerLocator, items);\r\n        if (!this.collectionObserver) {\r\n            return false;\r\n        }\r\n        this.callContext = 'handleInnerCollectionMutated';\r\n        this.collectionObserver.subscribe(this.callContext, this);\r\n        return true;\r\n    };\r\n    Repeat.prototype._observeCollection = function () {\r\n        var items = this.items;\r\n        this.collectionObserver = this.strategy.getCollectionObserver(this.observerLocator, items);\r\n        if (this.collectionObserver) {\r\n            this.callContext = 'handleCollectionMutated';\r\n            this.collectionObserver.subscribe(this.callContext, this);\r\n        }\r\n    };\r\n    Repeat.prototype._captureAndRemoveMatcherBinding = function () {\r\n        var viewFactory = this.viewFactory.viewFactory;\r\n        if (viewFactory) {\r\n            var template = viewFactory.template;\r\n            var instructions = viewFactory.instructions;\r\n            if (Repeat_1.useInnerMatcher) {\r\n                return extractMatcherBindingExpression(instructions);\r\n            }\r\n            if (getChildrenCount(template) > 1) {\r\n                return undefined;\r\n            }\r\n            var repeatedElement = getFirstElementChild(template);\r\n            if (!repeatedElement.hasAttribute('au-target-id')) {\r\n                return undefined;\r\n            }\r\n            var repeatedElementTargetId = repeatedElement.getAttribute('au-target-id');\r\n            return extractMatcherBindingExpression(instructions, repeatedElementTargetId);\r\n        }\r\n        return undefined;\r\n    };\r\n    Repeat.prototype.viewCount = function () { return this.viewSlot.children.length; };\r\n    Repeat.prototype.views = function () { return this.viewSlot.children; };\r\n    Repeat.prototype.view = function (index) { return this.viewSlot.children[index]; };\r\n    Repeat.prototype.matcher = function () {\r\n        var matcherBinding = this.matcherBinding;\r\n        return matcherBinding\r\n            ? matcherBinding.sourceExpression.evaluate(this.scope, matcherBinding.lookupFunctions)\r\n            : null;\r\n    };\r\n    Repeat.prototype.addView = function (bindingContext, overrideContext) {\r\n        var view = this.viewFactory.create();\r\n        view.bind(bindingContext, overrideContext);\r\n        this.viewSlot.add(view);\r\n    };\r\n    Repeat.prototype.insertView = function (index, bindingContext, overrideContext) {\r\n        var view = this.viewFactory.create();\r\n        view.bind(bindingContext, overrideContext);\r\n        this.viewSlot.insert(index, view);\r\n    };\r\n    Repeat.prototype.moveView = function (sourceIndex, targetIndex) {\r\n        this.viewSlot.move(sourceIndex, targetIndex);\r\n    };\r\n    Repeat.prototype.removeAllViews = function (returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeAll(returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.removeViews = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeMany(viewsToRemove, returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.removeView = function (index, returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeAt(index, returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.updateBindings = function (view) {\r\n        var $view = view;\r\n        var j = $view.bindings.length;\r\n        while (j--) {\r\n            updateOneTimeBinding($view.bindings[j]);\r\n        }\r\n        j = $view.controllers.length;\r\n        while (j--) {\r\n            var k = $view.controllers[j].boundProperties.length;\r\n            while (k--) {\r\n                var binding = $view.controllers[j].boundProperties[k].binding;\r\n                updateOneTimeBinding(binding);\r\n            }\r\n        }\r\n    };\r\n    var Repeat_1;\r\n    Repeat.useInnerMatcher = true;\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"items\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"local\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"key\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"value\", void 0);\r\n    Repeat = Repeat_1 = __decorate([\r\n        customAttribute('repeat'),\r\n        templateController,\r\n        inject(BoundViewFactory, TargetInstruction, ViewSlot, ViewResources, ObserverLocator, RepeatStrategyLocator)\r\n    ], Repeat);\r\n    return Repeat;\r\n}(AbstractRepeater));\r\nvar extractMatcherBindingExpression = function (instructions, targetedElementId) {\r\n    var instructionIds = Object.keys(instructions);\r\n    for (var i = 0; i < instructionIds.length; i++) {\r\n        var instructionId = instructionIds[i];\r\n        if (targetedElementId !== undefined && instructionId !== targetedElementId) {\r\n            continue;\r\n        }\r\n        var expressions = instructions[instructionId].expressions;\r\n        if (expressions) {\r\n            for (var ii = 0; ii < expressions.length; ii++) {\r\n                if (expressions[ii].targetProperty === 'matcher') {\r\n                    var matcherBindingExpression = expressions[ii];\r\n                    expressions.splice(ii, 1);\r\n                    return matcherBindingExpression;\r\n                }\r\n            }\r\n        }\r\n    }\r\n};\r\nvar getChildrenCount = function (el) {\r\n    var childNodes = el.childNodes;\r\n    var count = 0;\r\n    for (var i = 0, ii = childNodes.length; ii > i; ++i) {\r\n        if (childNodes[i].nodeType === 1) {\r\n            ++count;\r\n        }\r\n    }\r\n    return count;\r\n};\r\nvar getFirstElementChild = function (el) {\r\n    var firstChild = el.firstChild;\r\n    while (firstChild !== null) {\r\n        if (firstChild.nodeType === 1) {\r\n            return firstChild;\r\n        }\r\n        firstChild = firstChild.nextSibling;\r\n    }\r\n    return null;\r\n};\n\nvar aureliaHideClassName = 'aurelia-hide';\r\nvar aureliaHideClass = \".\".concat(aureliaHideClassName, \" { display:none !important; }\");\r\nfunction injectAureliaHideStyleAtHead() {\r\n    DOM.injectStyles(aureliaHideClass);\r\n}\r\nfunction injectAureliaHideStyleAtBoundary(domBoundary) {\r\n    if (FEATURE.shadowDOM && domBoundary && !domBoundary.hasAureliaHideStyle) {\r\n        domBoundary.hasAureliaHideStyle = true;\r\n        DOM.injectStyles(aureliaHideClass, domBoundary);\r\n    }\r\n}\n\nvar Show = (function () {\r\n    function Show(element, animator, domBoundary) {\r\n        this.element = element;\r\n        this.animator = animator;\r\n        this.domBoundary = domBoundary;\r\n    }\r\n    Show.inject = function () {\r\n        return [DOM.Element, Animator, Optional.of(DOM.boundary, true)];\r\n    };\r\n    Show.prototype.created = function () {\r\n        injectAureliaHideStyleAtBoundary(this.domBoundary);\r\n    };\r\n    Show.prototype.valueChanged = function (newValue) {\r\n        var element = this.element;\r\n        var animator = this.animator;\r\n        if (newValue) {\r\n            animator.removeClass(element, aureliaHideClassName);\r\n        }\r\n        else {\r\n            animator.addClass(element, aureliaHideClassName);\r\n        }\r\n    };\r\n    Show.prototype.bind = function (bindingContext) {\r\n        this.valueChanged(this.value);\r\n    };\r\n    Show = __decorate([\r\n        customAttribute('show')\r\n    ], Show);\r\n    return Show;\r\n}());\n\nvar Hide = (function () {\r\n    function Hide(element, animator, domBoundary) {\r\n        this.element = element;\r\n        this.animator = animator;\r\n        this.domBoundary = domBoundary;\r\n    }\r\n    Hide.inject = function () {\r\n        return [DOM.Element, Animator, Optional.of(DOM.boundary, true)];\r\n    };\r\n    Hide.prototype.created = function () {\r\n        injectAureliaHideStyleAtBoundary(this.domBoundary);\r\n    };\r\n    Hide.prototype.valueChanged = function (newValue) {\r\n        if (newValue) {\r\n            this.animator.addClass(this.element, aureliaHideClassName);\r\n        }\r\n        else {\r\n            this.animator.removeClass(this.element, aureliaHideClassName);\r\n        }\r\n    };\r\n    Hide.prototype.bind = function (bindingContext) {\r\n        this.valueChanged(this.value);\r\n    };\r\n    Hide.prototype.value = function (value) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    Hide = __decorate([\r\n        customAttribute('hide')\r\n    ], Hide);\r\n    return Hide;\r\n}());\n\nvar HTMLSanitizer = (function () {\r\n    function HTMLSanitizer() {\r\n    }\r\n    HTMLSanitizer.prototype.sanitize = function (input) {\r\n        throw new Error(\"To protect the application against a wide variety of sophisticated XSS attacks.\\nPlease see https://aurelia.io/docs/binding/basics#element-content for instructions on how to use a secure solution like DOMPurify or sanitize-html.\");\r\n    };\r\n    return HTMLSanitizer;\r\n}());\n\nvar SanitizeHTMLValueConverter = (function () {\r\n    function SanitizeHTMLValueConverter(sanitizer) {\r\n        this.sanitizer = sanitizer;\r\n    }\r\n    SanitizeHTMLValueConverter.prototype.toView = function (untrustedMarkup) {\r\n        if (untrustedMarkup === null || untrustedMarkup === undefined) {\r\n            return null;\r\n        }\r\n        return this.sanitizer.sanitize(untrustedMarkup);\r\n    };\r\n    SanitizeHTMLValueConverter = __decorate([\r\n        valueConverter('sanitizeHTML'),\r\n        inject(HTMLSanitizer)\r\n    ], SanitizeHTMLValueConverter);\r\n    return SanitizeHTMLValueConverter;\r\n}());\n\nvar Replaceable = (function () {\r\n    function Replaceable(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.view = null;\r\n    }\r\n    Replaceable.prototype.bind = function (bindingContext, overrideContext) {\r\n        if (this.view === null) {\r\n            this.view = this.viewFactory.create();\r\n            this.viewSlot.add(this.view);\r\n        }\r\n        this.view.bind(bindingContext, overrideContext);\r\n    };\r\n    Replaceable.prototype.unbind = function () {\r\n        this.view.unbind();\r\n    };\r\n    Replaceable = __decorate([\r\n        customAttribute('replaceable'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], Replaceable);\r\n    return Replaceable;\r\n}());\n\nvar Focus = (function () {\r\n    function Focus(element, taskQueue) {\r\n        this.element = element;\r\n        this.taskQueue = taskQueue;\r\n        this.isAttached = false;\r\n        this.needsApply = false;\r\n    }\r\n    Focus.inject = function () {\r\n        return [DOM.Element, TaskQueue];\r\n    };\r\n    Focus.prototype.valueChanged = function () {\r\n        if (this.isAttached) {\r\n            this._apply();\r\n        }\r\n        else {\r\n            this.needsApply = true;\r\n        }\r\n    };\r\n    Focus.prototype._apply = function () {\r\n        var _this = this;\r\n        if (this.value) {\r\n            this.taskQueue.queueMicroTask(function () {\r\n                if (_this.value) {\r\n                    _this.element.focus();\r\n                }\r\n            });\r\n        }\r\n        else {\r\n            this.element.blur();\r\n        }\r\n    };\r\n    Focus.prototype.attached = function () {\r\n        this.isAttached = true;\r\n        if (this.needsApply) {\r\n            this.needsApply = false;\r\n            this._apply();\r\n        }\r\n        this.element.addEventListener('focus', this);\r\n        this.element.addEventListener('blur', this);\r\n    };\r\n    Focus.prototype.detached = function () {\r\n        this.isAttached = false;\r\n        this.element.removeEventListener('focus', this);\r\n        this.element.removeEventListener('blur', this);\r\n    };\r\n    Focus.prototype.handleEvent = function (e) {\r\n        if (e.type === 'focus') {\r\n            this.value = true;\r\n        }\r\n        else if (DOM.activeElement !== this.element) {\r\n            this.value = false;\r\n        }\r\n    };\r\n    Focus = __decorate([\r\n        customAttribute('focus', bindingMode.twoWay)\r\n    ], Focus);\r\n    return Focus;\r\n}());\n\nvar cssUrlMatcher = /url\\((?!['\"]data)([^)]+)\\)/gi;\r\nfunction fixupCSSUrls(address, css) {\r\n    if (typeof css !== 'string') {\r\n        throw new Error(\"Failed loading required CSS file: \".concat(address));\r\n    }\r\n    return css.replace(cssUrlMatcher, function (match, p1) {\r\n        var quote = p1.charAt(0);\r\n        if (quote === '\\'' || quote === '\"') {\r\n            p1 = p1.substr(1, p1.length - 2);\r\n        }\r\n        return 'url(\\'' + relativeToFile(p1, address) + '\\')';\r\n    });\r\n}\r\nvar CSSResource = (function () {\r\n    function CSSResource(address) {\r\n        this.address = address;\r\n        this._scoped = null;\r\n        this._global = false;\r\n        this._alreadyGloballyInjected = false;\r\n    }\r\n    CSSResource.prototype.initialize = function (container, Target) {\r\n        this._scoped = new Target(this);\r\n    };\r\n    CSSResource.prototype.register = function (registry, name) {\r\n        if (name === 'scoped') {\r\n            registry.registerViewEngineHooks(this._scoped);\r\n        }\r\n        else {\r\n            this._global = true;\r\n        }\r\n    };\r\n    CSSResource.prototype.load = function (container) {\r\n        var _this = this;\r\n        return container.get(Loader)\r\n            .loadText(this.address)\r\n            .catch(function () { return null; })\r\n            .then(function (text) {\r\n            text = fixupCSSUrls(_this.address, text);\r\n            _this._scoped.css = text;\r\n            if (_this._global) {\r\n                _this._alreadyGloballyInjected = true;\r\n                DOM.injectStyles(text);\r\n            }\r\n            return _this;\r\n        });\r\n    };\r\n    return CSSResource;\r\n}());\r\nvar CSSViewEngineHooks = (function () {\r\n    function CSSViewEngineHooks(owner) {\r\n        this.owner = owner;\r\n        this.css = null;\r\n    }\r\n    CSSViewEngineHooks.prototype.beforeCompile = function (content, resources, instruction) {\r\n        if (instruction.targetShadowDOM) {\r\n            DOM.injectStyles(this.css, content, true);\r\n        }\r\n        else if (FEATURE.scopedCSS) {\r\n            var styleNode = DOM.injectStyles(this.css, content, true);\r\n            styleNode.setAttribute('scoped', 'scoped');\r\n        }\r\n        else if (this._global && !this.owner._alreadyGloballyInjected) {\r\n            DOM.injectStyles(this.css);\r\n            this.owner._alreadyGloballyInjected = true;\r\n        }\r\n    };\r\n    return CSSViewEngineHooks;\r\n}());\r\nfunction _createCSSResource(address) {\r\n    var ViewCSS = (function (_super) {\r\n        __extends(ViewCSS, _super);\r\n        function ViewCSS() {\r\n            return _super !== null && _super.apply(this, arguments) || this;\r\n        }\r\n        ViewCSS = __decorate([\r\n            resource(new CSSResource(address))\r\n        ], ViewCSS);\r\n        return ViewCSS;\r\n    }(CSSViewEngineHooks));\r\n    return ViewCSS;\r\n}\n\nvar AttrBindingBehavior = (function () {\r\n    function AttrBindingBehavior() {\r\n    }\r\n    AttrBindingBehavior.prototype.bind = function (binding, source) {\r\n        binding.targetObserver = new DataAttributeObserver(binding.target, binding.targetProperty);\r\n    };\r\n    AttrBindingBehavior.prototype.unbind = function (binding, source) {\r\n    };\r\n    AttrBindingBehavior = __decorate([\r\n        bindingBehavior('attr')\r\n    ], AttrBindingBehavior);\r\n    return AttrBindingBehavior;\r\n}());\n\nvar modeBindingBehavior = {\r\n    bind: function (binding, source, lookupFunctions) {\r\n        binding.originalMode = binding.mode;\r\n        binding.mode = this.mode;\r\n    },\r\n    unbind: function (binding, source) {\r\n        binding.mode = binding.originalMode;\r\n        binding.originalMode = null;\r\n    }\r\n};\r\nvar OneTimeBindingBehavior = (function () {\r\n    function OneTimeBindingBehavior() {\r\n        this.mode = bindingMode.oneTime;\r\n    }\r\n    OneTimeBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('oneTime')\r\n    ], OneTimeBindingBehavior);\r\n    return OneTimeBindingBehavior;\r\n}());\r\nvar OneWayBindingBehavior = (function () {\r\n    function OneWayBindingBehavior() {\r\n        this.mode = bindingMode.toView;\r\n    }\r\n    OneWayBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('oneWay')\r\n    ], OneWayBindingBehavior);\r\n    return OneWayBindingBehavior;\r\n}());\r\nvar ToViewBindingBehavior = (function () {\r\n    function ToViewBindingBehavior() {\r\n        this.mode = bindingMode.toView;\r\n    }\r\n    ToViewBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('toView')\r\n    ], ToViewBindingBehavior);\r\n    return ToViewBindingBehavior;\r\n}());\r\nvar FromViewBindingBehavior = (function () {\r\n    function FromViewBindingBehavior() {\r\n        this.mode = bindingMode.fromView;\r\n    }\r\n    FromViewBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('fromView')\r\n    ], FromViewBindingBehavior);\r\n    return FromViewBindingBehavior;\r\n}());\r\nvar TwoWayBindingBehavior = (function () {\r\n    function TwoWayBindingBehavior() {\r\n        this.mode = bindingMode.twoWay;\r\n    }\r\n    TwoWayBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('twoWay')\r\n    ], TwoWayBindingBehavior);\r\n    return TwoWayBindingBehavior;\r\n}());\n\nfunction throttle(newValue) {\r\n    var _this = this;\r\n    var state = this.throttleState;\r\n    var elapsed = +new Date() - state.last;\r\n    if (elapsed >= state.delay) {\r\n        clearTimeout(state.timeoutId);\r\n        state.timeoutId = null;\r\n        state.last = +new Date();\r\n        this.throttledMethod(newValue);\r\n        return;\r\n    }\r\n    state.newValue = newValue;\r\n    if (state.timeoutId === null) {\r\n        state.timeoutId = setTimeout(function () {\r\n            state.timeoutId = null;\r\n            state.last = +new Date();\r\n            _this.throttledMethod(state.newValue);\r\n        }, state.delay - elapsed);\r\n    }\r\n}\r\nvar ThrottleBindingBehavior = (function () {\r\n    function ThrottleBindingBehavior() {\r\n    }\r\n    ThrottleBindingBehavior.prototype.bind = function (binding, source, delay) {\r\n        if (delay === void 0) { delay = 200; }\r\n        var methodToThrottle = 'updateTarget';\r\n        if (binding.callSource) {\r\n            methodToThrottle = 'callSource';\r\n        }\r\n        else if (binding.updateSource && binding.mode === bindingMode.twoWay) {\r\n            methodToThrottle = 'updateSource';\r\n        }\r\n        binding.throttledMethod = binding[methodToThrottle];\r\n        binding.throttledMethod.originalName = methodToThrottle;\r\n        binding[methodToThrottle] = throttle;\r\n        binding.throttleState = {\r\n            delay: delay,\r\n            last: 0,\r\n            timeoutId: null\r\n        };\r\n    };\r\n    ThrottleBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var methodToRestore = binding.throttledMethod.originalName;\r\n        binding[methodToRestore] = binding.throttledMethod;\r\n        binding.throttledMethod = null;\r\n        clearTimeout(binding.throttleState.timeoutId);\r\n        binding.throttleState = null;\r\n    };\r\n    ThrottleBindingBehavior = __decorate([\r\n        bindingBehavior('throttle')\r\n    ], ThrottleBindingBehavior);\r\n    return ThrottleBindingBehavior;\r\n}());\n\nvar unset = {};\r\nfunction debounceCallSource(event) {\r\n    var _this = this;\r\n    var state = this.debounceState;\r\n    clearTimeout(state.timeoutId);\r\n    state.timeoutId = setTimeout(function () { return _this.debouncedMethod(event); }, state.delay);\r\n}\r\nfunction debounceCall(context, newValue, oldValue) {\r\n    var _this = this;\r\n    var state = this.debounceState;\r\n    clearTimeout(state.timeoutId);\r\n    if (context !== state.callContextToDebounce) {\r\n        state.oldValue = unset;\r\n        this.debouncedMethod(context, newValue, oldValue);\r\n        return;\r\n    }\r\n    if (state.oldValue === unset) {\r\n        state.oldValue = oldValue;\r\n    }\r\n    state.timeoutId = setTimeout(function () {\r\n        var _oldValue = state.oldValue;\r\n        state.oldValue = unset;\r\n        _this.debouncedMethod(context, newValue, _oldValue);\r\n    }, state.delay);\r\n}\r\nvar DebounceBindingBehavior = (function () {\r\n    function DebounceBindingBehavior() {\r\n    }\r\n    DebounceBindingBehavior.prototype.bind = function (binding, source, delay) {\r\n        if (delay === void 0) { delay = 200; }\r\n        var isCallSource = binding.callSource !== undefined;\r\n        var methodToDebounce = isCallSource ? 'callSource' : 'call';\r\n        var debouncer = isCallSource ? debounceCallSource : debounceCall;\r\n        var mode = binding.mode;\r\n        var callContextToDebounce = mode === bindingMode.twoWay || mode === bindingMode.fromView ? targetContext : sourceContext;\r\n        binding.debouncedMethod = binding[methodToDebounce];\r\n        binding.debouncedMethod.originalName = methodToDebounce;\r\n        binding[methodToDebounce] = debouncer;\r\n        binding.debounceState = {\r\n            callContextToDebounce: callContextToDebounce,\r\n            delay: delay,\r\n            timeoutId: 0,\r\n            oldValue: unset\r\n        };\r\n    };\r\n    DebounceBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var methodToRestore = binding.debouncedMethod.originalName;\r\n        binding[methodToRestore] = binding.debouncedMethod;\r\n        binding.debouncedMethod = null;\r\n        clearTimeout(binding.debounceState.timeoutId);\r\n        binding.debounceState = null;\r\n    };\r\n    DebounceBindingBehavior = __decorate([\r\n        bindingBehavior('debounce')\r\n    ], DebounceBindingBehavior);\r\n    return DebounceBindingBehavior;\r\n}());\n\nfunction findOriginalEventTarget(event) {\r\n    return (event.path && event.path[0]) || (event.deepPath && event.deepPath[0]) || event.target;\r\n}\r\nfunction handleSelfEvent(event) {\r\n    var target = findOriginalEventTarget(event);\r\n    if (this.target !== target) {\r\n        return;\r\n    }\r\n    this.selfEventCallSource(event);\r\n}\r\nvar SelfBindingBehavior = (function () {\r\n    function SelfBindingBehavior() {\r\n    }\r\n    SelfBindingBehavior.prototype.bind = function (binding, source) {\r\n        if (!binding.callSource || !binding.targetEvent) {\r\n            throw new Error('Self binding behavior only supports event.');\r\n        }\r\n        binding.selfEventCallSource = binding.callSource;\r\n        binding.callSource = handleSelfEvent;\r\n    };\r\n    SelfBindingBehavior.prototype.unbind = function (binding, source) {\r\n        binding.callSource = binding.selfEventCallSource;\r\n        binding.selfEventCallSource = null;\r\n    };\r\n    SelfBindingBehavior = __decorate([\r\n        bindingBehavior('self')\r\n    ], SelfBindingBehavior);\r\n    return SelfBindingBehavior;\r\n}());\n\nvar BindingSignaler = (function () {\r\n    function BindingSignaler() {\r\n        this.signals = {};\r\n    }\r\n    BindingSignaler.prototype.signal = function (name) {\r\n        var bindings = this.signals[name];\r\n        if (!bindings) {\r\n            return;\r\n        }\r\n        var i = bindings.length;\r\n        while (i--) {\r\n            bindings[i].call(sourceContext);\r\n        }\r\n    };\r\n    return BindingSignaler;\r\n}());\n\nvar SignalBindingBehavior = (function () {\r\n    function SignalBindingBehavior(bindingSignaler) {\r\n        this.signals = bindingSignaler.signals;\r\n    }\r\n    SignalBindingBehavior.inject = function () { return [BindingSignaler]; };\r\n    SignalBindingBehavior.prototype.bind = function (binding, source) {\r\n        var names = [];\r\n        for (var _i = 2; _i < arguments.length; _i++) {\r\n            names[_i - 2] = arguments[_i];\r\n        }\r\n        if (!binding.updateTarget) {\r\n            throw new Error('Only property bindings and string interpolation bindings can be signaled.  Trigger, delegate and call bindings cannot be signaled.');\r\n        }\r\n        var signals = this.signals;\r\n        if (names.length === 1) {\r\n            var name_1 = names[0];\r\n            var bindings = signals[name_1] || (signals[name_1] = []);\r\n            bindings.push(binding);\r\n            binding.signalName = name_1;\r\n        }\r\n        else if (names.length > 1) {\r\n            var i = names.length;\r\n            while (i--) {\r\n                var name_2 = names[i];\r\n                var bindings = signals[name_2] || (signals[name_2] = []);\r\n                bindings.push(binding);\r\n            }\r\n            binding.signalName = names;\r\n        }\r\n        else {\r\n            throw new Error('Signal name is required.');\r\n        }\r\n    };\r\n    SignalBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var signals = this.signals;\r\n        var name = binding.signalName;\r\n        binding.signalName = null;\r\n        if (Array.isArray(name)) {\r\n            var names = name;\r\n            var i = names.length;\r\n            while (i--) {\r\n                var n = names[i];\r\n                var bindings = signals[n];\r\n                bindings.splice(bindings.indexOf(binding), 1);\r\n            }\r\n        }\r\n        else {\r\n            var bindings = signals[name];\r\n            bindings.splice(bindings.indexOf(binding), 1);\r\n        }\r\n    };\r\n    SignalBindingBehavior = __decorate([\r\n        bindingBehavior('signal')\r\n    ], SignalBindingBehavior);\r\n    return SignalBindingBehavior;\r\n}());\n\nvar eventNamesRequired = 'The updateTrigger binding behavior requires at least one event name argument: eg <input value.bind=\"firstName & updateTrigger:\\'blur\\'\">';\r\nvar notApplicableMessage = 'The updateTrigger binding behavior can only be applied to two-way/ from-view bindings on input/select elements.';\r\nvar UpdateTriggerBindingBehavior = (function () {\r\n    function UpdateTriggerBindingBehavior() {\r\n    }\r\n    UpdateTriggerBindingBehavior.prototype.bind = function (binding, source) {\r\n        var events = [];\r\n        for (var _i = 2; _i < arguments.length; _i++) {\r\n            events[_i - 2] = arguments[_i];\r\n        }\r\n        if (events.length === 0) {\r\n            throw new Error(eventNamesRequired);\r\n        }\r\n        if (binding.mode !== bindingMode.twoWay && binding.mode !== bindingMode.fromView) {\r\n            throw new Error(notApplicableMessage);\r\n        }\r\n        var targetObserver = binding.observerLocator.getObserver(binding.target, binding.targetProperty);\r\n        if (!targetObserver.handler) {\r\n            throw new Error(notApplicableMessage);\r\n        }\r\n        binding.targetObserver = targetObserver;\r\n        targetObserver.originalHandler = binding.targetObserver.handler;\r\n        var handler = new EventSubscriber(events);\r\n        targetObserver.handler = handler;\r\n    };\r\n    UpdateTriggerBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var targetObserver = binding.targetObserver;\r\n        targetObserver.handler.dispose();\r\n        targetObserver.handler = targetObserver.originalHandler;\r\n        targetObserver.originalHandler = null;\r\n    };\r\n    UpdateTriggerBindingBehavior = __decorate([\r\n        bindingBehavior('updateTrigger')\r\n    ], UpdateTriggerBindingBehavior);\r\n    return UpdateTriggerBindingBehavior;\r\n}());\n\nfunction _createDynamicElement(_a) {\r\n    var name = _a.name, viewUrl = _a.viewUrl, bindableNames = _a.bindableNames, useShadowDOMmode = _a.useShadowDOMmode;\r\n    var DynamicElement = (function () {\r\n        function DynamicElement() {\r\n        }\r\n        DynamicElement.prototype.bind = function (bindingContext) {\r\n            this.$parent = bindingContext;\r\n        };\r\n        DynamicElement = __decorate([\r\n            customElement(name),\r\n            useView(viewUrl)\r\n        ], DynamicElement);\r\n        return DynamicElement;\r\n    }());\r\n    for (var i = 0, ii = bindableNames.length; i < ii; ++i) {\r\n        bindable(bindableNames[i])(DynamicElement);\r\n    }\r\n    switch (useShadowDOMmode) {\r\n        case 'open':\r\n            useShadowDOM({ mode: 'open' })(DynamicElement);\r\n            break;\r\n        case 'closed':\r\n            useShadowDOM({ mode: 'closed' })(DynamicElement);\r\n            break;\r\n        case '':\r\n            useShadowDOM(DynamicElement);\r\n            break;\r\n        case null:\r\n            break;\r\n        default:\r\n            getLogger('aurelia-html-only-element')\r\n                .warn(\"Expected 'use-shadow-dom' value to be \\\"close\\\", \\\"open\\\" or \\\"\\\", received \".concat(useShadowDOMmode));\r\n            break;\r\n    }\r\n    return DynamicElement;\r\n}\n\nfunction getElementName(address) {\r\n    return /([^\\/^\\?]+)\\.html/i.exec(address)[1].toLowerCase();\r\n}\r\nfunction configure$1(config) {\r\n    var viewEngine = config.container.get(ViewEngine);\r\n    var loader = config.aurelia.loader;\r\n    viewEngine.addResourcePlugin('.html', {\r\n        'fetch': function (viewUrl) {\r\n            return loader.loadTemplate(viewUrl).then(function (registryEntry) {\r\n                var _a;\r\n                var bindableNames = registryEntry.template.getAttribute('bindable');\r\n                var useShadowDOMmode = registryEntry.template.getAttribute('use-shadow-dom');\r\n                var name = getElementName(viewUrl);\r\n                if (bindableNames) {\r\n                    bindableNames = bindableNames.split(',').map(function (x) { return x.trim(); });\r\n                    registryEntry.template.removeAttribute('bindable');\r\n                }\r\n                else {\r\n                    bindableNames = [];\r\n                }\r\n                return _a = {}, _a[name] = _createDynamicElement({ name: name, viewUrl: viewUrl, bindableNames: bindableNames, useShadowDOMmode: useShadowDOMmode }), _a;\r\n            });\r\n        }\r\n    });\r\n}\n\nfunction configure(config) {\r\n    injectAureliaHideStyleAtHead();\r\n    config.globalResources(Compose, If, Else, With, Repeat, Show, Hide, Replaceable, Focus, SanitizeHTMLValueConverter, OneTimeBindingBehavior, OneWayBindingBehavior, ToViewBindingBehavior, FromViewBindingBehavior, TwoWayBindingBehavior, ThrottleBindingBehavior, DebounceBindingBehavior, SelfBindingBehavior, SignalBindingBehavior, UpdateTriggerBindingBehavior, AttrBindingBehavior);\r\n    configure$1(config);\r\n    var viewEngine = config.container.get(ViewEngine);\r\n    var styleResourcePlugin = {\r\n        fetch: function (address) {\r\n            var _a;\r\n            return _a = {}, _a[address] = _createCSSResource(address), _a;\r\n        }\r\n    };\r\n    ['.css', '.less', '.sass', '.scss', '.styl'].forEach(function (ext) { return viewEngine.addResourcePlugin(ext, styleResourcePlugin); });\r\n}\n\nexport { AbstractRepeater, ArrayRepeatStrategy, AttrBindingBehavior, BindingSignaler, Compose, DebounceBindingBehavior, Else, Focus, FromViewBindingBehavior, HTMLSanitizer, Hide, If, MapRepeatStrategy, NullRepeatStrategy, NumberRepeatStrategy, OneTimeBindingBehavior, OneWayBindingBehavior, Repeat, RepeatStrategyLocator, Replaceable, SanitizeHTMLValueConverter, SelfBindingBehavior, SetRepeatStrategy, Show, SignalBindingBehavior, ThrottleBindingBehavior, ToViewBindingBehavior, TwoWayBindingBehavior, UpdateTriggerBindingBehavior, With, configure, createFullOverrideContext, getItemsSourceExpression, isOneTime, unwrapExpression, updateOneTimeBinding, updateOverrideContext, viewsRequireLifecycle };\n//# sourceMappingURL=aurelia-templating-resources.js.map\n","import { Router, RouteLoader, AppRouter } from 'aurelia-router';\nimport { Origin } from 'aurelia-metadata';\nimport { relativeToFile } from 'aurelia-path';\nimport { BehaviorInstruction, ShadowDOM, ViewSlot, ViewLocator, CompositionTransaction, CompositionEngine, SwapStrategies, inlineView, customElement, useView } from 'aurelia-templating';\nimport { Container } from 'aurelia-dependency-injection';\nimport { createOverrideContext } from 'aurelia-binding';\nimport { DOM } from 'aurelia-pal';\nimport * as LogManager from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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}\n\nvar EmptyLayoutViewModel = (function () {\r\n    function EmptyLayoutViewModel() {\r\n    }\r\n    return EmptyLayoutViewModel;\r\n}());\r\nvar RouterView = (function () {\r\n    function RouterView(element, container, viewSlot, router, viewLocator, compositionTransaction, compositionEngine) {\r\n        this.element = element;\r\n        this.container = container;\r\n        this.viewSlot = viewSlot;\r\n        this.router = router;\r\n        this.viewLocator = viewLocator;\r\n        this.compositionTransaction = compositionTransaction;\r\n        this.compositionEngine = compositionEngine;\r\n        this.router.registerViewPort(this, this.element.getAttribute('name'));\r\n        if (!('initialComposition' in compositionTransaction)) {\r\n            compositionTransaction.initialComposition = true;\r\n            this.compositionTransactionNotifier = compositionTransaction.enlist();\r\n        }\r\n    }\r\n    RouterView.inject = function () {\r\n        return [DOM.Element, Container, ViewSlot, Router, ViewLocator, CompositionTransaction, CompositionEngine];\r\n    };\r\n    RouterView.prototype.created = function (owningView) {\r\n        this.owningView = owningView;\r\n    };\r\n    RouterView.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.container.viewModel = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n    };\r\n    RouterView.prototype.process = function ($viewPortInstruction, waitToSwap) {\r\n        var _this = this;\r\n        var viewPortInstruction = $viewPortInstruction;\r\n        var component = viewPortInstruction.component;\r\n        var childContainer = component.childContainer;\r\n        var viewModel = component.viewModel;\r\n        var viewModelResource = component.viewModelResource;\r\n        var metadata = viewModelResource.metadata;\r\n        var config = component.router.currentInstruction.config;\r\n        var viewPortConfig = config.viewPorts ? (config.viewPorts[viewPortInstruction.name] || {}) : {};\r\n        childContainer.get(RouterViewLocator)._notify(this);\r\n        var layoutInstruction = {\r\n            viewModel: viewPortConfig.layoutViewModel || config.layoutViewModel || this.layoutViewModel,\r\n            view: viewPortConfig.layoutView || config.layoutView || this.layoutView,\r\n            model: viewPortConfig.layoutModel || config.layoutModel || this.layoutModel,\r\n            router: viewPortInstruction.component.router,\r\n            childContainer: childContainer,\r\n            viewSlot: this.viewSlot\r\n        };\r\n        var viewStrategy = this.viewLocator.getViewStrategy(component.view || viewModel);\r\n        if (viewStrategy && component.view) {\r\n            viewStrategy.makeRelativeTo(Origin.get(component.router.container.viewModel.constructor).moduleId);\r\n        }\r\n        return metadata\r\n            .load(childContainer, viewModelResource.value, null, viewStrategy, true)\r\n            .then(function (viewFactory) {\r\n            if (!_this.compositionTransactionNotifier) {\r\n                _this.compositionTransactionOwnershipToken = _this.compositionTransaction.tryCapture();\r\n            }\r\n            if (layoutInstruction.viewModel || layoutInstruction.view) {\r\n                viewPortInstruction.layoutInstruction = layoutInstruction;\r\n            }\r\n            var viewPortComponentBehaviorInstruction = BehaviorInstruction.dynamic(_this.element, viewModel, viewFactory);\r\n            viewPortInstruction.controller = metadata.create(childContainer, viewPortComponentBehaviorInstruction);\r\n            if (waitToSwap) {\r\n                return null;\r\n            }\r\n            _this.swap(viewPortInstruction);\r\n        });\r\n    };\r\n    RouterView.prototype.swap = function ($viewPortInstruction) {\r\n        var _this = this;\r\n        var viewPortInstruction = $viewPortInstruction;\r\n        var viewPortController = viewPortInstruction.controller;\r\n        var layoutInstruction = viewPortInstruction.layoutInstruction;\r\n        var previousView = this.view;\r\n        var work = function () {\r\n            var swapStrategy = SwapStrategies[_this.swapOrder] || SwapStrategies.after;\r\n            var viewSlot = _this.viewSlot;\r\n            swapStrategy(viewSlot, previousView, function () { return Promise.resolve(viewSlot.add(_this.view)); }).then(function () {\r\n                _this._notify();\r\n            });\r\n        };\r\n        var ready = function (owningView_or_layoutView) {\r\n            viewPortController.automate(_this.overrideContext, owningView_or_layoutView);\r\n            var transactionOwnerShipToken = _this.compositionTransactionOwnershipToken;\r\n            if (transactionOwnerShipToken) {\r\n                return transactionOwnerShipToken\r\n                    .waitForCompositionComplete()\r\n                    .then(function () {\r\n                    _this.compositionTransactionOwnershipToken = null;\r\n                    return work();\r\n                });\r\n            }\r\n            return work();\r\n        };\r\n        if (layoutInstruction) {\r\n            if (!layoutInstruction.viewModel) {\r\n                layoutInstruction.viewModel = new EmptyLayoutViewModel();\r\n            }\r\n            return this.compositionEngine\r\n                .createController(layoutInstruction)\r\n                .then(function (layoutController) {\r\n                var layoutView = layoutController.view;\r\n                ShadowDOM.distributeView(viewPortController.view, layoutController.slots || layoutView.slots);\r\n                layoutController.automate(createOverrideContext(layoutInstruction.viewModel), _this.owningView);\r\n                layoutView.children.push(viewPortController.view);\r\n                return layoutView || layoutController;\r\n            })\r\n                .then(function (newView) {\r\n                _this.view = newView;\r\n                return ready(newView);\r\n            });\r\n        }\r\n        this.view = viewPortController.view;\r\n        return ready(this.owningView);\r\n    };\r\n    RouterView.prototype._notify = function () {\r\n        var notifier = this.compositionTransactionNotifier;\r\n        if (notifier) {\r\n            notifier.done();\r\n            this.compositionTransactionNotifier = null;\r\n        }\r\n    };\r\n    RouterView.$view = null;\r\n    RouterView.$resource = {\r\n        name: 'router-view',\r\n        bindables: ['swapOrder', 'layoutView', 'layoutViewModel', 'layoutModel', 'inherit-binding-context']\r\n    };\r\n    return RouterView;\r\n}());\r\nvar RouterViewLocator = (function () {\r\n    function RouterViewLocator() {\r\n        var _this = this;\r\n        this.promise = new Promise(function (resolve) { return _this.resolve = resolve; });\r\n    }\r\n    RouterViewLocator.prototype.findNearest = function () {\r\n        return this.promise;\r\n    };\r\n    RouterViewLocator.prototype._notify = function (routerView) {\r\n        this.resolve(routerView);\r\n    };\r\n    return RouterViewLocator;\r\n}());\n\nvar EmptyClass = (function () {\r\n    function EmptyClass() {\r\n    }\r\n    return EmptyClass;\r\n}());\r\ninlineView('<template></template>')(EmptyClass);\r\nvar TemplatingRouteLoader = (function (_super) {\r\n    __extends(TemplatingRouteLoader, _super);\r\n    function TemplatingRouteLoader(compositionEngine) {\r\n        var _this = _super.call(this) || this;\r\n        _this.compositionEngine = compositionEngine;\r\n        return _this;\r\n    }\r\n    TemplatingRouteLoader.prototype.resolveViewModel = function (router, config) {\r\n        return new Promise(function (resolve, reject) {\r\n            var viewModel;\r\n            if ('moduleId' in config) {\r\n                var moduleId = config.moduleId;\r\n                if (moduleId === null) {\r\n                    viewModel = EmptyClass;\r\n                }\r\n                else {\r\n                    moduleId = relativeToFile(moduleId, Origin.get(router.container.viewModel.constructor).moduleId);\r\n                    if (/\\.html/i.test(moduleId)) {\r\n                        viewModel = createDynamicClass(moduleId);\r\n                    }\r\n                    else {\r\n                        viewModel = moduleId;\r\n                    }\r\n                }\r\n                return resolve(viewModel);\r\n            }\r\n            reject(new Error('Invalid route config. No \"moduleId\" found.'));\r\n        });\r\n    };\r\n    TemplatingRouteLoader.prototype.createChildContainer = function (router) {\r\n        var childContainer = router.container.createChild();\r\n        childContainer.registerSingleton(RouterViewLocator);\r\n        childContainer.getChildRouter = function () {\r\n            var childRouter;\r\n            childContainer.registerHandler(Router, function () { return childRouter || (childRouter = router.createChild(childContainer)); });\r\n            return childContainer.get(Router);\r\n        };\r\n        return childContainer;\r\n    };\r\n    TemplatingRouteLoader.prototype.loadRoute = function (router, config, navInstruction) {\r\n        var _this = this;\r\n        return this\r\n            .resolveViewModel(router, config)\r\n            .then(function (viewModel) { return _this.compositionEngine.ensureViewModel({\r\n            viewModel: viewModel,\r\n            childContainer: _this.createChildContainer(router),\r\n            view: config.view || config.viewStrategy,\r\n            router: router\r\n        }); });\r\n    };\r\n    TemplatingRouteLoader.inject = [CompositionEngine];\r\n    return TemplatingRouteLoader;\r\n}(RouteLoader));\r\nfunction createDynamicClass(moduleId) {\r\n    var name = /([^\\/^\\?]+)\\.html/i.exec(moduleId)[1];\r\n    var DynamicClass = (function () {\r\n        function DynamicClass() {\r\n        }\r\n        DynamicClass.prototype.bind = function (bindingContext) {\r\n            this.$parent = bindingContext;\r\n        };\r\n        return DynamicClass;\r\n    }());\r\n    customElement(name)(DynamicClass);\r\n    useView(moduleId)(DynamicClass);\r\n    return DynamicClass;\r\n}\n\nvar logger = LogManager.getLogger('route-href');\r\nvar RouteHref = (function () {\r\n    function RouteHref(router, element) {\r\n        this.router = router;\r\n        this.element = element;\r\n        this.attribute = 'href';\r\n    }\r\n    RouteHref.inject = function () {\r\n        return [Router, DOM.Element];\r\n    };\r\n    RouteHref.prototype.bind = function () {\r\n        this.isActive = true;\r\n        this.processChange();\r\n    };\r\n    RouteHref.prototype.unbind = function () {\r\n        this.isActive = false;\r\n    };\r\n    RouteHref.prototype.attributeChanged = function (value, previous) {\r\n        if (previous) {\r\n            this.element.removeAttribute(previous);\r\n        }\r\n        return this.processChange();\r\n    };\r\n    RouteHref.prototype.processChange = function () {\r\n        var _this = this;\r\n        return this.router\r\n            .ensureConfigured()\r\n            .then(function () {\r\n            if (!_this.isActive) {\r\n                return null;\r\n            }\r\n            var element = _this.element;\r\n            var href = _this.router.generate(_this.route, _this.params);\r\n            if (element.au.controller) {\r\n                element.au.controller.viewModel[_this.attribute] = href;\r\n            }\r\n            else {\r\n                element.setAttribute(_this.attribute, href);\r\n            }\r\n            return null;\r\n        })\r\n            .catch(function (reason) {\r\n            logger.error(reason);\r\n        });\r\n    };\r\n    RouteHref.$resource = {\r\n        type: 'attribute',\r\n        name: 'route-href',\r\n        bindables: [\r\n            { name: 'route', changeHandler: 'processChange', primaryProperty: true },\r\n            { name: 'params', changeHandler: 'processChange' },\r\n            'attribute'\r\n        ]\r\n    };\r\n    return RouteHref;\r\n}());\n\nfunction configure(config) {\r\n    config\r\n        .singleton(RouteLoader, TemplatingRouteLoader)\r\n        .singleton(Router, AppRouter)\r\n        .globalResources(RouterView, RouteHref);\r\n    config.container.registerAlias(Router, AppRouter);\r\n}\n\nexport { RouteHref, RouterView, RouterViewLocator, TemplatingRouteLoader, configure };\n//# sourceMappingURL=aurelia-templating-router.js.map\n","import { DOM, FEATURE, PLATFORM } from 'aurelia-pal';\nimport { TemplateRegistryEntry, Loader } from 'aurelia-loader';\nimport { metadata, Origin, protocol } from 'aurelia-metadata';\nimport { relativeToFile } from 'aurelia-path';\nimport * as LogManager from 'aurelia-logging';\nimport { subscriberCollection, bindingMode, createOverrideContext, ValueConverterResource, BindingBehaviorResource, ObserverLocator, camelCase, EventManager } from 'aurelia-binding';\nimport { Container, resolver, inject } from 'aurelia-dependency-injection';\nimport { TaskQueue } from 'aurelia-task-queue';\n\nvar ElementEvents = (function () {\r\n    function ElementEvents(element) {\r\n        this.element = element;\r\n        this.subscriptions = {};\r\n    }\r\n    ElementEvents.prototype._enqueueHandler = function (handler) {\r\n        this.subscriptions[handler.eventName] = this.subscriptions[handler.eventName] || [];\r\n        this.subscriptions[handler.eventName].push(handler);\r\n    };\r\n    ElementEvents.prototype._dequeueHandler = function (handler) {\r\n        var index;\r\n        var subscriptions = this.subscriptions[handler.eventName];\r\n        if (subscriptions) {\r\n            index = subscriptions.indexOf(handler);\r\n            if (index > -1) {\r\n                subscriptions.splice(index, 1);\r\n            }\r\n        }\r\n        return handler;\r\n    };\r\n    ElementEvents.prototype.publish = function (eventName, detail, bubbles, cancelable) {\r\n        if (detail === void 0) { detail = {}; }\r\n        if (bubbles === void 0) { bubbles = true; }\r\n        if (cancelable === void 0) { cancelable = true; }\r\n        var event = DOM.createCustomEvent(eventName, { cancelable: cancelable, bubbles: bubbles, detail: detail });\r\n        this.element.dispatchEvent(event);\r\n    };\r\n    ElementEvents.prototype.subscribe = function (eventName, handler, captureOrOptions) {\r\n        if (typeof handler === 'function') {\r\n            if (captureOrOptions === undefined) {\r\n                captureOrOptions = ElementEvents.defaultListenerOptions;\r\n            }\r\n            var eventHandler = new EventHandlerImpl(this, eventName, handler, captureOrOptions, false);\r\n            return eventHandler;\r\n        }\r\n        return undefined;\r\n    };\r\n    ElementEvents.prototype.subscribeOnce = function (eventName, handler, captureOrOptions) {\r\n        if (typeof handler === 'function') {\r\n            if (captureOrOptions === undefined) {\r\n                captureOrOptions = ElementEvents.defaultListenerOptions;\r\n            }\r\n            var eventHandler = new EventHandlerImpl(this, eventName, handler, captureOrOptions, true);\r\n            return eventHandler;\r\n        }\r\n        return undefined;\r\n    };\r\n    ElementEvents.prototype.dispose = function (eventName) {\r\n        if (eventName && typeof eventName === 'string') {\r\n            var subscriptions = this.subscriptions[eventName];\r\n            if (subscriptions) {\r\n                while (subscriptions.length) {\r\n                    var subscription = subscriptions.pop();\r\n                    if (subscription) {\r\n                        subscription.dispose();\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        else {\r\n            this.disposeAll();\r\n        }\r\n    };\r\n    ElementEvents.prototype.disposeAll = function () {\r\n        for (var key in this.subscriptions) {\r\n            this.dispose(key);\r\n        }\r\n    };\r\n    ElementEvents.defaultListenerOptions = true;\r\n    return ElementEvents;\r\n}());\r\nvar EventHandlerImpl = (function () {\r\n    function EventHandlerImpl(owner, eventName, handler, captureOrOptions, once) {\r\n        this.owner = owner;\r\n        this.eventName = eventName;\r\n        this.handler = handler;\r\n        this.capture = typeof captureOrOptions === 'boolean' ? captureOrOptions : captureOrOptions.capture;\r\n        this.bubbles = !this.capture;\r\n        this.captureOrOptions = captureOrOptions;\r\n        this.once = once;\r\n        owner.element.addEventListener(eventName, this, captureOrOptions);\r\n        owner._enqueueHandler(this);\r\n    }\r\n    EventHandlerImpl.prototype.handleEvent = function (e) {\r\n        var fn = this.handler;\r\n        fn(e);\r\n        if (this.once) {\r\n            this.dispose();\r\n        }\r\n    };\r\n    EventHandlerImpl.prototype.dispose = function () {\r\n        this.owner.element.removeEventListener(this.eventName, this, this.captureOrOptions);\r\n        this.owner._dequeueHandler(this);\r\n        this.owner = this.handler = null;\r\n    };\r\n    return EventHandlerImpl;\r\n}());\n\nvar ResourceLoadContext = (function () {\r\n    function ResourceLoadContext() {\r\n        this.dependencies = {};\r\n    }\r\n    ResourceLoadContext.prototype.addDependency = function (url) {\r\n        this.dependencies[url] = true;\r\n    };\r\n    ResourceLoadContext.prototype.hasDependency = function (url) {\r\n        return url in this.dependencies;\r\n    };\r\n    return ResourceLoadContext;\r\n}());\r\nvar ViewCompileInstruction = (function () {\r\n    function ViewCompileInstruction(targetShadowDOM, compileSurrogate) {\r\n        if (targetShadowDOM === void 0) { targetShadowDOM = false; }\r\n        if (compileSurrogate === void 0) { compileSurrogate = false; }\r\n        this.targetShadowDOM = targetShadowDOM;\r\n        this.compileSurrogate = compileSurrogate;\r\n        this.associatedModuleId = null;\r\n    }\r\n    ViewCompileInstruction.normal = new ViewCompileInstruction();\r\n    return ViewCompileInstruction;\r\n}());\r\nvar BehaviorInstruction = (function () {\r\n    function BehaviorInstruction() {\r\n    }\r\n    BehaviorInstruction.enhance = function () {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.enhance = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.unitTest = function (type, attributes) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.type = type;\r\n        instruction.attributes = attributes || {};\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.element = function (node, type) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.type = type;\r\n        instruction.attributes = {};\r\n        instruction.anchorIsContainer = !(node.hasAttribute('containerless') || type.containerless);\r\n        instruction.initiatedByBehavior = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.attribute = function (attrName, type) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.attrName = attrName;\r\n        instruction.type = type || null;\r\n        instruction.attributes = {};\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.dynamic = function (host, viewModel, viewFactory) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.host = host;\r\n        instruction.viewModel = viewModel;\r\n        instruction.viewFactory = viewFactory;\r\n        instruction.inheritBindingContext = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.normal = new BehaviorInstruction();\r\n    return BehaviorInstruction;\r\n}());\r\nvar biProto = BehaviorInstruction.prototype;\r\nbiProto.initiatedByBehavior = false;\r\nbiProto.enhance = false;\r\nbiProto.partReplacements = null;\r\nbiProto.viewFactory = null;\r\nbiProto.originalAttrName = null;\r\nbiProto.skipContentProcessing = false;\r\nbiProto.contentFactory = null;\r\nbiProto.viewModel = null;\r\nbiProto.anchorIsContainer = false;\r\nbiProto.host = null;\r\nbiProto.attributes = null;\r\nbiProto.type = null;\r\nbiProto.attrName = null;\r\nbiProto.inheritBindingContext = false;\r\nvar TargetInstruction = (function () {\r\n    function TargetInstruction() {\r\n    }\r\n    TargetInstruction.shadowSlot = function (parentInjectorId) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.shadowSlot = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.contentExpression = function (expression) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.contentExpression = expression;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.letElement = function (expressions) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.expressions = expressions;\r\n        instruction.letElement = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.lifting = function (parentInjectorId, liftingInstruction) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.expressions = TargetInstruction.noExpressions;\r\n        instruction.behaviorInstructions = [liftingInstruction];\r\n        instruction.viewFactory = liftingInstruction.viewFactory;\r\n        instruction.providers = [liftingInstruction.type.target];\r\n        instruction.lifting = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.normal = function (injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.injectorId = injectorId;\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.providers = providers;\r\n        instruction.behaviorInstructions = behaviorInstructions;\r\n        instruction.expressions = expressions;\r\n        instruction.anchorIsContainer = elementInstruction ? elementInstruction.anchorIsContainer : true;\r\n        instruction.elementInstruction = elementInstruction;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.surrogate = function (providers, behaviorInstructions, expressions, values) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.expressions = expressions;\r\n        instruction.behaviorInstructions = behaviorInstructions;\r\n        instruction.providers = providers;\r\n        instruction.values = values;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.noExpressions = Object.freeze([]);\r\n    return TargetInstruction;\r\n}());\r\nvar tiProto = TargetInstruction.prototype;\r\ntiProto.injectorId = null;\r\ntiProto.parentInjectorId = null;\r\ntiProto.shadowSlot = false;\r\ntiProto.slotName = null;\r\ntiProto.slotFallbackFactory = null;\r\ntiProto.contentExpression = null;\r\ntiProto.letElement = false;\r\ntiProto.expressions = null;\r\ntiProto.expressions = null;\r\ntiProto.providers = null;\r\ntiProto.viewFactory = null;\r\ntiProto.anchorIsContainer = false;\r\ntiProto.elementInstruction = null;\r\ntiProto.lifting = false;\r\ntiProto.values = null;\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __decorate(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}\n\nvar capitalMatcher = /([A-Z])/g;\r\nfunction addHyphenAndLower(char) {\r\n    return '-' + char.toLowerCase();\r\n}\r\nfunction _hyphenate(name) {\r\n    return (name.charAt(0).toLowerCase() + name.slice(1)).replace(capitalMatcher, addHyphenAndLower);\r\n}\r\nfunction _isAllWhitespace(node) {\r\n    return !(node.auInterpolationTarget || (/[^\\t\\n\\r ]/.test(node.textContent)));\r\n}\n\nvar BehaviorPropertyObserver = (function () {\r\n    function BehaviorPropertyObserver(taskQueue, obj, propertyName, selfSubscriber, initialValue) {\r\n        this.taskQueue = taskQueue;\r\n        this.obj = obj;\r\n        this.propertyName = propertyName;\r\n        this.notqueued = true;\r\n        this.publishing = false;\r\n        this.selfSubscriber = selfSubscriber;\r\n        this.currentValue = this.oldValue = initialValue;\r\n    }\r\n    BehaviorPropertyObserver.prototype.getValue = function () {\r\n        return this.currentValue;\r\n    };\r\n    BehaviorPropertyObserver.prototype.setValue = function (newValue) {\r\n        var oldValue = this.currentValue;\r\n        if (!Object.is(newValue, oldValue)) {\r\n            this.oldValue = oldValue;\r\n            this.currentValue = newValue;\r\n            if (this.publishing && this.notqueued) {\r\n                if (this.taskQueue.flushing) {\r\n                    this.call();\r\n                }\r\n                else {\r\n                    this.notqueued = false;\r\n                    this.taskQueue.queueMicroTask(this);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    BehaviorPropertyObserver.prototype.call = function () {\r\n        var oldValue = this.oldValue;\r\n        var newValue = this.currentValue;\r\n        this.notqueued = true;\r\n        if (Object.is(newValue, oldValue)) {\r\n            return;\r\n        }\r\n        if (this.selfSubscriber) {\r\n            this.selfSubscriber(newValue, oldValue);\r\n        }\r\n        this.callSubscribers(newValue, oldValue);\r\n        this.oldValue = newValue;\r\n    };\r\n    BehaviorPropertyObserver.prototype.callSubscribers = function (newValue, oldValue) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver.prototype.subscribe = function (context, callable) {\r\n        this.addSubscriber(context, callable);\r\n    };\r\n    BehaviorPropertyObserver.prototype.addSubscriber = function (context, callable) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver.prototype.unsubscribe = function (context, callable) {\r\n        this.removeSubscriber(context, callable);\r\n    };\r\n    BehaviorPropertyObserver.prototype.removeSubscriber = function (context, callable) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver = __decorate([\r\n        subscriberCollection()\r\n    ], BehaviorPropertyObserver);\r\n    return BehaviorPropertyObserver;\r\n}());\n\nfunction getObserver(instance, name) {\r\n    var lookup = instance.__observers__;\r\n    if (lookup === undefined) {\r\n        var ctor = Object.getPrototypeOf(instance).constructor;\r\n        var behavior = metadata.get(metadata.resource, ctor);\r\n        if (!behavior.isInitialized) {\r\n            behavior.initialize(Container.instance || new Container(), instance.constructor);\r\n        }\r\n        lookup = behavior.observerLocator.getOrCreateObserversLookup(instance);\r\n        behavior._ensurePropertiesDefined(instance, lookup);\r\n    }\r\n    return lookup[name];\r\n}\r\nvar BindableProperty = (function () {\r\n    function BindableProperty(nameOrConfig) {\r\n        if (typeof nameOrConfig === 'string') {\r\n            this.name = nameOrConfig;\r\n        }\r\n        else {\r\n            Object.assign(this, nameOrConfig);\r\n        }\r\n        this.attribute = this.attribute || _hyphenate(this.name);\r\n        var defaultBindingMode = this.defaultBindingMode;\r\n        if (defaultBindingMode === null || defaultBindingMode === undefined) {\r\n            this.defaultBindingMode = bindingMode.oneWay;\r\n        }\r\n        else if (typeof defaultBindingMode === 'string') {\r\n            this.defaultBindingMode = bindingMode[defaultBindingMode] || bindingMode.oneWay;\r\n        }\r\n        this.changeHandler = this.changeHandler || null;\r\n        this.owner = null;\r\n        this.descriptor = null;\r\n    }\r\n    BindableProperty.prototype.registerWith = function (target, behavior, descriptor) {\r\n        behavior.properties.push(this);\r\n        behavior.attributes[this.attribute] = this;\r\n        this.owner = behavior;\r\n        if (descriptor) {\r\n            this.descriptor = descriptor;\r\n            return this._configureDescriptor(descriptor);\r\n        }\r\n        return undefined;\r\n    };\r\n    BindableProperty.prototype._configureDescriptor = function (descriptor) {\r\n        var name = this.name;\r\n        descriptor.configurable = true;\r\n        descriptor.enumerable = true;\r\n        if ('initializer' in descriptor) {\r\n            this.defaultValue = descriptor.initializer;\r\n            delete descriptor.initializer;\r\n            delete descriptor.writable;\r\n        }\r\n        if ('value' in descriptor) {\r\n            this.defaultValue = descriptor.value;\r\n            delete descriptor.value;\r\n            delete descriptor.writable;\r\n        }\r\n        descriptor.get = function () {\r\n            return getObserver(this, name).getValue();\r\n        };\r\n        descriptor.set = function (value) {\r\n            getObserver(this, name).setValue(value);\r\n        };\r\n        descriptor.get.getObserver = function (obj) {\r\n            return getObserver(obj, name);\r\n        };\r\n        return descriptor;\r\n    };\r\n    BindableProperty.prototype.defineOn = function (target, behavior) {\r\n        var name = this.name;\r\n        var handlerName;\r\n        if (this.changeHandler === null) {\r\n            handlerName = name + 'Changed';\r\n            if (handlerName in target.prototype) {\r\n                this.changeHandler = handlerName;\r\n            }\r\n        }\r\n        if (this.descriptor === null) {\r\n            Object.defineProperty(target.prototype, name, this._configureDescriptor({}));\r\n        }\r\n    };\r\n    BindableProperty.prototype.createObserver = function (viewModel) {\r\n        var selfSubscriber = null;\r\n        var defaultValue = this.defaultValue;\r\n        var changeHandlerName = this.changeHandler;\r\n        var name = this.name;\r\n        var initialValue;\r\n        if (this.hasOptions) {\r\n            return undefined;\r\n        }\r\n        if (changeHandlerName in viewModel) {\r\n            if ('propertyChanged' in viewModel) {\r\n                selfSubscriber = function (newValue, oldValue) {\r\n                    viewModel[changeHandlerName](newValue, oldValue);\r\n                    viewModel.propertyChanged(name, newValue, oldValue);\r\n                };\r\n            }\r\n            else {\r\n                selfSubscriber = function (newValue, oldValue) { return viewModel[changeHandlerName](newValue, oldValue); };\r\n            }\r\n        }\r\n        else if ('propertyChanged' in viewModel) {\r\n            selfSubscriber = function (newValue, oldValue) { return viewModel.propertyChanged(name, newValue, oldValue); };\r\n        }\r\n        else if (changeHandlerName !== null) {\r\n            throw new Error(\"Change handler \".concat(changeHandlerName, \" was specified but not declared on the class.\"));\r\n        }\r\n        if (defaultValue !== undefined) {\r\n            initialValue = typeof defaultValue === 'function' ? defaultValue.call(viewModel) : defaultValue;\r\n        }\r\n        return new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, this.name, selfSubscriber, initialValue);\r\n    };\r\n    BindableProperty.prototype._initialize = function (viewModel, observerLookup, attributes, behaviorHandlesBind, boundProperties) {\r\n        var selfSubscriber;\r\n        var observer;\r\n        var attribute;\r\n        var defaultValue = this.defaultValue;\r\n        if (this.isDynamic) {\r\n            for (var key in attributes) {\r\n                this._createDynamicProperty(viewModel, observerLookup, behaviorHandlesBind, key, attributes[key], boundProperties);\r\n            }\r\n        }\r\n        else if (!this.hasOptions) {\r\n            observer = observerLookup[this.name];\r\n            if (attributes !== null) {\r\n                selfSubscriber = observer.selfSubscriber;\r\n                attribute = attributes[this.attribute];\r\n                if (behaviorHandlesBind) {\r\n                    observer.selfSubscriber = null;\r\n                }\r\n                if (typeof attribute === 'string') {\r\n                    viewModel[this.name] = attribute;\r\n                    observer.call();\r\n                }\r\n                else if (attribute) {\r\n                    boundProperties.push({ observer: observer, binding: attribute.createBinding(viewModel) });\r\n                }\r\n                else if (defaultValue !== undefined) {\r\n                    observer.call();\r\n                }\r\n                observer.selfSubscriber = selfSubscriber;\r\n            }\r\n            observer.publishing = true;\r\n        }\r\n    };\r\n    BindableProperty.prototype._createDynamicProperty = function (viewModel, observerLookup, behaviorHandlesBind, name, attribute, boundProperties) {\r\n        var changeHandlerName = name + 'Changed';\r\n        var selfSubscriber = null;\r\n        var observer;\r\n        var info;\r\n        if (changeHandlerName in viewModel) {\r\n            if ('propertyChanged' in viewModel) {\r\n                selfSubscriber = function (newValue, oldValue) {\r\n                    viewModel[changeHandlerName](newValue, oldValue);\r\n                    viewModel.propertyChanged(name, newValue, oldValue);\r\n                };\r\n            }\r\n            else {\r\n                selfSubscriber = function (newValue, oldValue) { return viewModel[changeHandlerName](newValue, oldValue); };\r\n            }\r\n        }\r\n        else if ('propertyChanged' in viewModel) {\r\n            selfSubscriber = function (newValue, oldValue) { return viewModel.propertyChanged(name, newValue, oldValue); };\r\n        }\r\n        observer = observerLookup[name] = new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, name, selfSubscriber);\r\n        Object.defineProperty(viewModel, name, {\r\n            configurable: true,\r\n            enumerable: true,\r\n            get: observer.getValue.bind(observer),\r\n            set: observer.setValue.bind(observer)\r\n        });\r\n        if (behaviorHandlesBind) {\r\n            observer.selfSubscriber = null;\r\n        }\r\n        if (typeof attribute === 'string') {\r\n            viewModel[name] = attribute;\r\n            observer.call();\r\n        }\r\n        else if (attribute) {\r\n            info = { observer: observer, binding: attribute.createBinding(viewModel) };\r\n            boundProperties.push(info);\r\n        }\r\n        observer.publishing = true;\r\n        observer.selfSubscriber = selfSubscriber;\r\n    };\r\n    return BindableProperty;\r\n}());\n\nvar ViewLocator = (function () {\r\n    function ViewLocator() {\r\n    }\r\n    ViewLocator.prototype.getViewStrategy = function (value) {\r\n        if (!value) {\r\n            return null;\r\n        }\r\n        if (typeof value === 'object' && 'getViewStrategy' in value) {\r\n            var origin_1 = Origin.get(value.constructor);\r\n            value = value.getViewStrategy();\r\n            if (typeof value === 'string') {\r\n                value = new RelativeViewStrategy(value);\r\n            }\r\n            viewStrategy.assert(value);\r\n            if (origin_1.moduleId) {\r\n                value.makeRelativeTo(origin_1.moduleId);\r\n            }\r\n            return value;\r\n        }\r\n        if (typeof value === 'string') {\r\n            value = new RelativeViewStrategy(value);\r\n        }\r\n        if (viewStrategy.validate(value)) {\r\n            return value;\r\n        }\r\n        if (typeof value !== 'function') {\r\n            value = value.constructor;\r\n        }\r\n        if ('$view' in value) {\r\n            var c = value.$view;\r\n            var view = void 0;\r\n            c = typeof c === 'function' ? c.call(value) : c;\r\n            if (c === null) {\r\n                view = new NoViewStrategy();\r\n            }\r\n            else {\r\n                view = c instanceof StaticViewStrategy ? c : new StaticViewStrategy(c);\r\n            }\r\n            metadata.define(ViewLocator.viewStrategyMetadataKey, view, value);\r\n            return view;\r\n        }\r\n        var origin = Origin.get(value);\r\n        var strategy = metadata.get(ViewLocator.viewStrategyMetadataKey, value);\r\n        if (!strategy) {\r\n            if (!origin.moduleId) {\r\n                throw new Error('Cannot determine default view strategy for object.\\n' + value);\r\n            }\r\n            strategy = this.createFallbackViewStrategy(origin);\r\n        }\r\n        else if (origin.moduleId) {\r\n            strategy.moduleId = origin.moduleId;\r\n        }\r\n        return strategy;\r\n    };\r\n    ViewLocator.prototype.createFallbackViewStrategy = function (origin) {\r\n        return new ConventionalViewStrategy(this, origin);\r\n    };\r\n    ViewLocator.prototype.convertOriginToViewUrl = function (origin) {\r\n        var moduleId = origin.moduleId;\r\n        var id = (moduleId.endsWith('.js') || moduleId.endsWith('.ts')) ? moduleId.substring(0, moduleId.length - 3) : moduleId;\r\n        return id + '.html';\r\n    };\r\n    ViewLocator.viewStrategyMetadataKey = 'aurelia:view-strategy';\r\n    return ViewLocator;\r\n}());\n\nfunction mi(name) {\r\n    throw new Error(\"BindingLanguage must implement \".concat(name, \"().\"));\r\n}\r\nvar BindingLanguage = (function () {\r\n    function BindingLanguage() {\r\n    }\r\n    BindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) {\r\n        mi('inspectAttribute');\r\n    };\r\n    BindingLanguage.prototype.createAttributeInstruction = function (resources, element, info, existingInstruction, context) {\r\n        mi('createAttributeInstruction');\r\n    };\r\n    BindingLanguage.prototype.createLetExpressions = function (resources, element) {\r\n        mi('createLetExpressions');\r\n    };\r\n    BindingLanguage.prototype.inspectTextContent = function (resources, value) {\r\n        mi('inspectTextContent');\r\n    };\r\n    return BindingLanguage;\r\n}());\n\nvar noNodes = Object.freeze([]);\r\nvar SlotCustomAttribute = (function () {\r\n    function SlotCustomAttribute(element) {\r\n        this.element = element;\r\n        this.element.auSlotAttribute = this;\r\n    }\r\n    SlotCustomAttribute.inject = function () {\r\n        return [DOM.Element];\r\n    };\r\n    SlotCustomAttribute.prototype.valueChanged = function (newValue, oldValue) { };\r\n    return SlotCustomAttribute;\r\n}());\r\nvar PassThroughSlot = (function () {\r\n    function PassThroughSlot(anchor, name, destinationName, fallbackFactory) {\r\n        this.anchor = anchor;\r\n        this.anchor.viewSlot = this;\r\n        this.name = name;\r\n        this.destinationName = destinationName;\r\n        this.fallbackFactory = fallbackFactory;\r\n        this.destinationSlot = null;\r\n        this.projections = 0;\r\n        this.contentView = null;\r\n        var attr = new SlotCustomAttribute(this.anchor);\r\n        attr.value = this.destinationName;\r\n    }\r\n    Object.defineProperty(PassThroughSlot.prototype, \"needsFallbackRendering\", {\r\n        get: function () {\r\n            return this.fallbackFactory && this.projections === 0;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    PassThroughSlot.prototype.renderFallbackContent = function (view, nodes, projectionSource, index) {\r\n        if (this.contentView === null) {\r\n            this.contentView = this.fallbackFactory.create(this.ownerView.container);\r\n            this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext);\r\n            var slots = Object.create(null);\r\n            slots[this.destinationSlot.name] = this.destinationSlot;\r\n            ShadowDOM.distributeView(this.contentView, slots, projectionSource, index, this.destinationSlot.name);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.passThroughTo = function (destinationSlot) {\r\n        this.destinationSlot = destinationSlot;\r\n    };\r\n    PassThroughSlot.prototype.addNode = function (view, node, projectionSource, index) {\r\n        if (this.contentView !== null) {\r\n            this.contentView.removeNodes();\r\n            this.contentView.detached();\r\n            this.contentView.unbind();\r\n            this.contentView = null;\r\n        }\r\n        if (node.viewSlot instanceof PassThroughSlot) {\r\n            node.viewSlot.passThroughTo(this);\r\n            return;\r\n        }\r\n        this.projections++;\r\n        this.destinationSlot.addNode(view, node, projectionSource, index);\r\n    };\r\n    PassThroughSlot.prototype.removeView = function (view, projectionSource) {\r\n        this.projections--;\r\n        this.destinationSlot.removeView(view, projectionSource);\r\n        if (this.needsFallbackRendering) {\r\n            this.renderFallbackContent(null, noNodes, projectionSource);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.removeAll = function (projectionSource) {\r\n        this.projections = 0;\r\n        this.destinationSlot.removeAll(projectionSource);\r\n        if (this.needsFallbackRendering) {\r\n            this.renderFallbackContent(null, noNodes, projectionSource);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.projectFrom = function (view, projectionSource) {\r\n        this.destinationSlot.projectFrom(view, projectionSource);\r\n    };\r\n    PassThroughSlot.prototype.created = function (ownerView) {\r\n        this.ownerView = ownerView;\r\n    };\r\n    PassThroughSlot.prototype.bind = function (view) {\r\n        if (this.contentView) {\r\n            this.contentView.bind(view.bindingContext, view.overrideContext);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.attached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.attached();\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.detached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.detached();\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.unbind = function () {\r\n        if (this.contentView) {\r\n            this.contentView.unbind();\r\n        }\r\n    };\r\n    return PassThroughSlot;\r\n}());\r\nvar ShadowSlot = (function () {\r\n    function ShadowSlot(anchor, name, fallbackFactory) {\r\n        this.anchor = anchor;\r\n        this.anchor.isContentProjectionSource = true;\r\n        this.anchor.viewSlot = this;\r\n        this.name = name;\r\n        this.fallbackFactory = fallbackFactory;\r\n        this.contentView = null;\r\n        this.projections = 0;\r\n        this.children = [];\r\n        this.projectFromAnchors = null;\r\n        this.destinationSlots = null;\r\n    }\r\n    Object.defineProperty(ShadowSlot.prototype, \"needsFallbackRendering\", {\r\n        get: function () {\r\n            return this.fallbackFactory && this.projections === 0;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    ShadowSlot.prototype.addNode = function (view, node, projectionSource, index, destination) {\r\n        var $node = node;\r\n        if (this.contentView !== null) {\r\n            this.contentView.removeNodes();\r\n            this.contentView.detached();\r\n            this.contentView.unbind();\r\n            this.contentView = null;\r\n        }\r\n        if ($node.viewSlot instanceof PassThroughSlot) {\r\n            $node.viewSlot.passThroughTo(this);\r\n            return;\r\n        }\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.distributeNodes(view, [$node], this.destinationSlots, this, index);\r\n        }\r\n        else {\r\n            $node.auOwnerView = view;\r\n            $node.auProjectionSource = projectionSource;\r\n            $node.auAssignedSlot = this;\r\n            var anchor = this._findAnchor(view, $node, projectionSource, index);\r\n            var parent_1 = anchor.parentNode;\r\n            parent_1.insertBefore($node, anchor);\r\n            this.children.push($node);\r\n            this.projections++;\r\n        }\r\n    };\r\n    ShadowSlot.prototype.removeView = function (view, projectionSource) {\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.undistributeView(view, this.destinationSlots, this);\r\n        }\r\n        else if (this.contentView && this.contentView.hasSlots) {\r\n            ShadowDOM.undistributeView(view, this.contentView.slots, projectionSource);\r\n        }\r\n        else {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                var children = found.auProjectionChildren;\r\n                var ownChildren = this.children;\r\n                for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    if (child.auOwnerView === view) {\r\n                        children.splice(i, 1);\r\n                        view.fragment.appendChild(child);\r\n                        i--;\r\n                        ii--;\r\n                        this.projections--;\r\n                        var idx = ownChildren.indexOf(child);\r\n                        if (idx > -1) {\r\n                            ownChildren.splice(idx, 1);\r\n                        }\r\n                    }\r\n                }\r\n                if (this.needsFallbackRendering) {\r\n                    this.renderFallbackContent(view, noNodes, projectionSource);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ShadowSlot.prototype.removeAll = function (projectionSource) {\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.undistributeAll(this.destinationSlots, this);\r\n        }\r\n        else if (this.contentView && this.contentView.hasSlots) {\r\n            ShadowDOM.undistributeAll(this.contentView.slots, projectionSource);\r\n        }\r\n        else {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                var children = found.auProjectionChildren;\r\n                var ownChildren = this.children;\r\n                for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    child.auOwnerView.fragment.appendChild(child);\r\n                    this.projections--;\r\n                    var idx = ownChildren.indexOf(child);\r\n                    if (idx > -1) {\r\n                        ownChildren.splice(idx, 1);\r\n                    }\r\n                }\r\n                found.auProjectionChildren = [];\r\n                if (this.needsFallbackRendering) {\r\n                    this.renderFallbackContent(null, noNodes, projectionSource);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ShadowSlot.prototype._findAnchor = function (view, node, projectionSource, index) {\r\n        if (projectionSource) {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                if (index !== undefined) {\r\n                    var children = found.auProjectionChildren;\r\n                    var viewIndex = -1;\r\n                    var lastView = void 0;\r\n                    for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                        var current = children[i];\r\n                        if (current.auOwnerView !== lastView) {\r\n                            viewIndex++;\r\n                            lastView = current.auOwnerView;\r\n                            if (viewIndex >= index && lastView !== view) {\r\n                                children.splice(i, 0, node);\r\n                                return current;\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                found.auProjectionChildren.push(node);\r\n                return found;\r\n            }\r\n        }\r\n        return this.anchor;\r\n    };\r\n    ShadowSlot.prototype.projectTo = function (slots) {\r\n        this.destinationSlots = slots;\r\n    };\r\n    ShadowSlot.prototype.projectFrom = function (view, projectionSource) {\r\n        var anchor = DOM.createComment('anchor');\r\n        var parent = this.anchor.parentNode;\r\n        anchor.auSlotProjectFrom = projectionSource;\r\n        anchor.auOwnerView = view;\r\n        anchor.auProjectionChildren = [];\r\n        parent.insertBefore(anchor, this.anchor);\r\n        this.children.push(anchor);\r\n        if (this.projectFromAnchors === null) {\r\n            this.projectFromAnchors = [];\r\n        }\r\n        this.projectFromAnchors.push(anchor);\r\n    };\r\n    ShadowSlot.prototype.renderFallbackContent = function (view, nodes, projectionSource, index) {\r\n        if (this.contentView === null) {\r\n            this.contentView = this.fallbackFactory.create(this.ownerView.container);\r\n            this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext);\r\n            this.contentView.insertNodesBefore(this.anchor);\r\n        }\r\n        if (this.contentView.hasSlots) {\r\n            var slots = this.contentView.slots;\r\n            var projectFromAnchors = this.projectFromAnchors;\r\n            if (projectFromAnchors !== null) {\r\n                for (var slotName in slots) {\r\n                    var slot = slots[slotName];\r\n                    for (var i = 0, ii = projectFromAnchors.length; i < ii; ++i) {\r\n                        var anchor = projectFromAnchors[i];\r\n                        slot.projectFrom(anchor.auOwnerView, anchor.auSlotProjectFrom);\r\n                    }\r\n                }\r\n            }\r\n            this.fallbackSlots = slots;\r\n            ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index);\r\n        }\r\n    };\r\n    ShadowSlot.prototype.created = function (ownerView) {\r\n        this.ownerView = ownerView;\r\n    };\r\n    ShadowSlot.prototype.bind = function (view) {\r\n        if (this.contentView) {\r\n            this.contentView.bind(view.bindingContext, view.overrideContext);\r\n        }\r\n    };\r\n    ShadowSlot.prototype.attached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.attached();\r\n        }\r\n    };\r\n    ShadowSlot.prototype.detached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.detached();\r\n        }\r\n    };\r\n    ShadowSlot.prototype.unbind = function () {\r\n        if (this.contentView) {\r\n            this.contentView.unbind();\r\n        }\r\n    };\r\n    return ShadowSlot;\r\n}());\r\nvar ShadowDOM = (function () {\r\n    function ShadowDOM() {\r\n    }\r\n    ShadowDOM.getSlotName = function (node) {\r\n        if (node.auSlotAttribute === undefined) {\r\n            return ShadowDOM.defaultSlotKey;\r\n        }\r\n        return node.auSlotAttribute.value;\r\n    };\r\n    ShadowDOM.distributeView = function (view, slots, projectionSource, index, destinationOverride) {\r\n        var nodes;\r\n        if (view === null) {\r\n            nodes = noNodes;\r\n        }\r\n        else {\r\n            var childNodes = view.fragment.childNodes;\r\n            var ii = childNodes.length;\r\n            nodes = new Array(ii);\r\n            for (var i = 0; i < ii; ++i) {\r\n                nodes[i] = childNodes[i];\r\n            }\r\n        }\r\n        ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index, destinationOverride);\r\n    };\r\n    ShadowDOM.undistributeView = function (view, slots, projectionSource) {\r\n        for (var slotName in slots) {\r\n            slots[slotName].removeView(view, projectionSource);\r\n        }\r\n    };\r\n    ShadowDOM.undistributeAll = function (slots, projectionSource) {\r\n        for (var slotName in slots) {\r\n            slots[slotName].removeAll(projectionSource);\r\n        }\r\n    };\r\n    ShadowDOM.distributeNodes = function (view, nodes, slots, projectionSource, index, destinationOverride) {\r\n        for (var i = 0, ii = nodes.length; i < ii; ++i) {\r\n            var currentNode = nodes[i];\r\n            var nodeType = currentNode.nodeType;\r\n            if (currentNode.isContentProjectionSource) {\r\n                currentNode.viewSlot.projectTo(slots);\r\n                for (var slotName in slots) {\r\n                    slots[slotName].projectFrom(view, currentNode.viewSlot);\r\n                }\r\n                nodes.splice(i, 1);\r\n                ii--;\r\n                i--;\r\n            }\r\n            else if (nodeType === 1 || nodeType === 3 || currentNode.viewSlot instanceof PassThroughSlot) {\r\n                if (nodeType === 3 && _isAllWhitespace(currentNode)) {\r\n                    nodes.splice(i, 1);\r\n                    ii--;\r\n                    i--;\r\n                }\r\n                else {\r\n                    var found = slots[destinationOverride || ShadowDOM.getSlotName(currentNode)];\r\n                    if (found) {\r\n                        found.addNode(view, currentNode, projectionSource, index);\r\n                        nodes.splice(i, 1);\r\n                        ii--;\r\n                        i--;\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                nodes.splice(i, 1);\r\n                ii--;\r\n                i--;\r\n            }\r\n        }\r\n        for (var slotName in slots) {\r\n            var slot = slots[slotName];\r\n            if (slot.needsFallbackRendering) {\r\n                slot.renderFallbackContent(view, nodes, projectionSource, index);\r\n            }\r\n        }\r\n    };\r\n    ShadowDOM.defaultSlotKey = '__au-default-slot-key__';\r\n    return ShadowDOM;\r\n}());\n\nvar CompositionTransactionNotifier = (function () {\r\n    function CompositionTransactionNotifier(owner) {\r\n        this.owner = owner;\r\n        this.owner._compositionCount++;\r\n    }\r\n    CompositionTransactionNotifier.prototype.done = function () {\r\n        this.owner._compositionCount--;\r\n        this.owner._tryCompleteTransaction();\r\n    };\r\n    return CompositionTransactionNotifier;\r\n}());\r\nvar CompositionTransactionOwnershipToken = (function () {\r\n    function CompositionTransactionOwnershipToken(owner) {\r\n        this.owner = owner;\r\n        this.owner._ownershipToken = this;\r\n        this.thenable = this._createThenable();\r\n    }\r\n    CompositionTransactionOwnershipToken.prototype.waitForCompositionComplete = function () {\r\n        this.owner._tryCompleteTransaction();\r\n        return this.thenable;\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype.resolve = function () {\r\n        this._resolveCallback();\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype._resolveCallback = function () {\r\n        throw new Error(\"Method not implemented.\");\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype._createThenable = function () {\r\n        var _this = this;\r\n        return new Promise(function (resolve) {\r\n            _this._resolveCallback = resolve;\r\n        });\r\n    };\r\n    return CompositionTransactionOwnershipToken;\r\n}());\r\nvar CompositionTransaction = (function () {\r\n    function CompositionTransaction() {\r\n        this._ownershipToken = null;\r\n        this._compositionCount = 0;\r\n    }\r\n    CompositionTransaction.prototype.tryCapture = function () {\r\n        return this._ownershipToken === null\r\n            ? new CompositionTransactionOwnershipToken(this)\r\n            : null;\r\n    };\r\n    CompositionTransaction.prototype.enlist = function () {\r\n        return new CompositionTransactionNotifier(this);\r\n    };\r\n    CompositionTransaction.prototype._tryCompleteTransaction = function () {\r\n        if (this._compositionCount <= 0) {\r\n            this._compositionCount = 0;\r\n            if (this._ownershipToken !== null) {\r\n                var token = this._ownershipToken;\r\n                this._ownershipToken = null;\r\n                token.resolve();\r\n            }\r\n        }\r\n    };\r\n    return CompositionTransaction;\r\n}());\n\nvar View = (function () {\r\n    function View(container, viewFactory, fragment, controllers, bindings, children, slots) {\r\n        this.container = container;\r\n        this.viewFactory = viewFactory;\r\n        this.resources = viewFactory.resources;\r\n        this.fragment = fragment;\r\n        this.firstChild = fragment.firstChild;\r\n        this.lastChild = fragment.lastChild;\r\n        this.controllers = controllers;\r\n        this.bindings = bindings;\r\n        this.children = children;\r\n        this.slots = slots;\r\n        this.hasSlots = false;\r\n        this.fromCache = false;\r\n        this.isBound = false;\r\n        this.isAttached = false;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.controller = null;\r\n        this.viewModelScope = null;\r\n        this.animatableElement = undefined;\r\n        this._isUserControlled = false;\r\n        this.contentView = null;\r\n        for (var _ in slots) {\r\n            this.hasSlots = true;\r\n            break;\r\n        }\r\n    }\r\n    View.prototype.returnToCache = function () {\r\n        this.viewFactory.returnViewToCache(this);\r\n    };\r\n    View.prototype.created = function () {\r\n        var i;\r\n        var ii;\r\n        var controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].created(this);\r\n        }\r\n    };\r\n    View.prototype.bind = function (bindingContext, overrideContext, _systemUpdate) {\r\n        var controllers;\r\n        var bindings;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (_systemUpdate && this._isUserControlled) {\r\n            return;\r\n        }\r\n        if (this.isBound) {\r\n            if (this.bindingContext === bindingContext) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext || createOverrideContext(bindingContext);\r\n        this.resources._invokeHook('beforeBind', this);\r\n        bindings = this.bindings;\r\n        for (i = 0, ii = bindings.length; i < ii; ++i) {\r\n            bindings[i].bind(this);\r\n        }\r\n        if (this.viewModelScope !== null) {\r\n            bindingContext.bind(this.viewModelScope.bindingContext, this.viewModelScope.overrideContext);\r\n            this.viewModelScope = null;\r\n        }\r\n        controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].bind(this);\r\n        }\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].bind(bindingContext, overrideContext, true);\r\n        }\r\n        if (this.hasSlots) {\r\n            ShadowDOM.distributeView(this.contentView, this.slots);\r\n        }\r\n    };\r\n    View.prototype.addBinding = function (binding) {\r\n        this.bindings.push(binding);\r\n        if (this.isBound) {\r\n            binding.bind(this);\r\n        }\r\n    };\r\n    View.prototype.unbind = function () {\r\n        var controllers;\r\n        var bindings;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isBound) {\r\n            this.isBound = false;\r\n            this.resources._invokeHook('beforeUnbind', this);\r\n            if (this.controller !== null) {\r\n                this.controller.unbind();\r\n            }\r\n            bindings = this.bindings;\r\n            for (i = 0, ii = bindings.length; i < ii; ++i) {\r\n                bindings[i].unbind();\r\n            }\r\n            controllers = this.controllers;\r\n            for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n                controllers[i].unbind();\r\n            }\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].unbind();\r\n            }\r\n            this.bindingContext = null;\r\n            this.overrideContext = null;\r\n        }\r\n    };\r\n    View.prototype.insertNodesBefore = function (refNode) {\r\n        refNode.parentNode.insertBefore(this.fragment, refNode);\r\n    };\r\n    View.prototype.appendNodesTo = function (parent) {\r\n        parent.appendChild(this.fragment);\r\n    };\r\n    View.prototype.removeNodes = function () {\r\n        var fragment = this.fragment;\r\n        var current = this.firstChild;\r\n        var end = this.lastChild;\r\n        var next;\r\n        while (current) {\r\n            next = current.nextSibling;\r\n            fragment.appendChild(current);\r\n            if (current === end) {\r\n                break;\r\n            }\r\n            current = next;\r\n        }\r\n    };\r\n    View.prototype.attached = function () {\r\n        var controllers;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        if (this.controller !== null) {\r\n            this.controller.attached();\r\n        }\r\n        controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].attached();\r\n        }\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].attached();\r\n        }\r\n    };\r\n    View.prototype.detached = function () {\r\n        var controllers;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            if (this.controller !== null) {\r\n                this.controller.detached();\r\n            }\r\n            controllers = this.controllers;\r\n            for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n                controllers[i].detached();\r\n            }\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n    };\r\n    return View;\r\n}());\n\nvar Animator = (function () {\r\n    function Animator() {\r\n    }\r\n    Animator.prototype.enter = function (element) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.leave = function (element) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.removeClass = function (element, className) {\r\n        element.classList.remove(className);\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.addClass = function (element, className) {\r\n        element.classList.add(className);\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.animate = function (element, className) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.runSequence = function (animations) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.registerEffect = function (effectName, properties) { };\r\n    Animator.prototype.unregisterEffect = function (effectName) { };\r\n    return Animator;\r\n}());\n\nfunction getAnimatableElement(view) {\r\n    if (view.animatableElement !== undefined) {\r\n        return view.animatableElement;\r\n    }\r\n    var current = view.firstChild;\r\n    while (current && current.nodeType !== 1) {\r\n        current = current.nextSibling;\r\n    }\r\n    if (current && current.nodeType === 1) {\r\n        return (view.animatableElement = current.classList.contains('au-animate') ? current : null);\r\n    }\r\n    return (view.animatableElement = null);\r\n}\r\nvar ViewSlot = (function () {\r\n    function ViewSlot(anchor, anchorIsContainer, animator) {\r\n        if (animator === void 0) { animator = Animator.instance; }\r\n        this.anchor = anchor;\r\n        this.anchorIsContainer = anchorIsContainer;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.animator = animator;\r\n        this.children = [];\r\n        this.isBound = false;\r\n        this.isAttached = false;\r\n        this.contentSelectors = null;\r\n        anchor.viewSlot = this;\r\n        anchor.isContentProjectionSource = false;\r\n    }\r\n    ViewSlot.prototype.animateView = function (view, direction) {\r\n        if (direction === void 0) { direction = 'enter'; }\r\n        var animatableElement = getAnimatableElement(view);\r\n        if (animatableElement !== null) {\r\n            switch (direction) {\r\n                case 'enter':\r\n                    return this.animator.enter(animatableElement);\r\n                case 'leave':\r\n                    return this.animator.leave(animatableElement);\r\n                default:\r\n                    throw new Error('Invalid animation direction: ' + direction);\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.transformChildNodesIntoView = function () {\r\n        var parent = this.anchor;\r\n        this.children.push({\r\n            fragment: parent,\r\n            firstChild: parent.firstChild,\r\n            lastChild: parent.lastChild,\r\n            returnToCache: function () { },\r\n            removeNodes: function () {\r\n                var last;\r\n                while (last = parent.lastChild) {\r\n                    parent.removeChild(last);\r\n                }\r\n            },\r\n            created: function () { },\r\n            bind: function () { },\r\n            unbind: function () { },\r\n            attached: function () { },\r\n            detached: function () { }\r\n        });\r\n    };\r\n    ViewSlot.prototype.bind = function (bindingContext, overrideContext) {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        if (this.isBound) {\r\n            if (this.bindingContext === bindingContext) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.bindingContext = bindingContext = bindingContext || this.bindingContext;\r\n        this.overrideContext = overrideContext = overrideContext || this.overrideContext;\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].bind(bindingContext, overrideContext, true);\r\n        }\r\n    };\r\n    ViewSlot.prototype.unbind = function () {\r\n        if (this.isBound) {\r\n            var i = void 0;\r\n            var ii = void 0;\r\n            var children = this.children;\r\n            this.isBound = false;\r\n            this.bindingContext = null;\r\n            this.overrideContext = null;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].unbind();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.add = function (view) {\r\n        if (this.anchorIsContainer) {\r\n            view.appendNodesTo(this.anchor);\r\n        }\r\n        else {\r\n            view.insertNodesBefore(this.anchor);\r\n        }\r\n        this.children.push(view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n            return this.animateView(view, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.insert = function (index, view) {\r\n        var children = this.children;\r\n        var length = children.length;\r\n        if ((index === 0 && length === 0) || index >= length) {\r\n            return this.add(view);\r\n        }\r\n        view.insertNodesBefore(children[index].firstChild);\r\n        children.splice(index, 0, view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n            return this.animateView(view, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.move = function (sourceIndex, targetIndex) {\r\n        if (sourceIndex === targetIndex) {\r\n            return;\r\n        }\r\n        var children = this.children;\r\n        var view = children[sourceIndex];\r\n        view.removeNodes();\r\n        view.insertNodesBefore(children[targetIndex].firstChild);\r\n        children.splice(sourceIndex, 1);\r\n        children.splice(targetIndex, 0, view);\r\n    };\r\n    ViewSlot.prototype.remove = function (view, returnToCache, skipAnimation) {\r\n        return this.removeAt(this.children.indexOf(view), returnToCache, skipAnimation);\r\n    };\r\n    ViewSlot.prototype.removeMany = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var children = this.children;\r\n        var ii = viewsToRemove.length;\r\n        var i;\r\n        var rmPromises = [];\r\n        viewsToRemove.forEach(function (child) {\r\n            if (skipAnimation) {\r\n                child.removeNodes();\r\n                return;\r\n            }\r\n            var animation = _this.animateView(child, 'leave');\r\n            if (animation) {\r\n                rmPromises.push(animation.then(function () { return child.removeNodes(); }));\r\n            }\r\n            else {\r\n                child.removeNodes();\r\n            }\r\n        });\r\n        var removeAction = function () {\r\n            if (_this.isAttached) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    viewsToRemove[i].detached();\r\n                }\r\n            }\r\n            if (returnToCache) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    viewsToRemove[i].returnToCache();\r\n                }\r\n            }\r\n            for (i = 0; i < ii; ++i) {\r\n                var index = children.indexOf(viewsToRemove[i]);\r\n                if (index >= 0) {\r\n                    children.splice(index, 1);\r\n                }\r\n            }\r\n        };\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () { return removeAction(); });\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.removeAt = function (index, returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var view = this.children[index];\r\n        var removeAction = function () {\r\n            index = _this.children.indexOf(view);\r\n            view.removeNodes();\r\n            _this.children.splice(index, 1);\r\n            if (_this.isAttached) {\r\n                view.detached();\r\n            }\r\n            if (returnToCache) {\r\n                view.returnToCache();\r\n            }\r\n            return view;\r\n        };\r\n        if (!skipAnimation) {\r\n            var animation = this.animateView(view, 'leave');\r\n            if (animation) {\r\n                return animation.then(function () { return removeAction(); });\r\n            }\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.removeAll = function (returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var children = this.children;\r\n        var ii = children.length;\r\n        var i;\r\n        var rmPromises = [];\r\n        children.forEach(function (child) {\r\n            if (skipAnimation) {\r\n                child.removeNodes();\r\n                return;\r\n            }\r\n            var animation = _this.animateView(child, 'leave');\r\n            if (animation) {\r\n                rmPromises.push(animation.then(function () { return child.removeNodes(); }));\r\n            }\r\n            else {\r\n                child.removeNodes();\r\n            }\r\n        });\r\n        var removeAction = function () {\r\n            if (_this.isAttached) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    children[i].detached();\r\n                }\r\n            }\r\n            if (returnToCache) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    if (child) {\r\n                        child.returnToCache();\r\n                    }\r\n                }\r\n            }\r\n            _this.children = [];\r\n        };\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () { return removeAction(); });\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.attached = function () {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        var child;\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            child = children[i];\r\n            child.attached();\r\n            this.animateView(child, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.detached = function () {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.projectTo = function (slots) {\r\n        var _this = this;\r\n        this.projectToSlots = slots;\r\n        this.add = this._projectionAdd;\r\n        this.insert = this._projectionInsert;\r\n        this.move = this._projectionMove;\r\n        this.remove = this._projectionRemove;\r\n        this.removeAt = this._projectionRemoveAt;\r\n        this.removeMany = this._projectionRemoveMany;\r\n        this.removeAll = this._projectionRemoveAll;\r\n        this.children.forEach(function (view) { return ShadowDOM.distributeView(view, slots, _this); });\r\n    };\r\n    ViewSlot.prototype._projectionAdd = function (view) {\r\n        ShadowDOM.distributeView(view, this.projectToSlots, this);\r\n        this.children.push(view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionInsert = function (index, view) {\r\n        if ((index === 0 && !this.children.length) || index >= this.children.length) {\r\n            this.add(view);\r\n        }\r\n        else {\r\n            ShadowDOM.distributeView(view, this.projectToSlots, this, index);\r\n            this.children.splice(index, 0, view);\r\n            if (this.isAttached) {\r\n                view.attached();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionMove = function (sourceIndex, targetIndex) {\r\n        if (sourceIndex === targetIndex) {\r\n            return;\r\n        }\r\n        var children = this.children;\r\n        var view = children[sourceIndex];\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        ShadowDOM.distributeView(view, this.projectToSlots, this, targetIndex);\r\n        children.splice(sourceIndex, 1);\r\n        children.splice(targetIndex, 0, view);\r\n    };\r\n    ViewSlot.prototype._projectionRemove = function (view, returnToCache) {\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        this.children.splice(this.children.indexOf(view), 1);\r\n        if (this.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (returnToCache) {\r\n            view.returnToCache();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionRemoveAt = function (index, returnToCache) {\r\n        var view = this.children[index];\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        this.children.splice(index, 1);\r\n        if (this.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (returnToCache) {\r\n            view.returnToCache();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionRemoveMany = function (viewsToRemove, returnToCache) {\r\n        var _this = this;\r\n        viewsToRemove.forEach(function (view) { return _this.remove(view, returnToCache); });\r\n    };\r\n    ViewSlot.prototype._projectionRemoveAll = function (returnToCache) {\r\n        ShadowDOM.undistributeAll(this.projectToSlots, this);\r\n        var children = this.children;\r\n        var ii = children.length;\r\n        for (var i = 0; i < ii; ++i) {\r\n            if (returnToCache) {\r\n                children[i].returnToCache();\r\n            }\r\n            else if (this.isAttached) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n        this.children = [];\r\n    };\r\n    return ViewSlot;\r\n}());\n\nvar $resolver = resolver;\r\nvar ProviderResolver = (function () {\r\n    function ProviderResolver() {\r\n    }\r\n    ProviderResolver.prototype.get = function (container, key) {\r\n        var id = key.__providerId__;\r\n        return id in container ? container[id] : (container[id] = container.invoke(key));\r\n    };\r\n    ProviderResolver = __decorate([\r\n        $resolver\r\n    ], ProviderResolver);\r\n    return ProviderResolver;\r\n}());\r\nvar providerResolverInstance = new ProviderResolver();\r\nfunction elementContainerGet(key) {\r\n    if (key === DOM.Element) {\r\n        return this.element;\r\n    }\r\n    if (key === BoundViewFactory) {\r\n        if (this.boundViewFactory) {\r\n            return this.boundViewFactory;\r\n        }\r\n        var factory = this.instruction.viewFactory;\r\n        var partReplacements = this.partReplacements;\r\n        if (partReplacements) {\r\n            factory = partReplacements[factory.part] || factory;\r\n        }\r\n        this.boundViewFactory = new BoundViewFactory(this, factory, partReplacements);\r\n        return this.boundViewFactory;\r\n    }\r\n    if (key === ViewSlot) {\r\n        if (this.viewSlot === undefined) {\r\n            this.viewSlot = new ViewSlot(this.element, this.instruction.anchorIsContainer);\r\n            this.element.isContentProjectionSource = this.instruction.lifting;\r\n            this.children.push(this.viewSlot);\r\n        }\r\n        return this.viewSlot;\r\n    }\r\n    if (key === ElementEvents) {\r\n        return this.elementEvents || (this.elementEvents = new ElementEvents(this.element));\r\n    }\r\n    if (key === CompositionTransaction) {\r\n        return this.compositionTransaction || (this.compositionTransaction = this.parent.get(key));\r\n    }\r\n    if (key === ViewResources) {\r\n        return this.viewResources;\r\n    }\r\n    if (key === TargetInstruction) {\r\n        return this.instruction;\r\n    }\r\n    return this.superGet(key);\r\n}\r\nfunction createElementContainer(parent, element, instruction, children, partReplacements, resources) {\r\n    var container = parent.createChild();\r\n    var providers;\r\n    var i;\r\n    container.element = element;\r\n    container.instruction = instruction;\r\n    container.children = children;\r\n    container.viewResources = resources;\r\n    container.partReplacements = partReplacements;\r\n    providers = instruction.providers;\r\n    i = providers.length;\r\n    while (i--) {\r\n        container._resolvers.set(providers[i], providerResolverInstance);\r\n    }\r\n    container.superGet = container.get;\r\n    container.get = elementContainerGet;\r\n    return container;\r\n}\r\nfunction hasAttribute(name) {\r\n    return this._element.hasAttribute(name);\r\n}\r\nfunction getAttribute(name) {\r\n    return this._element.getAttribute(name);\r\n}\r\nfunction setAttribute(name, value) {\r\n    this._element.setAttribute(name, value);\r\n}\r\nfunction makeElementIntoAnchor(element, elementInstruction) {\r\n    var anchor = DOM.createComment('anchor');\r\n    if (elementInstruction) {\r\n        var firstChild = element.firstChild;\r\n        if (firstChild && firstChild.tagName === 'AU-CONTENT') {\r\n            anchor.contentElement = firstChild;\r\n        }\r\n        anchor._element = element;\r\n        anchor.hasAttribute = hasAttribute;\r\n        anchor.getAttribute = getAttribute;\r\n        anchor.setAttribute = setAttribute;\r\n    }\r\n    DOM.replaceNode(anchor, element);\r\n    return anchor;\r\n}\r\nfunction applyInstructions(containers, element, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources) {\r\n    var behaviorInstructions = instruction.behaviorInstructions;\r\n    var expressions = instruction.expressions;\r\n    var elementContainer;\r\n    var i;\r\n    var ii;\r\n    var current;\r\n    var instance;\r\n    if (instruction.contentExpression) {\r\n        bindings.push(instruction.contentExpression.createBinding(element.nextSibling));\r\n        element.nextSibling.auInterpolationTarget = true;\r\n        element.parentNode.removeChild(element);\r\n        return;\r\n    }\r\n    if (instruction.shadowSlot) {\r\n        var commentAnchor = DOM.createComment('slot');\r\n        var slot = void 0;\r\n        if (instruction.slotDestination) {\r\n            slot = new PassThroughSlot(commentAnchor, instruction.slotName, instruction.slotDestination, instruction.slotFallbackFactory);\r\n        }\r\n        else {\r\n            slot = new ShadowSlot(commentAnchor, instruction.slotName, instruction.slotFallbackFactory);\r\n        }\r\n        DOM.replaceNode(commentAnchor, element);\r\n        shadowSlots[instruction.slotName] = slot;\r\n        controllers.push(slot);\r\n        return;\r\n    }\r\n    if (instruction.letElement) {\r\n        for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n            bindings.push(expressions[i].createBinding());\r\n        }\r\n        element.parentNode.removeChild(element);\r\n        return;\r\n    }\r\n    if (behaviorInstructions.length) {\r\n        if (!instruction.anchorIsContainer) {\r\n            element = makeElementIntoAnchor(element, instruction.elementInstruction);\r\n        }\r\n        containers[instruction.injectorId] = elementContainer =\r\n            createElementContainer(containers[instruction.parentInjectorId], element, instruction, children, partReplacements, resources);\r\n        for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n            current = behaviorInstructions[i];\r\n            instance = current.type.create(elementContainer, current, element, bindings);\r\n            controllers.push(instance);\r\n        }\r\n    }\r\n    for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n        bindings.push(expressions[i].createBinding(element));\r\n    }\r\n}\r\nfunction styleStringToObject(style, target) {\r\n    var attributes = style.split(';');\r\n    var firstIndexOfColon;\r\n    var i;\r\n    var current;\r\n    var key;\r\n    var value;\r\n    target = target || {};\r\n    for (i = 0; i < attributes.length; i++) {\r\n        current = attributes[i];\r\n        firstIndexOfColon = current.indexOf(':');\r\n        key = current.substring(0, firstIndexOfColon).trim();\r\n        value = current.substring(firstIndexOfColon + 1).trim();\r\n        target[key] = value;\r\n    }\r\n    return target;\r\n}\r\nfunction styleObjectToString(obj) {\r\n    var result = '';\r\n    for (var key in obj) {\r\n        result += key + ':' + obj[key] + ';';\r\n    }\r\n    return result;\r\n}\r\nfunction applySurrogateInstruction(container, element, instruction, controllers, bindings, children) {\r\n    var behaviorInstructions = instruction.behaviorInstructions;\r\n    var expressions = instruction.expressions;\r\n    var providers = instruction.providers;\r\n    var values = instruction.values;\r\n    var i;\r\n    var ii;\r\n    var current;\r\n    var instance;\r\n    var currentAttributeValue;\r\n    i = providers.length;\r\n    while (i--) {\r\n        container._resolvers.set(providers[i], providerResolverInstance);\r\n    }\r\n    for (var key in values) {\r\n        currentAttributeValue = element.getAttribute(key);\r\n        if (currentAttributeValue) {\r\n            if (key === 'class') {\r\n                element.setAttribute('class', currentAttributeValue + ' ' + values[key]);\r\n            }\r\n            else if (key === 'style') {\r\n                var styleObject = styleStringToObject(values[key]);\r\n                styleStringToObject(currentAttributeValue, styleObject);\r\n                element.setAttribute('style', styleObjectToString(styleObject));\r\n            }\r\n        }\r\n        else {\r\n            element.setAttribute(key, values[key]);\r\n        }\r\n    }\r\n    if (behaviorInstructions.length) {\r\n        for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n            current = behaviorInstructions[i];\r\n            instance = current.type.create(container, current, element, bindings);\r\n            if (instance.contentView) {\r\n                children.push(instance.contentView);\r\n            }\r\n            controllers.push(instance);\r\n        }\r\n    }\r\n    for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n        bindings.push(expressions[i].createBinding(element));\r\n    }\r\n}\r\nvar BoundViewFactory = (function () {\r\n    function BoundViewFactory(parentContainer, viewFactory, partReplacements) {\r\n        this.parentContainer = parentContainer;\r\n        this.viewFactory = viewFactory;\r\n        this.factoryCreateInstruction = { partReplacements: partReplacements };\r\n    }\r\n    BoundViewFactory.prototype.create = function () {\r\n        var view = this.viewFactory.create(this.parentContainer.createChild(), this.factoryCreateInstruction);\r\n        view._isUserControlled = true;\r\n        return view;\r\n    };\r\n    Object.defineProperty(BoundViewFactory.prototype, \"isCaching\", {\r\n        get: function () {\r\n            return this.viewFactory.isCaching;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    BoundViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet);\r\n    };\r\n    BoundViewFactory.prototype.getCachedView = function () {\r\n        return this.viewFactory.getCachedView();\r\n    };\r\n    BoundViewFactory.prototype.returnViewToCache = function (view) {\r\n        this.viewFactory.returnViewToCache(view);\r\n    };\r\n    return BoundViewFactory;\r\n}());\r\nvar ViewFactory = (function () {\r\n    function ViewFactory(template, instructions, resources) {\r\n        this.isCaching = false;\r\n        this.template = template;\r\n        this.instructions = instructions;\r\n        this.resources = resources;\r\n        this.cacheSize = -1;\r\n        this.cache = null;\r\n    }\r\n    ViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        if (size) {\r\n            if (size === '*') {\r\n                size = Number.MAX_VALUE;\r\n            }\r\n            else if (typeof size === 'string') {\r\n                size = parseInt(size, 10);\r\n            }\r\n        }\r\n        if (this.cacheSize === -1 || !doNotOverrideIfAlreadySet) {\r\n            this.cacheSize = Number(size);\r\n        }\r\n        if (this.cacheSize > 0) {\r\n            this.cache = [];\r\n        }\r\n        else {\r\n            this.cache = null;\r\n        }\r\n        this.isCaching = this.cacheSize > 0;\r\n    };\r\n    ViewFactory.prototype.getCachedView = function () {\r\n        return this.cache !== null ? (this.cache.pop() || null) : null;\r\n    };\r\n    ViewFactory.prototype.returnViewToCache = function (view) {\r\n        if (view.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (view.isBound) {\r\n            view.unbind();\r\n        }\r\n        if (this.cache !== null && this.cache.length < this.cacheSize) {\r\n            view.fromCache = true;\r\n            this.cache.push(view);\r\n        }\r\n    };\r\n    ViewFactory.prototype.create = function (container, createInstruction, element) {\r\n        createInstruction = createInstruction || BehaviorInstruction.normal;\r\n        var cachedView = this.getCachedView();\r\n        if (cachedView !== null) {\r\n            return cachedView;\r\n        }\r\n        var fragment = createInstruction.enhance ? this.template : this.template.cloneNode(true);\r\n        var instructables = fragment.querySelectorAll('.au-target');\r\n        var instructions = this.instructions;\r\n        var resources = this.resources;\r\n        var controllers = [];\r\n        var bindings = [];\r\n        var children = [];\r\n        var shadowSlots = Object.create(null);\r\n        var containers = { root: container };\r\n        var partReplacements = createInstruction.partReplacements;\r\n        var i;\r\n        var ii;\r\n        var view;\r\n        var instructable;\r\n        var instruction;\r\n        this.resources._invokeHook('beforeCreate', this, container, fragment, createInstruction);\r\n        if (element && this.surrogateInstruction !== null) {\r\n            applySurrogateInstruction(container, element, this.surrogateInstruction, controllers, bindings, children);\r\n        }\r\n        if (createInstruction.enhance && fragment.hasAttribute('au-target-id')) {\r\n            instructable = fragment;\r\n            instruction = instructions[instructable.getAttribute('au-target-id')];\r\n            applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources);\r\n        }\r\n        for (i = 0, ii = instructables.length; i < ii; ++i) {\r\n            instructable = instructables[i];\r\n            instruction = instructions[instructable.getAttribute('au-target-id')];\r\n            applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources);\r\n        }\r\n        view = new View(container, this, fragment, controllers, bindings, children, shadowSlots);\r\n        if (!createInstruction.initiatedByBehavior) {\r\n            view.created();\r\n        }\r\n        this.resources._invokeHook('afterCreate', view);\r\n        return view;\r\n    };\r\n    return ViewFactory;\r\n}());\n\nvar nextInjectorId = 0;\r\nfunction getNextInjectorId() {\r\n    return ++nextInjectorId;\r\n}\r\nvar lastAUTargetID = 0;\r\nfunction getNextAUTargetID() {\r\n    return (++lastAUTargetID).toString();\r\n}\r\nfunction makeIntoInstructionTarget(element) {\r\n    var value = element.getAttribute('class');\r\n    var auTargetID = getNextAUTargetID();\r\n    element.setAttribute('class', (value ? value + ' au-target' : 'au-target'));\r\n    element.setAttribute('au-target-id', auTargetID);\r\n    return auTargetID;\r\n}\r\nfunction makeShadowSlot(compiler, resources, node, instructions, parentInjectorId) {\r\n    var auShadowSlot = DOM.createElement('au-shadow-slot');\r\n    DOM.replaceNode(auShadowSlot, node);\r\n    var auTargetID = makeIntoInstructionTarget(auShadowSlot);\r\n    var instruction = TargetInstruction.shadowSlot(parentInjectorId);\r\n    instruction.slotName = node.getAttribute('name') || ShadowDOM.defaultSlotKey;\r\n    instruction.slotDestination = node.getAttribute('slot');\r\n    if (node.innerHTML.trim()) {\r\n        var fragment = DOM.createDocumentFragment();\r\n        var child = void 0;\r\n        while (child = node.firstChild) {\r\n            fragment.appendChild(child);\r\n        }\r\n        instruction.slotFallbackFactory = compiler.compile(fragment, resources);\r\n    }\r\n    instructions[auTargetID] = instruction;\r\n    return auShadowSlot;\r\n}\r\nvar defaultLetHandler = BindingLanguage.prototype.createLetExpressions;\r\nvar ViewCompiler = (function () {\r\n    function ViewCompiler(bindingLanguage, resources) {\r\n        this.bindingLanguage = bindingLanguage;\r\n        this.resources = resources;\r\n    }\r\n    ViewCompiler.inject = function () {\r\n        return [BindingLanguage, ViewResources];\r\n    };\r\n    ViewCompiler.prototype.compile = function (source, resources, compileInstruction) {\r\n        resources = resources || this.resources;\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        source = typeof source === 'string' ? DOM.createTemplateFromMarkup(source) : source;\r\n        var content;\r\n        var part;\r\n        var cacheSize;\r\n        if (source.content) {\r\n            part = source.getAttribute('part');\r\n            cacheSize = source.getAttribute('view-cache');\r\n            content = DOM.adoptNode(source.content);\r\n        }\r\n        else {\r\n            content = source;\r\n        }\r\n        compileInstruction.targetShadowDOM = compileInstruction.targetShadowDOM && FEATURE.shadowDOM;\r\n        resources._invokeHook('beforeCompile', content, resources, compileInstruction);\r\n        var instructions = {};\r\n        this._compileNode(content, resources, instructions, source, 'root', !compileInstruction.targetShadowDOM);\r\n        var firstChild = content.firstChild;\r\n        if (firstChild && firstChild.nodeType === 1) {\r\n            var targetId = firstChild.getAttribute('au-target-id');\r\n            if (targetId) {\r\n                var ins = instructions[targetId];\r\n                if (ins.shadowSlot || ins.lifting || (ins.elementInstruction && !ins.elementInstruction.anchorIsContainer)) {\r\n                    content.insertBefore(DOM.createComment('view'), firstChild);\r\n                }\r\n            }\r\n        }\r\n        var factory = new ViewFactory(content, instructions, resources);\r\n        factory.surrogateInstruction = compileInstruction.compileSurrogate ? this._compileSurrogate(source, resources) : null;\r\n        factory.part = part;\r\n        if (cacheSize) {\r\n            factory.setCacheSize(cacheSize);\r\n        }\r\n        resources._invokeHook('afterCompile', factory);\r\n        return factory;\r\n    };\r\n    ViewCompiler.prototype._compileNode = function (node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) {\r\n        switch (node.nodeType) {\r\n            case 1:\r\n                return this._compileElement(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM);\r\n            case 3:\r\n                var expression = resources.getBindingLanguage(this.bindingLanguage).inspectTextContent(resources, node.wholeText);\r\n                if (expression) {\r\n                    var marker = DOM.createElement('au-marker');\r\n                    var auTargetID = makeIntoInstructionTarget(marker);\r\n                    (node.parentNode || parentNode).insertBefore(marker, node);\r\n                    node.textContent = ' ';\r\n                    instructions[auTargetID] = TargetInstruction.contentExpression(expression);\r\n                    while (node.nextSibling && node.nextSibling.nodeType === 3) {\r\n                        (node.parentNode || parentNode).removeChild(node.nextSibling);\r\n                    }\r\n                }\r\n                else {\r\n                    while (node.nextSibling && node.nextSibling.nodeType === 3) {\r\n                        node = node.nextSibling;\r\n                    }\r\n                }\r\n                return node.nextSibling;\r\n            case 11:\r\n                var currentChild = node.firstChild;\r\n                while (currentChild) {\r\n                    currentChild = this._compileNode(currentChild, resources, instructions, node, parentInjectorId, targetLightDOM);\r\n                }\r\n                break;\r\n        }\r\n        return node.nextSibling;\r\n    };\r\n    ViewCompiler.prototype._compileSurrogate = function (node, resources) {\r\n        var tagName = node.tagName.toLowerCase();\r\n        var attributes = node.attributes;\r\n        var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage);\r\n        var knownAttribute;\r\n        var property;\r\n        var instruction;\r\n        var i;\r\n        var ii;\r\n        var attr;\r\n        var attrName;\r\n        var attrValue;\r\n        var info;\r\n        var type;\r\n        var expressions = [];\r\n        var expression;\r\n        var behaviorInstructions = [];\r\n        var values = {};\r\n        var hasValues = false;\r\n        var providers = [];\r\n        for (i = 0, ii = attributes.length; i < ii; ++i) {\r\n            attr = attributes[i];\r\n            attrName = attr.name;\r\n            attrValue = attr.value;\r\n            info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue);\r\n            type = resources.getAttribute(info.attrName);\r\n            if (type) {\r\n                knownAttribute = resources.mapAttribute(info.attrName);\r\n                if (knownAttribute) {\r\n                    property = type.attributes[knownAttribute];\r\n                    if (property) {\r\n                        info.defaultBindingMode = property.defaultBindingMode;\r\n                        if (!info.command && !info.expression) {\r\n                            info.command = property.hasOptions ? 'options' : null;\r\n                        }\r\n                        if (info.command && (info.command !== 'options') && type.primaryProperty) {\r\n                            var primaryProperty = type.primaryProperty;\r\n                            attrName = info.attrName = primaryProperty.attribute;\r\n                            info.defaultBindingMode = primaryProperty.defaultBindingMode;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type);\r\n            if (instruction) {\r\n                if (instruction.alteredAttr) {\r\n                    type = resources.getAttribute(instruction.attrName);\r\n                }\r\n                if (instruction.discrete) {\r\n                    expressions.push(instruction);\r\n                }\r\n                else {\r\n                    if (type) {\r\n                        instruction.type = type;\r\n                        this._configureProperties(instruction, resources);\r\n                        if (type.liftsContent) {\r\n                            throw new Error('You cannot place a template controller on a surrogate element.');\r\n                        }\r\n                        else {\r\n                            behaviorInstructions.push(instruction);\r\n                        }\r\n                    }\r\n                    else {\r\n                        expressions.push(instruction.attributes[instruction.attrName]);\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                if (type) {\r\n                    instruction = BehaviorInstruction.attribute(attrName, type);\r\n                    instruction.attributes[resources.mapAttribute(attrName)] = attrValue;\r\n                    if (type.liftsContent) {\r\n                        throw new Error('You cannot place a template controller on a surrogate element.');\r\n                    }\r\n                    else {\r\n                        behaviorInstructions.push(instruction);\r\n                    }\r\n                }\r\n                else if (attrName !== 'id' && attrName !== 'part' && attrName !== 'replace-part') {\r\n                    hasValues = true;\r\n                    values[attrName] = attrValue;\r\n                }\r\n            }\r\n        }\r\n        if (expressions.length || behaviorInstructions.length || hasValues) {\r\n            for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n                instruction = behaviorInstructions[i];\r\n                instruction.type.compile(this, resources, node, instruction);\r\n                providers.push(instruction.type.target);\r\n            }\r\n            for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n                expression = expressions[i];\r\n                if (expression.attrToRemove !== undefined) {\r\n                    node.removeAttribute(expression.attrToRemove);\r\n                }\r\n            }\r\n            return TargetInstruction.surrogate(providers, behaviorInstructions, expressions, values);\r\n        }\r\n        return null;\r\n    };\r\n    ViewCompiler.prototype._compileElement = function (node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) {\r\n        var tagName = node.tagName.toLowerCase();\r\n        var attributes = node.attributes;\r\n        var expressions = [];\r\n        var expression;\r\n        var behaviorInstructions = [];\r\n        var providers = [];\r\n        var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage);\r\n        var liftingInstruction;\r\n        var viewFactory;\r\n        var type;\r\n        var elementInstruction;\r\n        var elementProperty;\r\n        var i;\r\n        var ii;\r\n        var attr;\r\n        var attrName;\r\n        var attrValue;\r\n        var originalAttrName;\r\n        var instruction;\r\n        var info;\r\n        var property;\r\n        var knownAttribute;\r\n        var auTargetID;\r\n        var injectorId;\r\n        if (tagName === 'slot') {\r\n            if (targetLightDOM) {\r\n                node = makeShadowSlot(this, resources, node, instructions, parentInjectorId);\r\n            }\r\n            return node.nextSibling;\r\n        }\r\n        else if (tagName === 'template') {\r\n            if (!('content' in node)) {\r\n                throw new Error('You cannot place a template element within ' + node.namespaceURI + ' namespace');\r\n            }\r\n            viewFactory = this.compile(node, resources);\r\n            viewFactory.part = node.getAttribute('part');\r\n        }\r\n        else {\r\n            type = resources.getElement(node.getAttribute('as-element') || tagName);\r\n            if (tagName === 'let' && !type && bindingLanguage.createLetExpressions !== defaultLetHandler) {\r\n                expressions = bindingLanguage.createLetExpressions(resources, node);\r\n                auTargetID = makeIntoInstructionTarget(node);\r\n                instructions[auTargetID] = TargetInstruction.letElement(expressions);\r\n                return node.nextSibling;\r\n            }\r\n            if (type) {\r\n                elementInstruction = BehaviorInstruction.element(node, type);\r\n                type.processAttributes(this, resources, node, attributes, elementInstruction);\r\n                behaviorInstructions.push(elementInstruction);\r\n            }\r\n        }\r\n        for (i = 0, ii = attributes.length; i < ii; ++i) {\r\n            attr = attributes[i];\r\n            originalAttrName = attrName = attr.name;\r\n            attrValue = attr.value;\r\n            info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue);\r\n            if (targetLightDOM && info.attrName === 'slot') {\r\n                info.attrName = attrName = 'au-slot';\r\n            }\r\n            type = resources.getAttribute(info.attrName);\r\n            elementProperty = null;\r\n            if (type) {\r\n                knownAttribute = resources.mapAttribute(info.attrName);\r\n                if (knownAttribute) {\r\n                    property = type.attributes[knownAttribute];\r\n                    if (property) {\r\n                        info.defaultBindingMode = property.defaultBindingMode;\r\n                        if (!info.command && !info.expression) {\r\n                            info.command = property.hasOptions ? 'options' : null;\r\n                        }\r\n                        if (info.command && (info.command !== 'options') && type.primaryProperty) {\r\n                            var primaryProperty = type.primaryProperty;\r\n                            attrName = info.attrName = primaryProperty.attribute;\r\n                            info.defaultBindingMode = primaryProperty.defaultBindingMode;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            else if (elementInstruction) {\r\n                elementProperty = elementInstruction.type.attributes[info.attrName];\r\n                if (elementProperty) {\r\n                    info.defaultBindingMode = elementProperty.defaultBindingMode;\r\n                }\r\n            }\r\n            if (elementProperty) {\r\n                instruction = bindingLanguage.createAttributeInstruction(resources, node, info, elementInstruction);\r\n            }\r\n            else {\r\n                instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type);\r\n            }\r\n            if (instruction) {\r\n                if (instruction.alteredAttr) {\r\n                    type = resources.getAttribute(instruction.attrName);\r\n                }\r\n                if (instruction.discrete) {\r\n                    expressions.push(instruction);\r\n                }\r\n                else {\r\n                    if (type) {\r\n                        instruction.type = type;\r\n                        this._configureProperties(instruction, resources);\r\n                        if (type.liftsContent) {\r\n                            instruction.originalAttrName = originalAttrName;\r\n                            liftingInstruction = instruction;\r\n                            break;\r\n                        }\r\n                        else {\r\n                            behaviorInstructions.push(instruction);\r\n                        }\r\n                    }\r\n                    else if (elementProperty) {\r\n                        elementInstruction.attributes[info.attrName].targetProperty = elementProperty.name;\r\n                    }\r\n                    else {\r\n                        expressions.push(instruction.attributes[instruction.attrName]);\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                if (type) {\r\n                    instruction = BehaviorInstruction.attribute(attrName, type);\r\n                    instruction.attributes[resources.mapAttribute(attrName)] = attrValue;\r\n                    if (type.liftsContent) {\r\n                        instruction.originalAttrName = originalAttrName;\r\n                        liftingInstruction = instruction;\r\n                        break;\r\n                    }\r\n                    else {\r\n                        behaviorInstructions.push(instruction);\r\n                    }\r\n                }\r\n                else if (elementProperty) {\r\n                    elementInstruction.attributes[attrName] = attrValue;\r\n                }\r\n            }\r\n        }\r\n        if (liftingInstruction) {\r\n            liftingInstruction.viewFactory = viewFactory;\r\n            node = liftingInstruction.type.compile(this, resources, node, liftingInstruction, parentNode);\r\n            auTargetID = makeIntoInstructionTarget(node);\r\n            instructions[auTargetID] = TargetInstruction.lifting(parentInjectorId, liftingInstruction);\r\n        }\r\n        else {\r\n            var skipContentProcessing = false;\r\n            if (expressions.length || behaviorInstructions.length) {\r\n                injectorId = behaviorInstructions.length ? getNextInjectorId() : false;\r\n                for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n                    instruction = behaviorInstructions[i];\r\n                    instruction.type.compile(this, resources, node, instruction, parentNode);\r\n                    providers.push(instruction.type.target);\r\n                    skipContentProcessing = skipContentProcessing || instruction.skipContentProcessing;\r\n                }\r\n                for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n                    expression = expressions[i];\r\n                    if (expression.attrToRemove !== undefined) {\r\n                        node.removeAttribute(expression.attrToRemove);\r\n                    }\r\n                }\r\n                auTargetID = makeIntoInstructionTarget(node);\r\n                instructions[auTargetID] = TargetInstruction.normal(injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction);\r\n            }\r\n            if (skipContentProcessing) {\r\n                return node.nextSibling;\r\n            }\r\n            var currentChild = node.firstChild;\r\n            while (currentChild) {\r\n                currentChild = this._compileNode(currentChild, resources, instructions, node, injectorId || parentInjectorId, targetLightDOM);\r\n            }\r\n        }\r\n        return node.nextSibling;\r\n    };\r\n    ViewCompiler.prototype._configureProperties = function (instruction, resources) {\r\n        var type = instruction.type;\r\n        var attrName = instruction.attrName;\r\n        var attributes = instruction.attributes;\r\n        var property;\r\n        var key;\r\n        var value;\r\n        var knownAttribute = resources.mapAttribute(attrName);\r\n        if (knownAttribute && attrName in attributes && knownAttribute !== attrName) {\r\n            attributes[knownAttribute] = attributes[attrName];\r\n            delete attributes[attrName];\r\n        }\r\n        for (key in attributes) {\r\n            value = attributes[key];\r\n            if (value !== null && typeof value === 'object') {\r\n                property = type.attributes[key];\r\n                if (property !== undefined) {\r\n                    value.targetProperty = property.name;\r\n                }\r\n                else {\r\n                    value.targetProperty = key;\r\n                }\r\n            }\r\n        }\r\n    };\r\n    return ViewCompiler;\r\n}());\n\nvar ViewEngineHooksResource = (function () {\r\n    function ViewEngineHooksResource() {\r\n    }\r\n    ViewEngineHooksResource.prototype.initialize = function (container, target) {\r\n        this.instance = container.get(target);\r\n    };\r\n    ViewEngineHooksResource.prototype.register = function (registry, name) {\r\n        registry.registerViewEngineHooks(this.instance);\r\n    };\r\n    ViewEngineHooksResource.prototype.load = function (container, target) { };\r\n    ViewEngineHooksResource.convention = function (name) {\r\n        if (name.endsWith('ViewEngineHooks')) {\r\n            return new ViewEngineHooksResource();\r\n        }\r\n    };\r\n    return ViewEngineHooksResource;\r\n}());\r\nfunction viewEngineHooks(target) {\r\n    var deco = function (t) {\r\n        metadata.define(metadata.resource, new ViewEngineHooksResource(), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\n\nvar ResourceModule = (function () {\r\n    function ResourceModule(moduleId) {\r\n        this.id = moduleId;\r\n        this.moduleInstance = null;\r\n        this.mainResource = null;\r\n        this.resources = null;\r\n        this.viewStrategy = null;\r\n        this.isInitialized = false;\r\n        this.onLoaded = null;\r\n        this.loadContext = null;\r\n    }\r\n    ResourceModule.prototype.initialize = function (container) {\r\n        var current = this.mainResource;\r\n        var resources = this.resources;\r\n        var vs = this.viewStrategy;\r\n        if (this.isInitialized) {\r\n            return;\r\n        }\r\n        this.isInitialized = true;\r\n        if (current !== undefined) {\r\n            current.metadata.viewStrategy = vs;\r\n            current.initialize(container);\r\n        }\r\n        for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n            current = resources[i];\r\n            current.metadata.viewStrategy = vs;\r\n            current.initialize(container);\r\n        }\r\n    };\r\n    ResourceModule.prototype.register = function (registry, name) {\r\n        var main = this.mainResource;\r\n        var resources = this.resources;\r\n        if (main !== undefined) {\r\n            main.register(registry, name);\r\n            name = null;\r\n        }\r\n        for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n            resources[i].register(registry, name);\r\n            name = null;\r\n        }\r\n    };\r\n    ResourceModule.prototype.load = function (container, loadContext) {\r\n        if (this.onLoaded !== null) {\r\n            return this.loadContext === loadContext ? Promise.resolve() : this.onLoaded;\r\n        }\r\n        var main = this.mainResource;\r\n        var resources = this.resources;\r\n        var loads;\r\n        if (main !== undefined) {\r\n            loads = new Array(resources.length + 1);\r\n            loads[0] = main.load(container, loadContext);\r\n            for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n                loads[i + 1] = resources[i].load(container, loadContext);\r\n            }\r\n        }\r\n        else {\r\n            loads = new Array(resources.length);\r\n            for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n                loads[i] = resources[i].load(container, loadContext);\r\n            }\r\n        }\r\n        this.loadContext = loadContext;\r\n        this.onLoaded = Promise.all(loads);\r\n        return this.onLoaded;\r\n    };\r\n    return ResourceModule;\r\n}());\r\nvar ResourceDescription = (function () {\r\n    function ResourceDescription(key, exportedValue, resourceTypeMeta) {\r\n        if (!resourceTypeMeta) {\r\n            resourceTypeMeta = metadata.get(metadata.resource, exportedValue);\r\n            if (!resourceTypeMeta) {\r\n                resourceTypeMeta = new HtmlBehaviorResource();\r\n                resourceTypeMeta.elementName = _hyphenate(key);\r\n                metadata.define(metadata.resource, resourceTypeMeta, exportedValue);\r\n            }\r\n        }\r\n        if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n            if (resourceTypeMeta.elementName === undefined) {\r\n                resourceTypeMeta.elementName = _hyphenate(key);\r\n            }\r\n            else if (resourceTypeMeta.attributeName === undefined) {\r\n                resourceTypeMeta.attributeName = _hyphenate(key);\r\n            }\r\n            else if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                HtmlBehaviorResource.convention(key, resourceTypeMeta);\r\n            }\r\n        }\r\n        else if (!resourceTypeMeta.name) {\r\n            resourceTypeMeta.name = _hyphenate(key);\r\n        }\r\n        this.metadata = resourceTypeMeta;\r\n        this.value = exportedValue;\r\n    }\r\n    ResourceDescription.prototype.initialize = function (container) {\r\n        this.metadata.initialize(container, this.value);\r\n    };\r\n    ResourceDescription.prototype.register = function (registry, name) {\r\n        this.metadata.register(registry, name);\r\n    };\r\n    ResourceDescription.prototype.load = function (container, loadContext) {\r\n        return this.metadata.load(container, this.value, loadContext);\r\n    };\r\n    return ResourceDescription;\r\n}());\r\nvar ModuleAnalyzer = (function () {\r\n    function ModuleAnalyzer() {\r\n        this.cache = Object.create(null);\r\n    }\r\n    ModuleAnalyzer.prototype.getAnalysis = function (moduleId) {\r\n        return this.cache[moduleId];\r\n    };\r\n    ModuleAnalyzer.prototype.analyze = function (moduleId, moduleInstance, mainResourceKey) {\r\n        var mainResource;\r\n        var fallbackValue;\r\n        var fallbackKey;\r\n        var resourceTypeMeta;\r\n        var key;\r\n        var exportedValue;\r\n        var resources = [];\r\n        var conventional;\r\n        var vs;\r\n        var resourceModule;\r\n        resourceModule = this.cache[moduleId];\r\n        if (resourceModule) {\r\n            return resourceModule;\r\n        }\r\n        resourceModule = new ResourceModule(moduleId);\r\n        this.cache[moduleId] = resourceModule;\r\n        if (typeof moduleInstance === 'function') {\r\n            moduleInstance = { 'default': moduleInstance };\r\n        }\r\n        if (mainResourceKey) {\r\n            mainResource = new ResourceDescription(mainResourceKey, moduleInstance[mainResourceKey]);\r\n        }\r\n        for (key in moduleInstance) {\r\n            exportedValue = moduleInstance[key];\r\n            if (key === mainResourceKey || typeof exportedValue !== 'function') {\r\n                continue;\r\n            }\r\n            resourceTypeMeta = metadata.get(metadata.resource, exportedValue);\r\n            if (resourceTypeMeta) {\r\n                if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n                    ViewResources.convention(exportedValue, resourceTypeMeta);\r\n                    if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                        HtmlBehaviorResource.convention(key, resourceTypeMeta);\r\n                    }\r\n                    if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                        resourceTypeMeta.elementName = _hyphenate(key);\r\n                    }\r\n                }\r\n                if (!mainResource && resourceTypeMeta instanceof HtmlBehaviorResource && resourceTypeMeta.elementName !== null) {\r\n                    mainResource = new ResourceDescription(key, exportedValue, resourceTypeMeta);\r\n                }\r\n                else {\r\n                    resources.push(new ResourceDescription(key, exportedValue, resourceTypeMeta));\r\n                }\r\n            }\r\n            else if (viewStrategy.decorates(exportedValue)) {\r\n                vs = exportedValue;\r\n            }\r\n            else if (exportedValue instanceof TemplateRegistryEntry) {\r\n                vs = new TemplateRegistryViewStrategy(moduleId, exportedValue);\r\n            }\r\n            else {\r\n                if (conventional = ViewResources.convention(exportedValue)) {\r\n                    if (conventional.elementName !== null && !mainResource) {\r\n                        mainResource = new ResourceDescription(key, exportedValue, conventional);\r\n                    }\r\n                    else {\r\n                        resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    }\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (conventional = HtmlBehaviorResource.convention(key)) {\r\n                    if (conventional.elementName !== null && !mainResource) {\r\n                        mainResource = new ResourceDescription(key, exportedValue, conventional);\r\n                    }\r\n                    else {\r\n                        resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    }\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (conventional = ValueConverterResource.convention(key)\r\n                    || BindingBehaviorResource.convention(key)\r\n                    || ViewEngineHooksResource.convention(key)) {\r\n                    resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (!fallbackValue) {\r\n                    fallbackValue = exportedValue;\r\n                    fallbackKey = key;\r\n                }\r\n            }\r\n        }\r\n        if (!mainResource && fallbackValue) {\r\n            mainResource = new ResourceDescription(fallbackKey, fallbackValue);\r\n        }\r\n        resourceModule.moduleInstance = moduleInstance;\r\n        resourceModule.mainResource = mainResource;\r\n        resourceModule.resources = resources;\r\n        resourceModule.viewStrategy = vs;\r\n        return resourceModule;\r\n    };\r\n    return ModuleAnalyzer;\r\n}());\n\nvar logger = LogManager.getLogger('templating');\r\nfunction ensureRegistryEntry(loader, urlOrRegistryEntry) {\r\n    if (urlOrRegistryEntry instanceof TemplateRegistryEntry) {\r\n        return Promise.resolve(urlOrRegistryEntry);\r\n    }\r\n    return loader.loadTemplate(urlOrRegistryEntry);\r\n}\r\nvar ProxyViewFactory = (function () {\r\n    function ProxyViewFactory(promise) {\r\n        var _this = this;\r\n        promise.then(function (x) { return _this.viewFactory = x; });\r\n    }\r\n    ProxyViewFactory.prototype.create = function (container, bindingContext, createInstruction, element) {\r\n        return this.viewFactory.create(container, bindingContext, createInstruction, element);\r\n    };\r\n    Object.defineProperty(ProxyViewFactory.prototype, \"isCaching\", {\r\n        get: function () {\r\n            return this.viewFactory.isCaching;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    ProxyViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet);\r\n    };\r\n    ProxyViewFactory.prototype.getCachedView = function () {\r\n        return this.viewFactory.getCachedView();\r\n    };\r\n    ProxyViewFactory.prototype.returnViewToCache = function (view) {\r\n        this.viewFactory.returnViewToCache(view);\r\n    };\r\n    return ProxyViewFactory;\r\n}());\r\nvar auSlotBehavior = null;\r\nvar ViewEngine = (function () {\r\n    function ViewEngine(loader, container, viewCompiler, moduleAnalyzer, appResources) {\r\n        this.loader = loader;\r\n        this.container = container;\r\n        this.viewCompiler = viewCompiler;\r\n        this.moduleAnalyzer = moduleAnalyzer;\r\n        this.appResources = appResources;\r\n        this._pluginMap = {};\r\n        if (auSlotBehavior === null) {\r\n            auSlotBehavior = new HtmlBehaviorResource();\r\n            auSlotBehavior.attributeName = 'au-slot';\r\n            metadata.define(metadata.resource, auSlotBehavior, SlotCustomAttribute);\r\n        }\r\n        auSlotBehavior.initialize(container, SlotCustomAttribute);\r\n        auSlotBehavior.register(appResources);\r\n    }\r\n    ViewEngine.inject = function () {\r\n        return [Loader, Container, ViewCompiler, ModuleAnalyzer, ViewResources];\r\n    };\r\n    ViewEngine.prototype.addResourcePlugin = function (extension, implementation) {\r\n        var name = extension.replace('.', '') + '-resource-plugin';\r\n        this._pluginMap[extension] = name;\r\n        this.loader.addPlugin(name, implementation);\r\n    };\r\n    ViewEngine.prototype.loadViewFactory = function (urlOrRegistryEntry, compileInstruction, loadContext, target) {\r\n        var _this = this;\r\n        loadContext = loadContext || new ResourceLoadContext();\r\n        return ensureRegistryEntry(this.loader, urlOrRegistryEntry).then(function (registryEntry) {\r\n            var url = registryEntry.address;\r\n            if (registryEntry.onReady) {\r\n                if (!loadContext.hasDependency(url)) {\r\n                    loadContext.addDependency(url);\r\n                    return registryEntry.onReady;\r\n                }\r\n                if (registryEntry.template === null) {\r\n                    return registryEntry.onReady;\r\n                }\r\n                return Promise.resolve(new ProxyViewFactory(registryEntry.onReady));\r\n            }\r\n            loadContext.addDependency(url);\r\n            registryEntry.onReady = _this.loadTemplateResources(registryEntry, compileInstruction, loadContext, target).then(function (resources) {\r\n                registryEntry.resources = resources;\r\n                if (registryEntry.template === null) {\r\n                    return registryEntry.factory = null;\r\n                }\r\n                var viewFactory = _this.viewCompiler.compile(registryEntry.template, resources, compileInstruction);\r\n                return registryEntry.factory = viewFactory;\r\n            });\r\n            return registryEntry.onReady;\r\n        });\r\n    };\r\n    ViewEngine.prototype.loadTemplateResources = function (registryEntry, compileInstruction, loadContext, target) {\r\n        var resources = new ViewResources(this.appResources, registryEntry.address);\r\n        var dependencies = registryEntry.dependencies;\r\n        var importIds;\r\n        var names;\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        if (dependencies.length === 0 && !compileInstruction.associatedModuleId) {\r\n            return Promise.resolve(resources);\r\n        }\r\n        importIds = dependencies.map(function (x) { return x.src; });\r\n        names = dependencies.map(function (x) { return x.name; });\r\n        logger.debug(\"importing resources for \".concat(registryEntry.address), importIds);\r\n        if (target) {\r\n            var viewModelRequires = metadata.get(ViewEngine.viewModelRequireMetadataKey, target);\r\n            if (viewModelRequires) {\r\n                var templateImportCount = importIds.length;\r\n                for (var i = 0, ii = viewModelRequires.length; i < ii; ++i) {\r\n                    var req = viewModelRequires[i];\r\n                    var importId = typeof req === 'function'\r\n                        ? Origin.get(req).moduleId\r\n                        : relativeToFile(req.src || req, registryEntry.address);\r\n                    if (importIds.indexOf(importId) === -1) {\r\n                        importIds.push(importId);\r\n                        names.push(req.as);\r\n                    }\r\n                }\r\n                logger.debug(\"importing ViewModel resources for \".concat(compileInstruction.associatedModuleId), importIds.slice(templateImportCount));\r\n            }\r\n        }\r\n        return this.importViewResources(importIds, names, resources, compileInstruction, loadContext);\r\n    };\r\n    ViewEngine.prototype.importViewModelResource = function (moduleImport, moduleMember) {\r\n        var _this = this;\r\n        return this.loader.loadModule(moduleImport).then(function (viewModelModule) {\r\n            var normalizedId = Origin.get(viewModelModule).moduleId;\r\n            var resourceModule = _this.moduleAnalyzer.analyze(normalizedId, viewModelModule, moduleMember);\r\n            if (!resourceModule.mainResource) {\r\n                throw new Error(\"No view model found in module \\\"\".concat(moduleImport, \"\\\".\"));\r\n            }\r\n            resourceModule.initialize(_this.container);\r\n            return resourceModule.mainResource;\r\n        });\r\n    };\r\n    ViewEngine.prototype.importViewResources = function (moduleIds, names, resources, compileInstruction, loadContext) {\r\n        var _this = this;\r\n        loadContext = loadContext || new ResourceLoadContext();\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        moduleIds = moduleIds.map(function (x) { return _this._applyLoaderPlugin(x); });\r\n        return this.loader.loadAllModules(moduleIds).then(function (imports) {\r\n            var i;\r\n            var ii;\r\n            var analysis;\r\n            var normalizedId;\r\n            var current;\r\n            var associatedModule;\r\n            var container = _this.container;\r\n            var moduleAnalyzer = _this.moduleAnalyzer;\r\n            var allAnalysis = new Array(imports.length);\r\n            for (i = 0, ii = imports.length; i < ii; ++i) {\r\n                current = imports[i];\r\n                normalizedId = Origin.get(current).moduleId;\r\n                analysis = moduleAnalyzer.analyze(normalizedId, current);\r\n                analysis.initialize(container);\r\n                analysis.register(resources, names[i]);\r\n                allAnalysis[i] = analysis;\r\n            }\r\n            if (compileInstruction.associatedModuleId) {\r\n                associatedModule = moduleAnalyzer.getAnalysis(compileInstruction.associatedModuleId);\r\n                if (associatedModule) {\r\n                    associatedModule.register(resources);\r\n                }\r\n            }\r\n            for (i = 0, ii = allAnalysis.length; i < ii; ++i) {\r\n                allAnalysis[i] = allAnalysis[i].load(container, loadContext);\r\n            }\r\n            return Promise.all(allAnalysis).then(function () { return resources; });\r\n        });\r\n    };\r\n    ViewEngine.prototype._applyLoaderPlugin = function (id) {\r\n        var index = id.lastIndexOf('.');\r\n        if (index !== -1) {\r\n            var ext = id.substring(index);\r\n            var pluginName = this._pluginMap[ext];\r\n            if (pluginName === undefined) {\r\n                return id;\r\n            }\r\n            return this.loader.applyPluginToUrl(id, pluginName);\r\n        }\r\n        return id;\r\n    };\r\n    ViewEngine.viewModelRequireMetadataKey = 'aurelia:view-model-require';\r\n    return ViewEngine;\r\n}());\n\nvar Controller = (function () {\r\n    function Controller(behavior, instruction, viewModel, container) {\r\n        this.behavior = behavior;\r\n        this.instruction = instruction;\r\n        this.viewModel = viewModel;\r\n        this.isAttached = false;\r\n        this.view = null;\r\n        this.isBound = false;\r\n        this.scope = null;\r\n        this.container = container;\r\n        this.elementEvents = container.elementEvents || null;\r\n        var observerLookup = behavior.observerLocator.getOrCreateObserversLookup(viewModel);\r\n        var handlesBind = behavior.handlesBind;\r\n        var attributes = instruction.attributes;\r\n        var boundProperties = this.boundProperties = [];\r\n        var properties = behavior.properties;\r\n        var i;\r\n        var ii;\r\n        behavior._ensurePropertiesDefined(viewModel, observerLookup);\r\n        for (i = 0, ii = properties.length; i < ii; ++i) {\r\n            properties[i]._initialize(viewModel, observerLookup, attributes, handlesBind, boundProperties);\r\n        }\r\n    }\r\n    Controller.prototype.created = function (owningView) {\r\n        if (this.behavior.handlesCreated) {\r\n            this.viewModel.created(owningView, this.view);\r\n        }\r\n    };\r\n    Controller.prototype.automate = function (overrideContext, owningView) {\r\n        this.view.bindingContext = this.viewModel;\r\n        this.view.overrideContext = overrideContext || createOverrideContext(this.viewModel);\r\n        this.view._isUserControlled = true;\r\n        if (this.behavior.handlesCreated) {\r\n            this.viewModel.created(owningView || null, this.view);\r\n        }\r\n        this.bind(this.view);\r\n    };\r\n    Controller.prototype.bind = function (scope) {\r\n        var skipSelfSubscriber = this.behavior.handlesBind;\r\n        var boundProperties = this.boundProperties;\r\n        var i;\r\n        var ii;\r\n        var x;\r\n        var observer;\r\n        var selfSubscriber;\r\n        if (this.isBound) {\r\n            if (this.scope === scope) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.scope = scope;\r\n        for (i = 0, ii = boundProperties.length; i < ii; ++i) {\r\n            x = boundProperties[i];\r\n            observer = x.observer;\r\n            selfSubscriber = observer.selfSubscriber;\r\n            observer.publishing = false;\r\n            if (skipSelfSubscriber) {\r\n                observer.selfSubscriber = null;\r\n            }\r\n            x.binding.bind(scope);\r\n            observer.call();\r\n            observer.publishing = true;\r\n            observer.selfSubscriber = selfSubscriber;\r\n        }\r\n        var overrideContext;\r\n        if (this.view !== null) {\r\n            if (skipSelfSubscriber) {\r\n                this.view.viewModelScope = scope;\r\n            }\r\n            if (this.viewModel === scope.overrideContext.bindingContext) {\r\n                overrideContext = scope.overrideContext;\r\n            }\r\n            else if (this.instruction.inheritBindingContext) {\r\n                overrideContext = createOverrideContext(this.viewModel, scope.overrideContext);\r\n            }\r\n            else {\r\n                overrideContext = createOverrideContext(this.viewModel);\r\n                overrideContext.__parentOverrideContext = scope.overrideContext;\r\n            }\r\n            this.view.bind(this.viewModel, overrideContext);\r\n        }\r\n        else if (skipSelfSubscriber) {\r\n            overrideContext = scope.overrideContext;\r\n            if (scope.overrideContext.__parentOverrideContext !== undefined\r\n                && this.viewModel.viewFactory && this.viewModel.viewFactory.factoryCreateInstruction.partReplacements) {\r\n                overrideContext = Object.assign({}, scope.overrideContext);\r\n                overrideContext.parentOverrideContext = scope.overrideContext.__parentOverrideContext;\r\n            }\r\n            this.viewModel.bind(scope.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    Controller.prototype.unbind = function () {\r\n        if (this.isBound) {\r\n            var boundProperties = this.boundProperties;\r\n            var i = void 0;\r\n            var ii = void 0;\r\n            this.isBound = false;\r\n            this.scope = null;\r\n            if (this.view !== null) {\r\n                this.view.unbind();\r\n            }\r\n            if (this.behavior.handlesUnbind) {\r\n                this.viewModel.unbind();\r\n            }\r\n            if (this.elementEvents !== null) {\r\n                this.elementEvents.disposeAll();\r\n            }\r\n            for (i = 0, ii = boundProperties.length; i < ii; ++i) {\r\n                boundProperties[i].binding.unbind();\r\n            }\r\n        }\r\n    };\r\n    Controller.prototype.attached = function () {\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        if (this.behavior.handlesAttached) {\r\n            this.viewModel.attached();\r\n        }\r\n        if (this.view !== null) {\r\n            this.view.attached();\r\n        }\r\n    };\r\n    Controller.prototype.detached = function () {\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            if (this.view !== null) {\r\n                this.view.detached();\r\n            }\r\n            if (this.behavior.handlesDetached) {\r\n                this.viewModel.detached();\r\n            }\r\n        }\r\n    };\r\n    return Controller;\r\n}());\n\nvar lastProviderId = 0;\r\nfunction nextProviderId() {\r\n    return ++lastProviderId;\r\n}\r\nfunction doProcessContent() { return true; }\r\nfunction doProcessAttributes() { }\r\nvar HtmlBehaviorResource = (function () {\r\n    function HtmlBehaviorResource() {\r\n        this.elementName = null;\r\n        this.attributeName = null;\r\n        this.attributeDefaultBindingMode = undefined;\r\n        this.liftsContent = false;\r\n        this.targetShadowDOM = false;\r\n        this.shadowDOMOptions = null;\r\n        this.processAttributes = doProcessAttributes;\r\n        this.processContent = doProcessContent;\r\n        this.usesShadowDOM = false;\r\n        this.childBindings = null;\r\n        this.hasDynamicOptions = false;\r\n        this.containerless = false;\r\n        this.properties = [];\r\n        this.attributes = {};\r\n        this.isInitialized = false;\r\n        this.primaryProperty = null;\r\n    }\r\n    HtmlBehaviorResource.convention = function (name, existing) {\r\n        var behavior;\r\n        if (name.endsWith('CustomAttribute')) {\r\n            behavior = existing || new HtmlBehaviorResource();\r\n            behavior.attributeName = _hyphenate(name.substring(0, name.length - 15));\r\n        }\r\n        if (name.endsWith('CustomElement')) {\r\n            behavior = existing || new HtmlBehaviorResource();\r\n            behavior.elementName = _hyphenate(name.substring(0, name.length - 13));\r\n        }\r\n        return behavior;\r\n    };\r\n    HtmlBehaviorResource.prototype.addChildBinding = function (behavior) {\r\n        if (this.childBindings === null) {\r\n            this.childBindings = [];\r\n        }\r\n        this.childBindings.push(behavior);\r\n    };\r\n    HtmlBehaviorResource.prototype.initialize = function (container, target) {\r\n        var proto = target.prototype;\r\n        var properties = this.properties;\r\n        var attributeName = this.attributeName;\r\n        var attributeDefaultBindingMode = this.attributeDefaultBindingMode;\r\n        var i;\r\n        var ii;\r\n        var current;\r\n        if (this.isInitialized) {\r\n            return;\r\n        }\r\n        this.isInitialized = true;\r\n        target.__providerId__ = nextProviderId();\r\n        this.observerLocator = container.get(ObserverLocator);\r\n        this.taskQueue = container.get(TaskQueue);\r\n        this.target = target;\r\n        this.usesShadowDOM = this.targetShadowDOM && FEATURE.shadowDOM;\r\n        this.handlesCreated = ('created' in proto);\r\n        this.handlesBind = ('bind' in proto);\r\n        this.handlesUnbind = ('unbind' in proto);\r\n        this.handlesAttached = ('attached' in proto);\r\n        this.handlesDetached = ('detached' in proto);\r\n        this.htmlName = this.elementName || this.attributeName;\r\n        if (attributeName !== null) {\r\n            if (properties.length === 0) {\r\n                new BindableProperty({\r\n                    name: 'value',\r\n                    changeHandler: 'valueChanged' in proto ? 'valueChanged' : null,\r\n                    attribute: attributeName,\r\n                    defaultBindingMode: attributeDefaultBindingMode\r\n                }).registerWith(target, this);\r\n            }\r\n            current = properties[0];\r\n            if (properties.length === 1 && current.name === 'value') {\r\n                current.isDynamic = current.hasOptions = this.hasDynamicOptions;\r\n                current.defineOn(target, this);\r\n            }\r\n            else {\r\n                for (i = 0, ii = properties.length; i < ii; ++i) {\r\n                    properties[i].defineOn(target, this);\r\n                    if (properties[i].primaryProperty) {\r\n                        if (this.primaryProperty) {\r\n                            throw new Error('Only one bindable property on a custom element can be defined as the default');\r\n                        }\r\n                        this.primaryProperty = properties[i];\r\n                    }\r\n                }\r\n                current = new BindableProperty({\r\n                    name: 'value',\r\n                    changeHandler: 'valueChanged' in proto ? 'valueChanged' : null,\r\n                    attribute: attributeName,\r\n                    defaultBindingMode: attributeDefaultBindingMode\r\n                });\r\n                current.hasOptions = true;\r\n                current.registerWith(target, this);\r\n            }\r\n        }\r\n        else {\r\n            for (i = 0, ii = properties.length; i < ii; ++i) {\r\n                properties[i].defineOn(target, this);\r\n            }\r\n            this._copyInheritedProperties(container, target);\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype.register = function (registry, name) {\r\n        var _this = this;\r\n        if (this.attributeName !== null) {\r\n            registry.registerAttribute(name || this.attributeName, this, this.attributeName);\r\n            if (Array.isArray(this.aliases)) {\r\n                this.aliases\r\n                    .forEach(function (alias) {\r\n                    registry.registerAttribute(alias, _this, _this.attributeName);\r\n                });\r\n            }\r\n        }\r\n        if (this.elementName !== null) {\r\n            registry.registerElement(name || this.elementName, this);\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype.aliases = function (aliases) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    HtmlBehaviorResource.prototype.load = function (container, target, loadContext, viewStrategy, transientView) {\r\n        var _this = this;\r\n        var options;\r\n        if (this.elementName !== null) {\r\n            viewStrategy = container.get(ViewLocator).getViewStrategy(viewStrategy || this.viewStrategy || target);\r\n            options = new ViewCompileInstruction(this.targetShadowDOM, true);\r\n            if (!viewStrategy.moduleId) {\r\n                viewStrategy.moduleId = Origin.get(target).moduleId;\r\n            }\r\n            return viewStrategy\r\n                .loadViewFactory(container.get(ViewEngine), options, loadContext, target)\r\n                .then(function (viewFactory) {\r\n                if (!transientView || !_this.viewFactory) {\r\n                    _this.viewFactory = viewFactory;\r\n                }\r\n                return viewFactory;\r\n            });\r\n        }\r\n        return Promise.resolve(this);\r\n    };\r\n    HtmlBehaviorResource.prototype.compile = function (compiler, resources, node, instruction, parentNode) {\r\n        if (this.liftsContent) {\r\n            if (!instruction.viewFactory) {\r\n                var template = DOM.createElement('template');\r\n                var fragment = DOM.createDocumentFragment();\r\n                var cacheSize = node.getAttribute('view-cache');\r\n                var part = node.getAttribute('part');\r\n                node.removeAttribute(instruction.originalAttrName);\r\n                DOM.replaceNode(template, node, parentNode);\r\n                fragment.appendChild(node);\r\n                instruction.viewFactory = compiler.compile(fragment, resources);\r\n                if (part) {\r\n                    instruction.viewFactory.part = part;\r\n                    node.removeAttribute('part');\r\n                }\r\n                if (cacheSize) {\r\n                    instruction.viewFactory.setCacheSize(cacheSize);\r\n                    node.removeAttribute('view-cache');\r\n                }\r\n                node = template;\r\n            }\r\n        }\r\n        else if (this.elementName !== null) {\r\n            var partReplacements = {};\r\n            if (this.processContent(compiler, resources, node, instruction) && node.hasChildNodes()) {\r\n                var currentChild = node.firstChild;\r\n                var contentElement = this.usesShadowDOM ? null : DOM.createElement('au-content');\r\n                var nextSibling = void 0;\r\n                var toReplace = void 0;\r\n                while (currentChild) {\r\n                    nextSibling = currentChild.nextSibling;\r\n                    if (currentChild.tagName === 'TEMPLATE' && (toReplace = currentChild.getAttribute('replace-part'))) {\r\n                        partReplacements[toReplace] = compiler.compile(currentChild, resources);\r\n                        DOM.removeNode(currentChild, parentNode);\r\n                        instruction.partReplacements = partReplacements;\r\n                    }\r\n                    else if (contentElement !== null) {\r\n                        if (currentChild.nodeType === 3 && _isAllWhitespace(currentChild)) {\r\n                            DOM.removeNode(currentChild, parentNode);\r\n                        }\r\n                        else {\r\n                            contentElement.appendChild(currentChild);\r\n                        }\r\n                    }\r\n                    currentChild = nextSibling;\r\n                }\r\n                if (contentElement !== null && contentElement.hasChildNodes()) {\r\n                    node.appendChild(contentElement);\r\n                }\r\n                instruction.skipContentProcessing = false;\r\n            }\r\n            else {\r\n                instruction.skipContentProcessing = true;\r\n            }\r\n        }\r\n        else if (!this.processContent(compiler, resources, node, instruction)) {\r\n            instruction.skipContentProcessing = true;\r\n        }\r\n        return node;\r\n    };\r\n    HtmlBehaviorResource.prototype.create = function (container, instruction, element, bindings) {\r\n        var viewHost;\r\n        var au = null;\r\n        instruction = instruction || BehaviorInstruction.normal;\r\n        element = element || null;\r\n        bindings = bindings || null;\r\n        if (this.elementName !== null && element) {\r\n            if (this.usesShadowDOM) {\r\n                viewHost = element.attachShadow(this.shadowDOMOptions);\r\n                container.registerInstance(DOM.boundary, viewHost);\r\n            }\r\n            else {\r\n                viewHost = element;\r\n                if (this.targetShadowDOM) {\r\n                    container.registerInstance(DOM.boundary, viewHost);\r\n                }\r\n            }\r\n        }\r\n        if (element !== null) {\r\n            element.au = au = element.au || {};\r\n        }\r\n        var viewModel = instruction.viewModel || container.get(this.target);\r\n        var controller = new Controller(this, instruction, viewModel, container);\r\n        var childBindings = this.childBindings;\r\n        var viewFactory;\r\n        if (this.liftsContent) {\r\n            au.controller = controller;\r\n        }\r\n        else if (this.elementName !== null) {\r\n            viewFactory = instruction.viewFactory || this.viewFactory;\r\n            container.viewModel = viewModel;\r\n            if (viewFactory) {\r\n                controller.view = viewFactory.create(container, instruction, element);\r\n            }\r\n            if (element !== null) {\r\n                au.controller = controller;\r\n                if (controller.view) {\r\n                    if (!this.usesShadowDOM && (element.childNodes.length === 1 || element.contentElement)) {\r\n                        var contentElement = element.childNodes[0] || element.contentElement;\r\n                        controller.view.contentView = { fragment: contentElement };\r\n                        contentElement.parentNode && DOM.removeNode(contentElement);\r\n                    }\r\n                    if (instruction.anchorIsContainer) {\r\n                        if (childBindings !== null) {\r\n                            for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                                controller.view.addBinding(childBindings[i].create(element, viewModel, controller));\r\n                            }\r\n                        }\r\n                        controller.view.appendNodesTo(viewHost);\r\n                    }\r\n                    else {\r\n                        controller.view.insertNodesBefore(viewHost);\r\n                    }\r\n                }\r\n                else if (childBindings !== null) {\r\n                    for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                        bindings.push(childBindings[i].create(element, viewModel, controller));\r\n                    }\r\n                }\r\n            }\r\n            else if (controller.view) {\r\n                controller.view.controller = controller;\r\n                if (childBindings !== null) {\r\n                    for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                        controller.view.addBinding(childBindings[i].create(instruction.host, viewModel, controller));\r\n                    }\r\n                }\r\n            }\r\n            else if (childBindings !== null) {\r\n                for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                    bindings.push(childBindings[i].create(instruction.host, viewModel, controller));\r\n                }\r\n            }\r\n        }\r\n        else if (childBindings !== null) {\r\n            for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                bindings.push(childBindings[i].create(element, viewModel, controller));\r\n            }\r\n        }\r\n        if (au !== null) {\r\n            au[this.htmlName] = controller;\r\n        }\r\n        if (instruction.initiatedByBehavior && viewFactory) {\r\n            controller.view.created();\r\n        }\r\n        return controller;\r\n    };\r\n    HtmlBehaviorResource.prototype._ensurePropertiesDefined = function (instance, lookup) {\r\n        var properties;\r\n        var i;\r\n        var ii;\r\n        var observer;\r\n        if ('__propertiesDefined__' in lookup) {\r\n            return;\r\n        }\r\n        lookup.__propertiesDefined__ = true;\r\n        properties = this.properties;\r\n        for (i = 0, ii = properties.length; i < ii; ++i) {\r\n            observer = properties[i].createObserver(instance);\r\n            if (observer !== undefined) {\r\n                lookup[observer.propertyName] = observer;\r\n            }\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype._copyInheritedProperties = function (container, target) {\r\n        var behavior;\r\n        var derived = target;\r\n        while (true) {\r\n            var proto = Object.getPrototypeOf(target.prototype);\r\n            target = proto && proto.constructor;\r\n            if (!target) {\r\n                return;\r\n            }\r\n            behavior = metadata.getOwn(metadata.resource, target);\r\n            if (behavior) {\r\n                break;\r\n            }\r\n        }\r\n        behavior.initialize(container, target);\r\n        var _loop_1 = function (i, ii) {\r\n            var prop = behavior.properties[i];\r\n            if (this_1.properties.some(function (p) { return p.name === prop.name; })) {\r\n                return \"continue\";\r\n            }\r\n            new BindableProperty(prop).registerWith(derived, this_1);\r\n        };\r\n        var this_1 = this;\r\n        for (var i = 0, ii = behavior.properties.length; i < ii; ++i) {\r\n            _loop_1(i);\r\n        }\r\n    };\r\n    return HtmlBehaviorResource;\r\n}());\n\nfunction register(lookup, name, resource, type) {\r\n    if (!name) {\r\n        return;\r\n    }\r\n    var existing = lookup[name];\r\n    if (existing) {\r\n        if (existing !== resource) {\r\n            throw new Error(\"Attempted to register \".concat(type, \" when one with the same name already exists. Name: \").concat(name, \".\"));\r\n        }\r\n        return;\r\n    }\r\n    lookup[name] = resource;\r\n}\r\nfunction validateBehaviorName(name, type) {\r\n    if (/[A-Z]/.test(name)) {\r\n        var newName = _hyphenate(name);\r\n        LogManager\r\n            .getLogger('templating')\r\n            .warn(\"'\".concat(name, \"' is not a valid \").concat(type, \" name and has been converted to '\").concat(newName, \"'. Upper-case letters are not allowed because the DOM is not case-sensitive.\"));\r\n        return newName;\r\n    }\r\n    return name;\r\n}\r\nvar conventionMark = '__au_resource__';\r\nvar ViewResources = (function () {\r\n    function ViewResources(parent, viewUrl) {\r\n        this.bindingLanguage = null;\r\n        this.parent = parent || null;\r\n        this.hasParent = this.parent !== null;\r\n        this.viewUrl = viewUrl || '';\r\n        this.lookupFunctions = {\r\n            valueConverters: this.getValueConverter.bind(this),\r\n            bindingBehaviors: this.getBindingBehavior.bind(this)\r\n        };\r\n        this.attributes = Object.create(null);\r\n        this.elements = Object.create(null);\r\n        this.valueConverters = Object.create(null);\r\n        this.bindingBehaviors = Object.create(null);\r\n        this.attributeMap = Object.create(null);\r\n        this.values = Object.create(null);\r\n        this.beforeCompile = this.afterCompile = this.beforeCreate = this.afterCreate = this.beforeBind = this.beforeUnbind = false;\r\n    }\r\n    ViewResources.convention = function (target, existing) {\r\n        var resource;\r\n        if (existing && conventionMark in existing) {\r\n            return existing;\r\n        }\r\n        if ('$resource' in target) {\r\n            var config = target.$resource;\r\n            if (typeof config === 'string') {\r\n                resource = existing || new HtmlBehaviorResource();\r\n                resource[conventionMark] = true;\r\n                if (!resource.elementName) {\r\n                    resource.elementName = validateBehaviorName(config, 'custom element');\r\n                }\r\n            }\r\n            else {\r\n                if (typeof config === 'function') {\r\n                    config = config.call(target);\r\n                }\r\n                if (typeof config === 'string') {\r\n                    config = { name: config };\r\n                }\r\n                config = Object.assign({}, config);\r\n                var resourceType = config.type || 'element';\r\n                var name_1 = config.name;\r\n                switch (resourceType) {\r\n                    case 'element':\r\n                    case 'attribute':\r\n                        resource = existing || new HtmlBehaviorResource();\r\n                        resource[conventionMark] = true;\r\n                        if (resourceType === 'element') {\r\n                            if (!resource.elementName) {\r\n                                resource.elementName = name_1\r\n                                    ? validateBehaviorName(name_1, 'custom element')\r\n                                    : _hyphenate(target.name);\r\n                            }\r\n                        }\r\n                        else {\r\n                            if (!resource.attributeName) {\r\n                                resource.attributeName = name_1\r\n                                    ? validateBehaviorName(name_1, 'custom attribute')\r\n                                    : _hyphenate(target.name);\r\n                            }\r\n                        }\r\n                        if ('templateController' in config) {\r\n                            config.liftsContent = config.templateController;\r\n                            delete config.templateController;\r\n                        }\r\n                        if ('defaultBindingMode' in config && resource.attributeDefaultBindingMode !== undefined) {\r\n                            config.attributeDefaultBindingMode = config.defaultBindingMode;\r\n                            delete config.defaultBindingMode;\r\n                        }\r\n                        delete config.name;\r\n                        Object.assign(resource, config);\r\n                        break;\r\n                    case 'valueConverter':\r\n                        resource = new ValueConverterResource(camelCase(name_1 || target.name));\r\n                        break;\r\n                    case 'bindingBehavior':\r\n                        resource = new BindingBehaviorResource(camelCase(name_1 || target.name));\r\n                        break;\r\n                    case 'viewEngineHooks':\r\n                        resource = new ViewEngineHooksResource();\r\n                        break;\r\n                }\r\n            }\r\n            if (resource instanceof HtmlBehaviorResource) {\r\n                var bindables = typeof config === 'string' ? undefined : config.bindables;\r\n                var currentProps = resource.properties;\r\n                if (Array.isArray(bindables)) {\r\n                    for (var i = 0, ii = bindables.length; ii > i; ++i) {\r\n                        var prop = bindables[i];\r\n                        if (!prop || (typeof prop !== 'string' && !prop.name)) {\r\n                            throw new Error(\"Invalid bindable property at \\\"\".concat(i, \"\\\" for class \\\"\").concat(target.name, \"\\\". Expected either a string or an object with \\\"name\\\" property.\"));\r\n                        }\r\n                        var newProp = new BindableProperty(prop);\r\n                        var existed = false;\r\n                        for (var j = 0, jj = currentProps.length; jj > j; ++j) {\r\n                            if (currentProps[j].name === newProp.name) {\r\n                                existed = true;\r\n                                break;\r\n                            }\r\n                        }\r\n                        if (existed) {\r\n                            continue;\r\n                        }\r\n                        newProp.registerWith(target, resource);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        return resource;\r\n    };\r\n    ViewResources.prototype._tryAddHook = function (obj, name) {\r\n        if (typeof obj[name] === 'function') {\r\n            var func = obj[name].bind(obj);\r\n            var counter = 1;\r\n            var callbackName = void 0;\r\n            while (this[callbackName = name + counter.toString()] !== undefined) {\r\n                counter++;\r\n            }\r\n            this[name] = true;\r\n            this[callbackName] = func;\r\n        }\r\n    };\r\n    ViewResources.prototype._invokeHook = function (name, one, two, three, four) {\r\n        if (this.hasParent) {\r\n            this.parent._invokeHook(name, one, two, three, four);\r\n        }\r\n        if (this[name]) {\r\n            this[name + '1'](one, two, three, four);\r\n            var callbackName = name + '2';\r\n            if (this[callbackName]) {\r\n                this[callbackName](one, two, three, four);\r\n                callbackName = name + '3';\r\n                if (this[callbackName]) {\r\n                    this[callbackName](one, two, three, four);\r\n                    var counter = 4;\r\n                    while (this[callbackName = name + counter.toString()] !== undefined) {\r\n                        this[callbackName](one, two, three, four);\r\n                        counter++;\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ViewResources.prototype.registerViewEngineHooks = function (hooks) {\r\n        this._tryAddHook(hooks, 'beforeCompile');\r\n        this._tryAddHook(hooks, 'afterCompile');\r\n        this._tryAddHook(hooks, 'beforeCreate');\r\n        this._tryAddHook(hooks, 'afterCreate');\r\n        this._tryAddHook(hooks, 'beforeBind');\r\n        this._tryAddHook(hooks, 'beforeUnbind');\r\n    };\r\n    ViewResources.prototype.getBindingLanguage = function (bindingLanguageFallback) {\r\n        return this.bindingLanguage || (this.bindingLanguage = bindingLanguageFallback);\r\n    };\r\n    ViewResources.prototype.patchInParent = function (newParent) {\r\n        var originalParent = this.parent;\r\n        this.parent = newParent || null;\r\n        this.hasParent = this.parent !== null;\r\n        if (newParent.parent === null) {\r\n            newParent.parent = originalParent;\r\n            newParent.hasParent = originalParent !== null;\r\n        }\r\n    };\r\n    ViewResources.prototype.relativeToView = function (path) {\r\n        return relativeToFile(path, this.viewUrl);\r\n    };\r\n    ViewResources.prototype.registerElement = function (tagName, behavior) {\r\n        register(this.elements, tagName, behavior, 'an Element');\r\n    };\r\n    ViewResources.prototype.getElement = function (tagName) {\r\n        return this.elements[tagName] || (this.hasParent ? this.parent.getElement(tagName) : null);\r\n    };\r\n    ViewResources.prototype.mapAttribute = function (attribute) {\r\n        return this.attributeMap[attribute] || (this.hasParent ? this.parent.mapAttribute(attribute) : null);\r\n    };\r\n    ViewResources.prototype.registerAttribute = function (attribute, behavior, knownAttribute) {\r\n        this.attributeMap[attribute] = knownAttribute;\r\n        register(this.attributes, attribute, behavior, 'an Attribute');\r\n    };\r\n    ViewResources.prototype.getAttribute = function (attribute) {\r\n        return this.attributes[attribute] || (this.hasParent ? this.parent.getAttribute(attribute) : null);\r\n    };\r\n    ViewResources.prototype.registerValueConverter = function (name, valueConverter) {\r\n        register(this.valueConverters, name, valueConverter, 'a ValueConverter');\r\n    };\r\n    ViewResources.prototype.getValueConverter = function (name) {\r\n        return this.valueConverters[name] || (this.hasParent ? this.parent.getValueConverter(name) : null);\r\n    };\r\n    ViewResources.prototype.registerBindingBehavior = function (name, bindingBehavior) {\r\n        register(this.bindingBehaviors, name, bindingBehavior, 'a BindingBehavior');\r\n    };\r\n    ViewResources.prototype.getBindingBehavior = function (name) {\r\n        return this.bindingBehaviors[name] || (this.hasParent ? this.parent.getBindingBehavior(name) : null);\r\n    };\r\n    ViewResources.prototype.registerValue = function (name, value) {\r\n        register(this.values, name, value, 'a value');\r\n    };\r\n    ViewResources.prototype.getValue = function (name) {\r\n        return this.values[name] || (this.hasParent ? this.parent.getValue(name) : null);\r\n    };\r\n    ViewResources.prototype.autoRegister = function (container, impl) {\r\n        var resourceTypeMeta = metadata.getOwn(metadata.resource, impl);\r\n        if (resourceTypeMeta) {\r\n            if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n                ViewResources.convention(impl, resourceTypeMeta);\r\n                if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                    HtmlBehaviorResource.convention(impl.name, resourceTypeMeta);\r\n                }\r\n                if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                    resourceTypeMeta.elementName = _hyphenate(impl.name);\r\n                }\r\n            }\r\n        }\r\n        else {\r\n            resourceTypeMeta = ViewResources.convention(impl)\r\n                || HtmlBehaviorResource.convention(impl.name)\r\n                || ValueConverterResource.convention(impl.name)\r\n                || BindingBehaviorResource.convention(impl.name)\r\n                || ViewEngineHooksResource.convention(impl.name);\r\n            if (!resourceTypeMeta) {\r\n                resourceTypeMeta = new HtmlBehaviorResource();\r\n                resourceTypeMeta.elementName = _hyphenate(impl.name);\r\n            }\r\n            metadata.define(metadata.resource, resourceTypeMeta, impl);\r\n        }\r\n        resourceTypeMeta.initialize(container, impl);\r\n        resourceTypeMeta.register(this, undefined);\r\n        return resourceTypeMeta;\r\n    };\r\n    return ViewResources;\r\n}());\n\nvar viewStrategy = protocol.create('aurelia:view-strategy', {\r\n    validate: function (target) {\r\n        if (!(typeof target.loadViewFactory === 'function')) {\r\n            return 'View strategies must implement: loadViewFactory(viewEngine: ViewEngine, compileInstruction: ViewCompileInstruction, loadContext?: ResourceLoadContext): Promise<ViewFactory>';\r\n        }\r\n        return true;\r\n    },\r\n    compose: function (target) {\r\n        if (!(typeof target.makeRelativeTo === 'function')) {\r\n            target.makeRelativeTo = PLATFORM.noop;\r\n        }\r\n    }\r\n});\r\nvar RelativeViewStrategy = (function () {\r\n    function RelativeViewStrategy(path) {\r\n        this.path = path;\r\n        this.absolutePath = null;\r\n    }\r\n    RelativeViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        if (this.absolutePath === null && this.moduleId) {\r\n            this.absolutePath = relativeToFile(this.path, this.moduleId);\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(this.absolutePath || this.path, compileInstruction, loadContext, target);\r\n    };\r\n    RelativeViewStrategy.prototype.makeRelativeTo = function (file) {\r\n        if (this.absolutePath === null) {\r\n            this.absolutePath = relativeToFile(this.path, file);\r\n        }\r\n    };\r\n    RelativeViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], RelativeViewStrategy);\r\n    return RelativeViewStrategy;\r\n}());\r\nvar ConventionalViewStrategy = (function () {\r\n    function ConventionalViewStrategy(viewLocator, origin) {\r\n        this.moduleId = origin.moduleId;\r\n        this.viewUrl = viewLocator.convertOriginToViewUrl(origin);\r\n    }\r\n    ConventionalViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(this.viewUrl, compileInstruction, loadContext, target);\r\n    };\r\n    ConventionalViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], ConventionalViewStrategy);\r\n    return ConventionalViewStrategy;\r\n}());\r\nvar NoViewStrategy = (function () {\r\n    function NoViewStrategy(dependencies, dependencyBaseUrl) {\r\n        this.dependencies = dependencies || null;\r\n        this.dependencyBaseUrl = dependencyBaseUrl || '';\r\n    }\r\n    NoViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        var dependencies = this.dependencies;\r\n        if (entry && entry.factoryIsReady) {\r\n            return Promise.resolve(null);\r\n        }\r\n        this.entry = entry = new TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl);\r\n        entry.dependencies = [];\r\n        entry.templateIsLoaded = true;\r\n        if (dependencies !== null) {\r\n            for (var i = 0, ii = dependencies.length; i < ii; ++i) {\r\n                var current = dependencies[i];\r\n                if (typeof current === 'string' || typeof current === 'function') {\r\n                    entry.addDependency(current);\r\n                }\r\n                else {\r\n                    entry.addDependency(current.from, current.as);\r\n                }\r\n            }\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    NoViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], NoViewStrategy);\r\n    return NoViewStrategy;\r\n}());\r\nvar TemplateRegistryViewStrategy = (function () {\r\n    function TemplateRegistryViewStrategy(moduleId, entry) {\r\n        this.moduleId = moduleId;\r\n        this.entry = entry;\r\n    }\r\n    TemplateRegistryViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        if (entry.factoryIsReady) {\r\n            return Promise.resolve(entry.factory);\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    TemplateRegistryViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], TemplateRegistryViewStrategy);\r\n    return TemplateRegistryViewStrategy;\r\n}());\r\nvar InlineViewStrategy = (function () {\r\n    function InlineViewStrategy(markup, dependencies, dependencyBaseUrl) {\r\n        this.markup = markup;\r\n        this.dependencies = dependencies || null;\r\n        this.dependencyBaseUrl = dependencyBaseUrl || '';\r\n    }\r\n    InlineViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        var dependencies = this.dependencies;\r\n        if (entry && entry.factoryIsReady) {\r\n            return Promise.resolve(entry.factory);\r\n        }\r\n        this.entry = entry = new TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl);\r\n        entry.template = DOM.createTemplateFromMarkup(this.markup);\r\n        if (dependencies !== null) {\r\n            for (var i = 0, ii = dependencies.length; i < ii; ++i) {\r\n                var current = dependencies[i];\r\n                if (typeof current === 'string' || typeof current === 'function') {\r\n                    entry.addDependency(current);\r\n                }\r\n                else {\r\n                    entry.addDependency(current.from, current.as);\r\n                }\r\n            }\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    InlineViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], InlineViewStrategy);\r\n    return InlineViewStrategy;\r\n}());\r\nvar StaticViewStrategy = (function () {\r\n    function StaticViewStrategy(config) {\r\n        if (typeof config === 'string' || (config instanceof DOM.Element && config.tagName === 'TEMPLATE')) {\r\n            config = {\r\n                template: config\r\n            };\r\n        }\r\n        this.template = config.template;\r\n        this.dependencies = config.dependencies || [];\r\n        this.factoryIsReady = false;\r\n        this.onReady = null;\r\n        this.moduleId = 'undefined';\r\n    }\r\n    StaticViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var _this = this;\r\n        if (this.factoryIsReady) {\r\n            return Promise.resolve(this.factory);\r\n        }\r\n        var $deps = this.dependencies;\r\n        var deps = typeof $deps === 'function' ? $deps() : $deps;\r\n        deps = deps ? deps : [];\r\n        deps = Array.isArray(deps) ? deps : [deps];\r\n        return Promise.all(deps).then(function (dependencies) {\r\n            var container = viewEngine.container;\r\n            var appResources = viewEngine.appResources;\r\n            var viewCompiler = viewEngine.viewCompiler;\r\n            var viewResources = new ViewResources(appResources);\r\n            var resource;\r\n            var elDeps = [];\r\n            if (target) {\r\n                viewResources.autoRegister(container, target);\r\n            }\r\n            for (var _i = 0, dependencies_1 = dependencies; _i < dependencies_1.length; _i++) {\r\n                var dep = dependencies_1[_i];\r\n                if (typeof dep === 'function') {\r\n                    resource = viewResources.autoRegister(container, dep);\r\n                    if (resource.elementName !== null) {\r\n                        elDeps.push(resource);\r\n                    }\r\n                }\r\n                else if (dep && typeof dep === 'object') {\r\n                    for (var key in dep) {\r\n                        var exported = dep[key];\r\n                        if (typeof exported === 'function') {\r\n                            resource = viewResources.autoRegister(container, exported);\r\n                            if (resource.elementName !== null) {\r\n                                elDeps.push(resource);\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                else {\r\n                    throw new Error(\"dependency neither function nor object. Received: \\\"\".concat(typeof dep, \"\\\"\"));\r\n                }\r\n            }\r\n            return Promise.all(elDeps.map(function (el) { return el.load(container, el.target); })).then(function () {\r\n                var factory = _this.template !== null\r\n                    ? viewCompiler.compile(_this.template, viewResources, compileInstruction)\r\n                    : null;\r\n                _this.factoryIsReady = true;\r\n                _this.factory = factory;\r\n                return factory;\r\n            });\r\n        });\r\n    };\r\n    StaticViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], StaticViewStrategy);\r\n    return StaticViewStrategy;\r\n}());\n\nfunction remove(viewSlot, previous) {\r\n    return Array.isArray(previous)\r\n        ? viewSlot.removeMany(previous, true)\r\n        : viewSlot.remove(previous, true);\r\n}\r\nvar SwapStrategies = {\r\n    before: function (viewSlot, previous, callback) {\r\n        return (previous === undefined)\r\n            ? callback()\r\n            : callback().then(function () { return remove(viewSlot, previous); });\r\n    },\r\n    with: function (viewSlot, previous, callback) {\r\n        return (previous === undefined)\r\n            ? callback()\r\n            : Promise.all([remove(viewSlot, previous), callback()]);\r\n    },\r\n    after: function (viewSlot, previous, callback) {\r\n        return Promise.resolve(viewSlot.removeAll(true)).then(callback);\r\n    }\r\n};\n\nfunction tryActivateViewModel(context) {\r\n    if (context.skipActivation || typeof context.viewModel.activate !== 'function') {\r\n        return Promise.resolve();\r\n    }\r\n    return context.viewModel.activate(context.model) || Promise.resolve();\r\n}\r\nvar CompositionEngine = (function () {\r\n    function CompositionEngine(viewEngine, viewLocator) {\r\n        this.viewEngine = viewEngine;\r\n        this.viewLocator = viewLocator;\r\n    }\r\n    CompositionEngine.prototype._swap = function (context, view) {\r\n        var swapStrategy = SwapStrategies[context.swapOrder] || SwapStrategies.after;\r\n        var previousViews = context.viewSlot.children.slice();\r\n        return swapStrategy(context.viewSlot, previousViews, function () {\r\n            return Promise.resolve(context.viewSlot.add(view)).then(function () {\r\n                if (context.currentController) {\r\n                    context.currentController.unbind();\r\n                }\r\n            });\r\n        }).then(function () {\r\n            if (context.compositionTransactionNotifier) {\r\n                context.compositionTransactionNotifier.done();\r\n            }\r\n        });\r\n    };\r\n    CompositionEngine.prototype._createControllerAndSwap = function (context) {\r\n        var _this = this;\r\n        return this.createController(context).then(function (controller) {\r\n            if (context.compositionTransactionOwnershipToken) {\r\n                return context.compositionTransactionOwnershipToken\r\n                    .waitForCompositionComplete()\r\n                    .then(function () {\r\n                    controller.automate(context.overrideContext, context.owningView);\r\n                    return _this._swap(context, controller.view);\r\n                })\r\n                    .then(function () { return controller; });\r\n            }\r\n            controller.automate(context.overrideContext, context.owningView);\r\n            return _this._swap(context, controller.view).then(function () { return controller; });\r\n        });\r\n    };\r\n    CompositionEngine.prototype.createController = function (context) {\r\n        var _this = this;\r\n        var childContainer;\r\n        var viewModel;\r\n        var viewModelResource;\r\n        var m;\r\n        return this\r\n            .ensureViewModel(context)\r\n            .then(tryActivateViewModel)\r\n            .then(function () {\r\n            childContainer = context.childContainer;\r\n            viewModel = context.viewModel;\r\n            viewModelResource = context.viewModelResource;\r\n            m = viewModelResource.metadata;\r\n            var viewStrategy = _this.viewLocator.getViewStrategy(context.view || viewModel);\r\n            if (context.viewResources) {\r\n                viewStrategy.makeRelativeTo(context.viewResources.viewUrl);\r\n            }\r\n            return m.load(childContainer, viewModelResource.value, null, viewStrategy, true);\r\n        }).then(function (viewFactory) { return m.create(childContainer, BehaviorInstruction.dynamic(context.host, viewModel, viewFactory)); });\r\n    };\r\n    CompositionEngine.prototype.ensureViewModel = function (context) {\r\n        var childContainer = context.childContainer = (context.childContainer || context.container.createChild());\r\n        if (typeof context.viewModel === 'string') {\r\n            context.viewModel = context.viewResources\r\n                ? context.viewResources.relativeToView(context.viewModel)\r\n                : context.viewModel;\r\n            return this.viewEngine.importViewModelResource(context.viewModel).then(function (viewModelResource) {\r\n                childContainer.autoRegister(viewModelResource.value);\r\n                if (context.host) {\r\n                    childContainer.registerInstance(DOM.Element, context.host);\r\n                }\r\n                context.viewModel = childContainer.viewModel = childContainer.get(viewModelResource.value);\r\n                context.viewModelResource = viewModelResource;\r\n                return context;\r\n            });\r\n        }\r\n        var ctor = context.viewModel.constructor;\r\n        var isClass = typeof context.viewModel === 'function';\r\n        if (isClass) {\r\n            ctor = context.viewModel;\r\n            childContainer.autoRegister(ctor);\r\n        }\r\n        var m = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, ctor);\r\n        m.elementName = m.elementName || 'dynamic-element';\r\n        m.initialize(isClass ? childContainer : (context.container || childContainer), ctor);\r\n        context.viewModelResource = { metadata: m, value: ctor };\r\n        if (context.host) {\r\n            childContainer.registerInstance(DOM.Element, context.host);\r\n        }\r\n        childContainer.viewModel = context.viewModel = isClass ? childContainer.get(ctor) : context.viewModel;\r\n        return Promise.resolve(context);\r\n    };\r\n    CompositionEngine.prototype.compose = function (context) {\r\n        var _this = this;\r\n        context.childContainer = context.childContainer || context.container.createChild();\r\n        context.view = this.viewLocator.getViewStrategy(context.view);\r\n        var transaction = context.childContainer.get(CompositionTransaction);\r\n        var compositionTransactionOwnershipToken = transaction.tryCapture();\r\n        if (compositionTransactionOwnershipToken) {\r\n            context.compositionTransactionOwnershipToken = compositionTransactionOwnershipToken;\r\n        }\r\n        else {\r\n            context.compositionTransactionNotifier = transaction.enlist();\r\n        }\r\n        if (context.viewModel) {\r\n            return this._createControllerAndSwap(context);\r\n        }\r\n        else if (context.view) {\r\n            if (context.viewResources) {\r\n                context.view.makeRelativeTo(context.viewResources.viewUrl);\r\n            }\r\n            return context.view.loadViewFactory(this.viewEngine, new ViewCompileInstruction()).then(function (viewFactory) {\r\n                var result = viewFactory.create(context.childContainer);\r\n                result.bind(context.bindingContext, context.overrideContext);\r\n                if (context.compositionTransactionOwnershipToken) {\r\n                    return context.compositionTransactionOwnershipToken.waitForCompositionComplete()\r\n                        .then(function () { return _this._swap(context, result); })\r\n                        .then(function () { return result; });\r\n                }\r\n                return _this._swap(context, result).then(function () { return result; });\r\n            });\r\n        }\r\n        else if (context.viewSlot) {\r\n            context.viewSlot.removeAll();\r\n            if (context.compositionTransactionNotifier) {\r\n                context.compositionTransactionNotifier.done();\r\n            }\r\n            return Promise.resolve(null);\r\n        }\r\n        return Promise.resolve(null);\r\n    };\r\n    CompositionEngine = __decorate([\r\n        inject(ViewEngine, ViewLocator)\r\n    ], CompositionEngine);\r\n    return CompositionEngine;\r\n}());\n\nvar animationEvent = {\r\n    enterBegin: 'animation:enter:begin',\r\n    enterActive: 'animation:enter:active',\r\n    enterDone: 'animation:enter:done',\r\n    enterTimeout: 'animation:enter:timeout',\r\n    leaveBegin: 'animation:leave:begin',\r\n    leaveActive: 'animation:leave:active',\r\n    leaveDone: 'animation:leave:done',\r\n    leaveTimeout: 'animation:leave:timeout',\r\n    staggerNext: 'animation:stagger:next',\r\n    removeClassBegin: 'animation:remove-class:begin',\r\n    removeClassActive: 'animation:remove-class:active',\r\n    removeClassDone: 'animation:remove-class:done',\r\n    removeClassTimeout: 'animation:remove-class:timeout',\r\n    addClassBegin: 'animation:add-class:begin',\r\n    addClassActive: 'animation:add-class:active',\r\n    addClassDone: 'animation:add-class:done',\r\n    addClassTimeout: 'animation:add-class:timeout',\r\n    animateBegin: 'animation:animate:begin',\r\n    animateActive: 'animation:animate:active',\r\n    animateDone: 'animation:animate:done',\r\n    animateTimeout: 'animation:animate:timeout',\r\n    sequenceBegin: 'animation:sequence:begin',\r\n    sequenceDone: 'animation:sequence:done'\r\n};\n\nfunction createChildObserverDecorator(selectorOrConfig, all) {\r\n    return function (target, key, descriptor) {\r\n        var actualTarget = typeof key === 'string' ? target.constructor : target;\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, actualTarget);\r\n        if (typeof selectorOrConfig === 'string') {\r\n            selectorOrConfig = {\r\n                selector: selectorOrConfig,\r\n                name: key\r\n            };\r\n        }\r\n        if (descriptor) {\r\n            descriptor.writable = true;\r\n            descriptor.configurable = true;\r\n        }\r\n        selectorOrConfig.all = all;\r\n        r.addChildBinding(new ChildObserver(selectorOrConfig));\r\n    };\r\n}\r\nfunction children(selectorOrConfig) {\r\n    return createChildObserverDecorator(selectorOrConfig, true);\r\n}\r\nfunction child(selectorOrConfig) {\r\n    return createChildObserverDecorator(selectorOrConfig, false);\r\n}\r\nvar ChildObserver = (function () {\r\n    function ChildObserver(config) {\r\n        this.name = config.name;\r\n        this.changeHandler = config.changeHandler || this.name + 'Changed';\r\n        this.selector = config.selector;\r\n        this.all = config.all;\r\n    }\r\n    ChildObserver.prototype.create = function (viewHost, viewModel, controller) {\r\n        return new ChildObserverBinder(this.selector, viewHost, this.name, viewModel, controller, this.changeHandler, this.all);\r\n    };\r\n    return ChildObserver;\r\n}());\r\nvar noMutations = [];\r\nfunction trackMutation(groupedMutations, binder, record) {\r\n    var mutations = groupedMutations.get(binder);\r\n    if (!mutations) {\r\n        mutations = [];\r\n        groupedMutations.set(binder, mutations);\r\n    }\r\n    mutations.push(record);\r\n}\r\nfunction onChildChange(mutations, observer) {\r\n    var binders = observer.binders;\r\n    var bindersLength = binders.length;\r\n    var groupedMutations = new Map();\r\n    for (var i = 0, ii = mutations.length; i < ii; ++i) {\r\n        var record = mutations[i];\r\n        var added = record.addedNodes;\r\n        var removed = record.removedNodes;\r\n        for (var j = 0, jj = removed.length; j < jj; ++j) {\r\n            var node = removed[j];\r\n            if (node.nodeType === 1) {\r\n                for (var k = 0; k < bindersLength; ++k) {\r\n                    var binder = binders[k];\r\n                    if (binder.onRemove(node)) {\r\n                        trackMutation(groupedMutations, binder, record);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        for (var j = 0, jj = added.length; j < jj; ++j) {\r\n            var node = added[j];\r\n            if (node.nodeType === 1) {\r\n                for (var k = 0; k < bindersLength; ++k) {\r\n                    var binder = binders[k];\r\n                    if (binder.onAdd(node)) {\r\n                        trackMutation(groupedMutations, binder, record);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n    groupedMutations.forEach(function (mutationRecords, binder) {\r\n        if (binder.isBound && binder.changeHandler !== null) {\r\n            binder.viewModel[binder.changeHandler](mutationRecords);\r\n        }\r\n    });\r\n}\r\nvar ChildObserverBinder = (function () {\r\n    function ChildObserverBinder(selector, viewHost, property, viewModel, controller, changeHandler, all) {\r\n        this.selector = selector;\r\n        this.viewHost = viewHost;\r\n        this.property = property;\r\n        this.viewModel = viewModel;\r\n        this.controller = controller;\r\n        this.changeHandler = changeHandler in viewModel ? changeHandler : null;\r\n        this.usesShadowDOM = controller.behavior.usesShadowDOM;\r\n        this.all = all;\r\n        if (!this.usesShadowDOM && controller.view && controller.view.contentView) {\r\n            this.contentView = controller.view.contentView;\r\n        }\r\n        else {\r\n            this.contentView = null;\r\n        }\r\n        this.source = null;\r\n        this.isBound = false;\r\n    }\r\n    ChildObserverBinder.prototype.matches = function (element) {\r\n        if (element.matches(this.selector)) {\r\n            if (this.contentView === null) {\r\n                return true;\r\n            }\r\n            var contentView = this.contentView;\r\n            var assignedSlot = element.auAssignedSlot;\r\n            if (assignedSlot && assignedSlot.projectFromAnchors) {\r\n                var anchors = assignedSlot.projectFromAnchors;\r\n                for (var i = 0, ii = anchors.length; i < ii; ++i) {\r\n                    if (anchors[i].auOwnerView === contentView) {\r\n                        return true;\r\n                    }\r\n                }\r\n                return false;\r\n            }\r\n            return element.auOwnerView === contentView;\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.source = source;\r\n        }\r\n        this.isBound = true;\r\n        var viewHost = this.viewHost;\r\n        var viewModel = this.viewModel;\r\n        var observer = viewHost.__childObserver__;\r\n        if (!observer) {\r\n            observer = viewHost.__childObserver__ = DOM.createMutationObserver(onChildChange);\r\n            var options = {\r\n                childList: true,\r\n                subtree: !this.usesShadowDOM\r\n            };\r\n            observer.observe(viewHost, options);\r\n            observer.binders = [];\r\n        }\r\n        observer.binders.push(this);\r\n        if (this.usesShadowDOM) {\r\n            var current = viewHost.firstElementChild;\r\n            if (this.all) {\r\n                var items = viewModel[this.property];\r\n                if (!items) {\r\n                    items = viewModel[this.property] = [];\r\n                }\r\n                else {\r\n                    items.splice(0);\r\n                }\r\n                while (current) {\r\n                    if (this.matches(current)) {\r\n                        items.push(current.au && current.au.controller ? current.au.controller.viewModel : current);\r\n                    }\r\n                    current = current.nextElementSibling;\r\n                }\r\n                if (this.changeHandler !== null) {\r\n                    this.viewModel[this.changeHandler](noMutations);\r\n                }\r\n            }\r\n            else {\r\n                while (current) {\r\n                    if (this.matches(current)) {\r\n                        var value = current.au && current.au.controller ? current.au.controller.viewModel : current;\r\n                        this.viewModel[this.property] = value;\r\n                        if (this.changeHandler !== null) {\r\n                            this.viewModel[this.changeHandler](value);\r\n                        }\r\n                        break;\r\n                    }\r\n                    current = current.nextElementSibling;\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ChildObserverBinder.prototype.onRemove = function (element) {\r\n        if (this.matches(element)) {\r\n            var value = element.au && element.au.controller ? element.au.controller.viewModel : element;\r\n            if (this.all) {\r\n                var items = (this.viewModel[this.property] || (this.viewModel[this.property] = []));\r\n                var index = items.indexOf(value);\r\n                if (index !== -1) {\r\n                    items.splice(index, 1);\r\n                }\r\n                return true;\r\n            }\r\n            var currentValue = this.viewModel[this.property];\r\n            if (currentValue === value) {\r\n                this.viewModel[this.property] = null;\r\n                if (this.isBound && this.changeHandler !== null) {\r\n                    this.viewModel[this.changeHandler](value);\r\n                }\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.onAdd = function (element) {\r\n        if (this.matches(element)) {\r\n            var value = element.au && element.au.controller ? element.au.controller.viewModel : element;\r\n            if (this.all) {\r\n                var items = (this.viewModel[this.property] || (this.viewModel[this.property] = []));\r\n                if (this.selector === '*') {\r\n                    items.push(value);\r\n                    return true;\r\n                }\r\n                var index = 0;\r\n                var prev = element.previousElementSibling;\r\n                while (prev) {\r\n                    if (this.matches(prev)) {\r\n                        index++;\r\n                    }\r\n                    prev = prev.previousElementSibling;\r\n                }\r\n                items.splice(index, 0, value);\r\n                return true;\r\n            }\r\n            this.viewModel[this.property] = value;\r\n            if (this.isBound && this.changeHandler !== null) {\r\n                this.viewModel[this.changeHandler](value);\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        var childObserver = this.viewHost.__childObserver__;\r\n        if (childObserver) {\r\n            var binders = childObserver.binders;\r\n            if (binders && binders.length) {\r\n                var idx = binders.indexOf(this);\r\n                if (idx !== -1) {\r\n                    binders.splice(idx, 1);\r\n                }\r\n                if (binders.length === 0) {\r\n                    childObserver.disconnect();\r\n                    this.viewHost.__childObserver__ = null;\r\n                }\r\n            }\r\n            if (this.usesShadowDOM) {\r\n                this.viewModel[this.property] = null;\r\n            }\r\n        }\r\n    };\r\n    return ChildObserverBinder;\r\n}());\n\nvar ElementConfigResource = (function () {\r\n    function ElementConfigResource() {\r\n    }\r\n    ElementConfigResource.prototype.initialize = function (container, target) { };\r\n    ElementConfigResource.prototype.register = function (registry, name) { };\r\n    ElementConfigResource.prototype.load = function (container, target) {\r\n        var config = new target();\r\n        var eventManager = container.get(EventManager);\r\n        eventManager.registerElementConfig(config);\r\n    };\r\n    return ElementConfigResource;\r\n}());\n\nfunction resource(instanceOrConfig) {\r\n    return function (target) {\r\n        var isConfig = typeof instanceOrConfig === 'string' || Object.getPrototypeOf(instanceOrConfig) === Object.prototype;\r\n        if (isConfig) {\r\n            target.$resource = instanceOrConfig;\r\n        }\r\n        else {\r\n            metadata.define(metadata.resource, instanceOrConfig, target);\r\n        }\r\n    };\r\n}\r\nfunction behavior(override) {\r\n    return function (target) {\r\n        if (override instanceof HtmlBehaviorResource) {\r\n            metadata.define(metadata.resource, override, target);\r\n        }\r\n        else {\r\n            var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n            Object.assign(r, override);\r\n        }\r\n    };\r\n}\r\nfunction customElement(name) {\r\n    return function (target) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n        r.elementName = validateBehaviorName(name, 'custom element');\r\n    };\r\n}\r\nfunction customAttribute(name, defaultBindingMode, aliases) {\r\n    return function (target) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n        r.attributeName = validateBehaviorName(name, 'custom attribute');\r\n        r.attributeDefaultBindingMode = defaultBindingMode;\r\n        r.aliases = aliases;\r\n    };\r\n}\r\nfunction templateController(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.liftsContent = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction bindable(nameOrConfigOrTarget, key, descriptor) {\r\n    var deco = function (target, key2, descriptor2) {\r\n        var actualTarget = key2 ? target.constructor : target;\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, actualTarget);\r\n        var prop;\r\n        if (key2) {\r\n            nameOrConfigOrTarget = nameOrConfigOrTarget || {};\r\n            nameOrConfigOrTarget.name = key2;\r\n        }\r\n        prop = new BindableProperty(nameOrConfigOrTarget);\r\n        return prop.registerWith(actualTarget, r, descriptor2);\r\n    };\r\n    if (!nameOrConfigOrTarget) {\r\n        return deco;\r\n    }\r\n    if (key) {\r\n        var target = nameOrConfigOrTarget;\r\n        nameOrConfigOrTarget = null;\r\n        return deco(target, key, descriptor);\r\n    }\r\n    return deco;\r\n}\r\nfunction dynamicOptions(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.hasDynamicOptions = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nvar defaultShadowDOMOptions = { mode: 'open' };\r\nfunction useShadowDOM(targetOrOptions) {\r\n    var options = typeof targetOrOptions === 'function' || !targetOrOptions\r\n        ? defaultShadowDOMOptions\r\n        : targetOrOptions;\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.targetShadowDOM = true;\r\n        r.shadowDOMOptions = options;\r\n    };\r\n    return typeof targetOrOptions === 'function' ? deco(targetOrOptions) : deco;\r\n}\r\nfunction processAttributes(processor) {\r\n    return function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.processAttributes = function (compiler, resources, node, attributes, elementInstruction) {\r\n            try {\r\n                processor(compiler, resources, node, attributes, elementInstruction);\r\n            }\r\n            catch (error) {\r\n                LogManager.getLogger('templating').error(error);\r\n            }\r\n        };\r\n    };\r\n}\r\nfunction doNotProcessContent() { return false; }\r\nfunction processContent(processor) {\r\n    return function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.processContent = processor ? function (compiler, resources, node, instruction) {\r\n            try {\r\n                return processor(compiler, resources, node, instruction);\r\n            }\r\n            catch (error) {\r\n                LogManager.getLogger('templating').error(error);\r\n                return false;\r\n            }\r\n        } : doNotProcessContent;\r\n    };\r\n}\r\nfunction containerless(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.containerless = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction useViewStrategy(strategy) {\r\n    return function (target) {\r\n        metadata.define(ViewLocator.viewStrategyMetadataKey, strategy, target);\r\n    };\r\n}\r\nfunction useView(path) {\r\n    return useViewStrategy(new RelativeViewStrategy(path));\r\n}\r\nfunction inlineView(markup, dependencies, dependencyBaseUrl) {\r\n    return useViewStrategy(new InlineViewStrategy(markup, dependencies, dependencyBaseUrl));\r\n}\r\nfunction noView(targetOrDependencies, dependencyBaseUrl) {\r\n    var target;\r\n    var dependencies;\r\n    if (typeof targetOrDependencies === 'function') {\r\n        target = targetOrDependencies;\r\n    }\r\n    else {\r\n        dependencies = targetOrDependencies;\r\n        target = undefined;\r\n    }\r\n    var deco = function (t) {\r\n        metadata.define(ViewLocator.viewStrategyMetadataKey, new NoViewStrategy(dependencies, dependencyBaseUrl), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction view(templateOrConfig) {\r\n    return function (target) {\r\n        target.$view = templateOrConfig;\r\n    };\r\n}\r\nfunction elementConfig(target) {\r\n    var deco = function (t) {\r\n        metadata.define(metadata.resource, new ElementConfigResource(), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction viewResources() {\r\n    var resources = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        resources[_i] = arguments[_i];\r\n    }\r\n    return function (target) {\r\n        metadata.define(ViewEngine.viewModelRequireMetadataKey, resources, target);\r\n    };\r\n}\n\nvar TemplatingEngine = (function () {\r\n    function TemplatingEngine(container, moduleAnalyzer, viewCompiler, compositionEngine) {\r\n        this._container = container;\r\n        this._moduleAnalyzer = moduleAnalyzer;\r\n        this._viewCompiler = viewCompiler;\r\n        this._compositionEngine = compositionEngine;\r\n        container.registerInstance(Animator, Animator.instance = new Animator());\r\n    }\r\n    TemplatingEngine.prototype.configureAnimator = function (animator) {\r\n        this._container.unregister(Animator);\r\n        this._container.registerInstance(Animator, Animator.instance = animator);\r\n    };\r\n    TemplatingEngine.prototype.compose = function (context) {\r\n        return this._compositionEngine.compose(context);\r\n    };\r\n    TemplatingEngine.prototype.enhance = function (instruction) {\r\n        if (instruction instanceof DOM.Element) {\r\n            instruction = { element: instruction };\r\n        }\r\n        var compilerInstructions = { letExpressions: [] };\r\n        var resources = instruction.resources || this._container.get(ViewResources);\r\n        this._viewCompiler._compileNode(instruction.element, resources, compilerInstructions, instruction.element.parentNode, 'root', true);\r\n        var factory = new ViewFactory(instruction.element, compilerInstructions, resources);\r\n        var container = instruction.container || this._container.createChild();\r\n        var view = factory.create(container, BehaviorInstruction.enhance());\r\n        view.bind(instruction.bindingContext || {}, instruction.overrideContext);\r\n        view.firstChild = view.lastChild = view.fragment;\r\n        view.fragment = DOM.createDocumentFragment();\r\n        view.attached();\r\n        return view;\r\n    };\r\n    TemplatingEngine.inject = [Container, ModuleAnalyzer, ViewCompiler, CompositionEngine];\r\n    return TemplatingEngine;\r\n}());\n\nexport { Animator, BehaviorInstruction, BehaviorPropertyObserver, BindableProperty, BindingLanguage, BoundViewFactory, CompositionEngine, CompositionTransaction, CompositionTransactionNotifier, CompositionTransactionOwnershipToken, Controller, ConventionalViewStrategy, ElementConfigResource, ElementEvents, HtmlBehaviorResource, InlineViewStrategy, ModuleAnalyzer, NoViewStrategy, PassThroughSlot, RelativeViewStrategy, ResourceDescription, ResourceLoadContext, ResourceModule, ShadowDOM, ShadowSlot, SlotCustomAttribute, StaticViewStrategy, SwapStrategies, TargetInstruction, TemplateRegistryViewStrategy, TemplatingEngine, View, ViewCompileInstruction, ViewCompiler, ViewEngine, ViewEngineHooksResource, ViewFactory, ViewLocator, ViewResources, ViewSlot, _hyphenate, _isAllWhitespace, animationEvent, behavior, bindable, child, children, containerless, customAttribute, customElement, dynamicOptions, elementConfig, inlineView, noView, processAttributes, processContent, resource, templateController, useShadowDOM, useView, useViewStrategy, validateBehaviorName, view, viewEngineHooks, viewResources, viewStrategy };\n//# sourceMappingURL=aurelia-templating.js.map\n","import { LiteralString, Binary, Conditional, LiteralPrimitive, CallMember, AccessMember, AccessScope, AccessKeyed, BindingBehavior, ValueConverter, getContextFor, Parser, bindingBehavior, bindingMode } from 'aurelia-binding';\nimport { BindingLanguage, ViewResources, customAttribute, bindable } from 'aurelia-templating';\nimport { getLogger } from 'aurelia-logging';\nimport { DOM } from 'aurelia-pal';\nimport { Optional, Lazy } from 'aurelia-dependency-injection';\nimport { TaskQueue } from 'aurelia-task-queue';\n\n/**\r\n * Validates objects and properties.\r\n */\r\nvar Validator = /** @class */ (function () {\r\n    function Validator() {\r\n    }\r\n    return Validator;\r\n}());\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    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 extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(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\nfunction __decorate(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\n\r\nfunction __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\n\n/**\r\n * The result of validating an individual validation rule.\r\n */\r\nvar ValidateResult = /** @class */ (function () {\r\n    /**\r\n     * @param rule The rule associated with the result. Validator implementation specific.\r\n     * @param object The object that was validated.\r\n     * @param propertyName The name of the property that was validated.\r\n     * @param error The error, if the result is a validation error.\r\n     */\r\n    function ValidateResult(rule, object, propertyName, valid, message) {\r\n        if (message === void 0) { message = null; }\r\n        this.rule = rule;\r\n        this.object = object;\r\n        this.propertyName = propertyName;\r\n        this.valid = valid;\r\n        this.message = message;\r\n        this.id = ValidateResult.nextId++;\r\n    }\r\n    ValidateResult.prototype.toString = function () {\r\n        return this.valid ? 'Valid.' : this.message;\r\n    };\r\n    ValidateResult.nextId = 0;\r\n    return ValidateResult;\r\n}());\n\n/**\r\n * Sets, unsets and retrieves rules on an object or constructor function.\r\n */\r\nvar Rules = /** @class */ (function () {\r\n    function Rules() {\r\n    }\r\n    /**\r\n     * Applies the rules to a target.\r\n     */\r\n    Rules.set = function (target, rules) {\r\n        if (target instanceof Function) {\r\n            target = target.prototype;\r\n        }\r\n        Object.defineProperty(target, Rules.key, { enumerable: false, configurable: false, writable: true, value: rules });\r\n    };\r\n    /**\r\n     * Removes rules from a target.\r\n     */\r\n    Rules.unset = function (target) {\r\n        if (target instanceof Function) {\r\n            target = target.prototype;\r\n        }\r\n        target[Rules.key] = null;\r\n    };\r\n    /**\r\n     * Retrieves the target's rules.\r\n     */\r\n    Rules.get = function (target) {\r\n        return target[Rules.key] || null;\r\n    };\r\n    /**\r\n     * The name of the property that stores the rules.\r\n     */\r\n    Rules.key = '__rules__';\r\n    return Rules;\r\n}());\n\n// tslint:disable:no-empty\r\nvar ExpressionVisitor = /** @class */ (function () {\r\n    function ExpressionVisitor() {\r\n    }\r\n    ExpressionVisitor.prototype.visitChain = function (chain) {\r\n        this.visitArgs(chain.expressions);\r\n    };\r\n    ExpressionVisitor.prototype.visitBindingBehavior = function (behavior) {\r\n        behavior.expression.accept(this);\r\n        this.visitArgs(behavior.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitValueConverter = function (converter) {\r\n        converter.expression.accept(this);\r\n        this.visitArgs(converter.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitAssign = function (assign) {\r\n        assign.target.accept(this);\r\n        assign.value.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitConditional = function (conditional) {\r\n        conditional.condition.accept(this);\r\n        conditional.yes.accept(this);\r\n        conditional.no.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessThis = function (access) {\r\n        access.ancestor = access.ancestor;\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessScope = function (access) {\r\n        access.name = access.name;\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessMember = function (access) {\r\n        access.object.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessKeyed = function (access) {\r\n        access.object.accept(this);\r\n        access.key.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallScope = function (call) {\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallFunction = function (call) {\r\n        call.func.accept(this);\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallMember = function (call) {\r\n        call.object.accept(this);\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitPrefix = function (prefix) {\r\n        prefix.expression.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitBinary = function (binary) {\r\n        binary.left.accept(this);\r\n        binary.right.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralPrimitive = function (literal) {\r\n        literal.value = literal.value;\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralArray = function (literal) {\r\n        this.visitArgs(literal.elements);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralObject = function (literal) {\r\n        this.visitArgs(literal.values);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralString = function (literal) {\r\n        literal.value = literal.value;\r\n    };\r\n    ExpressionVisitor.prototype.visitArgs = function (args) {\r\n        for (var i = 0; i < args.length; i++) {\r\n            args[i].accept(this);\r\n        }\r\n    };\r\n    return ExpressionVisitor;\r\n}());\n\nvar ValidationMessageParser = /** @class */ (function () {\r\n    function ValidationMessageParser(bindinqLanguage) {\r\n        this.bindinqLanguage = bindinqLanguage;\r\n        this.emptyStringExpression = new LiteralString('');\r\n        this.nullExpression = new LiteralPrimitive(null);\r\n        this.undefinedExpression = new LiteralPrimitive(undefined);\r\n        this.cache = {};\r\n    }\r\n    ValidationMessageParser.prototype.parse = function (message) {\r\n        if (this.cache[message] !== undefined) {\r\n            return this.cache[message];\r\n        }\r\n        var parts = this.bindinqLanguage.parseInterpolation(null, message);\r\n        if (parts === null) {\r\n            return new LiteralString(message);\r\n        }\r\n        var expression = new LiteralString(parts[0]);\r\n        for (var i = 1; i < parts.length; i += 2) {\r\n            expression = new Binary('+', expression, new Binary('+', this.coalesce(parts[i]), new LiteralString(parts[i + 1])));\r\n        }\r\n        MessageExpressionValidator.validate(expression, message);\r\n        this.cache[message] = expression;\r\n        return expression;\r\n    };\r\n    ValidationMessageParser.prototype.coalesce = function (part) {\r\n        // part === null || part === undefined ? '' : part\r\n        return new Conditional(new Binary('||', new Binary('===', part, this.nullExpression), new Binary('===', part, this.undefinedExpression)), this.emptyStringExpression, new CallMember(part, 'toString', []));\r\n    };\r\n    ValidationMessageParser.inject = [BindingLanguage];\r\n    return ValidationMessageParser;\r\n}());\r\nvar MessageExpressionValidator = /** @class */ (function (_super) {\r\n    __extends(MessageExpressionValidator, _super);\r\n    function MessageExpressionValidator(originalMessage) {\r\n        var _this = _super.call(this) || this;\r\n        _this.originalMessage = originalMessage;\r\n        return _this;\r\n    }\r\n    MessageExpressionValidator.validate = function (expression, originalMessage) {\r\n        var visitor = new MessageExpressionValidator(originalMessage);\r\n        expression.accept(visitor);\r\n    };\r\n    MessageExpressionValidator.prototype.visitAccessScope = function (access) {\r\n        if (access.ancestor !== 0) {\r\n            throw new Error('$parent is not permitted in validation message expressions.');\r\n        }\r\n        if (['displayName', 'propertyName', 'value', 'object', 'config', 'getDisplayName'].indexOf(access.name) !== -1) {\r\n            getLogger('aurelia-validation')\r\n                // tslint:disable-next-line:max-line-length\r\n                .warn(\"Did you mean to use \\\"$\" + access.name + \"\\\" instead of \\\"\" + access.name + \"\\\" in this validation message template: \\\"\" + this.originalMessage + \"\\\"?\");\r\n        }\r\n    };\r\n    return MessageExpressionValidator;\r\n}(ExpressionVisitor));\n\n/**\r\n * Dictionary of validation messages. [messageKey]: messageExpression\r\n */\r\nvar validationMessages = {\r\n    /**\r\n     * The default validation message. Used with rules that have no standard message.\r\n     */\r\n    default: \"${$displayName} is invalid.\",\r\n    required: \"${$displayName} is required.\",\r\n    matches: \"${$displayName} is not correctly formatted.\",\r\n    email: \"${$displayName} is not a valid email.\",\r\n    minLength: \"${$displayName} must be at least ${$config.length} character${$config.length === 1 ? '' : 's'}.\",\r\n    maxLength: \"${$displayName} cannot be longer than ${$config.length} character${$config.length === 1 ? '' : 's'}.\",\r\n    minItems: \"${$displayName} must contain at least ${$config.count} item${$config.count === 1 ? '' : 's'}.\",\r\n    maxItems: \"${$displayName} cannot contain more than ${$config.count} item${$config.count === 1 ? '' : 's'}.\",\r\n    min: \"${$displayName} must be at least ${$config.constraint}.\",\r\n    max: \"${$displayName} must be at most ${$config.constraint}.\",\r\n    range: \"${$displayName} must be between or equal to ${$config.min} and ${$config.max}.\",\r\n    between: \"${$displayName} must be between but not equal to ${$config.min} and ${$config.max}.\",\r\n    equals: \"${$displayName} must be ${$config.expectedValue}.\",\r\n};\r\n/**\r\n * Retrieves validation messages and property display names.\r\n */\r\nvar ValidationMessageProvider = /** @class */ (function () {\r\n    function ValidationMessageProvider(parser) {\r\n        this.parser = parser;\r\n    }\r\n    /**\r\n     * Returns a message binding expression that corresponds to the key.\r\n     * @param key The message key.\r\n     */\r\n    ValidationMessageProvider.prototype.getMessage = function (key) {\r\n        var message;\r\n        if (key in validationMessages) {\r\n            message = validationMessages[key];\r\n        }\r\n        else {\r\n            message = validationMessages['default'];\r\n        }\r\n        return this.parser.parse(message);\r\n    };\r\n    /**\r\n     * Formulates a property display name using the property name and the configured\r\n     * displayName (if provided).\r\n     * Override this with your own custom logic.\r\n     * @param propertyName The property name.\r\n     */\r\n    ValidationMessageProvider.prototype.getDisplayName = function (propertyName, displayName) {\r\n        if (displayName !== null && displayName !== undefined) {\r\n            return (displayName instanceof Function) ? displayName() : displayName;\r\n        }\r\n        // split on upper-case letters.\r\n        var words = propertyName.toString().split(/(?=[A-Z])/).join(' ');\r\n        // capitalize first letter.\r\n        return words.charAt(0).toUpperCase() + words.slice(1);\r\n    };\r\n    ValidationMessageProvider.inject = [ValidationMessageParser];\r\n    return ValidationMessageProvider;\r\n}());\n\n/**\r\n * Validates.\r\n * Responsible for validating objects and properties.\r\n */\r\nvar StandardValidator = /** @class */ (function (_super) {\r\n    __extends(StandardValidator, _super);\r\n    function StandardValidator(messageProvider, resources) {\r\n        var _this = _super.call(this) || this;\r\n        _this.messageProvider = messageProvider;\r\n        _this.lookupFunctions = resources.lookupFunctions;\r\n        _this.getDisplayName = messageProvider.getDisplayName.bind(messageProvider);\r\n        return _this;\r\n    }\r\n    /**\r\n     * Validates the specified property.\r\n     * @param object The object to validate.\r\n     * @param propertyName The name of the property to validate.\r\n     * @param rules Optional. If unspecified, the rules will be looked up using the metadata\r\n     * for the object created by ValidationRules....on(class/object)\r\n     */\r\n    StandardValidator.prototype.validateProperty = function (object, propertyName, rules) {\r\n        return this.validate(object, propertyName, rules || null);\r\n    };\r\n    /**\r\n     * Validates all rules for specified object and it's properties.\r\n     * @param object The object to validate.\r\n     * @param rules Optional. If unspecified, the rules will be looked up using the metadata\r\n     * for the object created by ValidationRules....on(class/object)\r\n     */\r\n    StandardValidator.prototype.validateObject = function (object, rules) {\r\n        return this.validate(object, null, rules || null);\r\n    };\r\n    /**\r\n     * Determines whether a rule exists in a set of rules.\r\n     * @param rules The rules to search.\r\n     * @parem rule The rule to find.\r\n     */\r\n    StandardValidator.prototype.ruleExists = function (rules, rule) {\r\n        var i = rules.length;\r\n        while (i--) {\r\n            if (rules[i].indexOf(rule) !== -1) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    StandardValidator.prototype.getMessage = function (rule, object, value) {\r\n        var expression = rule.message || this.messageProvider.getMessage(rule.messageKey);\r\n        // tslint:disable-next-line:prefer-const\r\n        var _a = rule.property, propertyName = _a.name, displayName = _a.displayName;\r\n        if (propertyName !== null) {\r\n            displayName = this.messageProvider.getDisplayName(propertyName, displayName);\r\n        }\r\n        var overrideContext = {\r\n            $displayName: displayName,\r\n            $propertyName: propertyName,\r\n            $value: value,\r\n            $object: object,\r\n            $config: rule.config,\r\n            // returns the name of a given property, given just the property name (irrespective of the property's displayName)\r\n            // split on capital letters, first letter ensured to be capitalized\r\n            $getDisplayName: this.getDisplayName\r\n        };\r\n        return expression.evaluate({ bindingContext: object, overrideContext: overrideContext }, this.lookupFunctions);\r\n    };\r\n    StandardValidator.prototype.validateRuleSequence = function (object, propertyName, ruleSequence, sequence, results) {\r\n        var _this = this;\r\n        // are we validating all properties or a single property?\r\n        var validateAllProperties = propertyName === null || propertyName === undefined;\r\n        var rules = ruleSequence[sequence];\r\n        var allValid = true;\r\n        // validate each rule.\r\n        var promises = [];\r\n        var _loop_1 = function (i) {\r\n            var rule = rules[i];\r\n            // is the rule related to the property we're validating.\r\n            // tslint:disable-next-line:triple-equals | Use loose equality for property keys\r\n            if (!validateAllProperties && rule.property.name != propertyName) {\r\n                return \"continue\";\r\n            }\r\n            // is this a conditional rule? is the condition met?\r\n            if (rule.when && !rule.when(object)) {\r\n                return \"continue\";\r\n            }\r\n            // validate.\r\n            var value = rule.property.name === null ? object : object[rule.property.name];\r\n            var promiseOrBoolean = rule.condition(value, object);\r\n            if (!(promiseOrBoolean instanceof Promise)) {\r\n                promiseOrBoolean = Promise.resolve(promiseOrBoolean);\r\n            }\r\n            promises.push(promiseOrBoolean.then(function (valid) {\r\n                var message = valid ? null : _this.getMessage(rule, object, value);\r\n                results.push(new ValidateResult(rule, object, rule.property.name, valid, message));\r\n                allValid = allValid && valid;\r\n                return valid;\r\n            }));\r\n        };\r\n        for (var i = 0; i < rules.length; i++) {\r\n            _loop_1(i);\r\n        }\r\n        return Promise.all(promises)\r\n            .then(function () {\r\n            sequence++;\r\n            if (allValid && sequence < ruleSequence.length) {\r\n                return _this.validateRuleSequence(object, propertyName, ruleSequence, sequence, results);\r\n            }\r\n            return results;\r\n        });\r\n    };\r\n    StandardValidator.prototype.validate = function (object, propertyName, rules) {\r\n        // rules specified?\r\n        if (!rules) {\r\n            // no. attempt to locate the rules.\r\n            rules = Rules.get(object);\r\n        }\r\n        // any rules?\r\n        if (!rules || rules.length === 0) {\r\n            return Promise.resolve([]);\r\n        }\r\n        return this.validateRuleSequence(object, propertyName, rules, 0, []);\r\n    };\r\n    StandardValidator.inject = [ValidationMessageProvider, ViewResources];\r\n    return StandardValidator;\r\n}(Validator));\n\n/**\r\n * Validation triggers.\r\n */\r\nvar validateTrigger;\r\n(function (validateTrigger) {\r\n    /**\r\n     * Manual validation.  Use the controller's `validate()` and  `reset()` methods\r\n     * to validate all bindings.\r\n     */\r\n    validateTrigger[validateTrigger[\"manual\"] = 0] = \"manual\";\r\n    /**\r\n     * Validate the binding when the binding's target element fires a DOM \"blur\" event.\r\n     */\r\n    validateTrigger[validateTrigger[\"blur\"] = 1] = \"blur\";\r\n    /**\r\n     * Validate the binding when it updates the model due to a change in the view.\r\n     */\r\n    validateTrigger[validateTrigger[\"change\"] = 2] = \"change\";\r\n    /**\r\n     * Validate the binding when the binding's target element fires a DOM \"blur\" event and\r\n     * when it updates the model due to a change in the view.\r\n     */\r\n    validateTrigger[validateTrigger[\"changeOrBlur\"] = 3] = \"changeOrBlur\";\r\n})(validateTrigger || (validateTrigger = {}));\n\n/**\r\n * Aurelia Validation Configuration API\r\n */\r\nvar GlobalValidationConfiguration = /** @class */ (function () {\r\n    function GlobalValidationConfiguration() {\r\n        this.validatorType = StandardValidator;\r\n        this.validationTrigger = GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER;\r\n    }\r\n    /**\r\n     * Use a custom Validator implementation.\r\n     */\r\n    GlobalValidationConfiguration.prototype.customValidator = function (type) {\r\n        this.validatorType = type;\r\n        return this;\r\n    };\r\n    GlobalValidationConfiguration.prototype.defaultValidationTrigger = function (trigger) {\r\n        this.validationTrigger = trigger;\r\n        return this;\r\n    };\r\n    GlobalValidationConfiguration.prototype.getDefaultValidationTrigger = function () {\r\n        return this.validationTrigger;\r\n    };\r\n    /**\r\n     * Applies the configuration.\r\n     */\r\n    GlobalValidationConfiguration.prototype.apply = function (container) {\r\n        var validator = container.get(this.validatorType);\r\n        container.registerInstance(Validator, validator);\r\n        container.registerInstance(GlobalValidationConfiguration, this);\r\n    };\r\n    GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER = validateTrigger.blur;\r\n    return GlobalValidationConfiguration;\r\n}());\n\n/**\r\n * Gets the DOM element associated with the data-binding. Most of the time it's\r\n * the binding.target but sometimes binding.target is an aurelia custom element,\r\n * or custom attribute which is a javascript \"class\" instance, so we need to use\r\n * the controller's container to retrieve the actual DOM element.\r\n */\r\nfunction getTargetDOMElement(binding, view) {\r\n    var target = binding.target;\r\n    // DOM element\r\n    if (target instanceof Element) {\r\n        return target;\r\n    }\r\n    // custom element or custom attribute\r\n    // tslint:disable-next-line:prefer-const\r\n    for (var i = 0, ii = view.controllers.length; i < ii; i++) {\r\n        var controller = view.controllers[i];\r\n        if (controller.viewModel === target) {\r\n            var element = controller.container.get(DOM.Element);\r\n            if (element) {\r\n                return element;\r\n            }\r\n            throw new Error(\"Unable to locate target element for \\\"\" + binding.sourceExpression + \"\\\".\");\r\n        }\r\n    }\r\n    throw new Error(\"Unable to locate target element for \\\"\" + binding.sourceExpression + \"\\\".\");\r\n}\n\nfunction getObject(expression, objectExpression, source) {\r\n    var value = objectExpression.evaluate(source, null);\r\n    if (value === null || value === undefined || value instanceof Object) {\r\n        return value;\r\n    }\r\n    // tslint:disable-next-line:max-line-length\r\n    throw new Error(\"The '\" + objectExpression + \"' part of '\" + expression + \"' evaluates to \" + value + \" instead of an object, null or undefined.\");\r\n}\r\n/**\r\n * Retrieves the object and property name for the specified expression.\r\n * @param expression The expression\r\n * @param source The scope\r\n */\r\nfunction getPropertyInfo(expression, source) {\r\n    var originalExpression = expression;\r\n    while (expression instanceof BindingBehavior || expression instanceof ValueConverter) {\r\n        expression = expression.expression;\r\n    }\r\n    var object;\r\n    var propertyName;\r\n    if (expression instanceof AccessScope) {\r\n        object = getContextFor(expression.name, source, expression.ancestor);\r\n        propertyName = expression.name;\r\n    }\r\n    else if (expression instanceof AccessMember) {\r\n        object = getObject(originalExpression, expression.object, source);\r\n        propertyName = expression.name;\r\n    }\r\n    else if (expression instanceof AccessKeyed) {\r\n        object = getObject(originalExpression, expression.object, source);\r\n        propertyName = expression.key.evaluate(source);\r\n    }\r\n    else {\r\n        throw new Error(\"Expression '\" + originalExpression + \"' is not compatible with the validate binding-behavior.\");\r\n    }\r\n    if (object === null || object === undefined) {\r\n        return null;\r\n    }\r\n    return { object: object, propertyName: propertyName };\r\n}\n\nfunction isString(value) {\r\n    return Object.prototype.toString.call(value) === '[object String]';\r\n}\r\nfunction isNumber(value) {\r\n    return Object.prototype.toString.call(value) === '[object Number]';\r\n}\n\nvar PropertyAccessorParser = /** @class */ (function () {\r\n    function PropertyAccessorParser(parser) {\r\n        this.parser = parser;\r\n    }\r\n    PropertyAccessorParser.prototype.parse = function (property) {\r\n        if (isString(property) || isNumber(property)) {\r\n            return property;\r\n        }\r\n        var accessorText = getAccessorExpression(property.toString());\r\n        var accessor = this.parser.parse(accessorText);\r\n        if (accessor instanceof AccessScope\r\n            || accessor instanceof AccessMember && accessor.object instanceof AccessScope) {\r\n            return accessor.name;\r\n        }\r\n        throw new Error(\"Invalid property expression: \\\"\" + accessor + \"\\\"\");\r\n    };\r\n    PropertyAccessorParser.inject = [Parser];\r\n    return PropertyAccessorParser;\r\n}());\r\nfunction getAccessorExpression(fn) {\r\n    /* tslint:disable:max-line-length */\r\n    var classic = /^function\\s*\\([$_\\w\\d]+\\)\\s*\\{(?:\\s*\"use strict\";)?\\s*(?:[$_\\w\\d.['\"\\]+;]+)?\\s*return\\s+[$_\\w\\d]+\\.([$_\\w\\d]+)\\s*;?\\s*\\}$/;\r\n    /* tslint:enable:max-line-length */\r\n    var arrow = /^\\(?[$_\\w\\d]+\\)?\\s*=>\\s*[$_\\w\\d]+\\.([$_\\w\\d]+)$/;\r\n    var match = classic.exec(fn) || arrow.exec(fn);\r\n    if (match === null) {\r\n        throw new Error(\"Unable to parse accessor function:\\n\" + fn);\r\n    }\r\n    return match[1];\r\n}\n\nvar ValidateEvent = /** @class */ (function () {\r\n    function ValidateEvent(\r\n    /**\r\n     * The type of validate event. Either \"validate\" or \"reset\".\r\n     */\r\n    type, \r\n    /**\r\n     * The controller's current array of errors. For an array containing both\r\n     * failed rules and passed rules, use the \"results\" property.\r\n     */\r\n    errors, \r\n    /**\r\n     * The controller's current array of validate results. This\r\n     * includes both passed rules and failed rules. For an array of only failed rules,\r\n     * use the \"errors\" property.\r\n     */\r\n    results, \r\n    /**\r\n     * The instruction passed to the \"validate\" or \"reset\" event. Will be null when\r\n     * the controller's validate/reset method was called with no instruction argument.\r\n     */\r\n    instruction, \r\n    /**\r\n     * In events with type === \"validate\", this property will contain the result\r\n     * of validating the instruction (see \"instruction\" property). Use the controllerValidateResult\r\n     * to access the validate results specific to the call to \"validate\"\r\n     * (as opposed to using the \"results\" and \"errors\" properties to access the controller's entire\r\n     * set of results/errors).\r\n     */\r\n    controllerValidateResult) {\r\n        this.type = type;\r\n        this.errors = errors;\r\n        this.results = results;\r\n        this.instruction = instruction;\r\n        this.controllerValidateResult = controllerValidateResult;\r\n    }\r\n    return ValidateEvent;\r\n}());\n\n/**\r\n * Orchestrates validation.\r\n * Manages a set of bindings, renderers and objects.\r\n * Exposes the current list of validation results for binding purposes.\r\n */\r\nvar ValidationController = /** @class */ (function () {\r\n    function ValidationController(validator, propertyParser, config) {\r\n        this.validator = validator;\r\n        this.propertyParser = propertyParser;\r\n        // Registered bindings (via the validate binding behavior)\r\n        this.bindings = new Map();\r\n        // Renderers that have been added to the controller instance.\r\n        this.renderers = [];\r\n        /**\r\n         * Validation results that have been rendered by the controller.\r\n         */\r\n        this.results = [];\r\n        /**\r\n         * Validation errors that have been rendered by the controller.\r\n         */\r\n        this.errors = [];\r\n        /**\r\n         *  Whether the controller is currently validating.\r\n         */\r\n        this.validating = false;\r\n        // Elements related to validation results that have been rendered.\r\n        this.elements = new Map();\r\n        // Objects that have been added to the controller instance (entity-style validation).\r\n        this.objects = new Map();\r\n        // Promise that resolves when validation has completed.\r\n        this.finishValidating = Promise.resolve();\r\n        this.eventCallbacks = [];\r\n        this.validateTrigger = config instanceof GlobalValidationConfiguration\r\n            ? config.getDefaultValidationTrigger()\r\n            : GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER;\r\n    }\r\n    /**\r\n     * Subscribe to controller validate and reset events. These events occur when the\r\n     * controller's \"validate\"\" and \"reset\" methods are called.\r\n     * @param callback The callback to be invoked when the controller validates or resets.\r\n     */\r\n    ValidationController.prototype.subscribe = function (callback) {\r\n        var _this = this;\r\n        this.eventCallbacks.push(callback);\r\n        return {\r\n            dispose: function () {\r\n                var index = _this.eventCallbacks.indexOf(callback);\r\n                if (index === -1) {\r\n                    return;\r\n                }\r\n                _this.eventCallbacks.splice(index, 1);\r\n            }\r\n        };\r\n    };\r\n    /**\r\n     * Adds an object to the set of objects that should be validated when validate is called.\r\n     * @param object The object.\r\n     * @param rules Optional. The rules. If rules aren't supplied the Validator implementation will lookup the rules.\r\n     */\r\n    ValidationController.prototype.addObject = function (object, rules) {\r\n        this.objects.set(object, rules);\r\n    };\r\n    /**\r\n     * Removes an object from the set of objects that should be validated when validate is called.\r\n     * @param object The object.\r\n     */\r\n    ValidationController.prototype.removeObject = function (object) {\r\n        this.objects.delete(object);\r\n        this.processResultDelta('reset', this.results.filter(function (result) { return result.object === object; }), []);\r\n    };\r\n    /**\r\n     * Adds and renders an error.\r\n     */\r\n    ValidationController.prototype.addError = function (message, object, propertyName) {\r\n        if (propertyName === void 0) { propertyName = null; }\r\n        var resolvedPropertyName;\r\n        if (propertyName === null) {\r\n            resolvedPropertyName = propertyName;\r\n        }\r\n        else {\r\n            resolvedPropertyName = this.propertyParser.parse(propertyName);\r\n        }\r\n        var result = new ValidateResult({ __manuallyAdded__: true }, object, resolvedPropertyName, false, message);\r\n        this.processResultDelta('validate', [], [result]);\r\n        return result;\r\n    };\r\n    /**\r\n     * Removes and unrenders an error.\r\n     */\r\n    ValidationController.prototype.removeError = function (result) {\r\n        if (this.results.indexOf(result) !== -1) {\r\n            this.processResultDelta('reset', [result], []);\r\n        }\r\n    };\r\n    /**\r\n     * Adds a renderer.\r\n     * @param renderer The renderer.\r\n     */\r\n    ValidationController.prototype.addRenderer = function (renderer) {\r\n        var _this = this;\r\n        this.renderers.push(renderer);\r\n        renderer.render({\r\n            kind: 'validate',\r\n            render: this.results.map(function (result) { return ({ result: result, elements: _this.elements.get(result) }); }),\r\n            unrender: []\r\n        });\r\n    };\r\n    /**\r\n     * Removes a renderer.\r\n     * @param renderer The renderer.\r\n     */\r\n    ValidationController.prototype.removeRenderer = function (renderer) {\r\n        var _this = this;\r\n        this.renderers.splice(this.renderers.indexOf(renderer), 1);\r\n        renderer.render({\r\n            kind: 'reset',\r\n            render: [],\r\n            unrender: this.results.map(function (result) { return ({ result: result, elements: _this.elements.get(result) }); })\r\n        });\r\n    };\r\n    /**\r\n     * Registers a binding with the controller.\r\n     * @param binding The binding instance.\r\n     * @param target The DOM element.\r\n     * @param rules (optional) rules associated with the binding. Validator implementation specific.\r\n     */\r\n    ValidationController.prototype.registerBinding = function (binding, target, rules) {\r\n        this.bindings.set(binding, { target: target, rules: rules, propertyInfo: null });\r\n    };\r\n    /**\r\n     * Unregisters a binding with the controller.\r\n     * @param binding The binding instance.\r\n     */\r\n    ValidationController.prototype.unregisterBinding = function (binding) {\r\n        this.resetBinding(binding);\r\n        this.bindings.delete(binding);\r\n    };\r\n    /**\r\n     * Interprets the instruction and returns a predicate that will identify\r\n     * relevant results in the list of rendered validation results.\r\n     */\r\n    ValidationController.prototype.getInstructionPredicate = function (instruction) {\r\n        var _this = this;\r\n        if (instruction) {\r\n            var object_1 = instruction.object, propertyName_1 = instruction.propertyName, rules_1 = instruction.rules;\r\n            var predicate_1;\r\n            if (instruction.propertyName) {\r\n                predicate_1 = function (x) { return x.object === object_1 && x.propertyName === propertyName_1; };\r\n            }\r\n            else {\r\n                predicate_1 = function (x) { return x.object === object_1; };\r\n            }\r\n            if (rules_1) {\r\n                return function (x) { return predicate_1(x) && _this.validator.ruleExists(rules_1, x.rule); };\r\n            }\r\n            return predicate_1;\r\n        }\r\n        else {\r\n            return function () { return true; };\r\n        }\r\n    };\r\n    /**\r\n     * Validates and renders results.\r\n     * @param instruction Optional. Instructions on what to validate. If undefined, all\r\n     * objects and bindings will be validated.\r\n     */\r\n    ValidationController.prototype.validate = function (instruction) {\r\n        var _this = this;\r\n        // Get a function that will process the validation instruction.\r\n        var execute;\r\n        if (instruction) {\r\n            // tslint:disable-next-line:prefer-const\r\n            var object_2 = instruction.object, propertyName_2 = instruction.propertyName, rules_2 = instruction.rules;\r\n            // if rules were not specified, check the object map.\r\n            rules_2 = rules_2 || this.objects.get(object_2);\r\n            // property specified?\r\n            if (instruction.propertyName === undefined) {\r\n                // validate the specified object.\r\n                execute = function () { return _this.validator.validateObject(object_2, rules_2); };\r\n            }\r\n            else {\r\n                // validate the specified property.\r\n                execute = function () { return _this.validator.validateProperty(object_2, propertyName_2, rules_2); };\r\n            }\r\n        }\r\n        else {\r\n            // validate all objects and bindings.\r\n            execute = function () {\r\n                var promises = [];\r\n                for (var _i = 0, _a = Array.from(_this.objects); _i < _a.length; _i++) {\r\n                    var _b = _a[_i], object = _b[0], rules = _b[1];\r\n                    promises.push(_this.validator.validateObject(object, rules));\r\n                }\r\n                for (var _c = 0, _d = Array.from(_this.bindings); _c < _d.length; _c++) {\r\n                    var _e = _d[_c], binding = _e[0], rules = _e[1].rules;\r\n                    var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n                    if (!propertyInfo || _this.objects.has(propertyInfo.object)) {\r\n                        continue;\r\n                    }\r\n                    promises.push(_this.validator.validateProperty(propertyInfo.object, propertyInfo.propertyName, rules));\r\n                }\r\n                return Promise.all(promises).then(function (resultSets) { return resultSets.reduce(function (a, b) { return a.concat(b); }, []); });\r\n            };\r\n        }\r\n        // Wait for any existing validation to finish, execute the instruction, render the results.\r\n        this.validating = true;\r\n        var returnPromise = this.finishValidating\r\n            .then(execute)\r\n            .then(function (newResults) {\r\n            var predicate = _this.getInstructionPredicate(instruction);\r\n            var oldResults = _this.results.filter(predicate);\r\n            _this.processResultDelta('validate', oldResults, newResults);\r\n            if (returnPromise === _this.finishValidating) {\r\n                _this.validating = false;\r\n            }\r\n            var result = {\r\n                instruction: instruction,\r\n                valid: newResults.find(function (x) { return !x.valid; }) === undefined,\r\n                results: newResults\r\n            };\r\n            _this.invokeCallbacks(instruction, result);\r\n            return result;\r\n        })\r\n            .catch(function (exception) {\r\n            // recover, to enable subsequent calls to validate()\r\n            _this.validating = false;\r\n            _this.finishValidating = Promise.resolve();\r\n            return Promise.reject(exception);\r\n        });\r\n        this.finishValidating = returnPromise;\r\n        return returnPromise;\r\n    };\r\n    /**\r\n     * Resets any rendered validation results (unrenders).\r\n     * @param instruction Optional. Instructions on what to reset. If unspecified all rendered results\r\n     * will be unrendered.\r\n     */\r\n    ValidationController.prototype.reset = function (instruction) {\r\n        var predicate = this.getInstructionPredicate(instruction);\r\n        var oldResults = this.results.filter(predicate);\r\n        this.processResultDelta('reset', oldResults, []);\r\n        this.invokeCallbacks(instruction, null);\r\n    };\r\n    /**\r\n     * Gets the elements associated with an object and propertyName (if any).\r\n     */\r\n    ValidationController.prototype.getAssociatedElements = function (_a) {\r\n        var object = _a.object, propertyName = _a.propertyName;\r\n        var elements = [];\r\n        for (var _i = 0, _b = Array.from(this.bindings); _i < _b.length; _i++) {\r\n            var _c = _b[_i], binding = _c[0], target = _c[1].target;\r\n            var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n            if (propertyInfo && propertyInfo.object === object && propertyInfo.propertyName === propertyName) {\r\n                elements.push(target);\r\n            }\r\n        }\r\n        return elements;\r\n    };\r\n    ValidationController.prototype.processResultDelta = function (kind, oldResults, newResults) {\r\n        // prepare the instruction.\r\n        var instruction = {\r\n            kind: kind,\r\n            render: [],\r\n            unrender: []\r\n        };\r\n        // create a shallow copy of newResults so we can mutate it without causing side-effects.\r\n        newResults = newResults.slice(0);\r\n        var _loop_1 = function (oldResult) {\r\n            // get the elements associated with the old result.\r\n            var elements = this_1.elements.get(oldResult);\r\n            // remove the old result from the element map.\r\n            this_1.elements.delete(oldResult);\r\n            // create the unrender instruction.\r\n            instruction.unrender.push({ result: oldResult, elements: elements });\r\n            // determine if there's a corresponding new result for the old result we are unrendering.\r\n            var newResultIndex = newResults.findIndex(function (x) { return x.rule === oldResult.rule && x.object === oldResult.object && x.propertyName === oldResult.propertyName; });\r\n            if (newResultIndex === -1) {\r\n                // no corresponding new result... simple remove.\r\n                this_1.results.splice(this_1.results.indexOf(oldResult), 1);\r\n                if (!oldResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1);\r\n                }\r\n            }\r\n            else {\r\n                // there is a corresponding new result...\r\n                var newResult = newResults.splice(newResultIndex, 1)[0];\r\n                // get the elements that are associated with the new result.\r\n                var elements_1 = this_1.getAssociatedElements(newResult);\r\n                this_1.elements.set(newResult, elements_1);\r\n                // create a render instruction for the new result.\r\n                instruction.render.push({ result: newResult, elements: elements_1 });\r\n                // do an in-place replacement of the old result with the new result.\r\n                // this ensures any repeats bound to this.results will not thrash.\r\n                this_1.results.splice(this_1.results.indexOf(oldResult), 1, newResult);\r\n                if (!oldResult.valid && newResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1);\r\n                }\r\n                else if (!oldResult.valid && !newResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1, newResult);\r\n                }\r\n                else if (!newResult.valid) {\r\n                    this_1.errors.push(newResult);\r\n                }\r\n            }\r\n        };\r\n        var this_1 = this;\r\n        // create unrender instructions from the old results.\r\n        for (var _i = 0, oldResults_1 = oldResults; _i < oldResults_1.length; _i++) {\r\n            var oldResult = oldResults_1[_i];\r\n            _loop_1(oldResult);\r\n        }\r\n        // create render instructions from the remaining new results.\r\n        for (var _a = 0, newResults_1 = newResults; _a < newResults_1.length; _a++) {\r\n            var result = newResults_1[_a];\r\n            var elements = this.getAssociatedElements(result);\r\n            instruction.render.push({ result: result, elements: elements });\r\n            this.elements.set(result, elements);\r\n            this.results.push(result);\r\n            if (!result.valid) {\r\n                this.errors.push(result);\r\n            }\r\n        }\r\n        // render.\r\n        for (var _b = 0, _c = this.renderers; _b < _c.length; _b++) {\r\n            var renderer = _c[_b];\r\n            renderer.render(instruction);\r\n        }\r\n    };\r\n    /**\r\n     * Validates the property associated with a binding.\r\n     */\r\n    ValidationController.prototype.validateBinding = function (binding) {\r\n        if (!binding.isBound) {\r\n            return;\r\n        }\r\n        var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n        var rules;\r\n        var registeredBinding = this.bindings.get(binding);\r\n        if (registeredBinding) {\r\n            rules = registeredBinding.rules;\r\n            registeredBinding.propertyInfo = propertyInfo;\r\n        }\r\n        if (!propertyInfo) {\r\n            return;\r\n        }\r\n        var object = propertyInfo.object, propertyName = propertyInfo.propertyName;\r\n        this.validate({ object: object, propertyName: propertyName, rules: rules });\r\n    };\r\n    /**\r\n     * Resets the results for a property associated with a binding.\r\n     */\r\n    ValidationController.prototype.resetBinding = function (binding) {\r\n        var registeredBinding = this.bindings.get(binding);\r\n        var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n        if (!propertyInfo && registeredBinding) {\r\n            propertyInfo = registeredBinding.propertyInfo;\r\n        }\r\n        if (registeredBinding) {\r\n            registeredBinding.propertyInfo = null;\r\n        }\r\n        if (!propertyInfo) {\r\n            return;\r\n        }\r\n        var object = propertyInfo.object, propertyName = propertyInfo.propertyName;\r\n        this.reset({ object: object, propertyName: propertyName });\r\n    };\r\n    /**\r\n     * Changes the controller's validateTrigger.\r\n     * @param newTrigger The new validateTrigger\r\n     */\r\n    ValidationController.prototype.changeTrigger = function (newTrigger) {\r\n        this.validateTrigger = newTrigger;\r\n        var bindings = Array.from(this.bindings.keys());\r\n        for (var _i = 0, bindings_1 = bindings; _i < bindings_1.length; _i++) {\r\n            var binding = bindings_1[_i];\r\n            var source = binding.source;\r\n            binding.unbind();\r\n            binding.bind(source);\r\n        }\r\n    };\r\n    /**\r\n     * Revalidates the controller's current set of errors.\r\n     */\r\n    ValidationController.prototype.revalidateErrors = function () {\r\n        for (var _i = 0, _a = this.errors; _i < _a.length; _i++) {\r\n            var _b = _a[_i], object = _b.object, propertyName = _b.propertyName, rule = _b.rule;\r\n            if (rule.__manuallyAdded__) {\r\n                continue;\r\n            }\r\n            var rules = [[rule]];\r\n            this.validate({ object: object, propertyName: propertyName, rules: rules });\r\n        }\r\n    };\r\n    ValidationController.prototype.invokeCallbacks = function (instruction, result) {\r\n        if (this.eventCallbacks.length === 0) {\r\n            return;\r\n        }\r\n        var event = new ValidateEvent(result ? 'validate' : 'reset', this.errors, this.results, instruction || null, result);\r\n        for (var i = 0; i < this.eventCallbacks.length; i++) {\r\n            this.eventCallbacks[i](event);\r\n        }\r\n    };\r\n    ValidationController.inject = [Validator, PropertyAccessorParser, GlobalValidationConfiguration];\r\n    return ValidationController;\r\n}());\n\n/**\r\n * Binding behavior. Indicates the bound property should be validated.\r\n */\r\nvar ValidateBindingBehaviorBase = /** @class */ (function () {\r\n    function ValidateBindingBehaviorBase(taskQueue) {\r\n        this.taskQueue = taskQueue;\r\n    }\r\n    ValidateBindingBehaviorBase.prototype.bind = function (binding, source, rulesOrController, rules) {\r\n        var _this = this;\r\n        // identify the target element.\r\n        var target = getTargetDOMElement(binding, source);\r\n        // locate the controller.\r\n        var controller;\r\n        if (rulesOrController instanceof ValidationController) {\r\n            controller = rulesOrController;\r\n        }\r\n        else {\r\n            controller = source.container.get(Optional.of(ValidationController));\r\n            rules = rulesOrController;\r\n        }\r\n        if (controller === null) {\r\n            throw new Error(\"A ValidationController has not been registered.\");\r\n        }\r\n        controller.registerBinding(binding, target, rules);\r\n        binding.validationController = controller;\r\n        var trigger = this.getValidateTrigger(controller);\r\n        // tslint:disable-next-line:no-bitwise\r\n        if (trigger & validateTrigger.change) {\r\n            binding.vbbUpdateSource = binding.updateSource;\r\n            // tslint:disable-next-line:only-arrow-functions\r\n            // tslint:disable-next-line:space-before-function-paren\r\n            binding.updateSource = function (value) {\r\n                this.vbbUpdateSource(value);\r\n                this.validationController.validateBinding(this);\r\n            };\r\n        }\r\n        // tslint:disable-next-line:no-bitwise\r\n        if (trigger & validateTrigger.blur) {\r\n            binding.validateBlurHandler = function () {\r\n                _this.taskQueue.queueMicroTask(function () { return controller.validateBinding(binding); });\r\n            };\r\n            binding.validateTarget = target;\r\n            target.addEventListener('blur', binding.validateBlurHandler);\r\n        }\r\n        if (trigger !== validateTrigger.manual) {\r\n            binding.standardUpdateTarget = binding.updateTarget;\r\n            // tslint:disable-next-line:only-arrow-functions\r\n            // tslint:disable-next-line:space-before-function-paren\r\n            binding.updateTarget = function (value) {\r\n                this.standardUpdateTarget(value);\r\n                this.validationController.resetBinding(this);\r\n            };\r\n        }\r\n    };\r\n    ValidateBindingBehaviorBase.prototype.unbind = function (binding) {\r\n        // reset the binding to it's original state.\r\n        if (binding.vbbUpdateSource) {\r\n            binding.updateSource = binding.vbbUpdateSource;\r\n            binding.vbbUpdateSource = null;\r\n        }\r\n        if (binding.standardUpdateTarget) {\r\n            binding.updateTarget = binding.standardUpdateTarget;\r\n            binding.standardUpdateTarget = null;\r\n        }\r\n        if (binding.validateBlurHandler) {\r\n            binding.validateTarget.removeEventListener('blur', binding.validateBlurHandler);\r\n            binding.validateBlurHandler = null;\r\n            binding.validateTarget = null;\r\n        }\r\n        binding.validationController.unregisterBinding(binding);\r\n        binding.validationController = null;\r\n    };\r\n    return ValidateBindingBehaviorBase;\r\n}());\n\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the validate trigger specified by the associated controller's\r\n * validateTrigger property occurs.\r\n */\r\nvar ValidateBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateBindingBehavior, _super);\r\n    function ValidateBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateBindingBehavior.prototype.getValidateTrigger = function (controller) {\r\n        return controller.validateTrigger;\r\n    };\r\n    ValidateBindingBehavior.inject = [TaskQueue];\r\n    ValidateBindingBehavior = __decorate([\r\n        bindingBehavior('validate')\r\n    ], ValidateBindingBehavior);\r\n    return ValidateBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property will be validated\r\n * manually, by calling controller.validate(). No automatic validation\r\n * triggered by data-entry or blur will occur.\r\n */\r\nvar ValidateManuallyBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateManuallyBindingBehavior, _super);\r\n    function ValidateManuallyBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateManuallyBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.manual;\r\n    };\r\n    ValidateManuallyBindingBehavior.inject = [TaskQueue];\r\n    ValidateManuallyBindingBehavior = __decorate([\r\n        bindingBehavior('validateManually')\r\n    ], ValidateManuallyBindingBehavior);\r\n    return ValidateManuallyBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element blurs.\r\n */\r\nvar ValidateOnBlurBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnBlurBindingBehavior, _super);\r\n    function ValidateOnBlurBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnBlurBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.blur;\r\n    };\r\n    ValidateOnBlurBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnBlurBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnBlur')\r\n    ], ValidateOnBlurBindingBehavior);\r\n    return ValidateOnBlurBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element is changed by the user, causing a change\r\n * to the model.\r\n */\r\nvar ValidateOnChangeBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnChangeBindingBehavior, _super);\r\n    function ValidateOnChangeBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnChangeBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.change;\r\n    };\r\n    ValidateOnChangeBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnChangeBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnChange')\r\n    ], ValidateOnChangeBindingBehavior);\r\n    return ValidateOnChangeBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element blurs or is changed by the user, causing\r\n * a change to the model.\r\n */\r\nvar ValidateOnChangeOrBlurBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnChangeOrBlurBindingBehavior, _super);\r\n    function ValidateOnChangeOrBlurBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnChangeOrBlurBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.changeOrBlur;\r\n    };\r\n    ValidateOnChangeOrBlurBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnChangeOrBlurBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnChangeOrBlur')\r\n    ], ValidateOnChangeOrBlurBindingBehavior);\r\n    return ValidateOnChangeOrBlurBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\n\n/**\r\n * Creates ValidationController instances.\r\n */\r\nvar ValidationControllerFactory = /** @class */ (function () {\r\n    function ValidationControllerFactory(container) {\r\n        this.container = container;\r\n    }\r\n    ValidationControllerFactory.get = function (container) {\r\n        return new ValidationControllerFactory(container);\r\n    };\r\n    /**\r\n     * Creates a new controller instance.\r\n     */\r\n    ValidationControllerFactory.prototype.create = function (validator) {\r\n        if (!validator) {\r\n            validator = this.container.get(Validator);\r\n        }\r\n        var propertyParser = this.container.get(PropertyAccessorParser);\r\n        var config = this.container.get(GlobalValidationConfiguration);\r\n        return new ValidationController(validator, propertyParser, config);\r\n    };\r\n    /**\r\n     * Creates a new controller and registers it in the current element's container so that it's\r\n     * available to the validate binding behavior and renderers.\r\n     */\r\n    ValidationControllerFactory.prototype.createForCurrentScope = function (validator) {\r\n        var controller = this.create(validator);\r\n        this.container.registerInstance(ValidationController, controller);\r\n        return controller;\r\n    };\r\n    return ValidationControllerFactory;\r\n}());\r\nValidationControllerFactory['protocol:aurelia:resolver'] = true;\n\nvar ValidationErrorsCustomAttribute = /** @class */ (function () {\r\n    function ValidationErrorsCustomAttribute(boundaryElement, controllerAccessor) {\r\n        this.boundaryElement = boundaryElement;\r\n        this.controllerAccessor = controllerAccessor;\r\n        this.controller = null;\r\n        this.errors = [];\r\n        this.errorsInternal = [];\r\n    }\r\n    ValidationErrorsCustomAttribute.inject = function () {\r\n        return [DOM.Element, Lazy.of(ValidationController)];\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.sort = function () {\r\n        this.errorsInternal.sort(function (a, b) {\r\n            if (a.targets[0] === b.targets[0]) {\r\n                return 0;\r\n            }\r\n            // tslint:disable-next-line:no-bitwise\r\n            return a.targets[0].compareDocumentPosition(b.targets[0]) & 2 ? 1 : -1;\r\n        });\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.interestingElements = function (elements) {\r\n        var _this = this;\r\n        return elements.filter(function (e) { return _this.boundaryElement.contains(e); });\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.render = function (instruction) {\r\n        var _loop_1 = function (result) {\r\n            var index = this_1.errorsInternal.findIndex(function (x) { return x.error === result; });\r\n            if (index !== -1) {\r\n                this_1.errorsInternal.splice(index, 1);\r\n            }\r\n        };\r\n        var this_1 = this;\r\n        for (var _i = 0, _a = instruction.unrender; _i < _a.length; _i++) {\r\n            var result = _a[_i].result;\r\n            _loop_1(result);\r\n        }\r\n        for (var _b = 0, _c = instruction.render; _b < _c.length; _b++) {\r\n            var _d = _c[_b], result = _d.result, elements = _d.elements;\r\n            if (result.valid) {\r\n                continue;\r\n            }\r\n            var targets = this.interestingElements(elements);\r\n            if (targets.length) {\r\n                this.errorsInternal.push({ error: result, targets: targets });\r\n            }\r\n        }\r\n        this.sort();\r\n        this.errors = this.errorsInternal;\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.bind = function () {\r\n        if (!this.controller) {\r\n            this.controller = this.controllerAccessor();\r\n        }\r\n        // this will call render() with the side-effect of updating this.errors\r\n        this.controller.addRenderer(this);\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.unbind = function () {\r\n        if (this.controller) {\r\n            this.controller.removeRenderer(this);\r\n        }\r\n    };\r\n    __decorate([\r\n        bindable({ defaultBindingMode: bindingMode.oneWay })\r\n    ], ValidationErrorsCustomAttribute.prototype, \"controller\", void 0);\r\n    __decorate([\r\n        bindable({ primaryProperty: true, defaultBindingMode: bindingMode.twoWay })\r\n    ], ValidationErrorsCustomAttribute.prototype, \"errors\", void 0);\r\n    ValidationErrorsCustomAttribute = __decorate([\r\n        customAttribute('validation-errors')\r\n    ], ValidationErrorsCustomAttribute);\r\n    return ValidationErrorsCustomAttribute;\r\n}());\n\nvar ValidationRendererCustomAttribute = /** @class */ (function () {\r\n    function ValidationRendererCustomAttribute() {\r\n    }\r\n    ValidationRendererCustomAttribute.prototype.created = function (view) {\r\n        this.container = view.container;\r\n    };\r\n    ValidationRendererCustomAttribute.prototype.bind = function () {\r\n        this.controller = this.container.get(ValidationController);\r\n        this.renderer = this.container.get(this.value);\r\n        this.controller.addRenderer(this.renderer);\r\n    };\r\n    ValidationRendererCustomAttribute.prototype.unbind = function () {\r\n        this.controller.removeRenderer(this.renderer);\r\n        this.controller = null;\r\n        this.renderer = null;\r\n    };\r\n    ValidationRendererCustomAttribute = __decorate([\r\n        customAttribute('validation-renderer')\r\n    ], ValidationRendererCustomAttribute);\r\n    return ValidationRendererCustomAttribute;\r\n}());\n\n/**\r\n * Part of the fluent rule API. Enables customizing property rules.\r\n */\r\nvar FluentRuleCustomizer = /** @class */ (function () {\r\n    function FluentRuleCustomizer(property, condition, config, fluentEnsure, fluentRules, parsers) {\r\n        if (config === void 0) { config = {}; }\r\n        this.fluentEnsure = fluentEnsure;\r\n        this.fluentRules = fluentRules;\r\n        this.parsers = parsers;\r\n        this.rule = {\r\n            property: property,\r\n            condition: condition,\r\n            config: config,\r\n            when: null,\r\n            messageKey: 'default',\r\n            message: null,\r\n            sequence: fluentRules.sequence\r\n        };\r\n        this.fluentEnsure._addRule(this.rule);\r\n    }\r\n    /**\r\n     * Validate subsequent rules after previously declared rules have\r\n     * been validated successfully. Use to postpone validation of costly\r\n     * rules until less expensive rules pass validation.\r\n     */\r\n    FluentRuleCustomizer.prototype.then = function () {\r\n        this.fluentRules.sequence++;\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies the key to use when looking up the rule's validation message.\r\n     */\r\n    FluentRuleCustomizer.prototype.withMessageKey = function (key) {\r\n        this.rule.messageKey = key;\r\n        this.rule.message = null;\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies rule's validation message.\r\n     */\r\n    FluentRuleCustomizer.prototype.withMessage = function (message) {\r\n        this.rule.messageKey = 'custom';\r\n        this.rule.message = this.parsers.message.parse(message);\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies a condition that must be met before attempting to validate the rule.\r\n     * @param condition A function that accepts the object as a parameter and returns true\r\n     * or false whether the rule should be evaluated.\r\n     */\r\n    FluentRuleCustomizer.prototype.when = function (condition) {\r\n        this.rule.when = condition;\r\n        return this;\r\n    };\r\n    /**\r\n     * Tags the rule instance, enabling the rule to be found easily\r\n     * using ValidationRules.taggedRules(rules, tag)\r\n     */\r\n    FluentRuleCustomizer.prototype.tag = function (tag) {\r\n        this.rule.tag = tag;\r\n        return this;\r\n    };\r\n    ///// FluentEnsure APIs /////\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor function.\r\n     */\r\n    FluentRuleCustomizer.prototype.ensure = function (subject) {\r\n        return this.fluentEnsure.ensure(subject);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    FluentRuleCustomizer.prototype.ensureObject = function () {\r\n        return this.fluentEnsure.ensureObject();\r\n    };\r\n    Object.defineProperty(FluentRuleCustomizer.prototype, \"rules\", {\r\n        /**\r\n         * Rules that have been defined using the fluent API.\r\n         */\r\n        get: function () {\r\n            return this.fluentEnsure.rules;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /**\r\n     * Applies the rules to a class or object, making them discoverable by the StandardValidator.\r\n     * @param target A class or object.\r\n     */\r\n    FluentRuleCustomizer.prototype.on = function (target) {\r\n        return this.fluentEnsure.on(target);\r\n    };\r\n    ///////// FluentRules APIs /////////\r\n    /**\r\n     * Applies an ad-hoc rule function to the ensured property or object.\r\n     * @param condition The function to validate the rule.\r\n     * Will be called with two arguments, the property value and the object.\r\n     * Should return a boolean or a Promise that resolves to a boolean.\r\n     */\r\n    FluentRuleCustomizer.prototype.satisfies = function (condition, config) {\r\n        return this.fluentRules.satisfies(condition, config);\r\n    };\r\n    /**\r\n     * Applies a rule by name.\r\n     * @param name The name of the custom or standard rule.\r\n     * @param args The rule's arguments.\r\n     */\r\n    FluentRuleCustomizer.prototype.satisfiesRule = function (name) {\r\n        var _a;\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 (_a = this.fluentRules).satisfiesRule.apply(_a, __spreadArrays([name], args));\r\n    };\r\n    /**\r\n     * Applies the \"required\" rule to the property.\r\n     * The value cannot be null, undefined or whitespace.\r\n     */\r\n    FluentRuleCustomizer.prototype.required = function () {\r\n        return this.fluentRules.required();\r\n    };\r\n    /**\r\n     * Applies the \"matches\" rule to the property.\r\n     * Value must match the specified regular expression.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.matches = function (regex) {\r\n        return this.fluentRules.matches(regex);\r\n    };\r\n    /**\r\n     * Applies the \"email\" rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.email = function () {\r\n        return this.fluentRules.email();\r\n    };\r\n    /**\r\n     * Applies the \"minLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.minLength = function (length) {\r\n        return this.fluentRules.minLength(length);\r\n    };\r\n    /**\r\n     * Applies the \"maxLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.maxLength = function (length) {\r\n        return this.fluentRules.maxLength(length);\r\n    };\r\n    /**\r\n     * Applies the \"minItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.minItems = function (count) {\r\n        return this.fluentRules.minItems(count);\r\n    };\r\n    /**\r\n     * Applies the \"maxItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.maxItems = function (count) {\r\n        return this.fluentRules.maxItems(count);\r\n    };\r\n    /**\r\n     * Applies the \"min\" NUMBER validation rule to the property.\r\n     * Value must be greater than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.min = function (value) {\r\n        return this.fluentRules.min(value);\r\n    };\r\n    /**\r\n     * Applies the \"max\" NUMBER validation rule to the property.\r\n     * Value must be less than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.max = function (value) {\r\n        return this.fluentRules.max(value);\r\n    };\r\n    /**\r\n     * Applies the \"range\" NUMBER validation rule to the property.\r\n     * Value must be between or equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.range = function (min, max) {\r\n        return this.fluentRules.range(min, max);\r\n    };\r\n    /**\r\n     * Applies the \"between\" NUMBER validation rule to the property.\r\n     * Value must be between but not equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.between = function (min, max) {\r\n        return this.fluentRules.between(min, max);\r\n    };\r\n    /**\r\n     * Applies the \"equals\" validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.equals = function (expectedValue) {\r\n        return this.fluentRules.equals(expectedValue);\r\n    };\r\n    return FluentRuleCustomizer;\r\n}());\r\n/**\r\n * Part of the fluent rule API. Enables applying rules to properties and objects.\r\n */\r\nvar FluentRules = /** @class */ (function () {\r\n    function FluentRules(fluentEnsure, parsers, property) {\r\n        this.fluentEnsure = fluentEnsure;\r\n        this.parsers = parsers;\r\n        this.property = property;\r\n        /**\r\n         * Current rule sequence number. Used to postpone evaluation of rules until rules\r\n         * with lower sequence number have successfully validated. The \"then\" fluent API method\r\n         * manages this property, there's usually no need to set it directly.\r\n         */\r\n        this.sequence = 0;\r\n    }\r\n    /**\r\n     * Sets the display name of the ensured property.\r\n     */\r\n    FluentRules.prototype.displayName = function (name) {\r\n        this.property.displayName = name;\r\n        return this;\r\n    };\r\n    /**\r\n     * Applies an ad-hoc rule function to the ensured property or object.\r\n     * @param condition The function to validate the rule.\r\n     * Will be called with two arguments, the property value and the object.\r\n     * Should return a boolean or a Promise that resolves to a boolean.\r\n     */\r\n    FluentRules.prototype.satisfies = function (condition, config) {\r\n        return new FluentRuleCustomizer(this.property, condition, config, this.fluentEnsure, this, this.parsers);\r\n    };\r\n    /**\r\n     * Applies a rule by name.\r\n     * @param name The name of the custom or standard rule.\r\n     * @param args The rule's arguments.\r\n     */\r\n    FluentRules.prototype.satisfiesRule = function (name) {\r\n        var _this = this;\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 rule = FluentRules.customRules[name];\r\n        if (!rule) {\r\n            // standard rule?\r\n            rule = this[name];\r\n            if (rule instanceof Function) {\r\n                return rule.call.apply(rule, __spreadArrays([this], args));\r\n            }\r\n            throw new Error(\"Rule with name \\\"\" + name + \"\\\" does not exist.\");\r\n        }\r\n        var config = rule.argsToConfig ? rule.argsToConfig.apply(rule, args) : undefined;\r\n        return this.satisfies(function (value, obj) {\r\n            var _a;\r\n            return (_a = rule.condition).call.apply(_a, __spreadArrays([_this, value, obj], args));\r\n        }, config)\r\n            .withMessageKey(name);\r\n    };\r\n    /**\r\n     * Applies the \"required\" rule to the property.\r\n     * The value cannot be null, undefined or whitespace.\r\n     */\r\n    FluentRules.prototype.required = function () {\r\n        return this.satisfies(function (value) {\r\n            return value !== null\r\n                && value !== undefined\r\n                && !(isString(value) && !/\\S/.test(value));\r\n        }).withMessageKey('required');\r\n    };\r\n    /**\r\n     * Applies the \"matches\" rule to the property.\r\n     * Value must match the specified regular expression.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.matches = function (regex) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || regex.test(value); })\r\n            .withMessageKey('matches');\r\n    };\r\n    /**\r\n     * Applies the \"email\" rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.email = function () {\r\n        // regex from https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\r\n        /* tslint:disable:max-line-length */\r\n        return this.matches(/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/)\r\n            /* tslint:enable:max-line-length */\r\n            .withMessageKey('email');\r\n    };\r\n    /**\r\n     * Applies the \"minLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.minLength = function (length) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || value.length >= length; }, { length: length })\r\n            .withMessageKey('minLength');\r\n    };\r\n    /**\r\n     * Applies the \"maxLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.maxLength = function (length) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || value.length <= length; }, { length: length })\r\n            .withMessageKey('maxLength');\r\n    };\r\n    /**\r\n     * Applies the \"minItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.minItems = function (count) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length >= count; }, { count: count })\r\n            .withMessageKey('minItems');\r\n    };\r\n    /**\r\n     * Applies the \"maxItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.maxItems = function (count) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length <= count; }, { count: count })\r\n            .withMessageKey('maxItems');\r\n    };\r\n    /**\r\n     * Applies the \"min\" NUMBER validation rule to the property.\r\n     * Value must be greater than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.min = function (constraint) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value >= constraint; }, { constraint: constraint })\r\n            .withMessageKey('min');\r\n    };\r\n    /**\r\n     * Applies the \"max\" NUMBER validation rule to the property.\r\n     * Value must be less than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.max = function (constraint) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value <= constraint; }, { constraint: constraint })\r\n            .withMessageKey('max');\r\n    };\r\n    /**\r\n     * Applies the \"range\" NUMBER validation rule to the property.\r\n     * Value must be between or equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.range = function (min, max) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || (value >= min && value <= max); }, { min: min, max: max })\r\n            .withMessageKey('range');\r\n    };\r\n    /**\r\n     * Applies the \"between\" NUMBER validation rule to the property.\r\n     * Value must be between but not equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.between = function (min, max) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || (value > min && value < max); }, { min: min, max: max })\r\n            .withMessageKey('between');\r\n    };\r\n    /**\r\n     * Applies the \"equals\" validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.equals = function (expectedValue) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value === '' || value === expectedValue; }, { expectedValue: expectedValue })\r\n            .withMessageKey('equals');\r\n    };\r\n    FluentRules.customRules = {};\r\n    return FluentRules;\r\n}());\r\n/**\r\n * Part of the fluent rule API. Enables targeting properties and objects with rules.\r\n */\r\nvar FluentEnsure = /** @class */ (function () {\r\n    function FluentEnsure(parsers) {\r\n        this.parsers = parsers;\r\n        /**\r\n         * Rules that have been defined using the fluent API.\r\n         */\r\n        this.rules = [];\r\n    }\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor\r\n     * function.\r\n     */\r\n    FluentEnsure.prototype.ensure = function (property) {\r\n        this.assertInitialized();\r\n        var name = this.parsers.property.parse(property);\r\n        var fluentRules = new FluentRules(this, this.parsers, { name: name, displayName: null });\r\n        return this.mergeRules(fluentRules, name);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    FluentEnsure.prototype.ensureObject = function () {\r\n        this.assertInitialized();\r\n        var fluentRules = new FluentRules(this, this.parsers, { name: null, displayName: null });\r\n        return this.mergeRules(fluentRules, null);\r\n    };\r\n    /**\r\n     * Applies the rules to a class or object, making them discoverable by the StandardValidator.\r\n     * @param target A class or object.\r\n     */\r\n    FluentEnsure.prototype.on = function (target) {\r\n        Rules.set(target, this.rules);\r\n        return this;\r\n    };\r\n    /**\r\n     * Adds a rule definition to the sequenced ruleset.\r\n     * @internal\r\n     */\r\n    FluentEnsure.prototype._addRule = function (rule) {\r\n        while (this.rules.length < rule.sequence + 1) {\r\n            this.rules.push([]);\r\n        }\r\n        this.rules[rule.sequence].push(rule);\r\n    };\r\n    FluentEnsure.prototype.assertInitialized = function () {\r\n        if (this.parsers) {\r\n            return;\r\n        }\r\n        throw new Error(\"Did you forget to add \\\".plugin('aurelia-validation')\\\" to your main.js?\");\r\n    };\r\n    FluentEnsure.prototype.mergeRules = function (fluentRules, propertyName) {\r\n        // tslint:disable-next-line:triple-equals | Use loose equality for property keys\r\n        var existingRules = this.rules.find(function (r) { return r.length > 0 && r[0].property.name == propertyName; });\r\n        if (existingRules) {\r\n            var rule = existingRules[existingRules.length - 1];\r\n            fluentRules.sequence = rule.sequence;\r\n            if (rule.property.displayName !== null) {\r\n                fluentRules = fluentRules.displayName(rule.property.displayName);\r\n            }\r\n        }\r\n        return fluentRules;\r\n    };\r\n    return FluentEnsure;\r\n}());\r\n/**\r\n * Fluent rule definition API.\r\n */\r\nvar ValidationRules = /** @class */ (function () {\r\n    function ValidationRules() {\r\n    }\r\n    ValidationRules.initialize = function (messageParser, propertyParser) {\r\n        this.parsers = {\r\n            message: messageParser,\r\n            property: propertyParser\r\n        };\r\n    };\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor function.\r\n     */\r\n    ValidationRules.ensure = function (property) {\r\n        return new FluentEnsure(ValidationRules.parsers).ensure(property);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    ValidationRules.ensureObject = function () {\r\n        return new FluentEnsure(ValidationRules.parsers).ensureObject();\r\n    };\r\n    /**\r\n     * Defines a custom rule.\r\n     * @param name The name of the custom rule. Also serves as the message key.\r\n     * @param condition The rule function.\r\n     * @param message The message expression\r\n     * @param argsToConfig A function that maps the rule's arguments to a \"config\"\r\n     * object that can be used when evaluating the message expression.\r\n     */\r\n    ValidationRules.customRule = function (name, condition, message, argsToConfig) {\r\n        validationMessages[name] = message;\r\n        FluentRules.customRules[name] = { condition: condition, argsToConfig: argsToConfig };\r\n    };\r\n    /**\r\n     * Returns rules with the matching tag.\r\n     * @param rules The rules to search.\r\n     * @param tag The tag to search for.\r\n     */\r\n    ValidationRules.taggedRules = function (rules, tag) {\r\n        return rules.map(function (x) { return x.filter(function (r) { return r.tag === tag; }); });\r\n    };\r\n    /**\r\n     * Returns rules that have no tag.\r\n     * @param rules The rules to search.\r\n     */\r\n    ValidationRules.untaggedRules = function (rules) {\r\n        return rules.map(function (x) { return x.filter(function (r) { return r.tag === undefined; }); });\r\n    };\r\n    /**\r\n     * Removes the rules from a class or object.\r\n     * @param target A class or object.\r\n     */\r\n    ValidationRules.off = function (target) {\r\n        Rules.unset(target);\r\n    };\r\n    return ValidationRules;\r\n}());\n\n// Exports\r\n/**\r\n * Configures the plugin.\r\n */\r\nfunction configure(\r\n// tslint:disable-next-line:ban-types\r\nframeworkConfig, callback) {\r\n    // the fluent rule definition API needs the parser to translate messages\r\n    // to interpolation expressions.\r\n    var messageParser = frameworkConfig.container.get(ValidationMessageParser);\r\n    var propertyParser = frameworkConfig.container.get(PropertyAccessorParser);\r\n    ValidationRules.initialize(messageParser, propertyParser);\r\n    // configure...\r\n    var config = new GlobalValidationConfiguration();\r\n    if (callback instanceof Function) {\r\n        callback(config);\r\n    }\r\n    config.apply(frameworkConfig.container);\r\n    // globalize the behaviors.\r\n    if (frameworkConfig.globalResources) {\r\n        frameworkConfig.globalResources(ValidateBindingBehavior, ValidateManuallyBindingBehavior, ValidateOnBlurBindingBehavior, ValidateOnChangeBindingBehavior, ValidateOnChangeOrBlurBindingBehavior, ValidationErrorsCustomAttribute, ValidationRendererCustomAttribute);\r\n    }\r\n}\n\nexport { configure, GlobalValidationConfiguration, getTargetDOMElement, getPropertyInfo, PropertyAccessorParser, getAccessorExpression, ValidateBindingBehavior, ValidateManuallyBindingBehavior, ValidateOnBlurBindingBehavior, ValidateOnChangeBindingBehavior, ValidateOnChangeOrBlurBindingBehavior, ValidateEvent, ValidateResult, validateTrigger, ValidationController, ValidationControllerFactory, ValidationErrorsCustomAttribute, ValidationRendererCustomAttribute, Validator, Rules, StandardValidator, validationMessages, ValidationMessageProvider, ValidationMessageParser, MessageExpressionValidator, FluentRuleCustomizer, FluentRules, FluentEnsure, ValidationRules };\n","import { Api } from \"../services/api\";\nimport { inject } from \"aurelia-framework\";\n\n\n@inject(Api)\nexport class Advices {\n  constructor(api) {\n    this.api = api;\n    this.startUpdateInterval = false;\n    this.updateIntervalDuration = 30 * 60 * 1000;\n    this.targetRoutes = [\n      {\n        code: 'DASHBOARD',\n        href: 'dashboard',\n        text: \"Dashboard\",\n      },\n      {\n        code: 'CASHBACK',\n        href: \"cashback/contracts\",\n        text: 'Sezione contratti cashback'\n      },\n      {\n        code: 'FLAT-SERVICE-SUBSCRIPTIONS',\n        href: 'servizi/abbonamenti',\n        text: 'Sezione attivazione servizi'\n      },\n      {\n        code: 'QUEUE-REPORTS',\n        href: 'spedizioni/reportistica',\n        text: 'Sezione spedizioni reportistica'\n      },\n      {\n        code : \"SUBUSERS-PROFILES\",\n        href : \"anagrafiche/utenti\",\n        text : \"Sezione anagrafiche utenti\"\n      }\n    ]\n  }\n\n  get activeAdvices() {\n    return JSON.parse(localStorage.getItem('wall-advices')) || [];\n  }\n\n  set activeAdvices(value) {\n    return localStorage.setItem('wall-advices', JSON.stringify(value));\n  }\n\n  async initialize() {\n    if (this.updateInterval) return;\n    this.updateInterval = setInterval(() => {\n      this.updateAdvices();\n    }, this.updateIntervalDuration);\n    return await this.updateAdvices();\n  }\n\n  async updateAdvices() {\n    return await this.api.get(\"users/me/wall-advices\").then((xhr) => {\n      const newAdvices = [];\n      xhr.response.forEach(advice => {\n        if (!this.activeAdvices.some(x => x.id === advice.id)) {\n          advice.hasBeenSeen = false;\n          newAdvices.push(advice);\n        };\n      })\n      return this.activeAdvices = [...this.activeAdvices, ...newAdvices];\n    }).catch((error) => {\n      console.error(\"Error updating user advices list\", error);\n    })\n  }\n  \n  get(fragment) {\n    const route = this.targetRoutes.find(route => route.href === fragment);\n    if (!route) return;\n    const targetAdvices = this.activeAdvices.filter(advice => advice.targetCodes.includes(route.code) && !advice.hasBeenSeen);\n    return targetAdvices.length ? targetAdvices : null;\n  }\n\n  remove(advice) {\n    this.activeAdvices = this.activeAdvices.filter(x => x.id !== advice.id);\n  }\n  setAsSeen(advice) {\n    this.activeAdvices = this.activeAdvices.map(x => {\n      if (x.id === advice.id) x.hasBeenSeen = true;\n      return x;\n    });\n  }\n}","import moment from 'moment';\n\nexport async function checkAgreements(scope, fragment) {\n  const storagePrefix = `u${scope.data.id}-eula`;\n  const currentTimestamp = moment().utc();\n  const expiryTimestamp = localStorage.getItem(`${storagePrefix}-exp`);\n  \n  if (expiryTimestamp&& expiryTimestamp > currentTimestamp.format()) return checkResult(true);\n  if (['/impostazioni/agreements'].includes(fragment)) return checkResult(false);\n  const response = await scope.rest.get('users/me/user-agreements/current');\n  console.log(JSON.stringify(response));\n  if (response.status === 401) return checkResult(true);\n  if (response.status >= 404 && response.status <= 410) {\n    localStorage.setItem(`${storagePrefix}-exp`, currentTimestamp.add(24, 'hours').format());\n    return checkResult(true);\n  }\n  if (response.status === 200) {\n    await new Promise((resolve) => {\n      scope.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'alert',\n        body: 'È necessario accettare i termini e le clausole di utilizzo obbligatorie'\n      }).whenClosed(() => {\n        resolve();\n      });\n    });\n    localStorage.removeItem(`${storagePrefix}-href`);\n    if (!['/', '/login', '/logout'].includes(location.pathname)) {\n      localStorage.setItem(`${storagePrefix}-href`, sanitizeUrl(location.href));\n    }\n    return checkResult(false, '/impostazioni/agreements');\n  }\n  console.warn('[checkAgreements] Unhandled response status code!');\n  return checkResult(false);\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n\nexport function sanitizeUrl(url) {\n  url = new URL(url);\n  const params = new URLSearchParams(url.search);\n  params.delete('st'); // Eventually remove service token passed from legacy frontend\n  url.search = params.toString();\n  return url.href;\n}\n","export async function checkPlatformMessages(scope, fragment) {\n  const platformMessages = await scope.rest.get(`users/me/user-platform-messages`);\n  platformMessages?.data?.data?.forEach?.((platformMessage, index) => {\n    const content = {\n      uuid: platformMessage.id,\n      ...platformMessage.attributes\n    };\n    setTimeout(() => {\n      toastPlatformMessage(scope, content);\n    }, 0);\n  });\n  return checkResult(true);\n}\n\nexport function toastPlatformMessage(scope, platformMessage) {\n  const styleMessageText = '';\n  const styleMessageLink = 'display: block; color: #ffa150; text-decoration-color: rgba(#ffa150, .5)';\n  const message = `<p><span style=\"${styleMessageText}\">${platformMessage?.text}</span><a data-action=\"closure\" href=\"${platformMessage?.link}\" style=\"${styleMessageLink}\">${platformMessage?.linkText}</a></p>`;\n  return scope.mdToast.init({\n    message,\n    hold: true,\n    uuid: platformMessage.uuid,\n    elementClass: 'platform-messages',  \n    icon: '<i style=\"color: #FFAA00; animation: pulse .4s linear infinite\" class=\"far fa-alarm-exclamation\"></i>'\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkSettingsLinkedSoftware(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/.+/.test(fragment)) return checkResult(false, fragment);\n  const response = await scope.rest.get('users/me/advanced-preferences');\n  if (response.status !== 200) return checkResult();\n  if (!!response.data?.data?.attributes?.multifatture?.accountingClientSoftwareUuid) {\n    return checkResult(true);\n  } \n  await dialogMissingBillingProfile(scope);\n  return checkResult(false, '/anagrafiche/utenti/me/impostazioni');\n}\n\nexport function dialogMissingBillingProfile(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      class: 'small',\n      title: 'Attenzione!',\n      body: 'È necessario impostare il software gestionale utilizzato per la gestione della contabilità'\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserBillingProfile(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/.+/.test(fragment)) return checkResult(false, fragment);\n  const response = await scope.rest.get('users/me/billing-profiles');\n  if (response.status !== 200) return checkResult();\n  if (response.data?.data?.length) return checkResult(true);\n  await dialogMissingBillingProfile(scope);\n  return checkResult(false, '/anagrafiche/utenti/me/fatturazione');\n}\n\nexport function dialogMissingBillingProfile(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      class: 'small',\n      title: 'Attenzione!',\n      body: 'È necessario impostare un profilo di fatturazione'\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserProfileData(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/anagrafica/.test(fragment)) return checkResult(false, fragment);\n  const profile = scope.data.profile;\n  const missingProperties = [];\n  const requiredProperties = ['businessType', 'companyLegalFormCode', 'countryCode'];\n  if (profile.location?.countryCode === 'IT') {\n    requiredProperties.push('admLvl1', 'admLvl2', 'admLvl3', 'streetAddress', 'zipCode');\n  }\n  requiredProperties.forEach((property) => {\n    const profileProperty = profile[property] || profile.location?.[property];\n    if (!(profileProperty || '').trim().length) missingProperties.push(property);\n  });\n  if (missingProperties.length) {\n    await dialogMissingProperties(scope, missingProperties);\n    return checkResult(false, '/gestione/profilo/me/anagrafica');\n  }\n  return checkResult(true);\n}\n\nexport function dialogMissingProperties(scope, missingProperties) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      title: `Dati profilo utente incompleti`,\n      class: 'small',\n      viewModelParams: missingProperties,\n      viewModel: PLATFORM.moduleName('views/accesso/dialog-missing-properties')\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserProfilePec(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/anagrafica/.test(fragment)) return checkResult(true, fragment);\n\n  if (!/(\\/dashboard|\\/reportistica)/.test(fragment)) return checkResult(true);\n\n  const profile = scope.data.profile;\n  const hasPecCheckPassed = sessionStorage.getItem('hasPecCheckPassed') === 'true';\n\n  if (!profile.pec && !hasPecCheckPassed) {\n    await dialogMissingPec(scope);\n    return checkResult(false, '/gestione/profilo/me/anagrafica');\n  }\n\n  return checkResult(true);\n}\n\nexport function dialogMissingPec(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      title: `Aggiornamento anagrafica`,\n      class: 'small',\n      body: 'Per migliorare la comunicazione e rendere più chiari gli accordi, vi chiediamo di compilare il <strong>campo PEC.</strong>'\n    }).whenClosed(() => {\n      sessionStorage.setItem('hasPecCheckPassed', 'true');\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export { checkAgreements } from './check-agreements';\nexport { checkUserProfilePec } from './check-user-profile-pec';\nexport { checkUserProfileData } from './check-user-profile-data';\nexport { checkPlatformMessages } from './check-platform-messages';\nexport { checkUserBillingProfile } from './check-user-billing-profile';\nexport { checkSettingsLinkedSoftware } from './check-settings-linked-software';\n\nexport class CheckFlow {\n  constructor() {\n    this.checks = [];\n  }\n\n  addCheck(check) {\n    if (typeof check.function !== 'function') throw new Error(\"Check function must be a function!\");\n    check.id = check.function.name;\n    const matched = this.checks.find((x) => x.id === check.id);\n    if (matched) return matched;\n    this.checks.push(check);\n    return check;\n  }\n\n  getCheck(functionName) {\n    return this.checks.find((check) => check.function.name === functionName);\n  }\n  \n  async run(scope, fragment) {\n    for (const check of this.checks) {\n      console.debug(`[checkflow-run] Run check ${check.id}`, {...check});\n\n      if (['checkUserBillingProfile', 'checkSettingsLinkedSoftware'].includes(check.id)) {\n        const isBuildingAdministrator = scope.data?.profile?.businessType === 'BUILDING-ADMINISTRATOR';\n        check.isMandatory = isBuildingAdministrator;\n      }\n\n      if (check.hasPassed || (check.hasPassed === false && !check.isMandatory && (!check.redirect || check.redirect !== fragment))) {\n        console.debug(`[checkflow-run] Skip check ${check.id}`, {...check});\n        continue;\n      }\n      const result = await check.function(scope, fragment);\n      Object.assign(check, result);\n      console.debug(`[checkflow-run] Executed check ${check.id}`, {...check});\n      if (!check.hasPassed && (check.isMandatory || !!check.redirect)) return check;\n    }\n    return { hasPassed: true };\n  }\n}\n","import { DateFormatValueConverter } from \"../resources/value-converters/date-format\";\n\nexport class MavRequest {\n  dateFormat;\n  isOperator;\n  statuses = {\n    'PENDING-DOCUMENT-INTERNAL-APPROVAL': {\n      class: 'pending',\n      shortText: '',\n      text: 'Attesa approvazione interna'\n    },\n    'PENDING-DOCUMENT-DOWNLOAD': {\n      class: 'pending',\n      text: 'Attesa approvazione bancaria'\n    },  \n    'PENDING-APPROVAL': {\n      class: 'pending',\n      text: 'Attesa approvazione bancaria'\n    },\n    'PENDING-ACTIVATION': {\n      class: 'pending',\n      text: 'Attesa attivazione'\n    },\n    'ACTIVE': {\n      class: 'success',\n      text: 'Richiesta attivata'\n    },\n    'REFUSED': {\n      class: 'error',\n      text: 'Richiesta rifiutata'\n    },\n    'DELETED': {\n      class: 'deleted',\n      text: 'Richiesta dismessa'\n    }\n  }\n\n  constructor(isOperator) {\n    this.isPrivilegedUser = isOperator;\n    this.dateFormat = new DateFormatValueConverter();\n  }\n  \n  displayText(record) {\n    const statuses = {\n      ...this.statuses,\n      'NONE': {\n        class: 'deleted',\n        text: 'Richiesta dismessa'\n      }\n    };\n    const status = record.status || record.payments?.banking?.mavSelfPrintingAuthorizationStatus;\n    if (status && Object.keys(statuses).includes(status)) {\n      if (this.isPrivilegedUser) {\n        if (status === 'PENDING-ACTIVATION') {\n          const approvalDate = record.approvedAt || record.payments?.banking?.mavApprovedAt || '(N.D)';\n          if (approvalDate) return `${this.statuses['PENDING-ACTIVATION'].text} (approvata il ${this.dateFormat.toView(approvalDate, 'DD/MM/YYYY')})`;\n        } else if (status === 'ACTIVE') {\n          const activationDate = record.activatedAt || record.payments?.banking?.mavActivatedAt || '(N.D)';\n          if (activationDate) return `${this.statuses['ACTIVE'].text} il ${this.dateFormat.toView(activationDate, 'DD/MM/YYYY')}`;\n        } else if (['NONE','DELETED'].includes(status)) {\n          const deletionDate = record.deletedAt || record.payments?.banking?.mavDeletedAt || '(N.D)';\n          return `${this.statuses['DELETED'].text} il ${this.dateFormat.toView(deletionDate, 'DD/MM/YYYY')}`;\n        } else if (status === 'REFUSED') {\n          const rejectionDate = record.refusedAt || record.payments?.banking?.mavRefusedAt || '(N.D)';\n          return `${this.statuses['REFUSED'].text} il ${this.dateFormat.toView(rejectionDate, 'DD/MM/YYYY')}`;\n        }\n      }\n      return this.statuses[status].text;\n    }\n  }\n\n  setDatasourceMavAuthorizationStatus(datasource = [], statusesRemoved = []) {\n    datasource.unshift({ status: 'null', text: 'Qualsiasi' });\n    Object.entries(this.statuses).forEach((status) => {\n      const [key, value] = status;\n      if (!statusesRemoved.includes(key)) {\n        if (['PENDING-APPROVAL', 'PENDING-DOCUMENT-DOWNLOAD'].includes(key)) {\n          if (!datasource.some((obj) => 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD' === obj.status)) {\n            datasource.push({ status: 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD', text: value.text });\n          }\n        } else {\n          datasource.push({ status: key, text: value.text });\n        } \n      }\n    });\n    return datasource;\n  }\n}\n","import { inject, CompositionEngine, Container, ViewSlot } from 'aurelia-framework';\nimport { KaDialog } from 'ka-components';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\nexport class TableInterface {\n  inizialized = false;\n  configurables = ['name', 'client', 'endpoint', 'query', 'data', 'limit'];\n  endpoint = null;\n  query = null;\n  limit = 10;\n  offset = 0;\n  total = 0;\n  sort = null;\n  data = null;\n  isLoading = false;\n\n  constructor(config) {\n    // Thisify config\n    for (let attribute of this.configurables) {\n      if (typeof config[attribute] !== 'undefined') {\n        this[attribute] = config[attribute];\n      } else if (typeof this[attribute] === 'undefined') throw new Error(`TableInterface construct fail! Missing required configuration attribute \"${attribute}\"`);\n    }\n    // Get session stored data\n    Object.assign(this, JSON.parse(sessionStorage.getItem(btoa(`${this.name}-data`))) || {});\n\n    // Custom events\n    this.events = document.createTextNode(null);\n    this.events.dataLoad = new CustomEvent('dataLoad', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n\n  }\n\n  initialize() {\n    let promises = []; // promises.push(this.api.get());\n    return Promise.all(promises).then(xhrs => {\n      this.initialized = true;\n      console.log('TableInterface initialized');\n    }).catch(error => {\n      console.error('TableInterface initialization failed', error);\n    });\n  }\n\n  load(params = null, sort = null) {\n    if (!this.initialized) return Promise.reject('TableInterface was not yet initialized when the load() function was called!');\n    this.isLoading = true;\n    \n    // Handle query params\n    let query = new URLSearchParams('');\n    if (params) {\n      query = new URLSearchParams(this.query || '');\n      for (const [key, value] of Object.entries(params)) {\n        query.set(key, value);\n      }\n    } else if (this._query) {\n      query = new URLSearchParams(this._query);\n    } else if (this.query) {\n      query = new URLSearchParams(this.query);\n    }\n    this._query = query.toString();\n    \n    // Handle sort\n    this.sort = sort || this.sort || [];\n    let sorts = [];\n    this.sort.forEach(item => {\n      sorts.push(`${item.order === 'desc' ? '-' : ''}${item.name}`);\n    });\n    if (sorts.length) {\n      sorts = sorts.join(',');\n      query.set('sort', sorts);\n    }\n\n    // Handle limit and offset\n    if (this.limit) query.set('limit', this.limit);\n    if (this.offset) query.set('offset', this.offset);\n\n    if (this.loadRequest && this.loadRequest.cancel) {\n      this.loadRequest.cancel();\n    }\n\n    // Finally make the api call\n    this.events.dispatchEvent(this.events.dataLoad);\n    this.loadRequest = this.client.get(`${this.endpoint}?${this.parseQuery(query)}`);\n    return this.loadRequest.then(xhr => {\n      this.data = this.parseResponse(xhr.response);\n      this.total = (xhr.headers && xhr.headers.headers && xhr.headers.headers['x-total-count']) ? xhr.headers.headers['x-total-count'].value : this.data.length;\n      sessionStorage.setItem(btoa(`${this.name}-data`), JSON.stringify({ limit: this.limit, offset: this.offset, sort: this.sort }));\n      this.events.dataLoaded.xhr = xhr;\n      this.events.dispatchEvent(this.events.dataLoaded);\n      this.isLoading = false;\n      return xhr;\n    }, xhr => {\n      this.client?.dialogError?.(xhr, this.searchInterface?.controls || {});\n    }).catch(error => {\n      console.error(error);\n      this.data = null;\n      this.isLoading = false;\n    });\n  }\n\n  reset() {\n    this.data = null;\n    this.total = 0;\n  }\n\n  parseQuery(query) {\n    return query;\n  }\n\n  parseResponse(response) {\n    return response;\n  }\n}\n\nexport class SearchInterface {\n  active = false; // Used for highlighting search icon on table\n  inizialized = false;\n  configurables = ['name', 'table', 'schema', 'data'];\n  controls = {}; // Contains auto-referenced controls\n  last = { params: {} } // Reference to last search query\n\n  constructor(config) {\n    // Thisify config\n    for (let attribute of this.configurables) {\n      if (typeof config[attribute] !== 'undefined') {\n        this[attribute] = config[attribute];\n      } else if (typeof this[attribute] === 'undefined') throw new Error(`SearchInterface construct fail! Missing required configuration attribute \"${attribute}\"`);\n    }\n    // Get session stored data\n    this.data = JSON.parse(sessionStorage.getItem(btoa(`${this.name}-data`))) || this.data || {};\n    // Self reference inside TableInterface\n    if (this.table) this.table.searchInterface = this;\n  }\n\n  initialize() {\n    let promises = []; // promises.push(this.api.get());\n    return Promise.all(promises).then(xhrs => {\n      this.initialized = true;\n    }).catch(error => {\n      console.error('SearchInterface initialization failed', error);\n    });\n  }\n\n  validate(controls = null) {\n    let promises = [];\n    controls = controls || Object.values(this.controls);\n    controls.forEach(control => {\n      if (control && control.value !== undefined) { // Control can be null if in the meantime view removes it (eg: with an if.bind)\n        if (control.setError) control.setError(); // Reset in case control is a ka-control (not ka-input) and there is already an error manually attached to the control\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }).catch(error => reject(error)); }));\n      }\n    });\n    return Promise.all(promises);\n  }\n\n  search(data) {\n    if (!this.initialized) return Promise.reject('SearchInterface was not yet initialized when the search() function was called!');\n    let params = {};\n    return new Promise((resolve, reject) => {\n      this.validate().then(() => {\n        for (let [k,v] of Object.entries(data || this.data)) {\n          if (v && v !== 'null' && this.schema[k]?.query) {\n            if (this.schema[k].control === 'date' && this.schema[k].query.includes('-gte')) {\n              v = moment.utc(v).local().startOf('day').utc().format();\n            } else if (this.schema[k].control === 'date' && this.schema[k].query.includes('-lte')) {\n              v = moment.utc(v).local().endOf('day').utc().format();\n            }\n            params[this.schema[k].query] = encodeURIComponent(v);\n          }\n        }\n        if (sessionStorage.getItem(btoa(`${this.name}-data`)) !== JSON.stringify(this.data)) {\n          sessionStorage.setItem(btoa(`${this.name}-data`), JSON.stringify(this.data));\n          this.table.offset = 0; // Reset offset only if search data has changed\n        }\n        if (Object.keys(params).length) {\n          this.active = true;\n          this.last.params = params;\n          this.table.load(params).then(xhr => resolve(xhr)).catch(error => reject(error));\n        } else {\n          this.active = false;\n          this.last.params = {};\n          this.table.load({}).then(xhr => resolve(xhr)).catch(error => reject(error)); //return this.reset(); // Not sure what it is for...\n        }\n      }).catch(error => reject(error));\n    });\n  }\n\n  reset(soft = false, load = true) {\n    for (let key of Object.keys(this.data)) { this.data[key] = null; }\n    if (!soft) {\n      sessionStorage.removeItem(btoa(`${this.name}-data`));\n      this.table.offset = 0;\n      this.active = false;\n      this.last.params = {};\n      if (load) return this.table.load({});\n    }\n    return Promise.resolve();\n  }\n}\n\n@inject(CompositionEngine, Container)\nexport class TableSidebar {\n  constructor(compositionEngine, container) {\n    this.compositionEngine = compositionEngine;\n    this.container = container;\n  }\n  open(params) {\n    if (this.isOpen) return this.close();\n\n    // Add backdrop\n    this.backdrop = document.createElement('div');\n    this.backdrop.classList.add('md-table-backdrop');\n    this.backdrop.addEventListener('click', event => { if (event.target === this.backdrop) this.close(); });\n    document.getElementsByTagName('body')[0].insertBefore(this.backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    // Add sidebar\n    this.sidebar = document.createElement('div');\n    this.sidebar.classList.add('md-table-sidebar', 'off');\n    this.backdrop.appendChild(this.sidebar);\n\n    // Compose\n    this.context = {\n      container: this.container.createChild(),\n      viewModel: params.viewModel,\n      model: params.viewModelParams,\n      host: this.sidebar,\n      bindingContext: null,\n      viewResources: null,\n      viewSlot: new ViewSlot(this.sidebar, true)\n    };\n    this.compositionEngine.compose(this.context).then(composition => {\n      this.composition = composition;\n      this.composition.viewModel.close = () => { this.close(); };\n      this.context.viewSlot.attached();\n      // Timeout used for css transition\n      setTimeout(() => { this.sidebar.classList.remove('off'); }, 100);\n      this.isOpen = true;\n    });\n  }\n  close() {\n    // Timeout used for css transition\n    this.sidebar.classList.add('off');\n    setTimeout(() => {\n      document.getElementsByTagName('body')[0].removeChild(this.backdrop);\n      this.context.viewSlot.detached();\n      this.isOpen = false;\n    }, 500);\n  }\n}\n\nexport class TableSelectionInterface {\n  selectedRecords;\n  selectedCount = 0;\n  recordsByUuid = {};\n  selectEveryVisibleRecordSelected = false;\n\n  constructor(config) {\n    this.table = config.table;\n    this.addLoadSuccessListener();\n  }\n  addLoadSuccessListener() {\n    return this.table.events.addEventListener('dataLoaded', () => {\n      this.table.data.forEach((record) => {\n        record._selection = Object.assign({ isDisabled: false, isSelected: false }, this.recordsByUuid[record.id]?._selection || {});\n        this.recordsByUuid[record.id] = record;\n      });\n      this.selectEveryVisibleRecordSelected = this.isEveryVisibleRecordSelected();\n    });\n  }\n  changeSelectedRecords() {\n    this.setSelectedRecords();\n    this.setSelectedCount();\n    this.selectEveryVisibleRecordSelected = this.isEveryVisibleRecordSelected();\n  }\n  changeSelectEveryVisibleRecordSelected() {\n    this.table?.data.forEach((record) => {\n      if (!record._selection.isDisabled) record._selection.isSelected = this.selectEveryVisibleRecordSelected;\n    });\n    this.setSelectedRecords();\n    this.setSelectedCount();\n  }\n  setSelectedCount() {\n    this.selectedCount = this.selectedRecords?.length;\n  }\n  setSelectedRecords() {\n    this.selectedRecords = Object.values(this.recordsByUuid).filter((record) => record._selection.isSelected);\n  }\n  isEveryVisibleRecordDisabled() {\n    return this.table.data?.every((record) => record._selection.isDisabled);\n  }\n  isEveryVisibleRecordSelected() {\n    return this.table.data?.filter((record) => !record._selection.isDisabled).every((record) => record._selection.isSelected);\n  }\n  reset(hard) {\n    return Object.values(this.recordsByUuid).forEach((record) => {\n      if (hard) {\n        record._selection.isDisabled = false;\n        record._selection.isSelected = false;\n      }\n      this.selectEveryVisibleRecordSelected = false;\n      Object.keys(record._selection).filter((key) => !['isDisabled'].includes(key)).forEach((key) => {\n        record._selection[key] = null;\n      });\n    });\n  }\n}\n","import { v4 as uuidv4 } from 'uuid';\n\nexport class MdToast {\n  uuid;\n  stack = [];\n  holdedElement;\n  duration = 15000;\n  transition = 800;\n\n  init(config = { message: '', elementClass: '' }) {\n    this.uuid = config.uuid || uuidv4();\n    this.stack.push(config);\n    this.duration = config.duration || this.duration;\n    if (!this.holdedElement) {\n      this.create(config);\n    }\n  }\n  platformMessages(currentStack, element) {\n    const html = `<div class=\"icon-box\">${currentStack.icon}</div><div class=\"content-box\">${currentStack.message}</div><div class=\"closure-box\"></div>`;\n    element.innerHTML = html;\n    if (element && element instanceof HTMLElement) {\n      const closureTag = element?.querySelector('.closure-box');\n      const dataActionClosure = element?.querySelector('a[data-action=\"closure\"]');\n      closureTag?.addEventListener?.('click', (event) => {\n        this.consume(currentStack);\n        closureTag.removeEventListener('click', closureTag);\n      });\n      dataActionClosure?.addEventListener?.('click', (event) => {\n        this.consume(currentStack);\n        dataActionClosure.removeEventListener('click', dataActionClosure);\n      });\n    }\n  }\n  create(currentStack) {\n    if (currentStack) {\n      const routerView = document.querySelector('body > router-view');\n\n      let element = document.createElement('div');\n      element.id = this.uuid;\n      element.classList.add('md-toast');\n      element.classList.add(currentStack?.elementClass);\n      element.setAttribute('data-hold', currentStack?.hold, this.uuid);\n  \n      if (currentStack?.elementClass === 'platform-messages') this.platformMessages(currentStack, element);\n      else element.innerHTML = currentStack?.message;\n      this.holdedElement = element;\n      routerView?.append(element);\n  \n      setTimeout(() => {\n        element.classList.add('visible');\n        setTimeout(() => {\n          if (this.holdedElement?.getAttribute?.('data-hold') === 'false') {\n            this.consume(currentStack);\n          }\n        }, this.duration);\n      }, this.transition);\n    }\n  }\n  consume(currentStack) {\n    if (this.holdedElement?.id === currentStack?.uuid) {\n      this.holdedElement?.classList?.remove?.('visible');\n      setTimeout(() => {\n        this.holdedElement?.remove();\n        if (this.stack?.length) {\n          this.stack.shift();\n          this.create(this.stack[0]);\n        }\n      }, this.transition);\n    }\n  }\n}\n","export class FidelityCardsModel {\n  statuses = {\n    'ACTIVE': {\n      label: 'Attiva',\n      class: 'success',\n    },\n    'EXPIRED': {\n      class: 'error',\n      label: 'Scaduta',\n    },\n    'RESCINDED': {\n      class: 'error',\n      label: 'Scaduta',\n    },\n    'TERMINATED': {\n      class: 'error',\n      label: 'Terminata',\n    },\n    'GRACE-PERIOD': {\n      class: 'pending',\n      label: 'Periodo di tolleranza',\n    }\n  };\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  // Http functions\n  activation(card) {\n    const path = 'users/me/fidelity-card-activations';\n    const fidelityCardPriceListUuid = card.priceListUuid;\n    return this.api.post(path, { fidelityCardPriceListUuid }).then(() => {\n      this.toast.show('Attivazione avvenuta con successo', 'success');\n    }).catch((error) => {\n      console.log('fidelityCardActivations', error);\n      this.api.dialogError(error);\n    });\n  }\n  renew(card) {\n    const path = `users/me/fidelity-card-activations/${card.activationUuid}/renewals`;\n    return this.api.post(path, {}).then(() => {\n      this.toast.show('Rinnovo avvenuto con successo', 'success');\n    }).catch((error) => {\n      console.log('fidelityCardRenewals', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n","export class QueueMessages {\n  queueMessageStatusCodes;\n\n  setQueueMessageStatusCodes(client) {\n    return client?.get(`queue-message-status-codes`).then((xhr) => {\n      this.queueMessageStatusCodes = this.parseQueueMessageStatusCodes(xhr.response);\n    });\n  }\n  parseQueueMessageStatusCodes(response = []) {\n    response.forEach((record, index) => {\n      response[index] = {\n        ...record,\n        statusGroupValue: record.statusGroup.value,\n        statusGroupLabel: record.statusGroup.label,\n      };\n      delete response[index].statusGroup;\n    });\n    return response;\n  }\n\n  getQueueMessageStatusCodeGroupValue(statusCode = null) {\n    const statusGroupValue = this.queueMessageStatusCodes.find((record) => record.code === statusCode)?.statusGroupValue;\n    return statusGroupValue.toLowerCase();\n  }\n  getQueueMessageStatusCodeGroupLabel(statusCode = null) {\n    const statusGroupLabel = this.queueMessageStatusCodes.find((record) => record.code === statusCode)?.statusGroupLabel;\n    return statusGroupLabel;\n  }\n  getQueueMessageStatusCodeLabel(statusCode = null) {\n    const statusLabel = this.queueMessageStatusCodes.find((record) => record.code === statusCode)?.label;\n    return statusLabel;\n  }\n}\n","export class QueueProperties {\n  statuses = [\n    {\n      key: 'COMPLETED',\n      text: 'Completata',\n      group: 'Completata',\n      value: 'COMPLETED',\n      class: 'success'\n    },\n    {\n      key: 'PENDING',\n      text: 'In elaborazione',\n      value: 'PENDING',\n      class: 'pending'\n    },\n    {\n      key: 'ABANDONED',\n      text: 'Scaduta',\n      group: 'Annullata',\n      value: 'ABANDONED',\n      class: 'abandoned' \n    },\n    {\n      key: 'ABORTED-BY-USER',\n      text: 'Rifiutata',\n      group: 'Annullata',\n      value: 'ABORTED-BY-USER',\n      class: 'refused'   \n    },\n    {\n      key: 'DISPATCH-ERROR',\n      text: 'Errore di elaborazione',\n      group: 'Annullata',\n      value: 'DISPATCH-ERROR',\n      class: 'error'\n    },\n    {\n      key: 'DISCONTINUED',\n      text: 'Consegna interrotta',\n      value: 'DISCONTINUED',\n      class: 'discontinued'\n    }\n  ];\n  channels = [\n    {\n      value: 'SENDPOSTA',\n      text: 'Posta',\n      icon: 'fa-mail-bulk'\n    },\n    {\n      value: 'SENDEMAIL',\n      text: 'Email',\n      icon: 'fa-at'\n    },\n    {\n      value: 'PEC',\n      text: 'Pec',\n      icon: 'fa-file-certificate'\n    },\n    {\n      value: 'MULTICERTA',\n      text: 'Multicerta',\n      icon: 'fa-shield-check'\n    },\n    {\n      value: 'MULTIBOX',\n      text: 'Multibox',\n      icon: 'fa-box-alt'\n    }\n  ];\n  uuidQueueToUpdate;\n  update(client, record) {\n    return client.createRequest(`users/${record.owner.id}/queue-outlines/${record.uuid}`).asGet().withHeader('Prefer', 'Refresh').send();\n  }\n}\n","//import environment from '../config/environment.json';\nexport default ENVIRONMENT;","import '@babel/polyfill';\nimport { PLATFORM } from 'aurelia-pal';\nimport ENVIRONMENT from './environment';\n\nexport function configure(aurelia) {\n  aurelia.use\n    .standardConfiguration()\n    .globalResources([\n      PLATFORM.moduleName('resources/elements/md-input/md-input'),\n      PLATFORM.moduleName('resources/value-converters/striphtml'),\n      PLATFORM.moduleName('resources/value-converters/stringify'),\n      PLATFORM.moduleName('resources/elements/md-loader/md-loader'),\n      PLATFORM.moduleName('resources/value-converters/date-format'),\n      PLATFORM.moduleName('resources/elements/km-layout/km-layout'),\n      PLATFORM.moduleName('resources/value-converters/combo-format'),\n      PLATFORM.moduleName('resources/value-converters/append-comma'),\n      PLATFORM.moduleName('resources/elements/md-counter/md-counter'),\n      PLATFORM.moduleName('resources/elements/md-control/md-control'),\n      PLATFORM.moduleName('resources/value-converters/object-format'),\n      PLATFORM.moduleName('resources/elements/md-prefsel/md-prefsel'),\n      PLATFORM.moduleName('resources/elements/md-resource/md-resource'),\n      PLATFORM.moduleName('resources/value-converters/filesize-format'),\n      PLATFORM.moduleName('resources/attributes/md-tooltip/md-tooltip'),\n      PLATFORM.moduleName('resources/elements/md-nav-utenti/md-nav-utenti'),\n      PLATFORM.moduleName('resources/elements/md-table-sort/md-table-sort'),\n      PLATFORM.moduleName('resources/value-converters/queue-status-format'),\n      PLATFORM.moduleName('resources/value-converters/queue-channel-format'),\n      PLATFORM.moduleName('resources/elements/md-input-array/md-input-array'),\n      PLATFORM.moduleName('resources/attributes/static-tooltip/static-tooltip'),\n      PLATFORM.moduleName('resources/elements/md-table-toolbar/md-table-toolbar'),\n      PLATFORM.moduleName('resources/elements/md-table-wrapper/md-table-wrapper'),\n      PLATFORM.moduleName('resources/elements/md-table-pagination/md-table-pagination'),\n      PLATFORM.moduleName('resources/elements/md-accordion-button/md-accordion-button'),\n      PLATFORM.moduleName('resources/elements/md-table-progressbar/md-table-progressbar')\n    ])\n    .plugin(PLATFORM.moduleName('ka-components'))\n    .plugin(PLATFORM.moduleName('aurelia-dialog'))\n    .plugin(PLATFORM.moduleName('aurelia-validation'))\n    .plugin(PLATFORM.moduleName('aurelia-http-client'))\n\n  aurelia.use.developmentLogging(ENVIRONMENT.APP_DEBUG === 'true' ? 'debug' : 'warn');\n  aurelia.start().then(() => {\n    aurelia.setRoot(PLATFORM.moduleName('views/app/app'), document.body);\n  });\n}\n","import {inject, customAttribute} from 'aurelia-framework';\n\n@customAttribute('md-tooltip')\n@inject(Element)\nexport class MdTooltipCustomAttribute {\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {\n    if (!this.element.tagName) return;\n    let target = this.element;\n    let icon = document.createElement('i');\n    icon.classList.add('tooltip-icon', 'material-icons');\n    icon.textContent = 'help';\n    setTimeout(() => {\n      if (['md-input', 'ka-input'].includes(this.element.tagName.toLowerCase())) {\n        target = icon;\n        let container = this.element.querySelector('label') || this.element.querySelector('.ka-input-checkbox-description');\n        container.append(icon);\n      } else if (['md-control', 'ka-control'].includes(this.element.tagName.toLowerCase())) {\n        target = icon;\n        let container = this.element.querySelector('label') || this.element.querySelector('ka-control-check .description');\n        container.append(icon);\n      } else if (this.element.innerHTML === '') {\n        this.element.append(icon);\n      }\n      target.addEventListener('mouseover', (e) => {\n        if (this.tooltip) return;\n        let bounds = e.target.getBoundingClientRect();\n        this.tooltip = document.createElement('div');\n        this.tooltip.classList.add('md-tooltip');\n        this.tooltip.style.top = (bounds.top + bounds.height) + 'px';\n        this.tooltip.style.left = (bounds.left + (bounds.width / 2)) + 'px';\n        this.tooltip.innerHTML = this.value;\n        document.getElementsByTagName('body')[0].insertBefore(this.tooltip, document.getElementsByTagName('body')[0].children[0]);\n        setTimeout(()=>{ if (!this.tooltip) return; this.tooltip.classList.add('visible'); }, 300);\n      });\n      target.addEventListener('mouseout', (e) => {\n        if (!this.tooltip) return;\n        document.getElementsByTagName('body')[0].removeChild(this.tooltip);\n        this.tooltip = null;\n      });\n    }, 100);\n  }\n  detached() {\n    if (!this.tooltip) return;\n    document.getElementsByTagName('body')[0].removeChild(this.tooltip);\n    this.tooltip = null;\n  }\n}\n","import { v4 as uuidv4 } from 'uuid';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { bindable, customAttribute } from 'aurelia-framework';\nimport { computePosition, flip, shift, offset, arrow } from '@floating-ui/dom';\n\n@customAttribute('static-tooltip')\nexport class StaticTooltipCustomAttribute {\n  element;\n  tooltipId;\n  elementId;\n  navigationEvent;\n  @bindable() value;\n  @bindable() style = 'static-tooltip';\n\n  static inject = [Element, EventAggregator];\n  constructor(element, eventAggregator) {\n    this.element = element;\n    this.tooltipId = uuidv4();\n    this.elementId = uuidv4();\n    this.eventAggregator = eventAggregator;\n  }\n  attached() {\n    const elementIcon = this.element?.querySelector('i');\n    this.navigationEvent = this.eventAggregator.subscribe('router:navigation:success', this.clear);\n\n    this.clear();\n    this.value = this.setValue();\n    this.element.id = this.elementId;\n    this.element.classList.add('has-custom-icon');\n    if (!elementIcon) this.element.prepend(this.generateIcon(this.value));\n    this.element.addEventListener('click', this.handleClick.bind(this, structuredClone(this.value)));\n    this.element.addEventListener('mouseenter', this.handleMouseEnter.bind(this, structuredClone(this.value)));\n    this.element.addEventListener('mouseleave', this.handleMouseLeave);\n  }\n  detached() {\n    this.close.bind(this);\n    this.element.removeEventListener('click', this.handleClick);\n    this.element.removeEventListener('mouseenter', this.handleMouseEnter);\n    this.element.removeEventListener('mouseleave', this.handleMouseLeave);\n  }\n  clear() {\n    let tooltipList = document.body?.querySelectorAll?.('div[role=\"tooltip\"].static-tooltip');\n    tooltipList?.forEach?.((tooltip) => {\n      tooltip.remove();\n    });\n  }\n\n  // Set functions\n  setValue() {\n    return {\n      ...this.value,\n      delay: 800,\n      icon: this.setIcon(),\n      ...(!this.value?.target && { target: '_blank' }),\n      ...(!this.value?.title && { title: 'Assistenza' }),\n      ...(!this.value?.placement && { placement: 'top' }),\n      ...(!this.value?.subtitle && { subtitle: 'Hai bisogno di aiuto?' }),\n      ...(!this.value?.message && { message: 'Visita il nostro portale di assistenza!' }),\n    };\n  }\n  setIcon() {\n    const icon = structuredClone(this.value?.icon || {});\n    const defaultConfig = {\n      order: 0,\n      width: 1.5,\n      height: 1.5,\n      type: 'icon',\n      margin: [0.3],\n      color: '#fff',\n      fontSize: 1.4,\n      weight: 'fal',\n      class: 'fa-question-circle',\n    };\n    const defaultIconSvg = `<svg viewBox=\"0 0 1171.42 1191.96\"><g><path d=\"M16.84,531.39h537.86c9.29,0,16.81-7.53,16.81-16.81V174.5c0-13.23,14.58-21.28,25.77-14.23l566.29,356.67c10.55,6.65,10.45,22.07-.19,28.57l-579.76,354.3c-5.36,3.27-12.09,3.29-17.46.04L8.15,562.59c-14.57-8.81-8.33-31.2,8.7-31.2h0Z\" style=\"fill:#ea560d;\"/><path d=\"M1037.01,675.97v241.18c0,2.59-1.38,4.99-3.61,6.3l-458.14,267.52c-2.31,1.35-5.17,1.32-7.45-.06L109.53,913.28c-2.18-1.32-3.51-3.69-3.51-6.24v-231.07c0-5.66,6.18-9.16,11.04-6.26l450.71,269.77c2.31,1.38,5.18,1.38,7.49,0l450.71-269.77c4.86-2.91,11.04.59,11.04,6.26Z\" style=\"fill:#ea560d;\"/><path d=\"M36.82,495.48h498.82V0L36.82,495.48ZM444.56,412.6h-203.66l203.66-202.29v202.29Z\" fill=\"#001b3f\"/> <path d=\"M444.56,412.6h-203.66l203.66-202.29Z\" fill=\"transparent\"/></g></svg>`;\n    const svgMarkup = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>${icon.svg || defaultIconSvg}`;  \n    return {\n      ...icon,\n      ...(icon.type === undefined && { type: defaultConfig.type }),\n      ...(icon.class === undefined && icon.type === 'icon' && { class: defaultConfig.class }),\n      ...(icon.type === 'svg' && { svg: svgMarkup }),\n      ...((icon.type === 'icon' && !icon.weight) && { weight: defaultConfig.weight }),\n      ...((icon.type === 'icon' && !icon.color) && { color: defaultConfig.color }),\n      ...(!icon.width && { width: defaultConfig.width }),\n      ...(!icon.height && { height: defaultConfig.height }),\n      ...(!icon.margin === undefined && { margin: defaultConfig.margin }),\n      ...(!icon.fontSize && { fontSize: defaultConfig.fontSize }),\n      ...(icon.order === undefined && { order: defaultConfig.order })\n    }\n  }\n  generateIcon(value) {\n    value = structuredClone(value);\n    const icon = value?.icon;\n    const wrapper = document.createElement('i');\n    const marginStyle = this.parseMargin(icon.margin);\n\n    wrapper.style.margin = marginStyle;\n    if (icon.order) wrapper.style.order = icon.order;\n\n    switch (icon.type) {\n      case 'svg':\n        wrapper.innerHTML = icon.svg;\n        const svg = wrapper.querySelector('svg');\n        if (svg) {\n          Object.assign(svg.style, {\n            width: `${icon.width}rem`,\n            height: `${icon.height}rem`,\n            margin: marginStyle,\n            display: 'inline-block',\n            verticalAlign: 'middle'\n          });\n        }\n        break;\n      case 'icon':\n        wrapper.classList.add(value.icon.weight, icon.class);\n        wrapper.style.fontSize = `${icon.width}rem`;\n        wrapper.style.color = value.icon.color;\n        break;\n    }\n    return wrapper;\n  }\n\n  // Parse functions\n  parseMargin(input) {\n    if (!Array.isArray(input) || input.length === 0) return '0.3rem';\n    return input.slice(0, 4).map((value) => `${Number(value) || 0}rem`).join(\" \");\n  }\n\n  // Handle functions\n  handleMouseLeave() {\n    if (this.showTimeout) {\n      clearTimeout(this.showTimeout);\n      this.showTimeout = null;\n    }\n  }\n  handleMouseEnter(value, event) {\n    if (!this.showTimeout) {\n      this.tooltip = null;\n      this.showTimeout = setTimeout(() => {\n        if (this.element?.parentElement?.querySelector?.(':hover') === this.element) {\n          document.querySelectorAll('div[role=\"tooltip\"]').forEach((tooltip) => tooltip.remove());\n          this.open(value, event);\n        }\n        this.showTimeout = null;\n      }, this.value.delay);\n    }\n  }\n  handleClick(value, event) {\n    if (this.showTimeout) {\n      clearTimeout(this.showTimeout);\n      this.showTimeout = null;\n    }\n    if (!this.tooltip && !document.body.contains(this.tooltip)) {\n      this.clear();\n      this.open(value, event);\n    }\n  }\n\n  // Opening/closing functions\n  open(value, event) {\n    value = structuredClone(value);\n    this.tooltip = document.createElement('div');\n    this.tooltip.role = 'tooltip';\n    this.tooltip.id = this.tooltipId;\n    this.tooltip.classList.add('ka-tooltip', 'static-tooltip');\n    if (this.style) this.tooltip.classList.add(this.style);\n\n    const iconNode = this.generateIcon(value);\n    const iconHtml = iconNode?.outerHTML || '';\n\n    this.tooltip.innerHTML = `\n      <div class=\"header\">\n        <div class=\"header-title\">\n          ${iconHtml}\n          <h3>${value.title}</h3>\n        </div>\n        <div class=\"closure\"></div>\n      </div>\n      <div class=\"value\">\n        <p>\n          <strong>${value.subtitle}</strong><br>\n          <a href=\"${value.href}\" target=\"${value.target}\">${value.message}</a>\n        </p>\n      </div>\n      <div class=\"arrow\"></div>\n    `;\n\n    document.body.insertBefore(this.tooltip, document.body.firstChild);\n\n    setTimeout(() => {\n      if (!this.tooltip) return;\n      this.tooltip.classList.add(\"visible\");\n      const closure = this.tooltip.querySelector('.closure');\n      const arrowElement = this.tooltip.querySelector('.arrow');\n\n      computePosition(event.target, this.tooltip, {\n        placement: this.value.placement,\n        middleware: [\n          offset(5),\n          flip(),\n          shift({ padding: 5 }),\n          arrow({ element: arrowElement, padding: 10 })\n        ],\n      }).then(({ x, y, placement, middlewareData }) => {\n        Object.assign(this.tooltip.style, { left: `${x}px`, top: `${y}px` });\n\n        const { x: arrowX, y: arrowY } = middlewareData.arrow;\n        const staticSide = {\n          top: 'bottom', right: 'left', bottom: 'top', left: 'right'\n        }[placement.split('-')[0]];\n\n        Object.assign(arrowElement.style, {\n          left: arrowX != null ? `${arrowX}px` : '',\n          top: arrowY != null ? `${arrowY}px` : '',\n          right: '', bottom: '',\n          [staticSide]: '-4px',\n        });\n      });\n      closure.addEventListener(\"click\", this.close.bind(this));\n    }, 0);\n  }\n  close(event) {\n    this.clear();\n    this.tooltip = null;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(DialogController)\nexport class DialogIntents {\n  vms = {\n    \"PROVIDE-CERTIFIED-DOCUMENTS\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-certified-documents'),\n    \"PROVIDE-LEGAL-FORM\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-legal-form'),\n    \"PROVIDE-IBAN\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-iban'),\n    \"LOGIN\": PLATFORM.moduleName('resources/dialogs/intents/vms/login'),\n    \"CONFIRM-TRANSMISSION-DELAY\": PLATFORM.moduleName('resources/dialogs/intents/vms/confirm-transmission-delay'),\n    \"SDD-ENABLED-REQUIRED\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-sdd'),\n    \"PAY-ORDERS\": PLATFORM.moduleName('resources/dialogs/intents/vms/pay-orders'),\n    \"ACCEPT-CASHBACK-CONTRACT\": PLATFORM.moduleName('resources/dialogs/intents/vms/accept-cashback-contract')\n  };\n\n  constructor(dialogController) {\n    this.controller = dialogController;\n  }\n  \n  activate(xhr) {\n    this.response = xhr.response;\n\n    // Check for a single intent\n    this.intent = this.response.source.intents.find((intent) => ['LOGIN', 'CONFIRM-TRANSMISSION-DELAY', 'EMAIL-CONFIRMATION-REQUIRED'].includes(intent.code));\n    if (this.intent) {\n      this.intent.vm = this.vms[this.intent.code];\n    } else {\n      // Loop intents\n      this.intents = [];\n      for (let intent of this.response.source.intents) {\n        if (intent.vm = this.vms[intent.code]) this.intents.push(intent);\n      }\n    }\n  }\n\n  includesCode(code) {\n    const intents = this.intents.map((intent) => intent.code);\n    return intents.includes(code);\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\n\n@inject(Router)\nexport class DialogIntentsAcceptCashbackContract {\n  constructor(router) {\n    this.router = router;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.controller = this.params.controller;\n  }\n\n  goToCashbackContracts() {\n    this.router.navigateToRoute('cashback/contracts');\n    this.controller.cancel();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsConfirmTransmissionDelay {\n  mdt = mdt;\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  created(view) {\n    this.parent = view.bindingContext;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  send() {\n    const data = { attributes: { statusCode: 'TRANSMITTED', nonWorkingDaysDisclaimerAccepted: 'YES' } };\n    this.api.patch(`users/me/tax-withholding-transmission-sessions/${this.params.sessionUuid}`, { data }).then(x => {\n      this.parent.controller.cancel();\n      this.toast.show('Invio effettuato con successo!', 'success');\n    }).catch(error => {\n      console.log('Error Patch', error);\n      this.toast.show('Errore durante l\\'invio!', 'error');\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class DialogIntentsLogin {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  login($event) {\n    // add reroute query to url\n    if ('URLSearchParams' in window) {\n      var searchParams = new URLSearchParams(window.location.search)\n      searchParams.set(\"reroute\", encodeURIComponent(this.router.currentInstruction.fragment));\n      var newRelativePathQuery = window.location.pathname + '?' + searchParams.toString();\n      history.pushState(null, '', newRelativePathQuery);\n    }\n    // login and return to the offer page\n    if ($event && $event.model) $event.model.busy = true;\n    this.api.login(this.username, this.password).then(() => {\n      sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: true }));\n    }).catch(error => {\n      console.warn('Login failed', error);\n      this.toast.show('Autenticazione utente fallita!', 'error');\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}","export class DialogIntentsPayOrders{\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideCertifiedDocuments {\n  mdt = mdt;\n  uploadSessionUuid = null;\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.documents = this.parseDocuments(this.params.documents);\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  parseDocuments(documents) {\n    let _documents = [];\n    documents.forEach(document => {\n      // Translate label\n      document.label = codesTranslator.tr(document.code);\n\n      // Create an array with no duplicates\n      for (let i = 0; i < document.errors.MISSING ; i++) {\n        this.hasMissingDocuments = true;\n        let missingDocument = Object.assign({ _errors: { MISSING: true, PENDING: false }}, document);\n        _documents.push(missingDocument);\n      }\n      for (let i = 0; i < document.errors.PENDING ; i++) {\n        this.hasPendingDocuments = true;\n        let pendingDocument = Object.assign({ _errors: { MISSING: false, PENDING: true }}, document);\n        _documents.push(pendingDocument);\n      }\n    });\n    return _documents;\n  }\n\n  edit(document) {\n    document.resource = new DocumentResource(this.api, this.dialog);\n    document.resource.schema.file.label = document.label;\n    document.edit = true;\n  }\n\n  save(document, $event) {\n    document.resource.validate().then(() => {\n      $event.model.busy = true;\n      this.uploadSession().then(() => {\n        this.upload(document.resource.data.file[0]).then(file => {\n          let data = { uploadedFileUuid: file.id, documentType: document.code.match(/\\[(.*)\\]/)[1] }\n          if (document.placeholder) data.placeholder = document.placeholder;\n          this.api.post(`users/${this.params.userId}/certifiable-document-buckets/current/certifiable-documents`, data).then(() => {\n            document.saved = true;\n            document.edit = false;\n            sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n            this.toast.show(`Documento caricato con successo!`, 'success');\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - POST', error);\n            document.resource.error(error);\n          }).finally(() => {\n            $event.model.busy = false;\n          });\n        });\n      });\n    });\n  }\n\n  uploadSession() {\n    return this.api.get(`users/${this.params.userId}/certifiable-document-buckets/current`).then(xhr => {\n      this.uploadSessionUuid = xhr.response.uploadSessionUuid;\n    }).catch(error => {\n      console.log('ERROR - certifiable-document-buckets/current GET', error);\n      this.toast.show(`Errore durante il caricamento!`, 'error');\n    });\n  }\n\n  upload(file) {\n    let endpoint = `users/${this.params.userId}/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        let reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = error => { reject(error); };\n      }).then(() => {\n        this.api.post(endpoint, attachment).then(xhr => {\n          // Build object attachment\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch(error => {\n          console.log('ERROR - uploaded-files POST', error);\n          this.toast.show(`Errore durante il caricamento!`, 'error');\n          reject()\n        });\n      }).catch(error => {\n        console.log('ERROR - uploaded files PROMISE', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        reject()\n      });\n    });\n  }\n\n  downloadStaticResource(record) {\n    const filename = record.templateFileName;\n    const anchor = document.createElement('a');\n    anchor.download = `${record.templateFileName}`;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n}\n\nexport class DocumentResource {\n  controls = {};\n  schema = {\n    file: {\n      label: null,\n      control: 'file',\n      required: true\n    }\n  };\n  data = {};\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  validate() {\n    let promises = [];\n    Object.values(this.controls).forEach(control => {\n      console.log(control);\n      promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n    });\n    return Promise.all(promises);\n  }\n  \n  error(error) {\n    this.api.dialogError(error, this.controls, ['documentType']);\n  }\n}\nexport const codesTranslator = {\n  codes: {\n    'BANK-ACCOUNT-OWNERSHIP-CERT' : {\n      'IT' : 'Attestazione titolarità del conto corrente',\n      'EN' : 'Bank account ownership certification'\n    },\n    'COMPANY-REPORT' : {\n      'IT' : 'Visura camerale',\n      'EN' : 'Company report'\n    },\n    'FISCAL-CODE-CERTIFICATION' : {\n      'IT' : 'Certificato attribuzione codice fiscale',\n      'EN' : 'Fiscal code certification'\n    },\n    'ID-CARD' : {\n      'IT' : 'Carta d\\'identità',\n      'EN' : 'Identity card'\n    },\n    'SN-CARD' : {\n      'IT' : 'Codice fiscale o tessera sanitaria',\n      'EN' : 'Security number card'\n    },\n    'SUBUSER-MANDATE' : {\n      'IT' : 'Certificazione attribuzione mandato',\n      'EN' : 'Subuser mandate'\n    },\n    'VAT-CODE-CERTIFICATION' : {\n      'IT' : 'Certificazione attribuzione partita iva',\n      'EN' : 'Vat code attribution certificate'\n    },\n    'MAV-VECTOR-CONTRACT' : {\n      'IT' : 'Accordo tra MultiDialogo e Banca Popolare di Sondrio',\n      'EN' : 'Agreement between MultiDialogo and Banca Popolare di Sondrio'\n    }\n  },\n  tr: (string) => {\n    let lang = string.match(/\\.(.*)\\./)[1];\n    let code = string.match(/\\[(.*)\\]/)[1];\n    if (lang && code && codesTranslator.codes[code] && codesTranslator.codes[code][lang]) return codesTranslator.codes[code][lang];\n    else return string;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideIban {\n  mdt = mdt;\n  pending = false;\n  resource = {\n    controls: {},\n    schema: {\n      iban: {\n        label: 'IBAN',\n        control: 'text',\n        required: true,\n        min: 6,\n        max: 27\n      }\n    }, \n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = { payments: { banking: { iban: this.resource.data.iban } } };\n      if (this.params.legalFormCode) data.legalFormCode = this.params.legalFormCode;\n      this.api.patch(`users/${this.params.billingProfileOwnerId || this.params.userId}/billing-profiles/${this.params.billingProfileUuid}`, data).then(() => {\n        this.params.saved = true;\n        this.params.edit = false;\n        this.toast.show(`Codice IBAN salvato con successo!`, 'success');\n        sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  } \n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideLegalForm {\n  mdt = mdt;\n  pending = true;\n  legalForms = null;\n  legalFormTypes = null;\n  data = {};\n  schema = {\n    companyLegalFormCode: {\n      label: 'Forma legale',\n      control: 'combo',\n      datatext: 'label',\n      datavalue: 'code', \n      datamultiple: false,\n      datapreload: true,\n      datasource: null\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n\n    // Build ka-componet datasource before opening the dialog\n    let companyLegalFormCodeDatasource = null;\n    let promises = [\n      this.api.get('legal-form-types').then(xhr => { this.legalFormTypes = xhr.response; }),\n      this.api.get('legal-forms').then(xhr => { this.legalForms = xhr.response; })\n    ];\n\n    // User display name\n    if (this.params.userId !== this.api.user.id) promises.push(this.getUser());\n\n    Promise.all(promises).then(() => {\n      if (this.legalFormTypes?.length && this.legalForms?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          optgroup = { code: type.code, label: type.label, optgroup: true };\n          companyLegalFormCodeDatasource.push(optgroup);\n          let formsForThisType = this.legalForms.filter(x => x.type === type.code);\n\n          if (formsForThisType.length) {\n            formsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n        this.schema.companyLegalFormCode.datasource = companyLegalFormCodeDatasource;\n      }\n    }).catch(errors => {\n      console.log(`ERRORS - promises GET`, errors);\n      this.api.dialogError(errors);\n    }).finally(() => {\n      setTimeout(() => { this.pending = false; }, 500);\n    });\n  }\n\n  getUser() {\n    return new Promise((resolve, reject) => {\n      this.api.get(`users/${user.legacyOwnerId}?include=user-profiles`).then(xhr => {\n        this.data.userDisplayName = xhr.response.profile[0].displayName;\n        return resolve();\n      }).catch(() => {\n        console.log('ERROR user-profile GET', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        return reject();\n      });\n    }); \n  }\n\n  save($event) {\n    $event.model.busy = true;\n    let data = { profile: this.data };\n    let endpoint = this.params.parentId ? `users/me/users/${this.params.userId}` : `users/${this.params.userId}`;\n    this.api.patch(endpoint, data).then(() => {\n      this.params.saved = true;\n      this.params.edit = false;\n      sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n      this.toast.show(`Forma legale salvata con successo!`, 'success');\n    }).catch(error => {\n      console.log('ERROR users/me/users - PATCH', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideSdd {\n  mdt = mdt;\n  edit = true;\n  saved = false;\n  data = {};\n  schema = {\n    sdd: {\n      label: '',\n      control: 'check',\n      description: 'Abilita domiciliazione bancaria',\n      required: true\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    let data = { payments: { banking: { sepaDirectDebitEnabled: true } } }\n    if (this.params.legalFormCode) data.legalFormCode = this.params.legalFormCode;\n    this.api.patch(`users/${this.params.userId}/billing-profiles/${this.params.billingProfileUuid}`, data).then(() => {\n      this.saved = true;\n      this.edit = false;\n      this.toast.show(`Domiciliazione bancaria attivata con successo!`, 'success');\n    }).catch(error => {\n      console.log(`ERROR billing-profiles - PATCH`, error);\n      this.resource.error(error);\n    });\n  }\n}\n","import { inject, customElement, bindable } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\n\n@customElement('km-layout')\n@inject(Element, Router)\nexport class KmLayout {\n  @bindable() config = null;\n  // Internal bindings\n  _collapsed = false;\n  _styles = { aside: null };\n  _intervals = [];\n\n  // Nav proxies to bypass binding\n  _navigation = { items: [] };\n  _toolbar = { items: [] };\n\n  constructor(element, router) {\n    this.element = element;\n    this.router = router;\n    document.addEventListener('click', e => {\n      if (e.target.classList.contains('expand') || e.target.classList.contains('collapse')) return;\n      for (let st of this.element.querySelectorAll('[data-subtool]')) {\n        st.classList.remove('visible');\n      }\n      let isBurger = e.target === this.burgerAside || e.target === this.burgerHeader || (e.target.parentElement && (e.target.parentElement === this.burgerAside || e.target.parentElement === this.burgerHeader));\n      if (!isBurger && !this._collapsed && window.innerWidth < 860) this.toggle();\n    });\n  }\n\n  attached() {\n    this.init();\n  }\n  detached() {\n    for (let interval of this._intervals) clearInterval(interval);\n  }\n\n  init() {\n    if (!this.config) console.warn('[km-layout] Missing configuration');\n    let config = {\n      infoBox: {},\n      brand: null,\n      user: { groups: [], roles: [] },\n      profile: null,\n      navigation: { items: [] },\n      toolbar: { items: [] },\n      isDevelopmentEnvironment: false\n    };\n    config = Object.assign({}, config, this.config);\n\n    const authorized = (item) => {\n      let userGroups = this.config.user ? (this.config.user.group || this.config.user.groups || []) : [];\n      if (!Array.isArray(userGroups)) userGroups = [userGroups];\n      let userGroupsPassed =  !item.authGroups || (item.authGroups && userGroups.some(e => item.authGroups.includes(e)));\n      let userRoles = this.config.user ? (this.config.user.role || this.config.user.roles || []) : [];\n      if (!Array.isArray(userRoles)) userGroups = [userRoles];\n      let userRolesPassed =  !item.authRoles || (item.authRoles && userRoles.some(e => item.authRoles.includes(e.id)));\n      return userGroupsPassed && userRolesPassed;\n    };\n    const setHiddens = (items) => {\n      let hiddens = true;\n      for (let item of items) {\n        if (authorized(item) && !item.hidden && (item.href || item.call)) {\n          item.hidden = false;\n        } else if (authorized(item) && !item.hidden && item.nav) {\n          item.hidden = setHiddens(item.nav);\n        } else {\n          item.hidden = true;\n        }\n        if (item.hidden === false) {\n          hiddens = false;\n        }\n      }\n      return hiddens;\n    };\n    const activateBadges = (items) => {\n      for (let item of items) {\n        if (item.nav && item.nav.length > 0 && !item.hidden) activateBadges(item.nav);\n        if (!item.badge || !item.badge.promise || item.hidden) continue;\n        let callback = () => {\n          new Promise((resolve, reject) => { return item.badge.promise(resolve, reject); }).then(x => {\n            item.badge.value = x;\n          }).catch(() => { item.badge.value = null; });\n        };\n        this._intervals.push(setInterval(callback, item.badge.interval || 5000));\n        callback();\n      }\n    };\n    setHiddens(config.navigation.items);\n    setHiddens(config.toolbar.items);\n    activateBadges(config.navigation.items);\n    activateBadges(config.toolbar.items);\n\n    this.config = config;\n\n    // Set nav proxies to bypass binding\n    this._navigation.items = config.navigation.items;\n    this._toolbar.items = config.toolbar.items;\n\n    if (window.innerWidth < 860) this.toggle();\n  }\n\n  toggle() {\n    this._collapsed = !this._collapsed;\n    if (this._collapsed) this.element.classList.add('collapsed'); else this.element.classList.remove('collapsed');\n  }\n  toggleNavigation(item) {\n    if (!item.call && !item.href && item.nav) item.collapsed = !item.collapsed;\n  }\n  subtool(index, $event) {\n    $event.stopPropagation();\n    let subtool = this.element.querySelector(`[data-subtool=\"${index}\"]`);\n    if (!subtool) return;\n    subtool.style.right = (window.innerWidth - ($event.currentTarget.getBoundingClientRect().left + $event.currentTarget.getBoundingClientRect().width)) + 'px';\n    subtool.classList.toggle('visible');\n  }\n}\n","import { inject, customElement, bindable } from 'aurelia-framework';\n\n@customElement('md-accordion-button')\n@inject(Element)\nexport class MdAccordionButton {\n  @bindable() expandText;\n  @bindable() collapseText;\n  @bindable() target;\n  @bindable() state;\n  @bindable() initDelay = 1000;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  get isCollapsed() {\n    return this.element.classList.contains('collapsed');\n  }\n\n  attached() {\n    this.targetElement = document.getElementById(this.target);\n    this.targetElement.classList.add('md_accordion_target');\n    if (this.state === 'collapsed') {\n      this.targetElement.style.height = '0';\n      this.toggle(); \n    } else {\n      setTimeout(() => {\n        this.resetHeight(this.targetElement);\n      }, this.initDelay)\n    }\n  }\n\n  toggle() {\n    const routerView = document.querySelector('router-view');\n    routerView.style.overflow = 'visible';\n    this.resetHeight(this.targetElement);\n    this.targetElement.classList.toggle('collapsed');\n    this.element.classList.toggle('collapsed');\n    setTimeout(() => {\n      window.dispatchEvent(new Event('resize'));\n      routerView.style.removeProperty('overflow');\n    }, 1000);\n    if (this.isCollapsed) {\n      this.targetElement.style.height = 0;\n    }\n  }\n\n  resetHeight(element) {\n    element.style.height = element.scrollHeight + 'px';\n  }\n}\n","import {inject, customElement, containerless, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-control')\n@containerless()\n@inject(Element)\nexport class MdControl {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() name = null;\n  @bindable() alias = null; // Utilizzato per impostare un alias da aggiungere in resource.controls per la gestione errori\n  @bindable() readonly = null;\n  @bindable() required = null;\n  @bindable() label = null;\n  @bindable() description = null;\n  @bindable() autocomplete = null;\n  @bindable() placeholder = '';\n  @bindable() client = null;\n  @bindable() error = null;\n\n  // Input control specific params property\n  @bindable() params = null;\n  // Other control input properties\n  errors = null;\n  // Bindable callbacks\n  @bindable() change = (value) => {};\n  @bindable() submit = (value) => {};\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    let bindValueToParentData = !(this.name && (this.element.hasAttribute('value') || this.element.hasAttribute('value.bind')));\n    let mdTooltip = this.element.hasAttribute('md-tooltip') ? `md-tooltip=\"${this.element.getAttribute('md-tooltip')}\"` : ( this.element.hasAttribute('md-tooltip.bind') ? `md-tooltip.bind=\"${this.element.getAttribute('md-tooltip.bind')}\"` : \"\" );\n    this.viewStrategy = new InlineViewStrategy(`<template><ka-control view-model.ref=\"parent.controls['${this.name}']\" schema.bind=\"parent.schema.${this.name}\" value.bind=\"${bindValueToParentData ? `parent.data.${this.name}` : 'value'}\" readonly.bind=\"readonly||parent.schema.${this.name}.readonly||parent.readonly\" placeholder.bind=\"placeholder\" ${mdTooltip} autocomplete.bind=\"autocomplete\" client.bind=\"client||parent.client\" ${ this.element.hasAttribute('buttons') ? `buttons=\"${this.element.getAttribute('buttons')}\"` : ''} params.bind=\"params\" ka-enter.call=\"enterPressed()\" change.trigger=\"change()\"></ka-control></template>`);\n    setTimeout(() => {\n      if (this.parent && this.parent.controls && this.name && this.alias) {\n        this.parent.controls[this.alias] = this.parent.controls[this.name];\n      }\n    }, 500);\n  }\n\n  enterPressed() {\n    if (this.submit && typeof this.submit === 'function') this.submit();\n  }\n}\n\n","import { inject, customElement, bindable } from 'aurelia-framework';\n\n@customElement('md-counter')\n@inject(Element)\nexport class MdCounter {\n  @bindable() end;\n  @bindable() label;\n  @bindable() suffix;\n  @bindable() prefix;\n  @bindable() start = 0;\n  @bindable() decimals = 2;\n  @bindable() timeout = 1000;\n  @bindable() duration = 3000;\n  inOutAnimationDuration = 800;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind() {\n    this.end = Number(this.end);\n    this.start = Number(this.start);\n    this.timeout = Number(this.timeout);\n    this.decimals = Number(this.decimals);\n    this.duration = Number(this.duration);\n    this.onEntryStart = this.start.toFixed(this.decimals);\n    this.init();\n  }\n  async init() {\n    await this.initElement();\n    this.animateCounter();\n    this.mdCounter.animate([{ opacity: 1 }], { duration: this.inOutAnimationDuration }).onfinish = () => { \n      this.mdCounter.style.opacity = 1;\n      this.animateCounter();\n    }\n  }\n  initElement() {\n    return new Promise((resolve) => {\n      setTimeout(() => {\n        this.mdCounter = document.getElementById('mdCounter');\n        this.mdCounterBody = document.getElementById('mdCounterBody');\n        this.mdCounterElement = document.getElementById('mdCounterElement');\n        resolve();\n      }, 0);\n    });\n  }\n  animateCounter() {\n    let startTimestamp;\n    const step = (timestamp) => {\n      if (!startTimestamp) startTimestamp = timestamp;\n      const progress = Math.min((timestamp - startTimestamp) / this.duration, 1);\n      const digits = progress * (this.end - this.start) + this.start;\n      this.mdCounterElement.innerHTML = digits.toFixed(this.decimals);\n      if (progress < 1) window.requestAnimationFrame(step);\n      else {\n        setTimeout(() => {\n          this.mdCounter.animate([{ opacity: 0 }], { duration: this.inOutAnimationDuration }).onfinish = () => {\n            this.mdCounter.style.opacity = 0;\n            this.element.style.display = 'none';\n          }\n        }, this.timeout);\n      }\n    };\n    window.requestAnimationFrame(step);\n  }\n\n  close() {\n    this.mdCounter.style.opacity = 0;\n    this.element.style.display = 'none';\n  }\n}\n","import {inject, customElement, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-input-array')\n@inject(Element)\nexport class MdInputArray {\n\n  // Field configuration overrides\n  @bindable() name = null;\n  @bindable() label = null;\n  @bindable() default = null;\n  @bindable() required = null;\n  @bindable() readonly = null;\n  @bindable() description = null;\n  @bindable() validation = true;\n  \n  items = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    setTimeout(() => {\n      let parent = this.parent;\n      this.value = eval(`parent.data.${this.name}`);\n      this.schema = eval(`parent.schema.${this.name}`);\n    }, 500);\n  }\n\n  set value(items) {\n    this.items = [];\n    if (!items) return;\n    if (!items.length) {\n      this.items.push({ value: null });\n    } else {\n      for (let item of items) {\n        this.items.push({ value: item });\n      }\n    }\n  }\n\n  get value() {\n    let value = [];\n    for (let item of this.items) {\n      if (item.value) value.push(item.value);\n    }\n    return value;\n  }\n\n  update() {\n    eval(`this.parent.data.${this.name} = this.value`);\n  }\n\n  add() {\n    this.items.push({ value: null });\n    this.update();\n  }\n  remove(index) {\n    for (let i = 0; i < this.items.length; i++) delete this.parent.controls[`${this.name}[${i}]`];\n    let value = this.value;\n    value.splice(index, 1);\n    this.value = value;\n    this.update();\n  }\n}\n","import {inject, customElement, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-input')\n@inject(Element)\nexport class MdInput {\n\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Reference to record id\n  @bindable() record = null;\n  // Field configuration overrides\n  @bindable() name = null;\n  @bindable() alias = null; // Utilizzato per impostare un alias da aggiungere in resource.controls per la gestione errori\n  @bindable() label = null;\n  @bindable() default = null;\n  @bindable() required = null;\n  @bindable() readonly = null;\n  @bindable() client = null;\n  @bindable() description = null;\n  @bindable() autocomplete = null;\n  @bindable() change = null;\n  @bindable() ready = null;\n  @bindable() dialogClosed = null;\n  @bindable() validation = true;\n  @bindable() queryOperator = null;\n  @bindable() change = () => {};\n  @bindable() submit = () => {};\n\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    let bindValueToParentData = !(this.name && (this.element.hasAttribute('value') || this.element.hasAttribute('value.bind')));\n    this.viewStrategy = new InlineViewStrategy(`<template><ka-input-controls record.bind=\"parent.data.id\" config.bind=\"parent.schema.${this.name}\" value.bind=\"${bindValueToParentData ? `parent.data.${this.name}` : 'value'}\" label.bind=\"label\" default.bind=\"default\" description.bind=\"description\" placeholder.bind=\"placeholder\" autocomplete.bind=\"autocomplete\" readonly.bind=\"readonly||parent.schema.${this.name}.readonly||parent.readonly\" required.bind=\"required||parent.schema.${this.name}.required\" view-model.ref=\"parent.controls['${this.name}']\" client.bind=\"client||parent.client\" change.bind=\"change\" ready.bind=\"ready\" dialog-closed.bind=\"dialogClosed\" validation.bind=\"validation\" query-operator.bind=\"queryOperator\" ka-enter.call=\"enterPressed()\"></ka-input-controls></template>`);\n    setTimeout(() => {\n      if (this.parent && this.parent.controls && this.name && this.alias) {\n        this.parent.controls[this.alias] = this.parent.controls[this.name];\n      }\n    }, 500);\n  }\n\n  enterPressed() {\n    if (this.submit && typeof this.submit === 'function') this.submit();\n  }\n}\n\n","import {\n  inject,\n  bindable, \n  customElement \n} from 'aurelia-framework';\n\n@customElement('md-loader')\n@inject(Element)\nexport class MdLoader {\n  @bindable() pending;\n\n  constructor(element) {\n    this.element = element;\n  }\n  bind() {\n    this.setParentPositionRelative('loader-show');\n  }\n  destroy() {\n    this.setParentPositionRelative('loader-hide');\n    this.element?.remove();\n  }\n  pendingChanged(value) {\n    if (value === false) {\n      this.setFadeOut();\n      setTimeout(() => {\n        this.destroy();\n      }, 500);\n    }\n  }\n\n  // Set methods\n  setParentPositionRelative(context) {\n    const parent = this.element?.parentElement;\n    switch (context) {\n      case 'loader-show':\n        if (parent?.style?.position === '') {\n          parent.classList.add('position-relative');\n        }\n        break;\n      case 'loader-hide':\n        if (parent?.classList?.contains('position-relative')) {\n          parent.classList.remove('position-relative');\n        }\n        break;\n    }\n  }\n  setFadeOut() {\n    const wrapper = this.element.querySelector('#loader-wrapper');\n    wrapper?.classList?.add('fade-out');\n  }\n}\n","import {customElement, bindable, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\n\n@customElement('md-nav-utenti')\n@inject(Element, Api, Router)\nexport class MdNavUtenti {\n  @bindable() userId = null;\n  \n  constructor(element, api, router) {\n    this.element = element;\n    this.api = api;\n    this.router = router;\n\n    let stored = JSON.parse(sessionStorage.getItem('md-nav-utenti') || '{ \"links\": [], \"title\": null}');\n    this.links = stored.links;\n    this.title = stored.title;\n  }\n  userIdChanged() {\n    this.init();\n  }\n  init() {\n    let links = [], title = null;\n    if (!this.userId) {\n      links = [\n        { view: undefined, label: 'Utenti'},\n        { view: 'fatturazione' , label: 'Profili di fatturazione'}\n      ];\n      if (this.api.hasRole('LIST_ANY_USER')) {\n        links.push({ view: 'documenti_approvazione' , label: 'Approvazione documenti'});\n      } else {\n        links.push({ view: 'documenti' , label: 'Documenti'});\n      }\n      return this.apply(links, title);\n    }\n    if (this.userId && this.userId === 'new') {\n      links = [{ view: 'anagrafica' , label: 'Anagrafica'}];\n      title = `Stai creando un nuovo ${mdt.parsers.contextualize(this.api.user, 'utente')}`;\n      return this.apply(links, title);\n    }\n    this.api.get(`users/${this.userId}?include=user-profiles,user-roles`).then(xhr => {\n      const userData = xhr.response;\n      title = `Stai modificando ${userData.profile[0].displayName}`;\n\n      // Add link: Anagrafica\n      links.push({ view: 'anagrafica' , label: 'Anagrafica'});\n      // Add link: Documenti\n      if (this.api.hasRole('LIST_USER_CERTIFIABLE_DOCUMENTS')) {\n        links.push({ view: 'documenti' , label: 'Documenti'});\n      }\n      // Add link: Fatturazione\n      if (this.userId !== 'new') {\n        links.push({ view: 'fatturazione' , label: 'Fatturazione'});\n      }\n      // Add link: Segnalatori\n      if (this.userId !== 'me' && !userData.parentUuid && this.api.hasRole(['CREATE_ANY_ACCOUNT_RESELLER_ASSOCIATION', 'LIST_ANY_ACCOUNT_RESELLER_ASSOCIATION'])) {\n        links.push({ view: 'segnalatori' , label: 'Segnalatori'});\n      }\n      // Add link: Compensi\n      if ( (this.userId !== 'me' && !userData.parentUuid && this.api.hasRole('LIST_ANY_RESELLER_COMMISSIONS')) || (this.userId === 'me' && this.api.hasRole('LIST_RESELLER_COMMISSIONS')) ) {\n        links.push({ view: 'compensi' , label: 'Compensi'});\n      }\n      // Add link: Cashback\n      if (['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(userData.group)) {\n        links.push({ view: 'cashback' , label: 'Cashback'});\n      }\n      // Add link: Impostazioni\n      if (!userData.parentUuid && this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'LIST_USER_ADVANCED_PREFERENCES'])) {\n        links.push({ view: 'impostazioni' , label: 'Impostazioni avanzate'});\n      }\n      // Add link: Pagamenti\n      if (!userData.parentUuid && this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'MODIFY_USERS_PRIVILEDGED_PREFERENCES'])) {\n        links.push({ view: 'pagamenti', label: 'Pagamenti' });\n      }\n      this.apply(links, title);\n    });\n  }\n  apply(links, title) {\n    // Store links configuration\n    sessionStorage.setItem('md-nav-utenti', JSON.stringify({links, title}));\n    // Apply links and title\n    this.links = links;\n    this.title = title;\n    // Set active link\n    this.links.map((link) => { link.class = link.view === this.router.currentInstruction.params.view ? 'active' : null; });\n  }\n  navigate(view) {\n    if (this.userId) this.router.navigateToRoute('anagrafiche/utenti', { id: this.userId, view: view });\n    else if (view) this.router.navigate(`anagrafiche/utenti/${view}`);\n    else  this.router.navigate('anagrafiche/utenti');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport datasets from 'md-datasets.json';\n\n@inject(Api)\nexport class MdPrefselDialog {\n  value = null;\n  users = [];\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.tableUsers) {\n      this.tableUsers.parse_query = (query) => {\n        // Ok, concordo che quanto segue sia indubbiamente penosa come soluzione, ma funziona\n        // D'altronde è penoso il funzionamento rest per risolvere la #FEATURE/guxg84byh\n        let original = query;\n        query = query.replace(/statusCode~~__NONE__&/, '&');\n        query = query.replace(/(%2C)?__NONE__(%2C)?/, '');\n        if (original !== query) {\n          query = query + '&hasNoPostalOrder=true';\n        }\n        return query;\n      }\n    }\n  }\n\n  select(record) {\n    this.params.dialog.ok(record);\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\n\n@customElement('md-prefsel')\n@inject(Element, Api, KaToast, KaDialog)\nexport class MdPrefsel {\n  @bindable() label = 'preferenze';\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  @bindable() isOverride = null;\n  @bindable() toggleOverride = () => {};\n  data = null;\n  context = null;\n\n  constructor(element, api, toast, dialog) {\n    this.element = element;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.context = this.api.user.profile?.businessType === 'BUILDING-ADMINISTRATOR' ? 'condominio' : 'account';\n  }\n  \n  attached() {\n    if (!this.value) {\n      this.value = parseInt(localStorage.getItem('prefsel_id') ?? this.api.user.id ?? null, 10);\n    } else {\n      this.valueChanged(this.value, null);\n    }\n    console.log(`prefsel ${this.label} attached value`, this.value);\n    if (this.api.user.profile?.businessType === 'BUILDING') this.element.style.display = 'none';\n  }\n\n  valueChanged(value, old) {\n    if (value === old) return;\n    console.log(`prefsel ${this.label} valueChanged from ${old} to ${value}`);\n    if (value) {\n      localStorage.setItem('prefsel_id', value);\n      if (value !== this.api.user.id && localStorage.getItem('prefsel_data')) {\n        this.data = JSON.parse(localStorage.getItem('prefsel_data'));\n      } else if (value !== this.api.user.id) {\n        this.api.get(`users/${value}?include=user-profiles`).then(x => {\n          this.data = remapUserData(x.response);\n          localStorage.setItem('prefsel_data', JSON.stringify(this.data));\n        });\n      } else if (value === this.api.user.id) {\n        this.data = null;\n        localStorage.removeItem('prefsel_data');\n      }\n    } else {\n      this.value = this.api.user.id;\n    }\n  }\n  isOverrideChanged(value) {\n    if (value === undefined) {\n      this.isOverride = false;\n    }\n  }\n\n  reset() {\n    this.value = this.api.user.id;\n  }\n\n  open() {\n    this.dialog.open({\n      type: 'alert',\n      title: 'Seleziona un ' + this.context,\n      class: 'md-prefsel-dialog medium',\n      viewModel: PLATFORM.moduleName('resources/elements/md-prefsel/md-prefsel-dialog'),\n      viewModelParams: { }\n    }, true).whenClosed(response => {\n      console.log(response);\n      if (response.output) {\n        let data = response.output;\n        if (data.id && data.profile) {\n          localStorage.setItem('prefsel_data', JSON.stringify(this.remapUserData(data)));\n          this.value = data.id;\n        }\n      }\n    });\n  }\n\n  remapUserData(data) {\n    return {\n      id: data.id,\n      active: data.isActive,\n      displayName: data.profile[0].displayName\n    };\n  }\n}\n","import {inject, customElement, bindable} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\n@customElement('md-resource')\n@inject(Element, Api, KaToast, KaDialog)\nexport class MdResource {\n  @bindable() data = {};\n  @bindable() schema = {};\n  @bindable() controls = {};\n  @bindable() endpoint = {};\n\n  constructor(element, api, toast, dialog) {\n    this.element = element;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    // CUSTOM EVENTS\n    this.events = document.createTextNode(null);\n    this.events.schemaLoaded = new CustomEvent('schemaLoaded', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n    this.events.dataSaved = new CustomEvent('dataSaved', { resource: this });\n    this.events.dataSaveError = new CustomEvent('dataSaveError', { resource: this });\n  }\n\n  bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    konsole.debug('MdResource controls', this.controls);\n  }\n\n  validate() {\n    let promises = [];\n    for (let [field, item] of Object.entries(this.controls)) {\n      if (!item) {\n        konsole.warn(`Field ${field} was not found!`);\n        continue;\n      }\n      if (!item.validator) {\n        konsole.warn(`Field ${field} validator was not found!`);\n        continue;\n      }\n      item.validator.errors = [];\n      item.element.classList.remove('error');\n      promises.push(new Promise((resolve, reject) => {\n        item.validate().then(result => {\n          if (!result.valid) {\n            reject(item.validator.errors);\n          } else {\n            resolve(result);\n          }\n        }).catch(error => {\n          konsole.error(`Resource validation error on field ${field}`, error);\n          reject(error);\n        });\n      }));\n    }\n    return Promise.all(promises);\n  }\n\n  load(endpoint = this.endpoint) {\n    return this.api['get'](endpoint).then(xhr => {\n      let response = xhr.response;\n      if (response && !Array.isArray(response)) {\n        for (let [field, item] of Object.entries(response)) {\n          if (this.controls[field] && this.controls[field].constructor?.name !== 'KaControl' && (this.controls[field].control === 'date' || (this.controls[field].schema && this.controls[field].schema.control === 'date') ) && item) {\n            response[field] = moment.utc(item).local().format('YYYY-MM-DD');\n          } else {\n            if (typeof item === 'undefined') console.error(`Input ${field} has undefined value. Skipping...`);\n            else response[field] = JSON.parse(JSON.stringify(item));\n          }\n        }\n      }\n      this.data = response;\n      this.events.dispatchEvent(this.events.dataLoaded);\n    });\n  }\n\n  save(data = this.data, endpoint = this.endpoint, method = 'post') {\n    return new Promise((resolve, reject) => {\n      this.validate().then(() => {\n        let promises = [];\n        data = Object.assign({}, data);\n        if (method !== 'patch') data = mdt.helpers.removeEmptyAttributes(data);\n        else data = mdt.helpers.nullifyEmptyStringAttributes(data);\n        if (!data) throw 'Nessun dato da inviare!';\n        for (let [field, item] of Object.entries(data)) {\n          if (typeof item === 'undefined') {\n            console.error(`Data ${field} has undefined value. Skipping...`);\n            delete data[field];\n          } else if (typeof this.schema[field] === 'undefined') {\n            console.error(`Data ${field} has undefined schema. Skipping...`);\n            delete data[field];\n          } else {\n            promises.push(new Promise((resolve, reject) => {\n              // Parse file\n              if (this.controls[field] && (this.controls[field].control === 'file' || (this.controls[field].schema && this.controls[field].schema.control === 'file') ) && item && item.length && item[0] && item[0].name) {\n                let reader = new FileReader();\n                reader.readAsDataURL(item[0]);\n                reader.onload = () => {\n                  data[field] = reader.result;\n                  resolve(true);\n                };\n                reader.onerror = (error) => {\n                  console.error(`Input ${field} cannot read file. Skipping...`);\n                };\n              }\n              // Parse date\n              /* else if (this.controls[field] && (this.controls[field].control === 'date' || (this.controls[field].schema && this.controls[field].schema.control === 'date') ) && item) {\n                data[field] = moment(item, 'YYYY-MM-DD').hour(moment().hour()).minute(moment().minute()).utc().format();\n                resolve(true);\n              }  */\n              else if (this.schema[field] && this.schema[field].control === 'list') {\n                data[field] = Array.isArray(item) ? item : JSON.parse(item);\n                resolve(true);\n              } else {\n                data[field] = JSON.parse(JSON.stringify(item));\n                resolve(true);\n              }\n            }));\n          }\n        }\n        Promise.all(promises).then(() => {\n          this.api[method](endpoint, data).then(x => {\n            this.events.dispatchEvent(this.events.dataSaved);\n            resolve(x);\n          }).catch(error => {\n            this.events.dispatchEvent(this.events.dataSaveError);\n            let errorPayload = mdt.parsers.apiError(error, this.controls);\n            if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n            reject(error);\n          });\n        });\n      }).catch((error) => {\n        reject(error);\n      });\n    });\n  }\n}\n","import {customElement, bindable, observable} from 'aurelia-framework';\n@customElement('md-table-pagination')\nexport class MdTablePagination {\n  @bindable() table = {};\n  @bindable() limits = null;\n\n  schema = {\n    limit: { \n      control: 'combo',\n      datasource: [{ text: '10', value: 10 }, { text: '25', value: 25 }, { text: '50', value: 50 }, { text: '100', value: 100 }],\n      datatext: 'text',\n      datavalue: 'value',\n      datapreload: true,\n      datamultiple: false\n    },\n    page: {\n      control: 'combo',\n      datasource: [],\n      datatext: 'text',\n      datavalue: 'value',\n      datapreload: true,\n      datamultiple: false\n    }\n  };\n\n  @observable() limit;\n  @observable() page;\n\n  bind() {\n    if (this.limits && this.limits.length > 0) {\n      if (typeof this.limits === 'string') {\n        this.limits = this.limits.split(',');\n      }\n      let datasource = [];\n      this.limits.forEach((limit, index) => {\n        this.limits[index] = Number(limit);\n        datasource.push({ text: String(limit), value: parseInt(limit, 10) });\n      });\n      this.schema.limit.datasource = datasource;\n    }\n    this.update();\n    this.table.events.addEventListener('dataLoaded', () => { this.update(); });\n  }\n\n  areLimitsValid() {\n    return Array.isArray(this.limits) && !this.limits.some(value => isNaN(Number(value)));\n  }\n\n  update() {\n    if (this.areLimitsValid() && !this.limits.includes(this.table.limit)) this.table.limit = this.limits[0];\n    this.limit = this.table.limit;\n    this.page = (this.table.offset / this.table.limit) + 1;\n  }\n\n  limitChanged(value, old) {\n    if (!value && old) value = old;\n    else if (!value) return;\n    this.table.limit = value;\n    if (old !== undefined) this.table.offset = 0; // Keep original offset if limit is being set insted of replaced\n    if (typeof old !== 'undefined') this.applyOptions();\n  }\n  \n  pageChanged(value, old) {\n    if (!value && old) value = old;\n    else if (!value) return;\n    this.table.offset = this.table.limit * (value - 1);\n    if (typeof old !== 'undefined') this.applyOptions();\n  }\n\n  paginate(direction) {\n    let page = this.page;\n    let pages = Math.ceil(this.table.total / this.table.limit);\n    if (direction === 'forward' && page + 1 <= pages) this.page = page + 1;\n    else if (direction === 'back' && page - 1 > 0) this.page = page - 1;\n    else if (direction === 'start' && page !== 1) this.page = 1;\n    else if (direction === 'end' && pages && page !== pages) this.page = pages;\n  }\n\n  showOptions($event) {\n    if (!$event.target.classList.contains('count')) return;\n    let pages = Math.ceil(this.table.total / this.table.limit);\n    let pagesDatasource = [];\n    for (let i = 1; i <= pages; i++) pagesDatasource.push({ value: i, text: String(i)});\n    this.schema.page.datasource = pagesDatasource;\n    this.optionsShown = true; \n  }\n\n  hideOptions() {\n    this.optionsShown = false;\n  }\n\n  applyOptions() {\n    this.hideOptions();\n    this.table.load();\n  }\n}\nexport class integerCastValueConverter {\n  fromView(value) {\n    let parsed = value ? parseInt(value, 10) : value;\n    return parsed;\n  }\n}\n","import {customElement} from 'aurelia-framework';\n\n@customElement('md-table-progressbar')\nexport class MdTableProgressbar {\n}\n","import {inject, bindable, customElement} from 'aurelia-framework';\n\n@customElement('md-table-sort')\n@inject(Element)\nexport class MdTableSort {\n  @bindable() table = {};\n  @bindable() attribute = null;\n  order = null;\n\n  constructor (element) {\n    this.element = element;\n  }\n\n  bind() {\n    this.update();\n    this.table.events.addEventListener('dataLoaded', () => {\n      this.update();\n    });\n  }\n\n  sort() {\n    if (!this.order) this.order = 'asc';\n    else if (this.order === 'asc') this.order = 'desc';\n    else if (this.order === 'desc') this.order = null;\n    this.table.load(null, this.order ? [{ name: this.attribute, order: this.order}] : []).then(() => {\n      this.update();\n    });\n  }\n\n  update() {\n    let item = this.table.sort?.find(x => x.name === this.attribute);\n    this.order = item?.order || null;\n  }\n}\n","import {inject, customElement, bindable, observable} from 'aurelia-framework';\nimport {TableSidebar} from '../../../classes/md-table';\n@customElement('md-table-toolbar')\n@inject(TableSidebar)\nexport class MdTableToolbar {\n  @bindable() table = {};\n  @bindable() search = {};\n  @bindable() paginationLimits = {};\n  @bindable() buttons = null;\n  @bindable() download = () => {};\n\n  constructor(sidebar) {\n    this.sidebar = sidebar;\n  }\n\n  bind() {\n    if (this.buttons && typeof this.buttons === 'string') this.buttons = this.buttons.split(',');\n  }\n  \n  // Search\n  openSearch() {\n    this.sidebar.open({\n      viewModel: PLATFORM.moduleName('resources/elements/md-table-toolbar/sidebars/search'),\n      viewModelParams: { table: this.table, search: this.search }\n    });\n  }\n\n  reset($event = null) {\n    $event.stopPropagation();\n    this.search.reset();\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\n\nexport class SidebarSearch {\n  inputs = [];\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.inputs = Object.keys(params.search.schema);\n  }\n\n  search() {\n    this.params.search.search().then(() => { this.close(); });\n  }\n\n  reset() {\n    this.params.search.reset();\n  }\n}\n","import {inject, customElement, bindable} from 'aurelia-framework';\nimport { v4 as uuidv4 } from 'uuid';\n\n@customElement('md-table-wrapper')\n@inject(Element)\nexport class MdTableWrapper {\n  @bindable() decrease = 0;\n  @bindable() height = 'full';\n  constructor (element) {\n    this.element = element;\n    this.uuid = 'mdtw-' + uuidv4();\n    this.element.id = this.uuid;\n  }\n  attached() {\n    // Create evaled resize linstener function\n    const resizeHandler = () => {\n      console.log(this.uuid);\n      let element = eval(`document.querySelector('#${this.uuid}');`);\n      if (!element) return;\n      if (this.height === 'full') {\n        element.style.height = '0px';\n        element.style.height = (window.innerHeight - element.getBoundingClientRect().top - parseInt(this.decrease, 10)) + 'px';\n      }\n    }\n    eval(`window['resize-handler-${this.uuid}'] = resizeHandler;`);\n    window.addEventListener('resize', window[`resize-handler-${this.uuid}`]);\n    setTimeout(() => { resizeHandler(); }, 1000);\n  }\n\n  detached() {\n    window.removeEventListener('resize', window[`resize-handler-${this.uuid}`]);\n    delete(window[`resize-handler-${this.uuid}`]);\n  }\n}\n\n","export class AppendCommaValueConverter {\n  toView(value, index, arrayLength) {\n    if (typeof value !== 'string') return '';\n    return index < arrayLength - 1 ? value + ',' : value;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {MdDatasources} from 'services/md-datasources';\n@inject(MdDatasources)\nexport class ComboFormatValueConverter {\n  constructor(mdDatasources) {\n    this.mdDatasources = mdDatasources;\n  }\n  toView(value, control, mdDatasourceReference) {\n    if (!value) return;\n    let datasource;\n    if (mdDatasourceReference && this.mdDatasources[mdDatasourceReference]) {\n      datasource = this.mdDatasources[mdDatasourceReference];\n    } else {\n      datasource = control.datasource;\n    }\n    if (!Array.isArray(datasource)) return value;\n    return (datasource.find(x => x[control.datavalue] === value) || {})[control.datatext] || value;\n  }\n}\n","import moment from 'moment';\n\nexport class DateFormatValueConverter {\n  toView(value, format = 'DD/MM/YYYY HH:mm') {\n    if (!value) return;\n    if (moment.utc(value).isValid()) {\n      konsole.debug('Valid UTC datetime conversion', moment.utc(value));\n      return moment.utc(value).local().format(format);\n    }\n    else if (moment.utc(value, 'YYYY-MM-DD HH:mm:ss a').isValid()) {\n      konsole.debug('Valid \"YYYY-MM-DD HH:mm:ss a\" datetime conversion', moment.utc(value, 'YYYY-MM-DD HH:mm:ss a'));\n      return moment.utc(value, 'YYYY-MM-DD HH:mm:ss a').local().format(format);\n    }\n    else if (moment.utc(value, 'HH:mm:ss a').isValid()) {\n      konsole.debug('Valid \"HH:mm:ss a\" datetime conversion', moment.utc(value, 'HH:mm:ss a'));\n      return moment.utc(value, 'HH:mm:ss a').local().format(format);\n    }\n    konsole.debug('No datetime conversion', value);\n    return value;\n  }\n}\n","export class FilesizeFormatValueConverter {\n  // the value is expressed in kB\n  // If the value exceeds 100 kB it will be converted to MB\n  toView(value) {\n    const units = { 'kB' :  1, 'MB' : 1000 }\n    value = Number(value);\n    if (value > 100) {\n      value = parseFloat(value / units['MB']).toFixed(2)\n      return `${value} ${Object.keys(units)[1]}`;\n    } else {\n      return `${value} ${Object.keys(units)[0]}`;\n    }\n  }\n}\n","export class ObjectFormatValueConverter {\n  toView(value, format) {\n    if (Array.isArray(value)) {\n      var new_value = [];\n      for (let obj of value) {\n        if (obj[format]) new_value.push(obj[format]);\n      }\n      return new_value.join(', ');\n    }\n    else if (value === Object(value) && value[format])\n      return value[format];\n    else return value;\n  }\n}\n","import { QueueProperties } from '../../classes/queueProperties';\n\nexport class QueueChannelFormatValueConverter {\n  channels = new QueueProperties().channels;\n  toView(value, property = 'text') {\n    return this.channels.find((channel) => channel.value === value)[property];\n  }\n}\n","import { QueueProperties } from '../../classes/queueProperties';\n\nexport class QueueStatusFormatValueConverter {\n  statuses = new QueueProperties().statuses;\n  toView(value, property = 'text') {\n    return this.statuses.find((status) => status.key === value)?.[property];\n  }\n}\n","export class StringifyValueConverter {\n  toView(value) {\n    return JSON.stringify(value);\n  }\n}\n","export class StriphtmlValueConverter {\n  toView(value) {\n    if (!value || typeof value !== \"string\")\n      return value;\n    return value.replace(/<(?:.|\\n)*?>/gm, '');\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { HttpClient, HttpResponseMessage } from 'aurelia-http-client';\nimport { Router } from 'aurelia-router';\nimport { KaDialog, KaToast } from 'ka-components';\nimport datasets from '../md-datasets.json';\nimport mdt from './md-tools';\nimport ENVIRONMENT from '../environment';\n\n@inject(Router, KaDialog, KaToast)\nexport class Api {\n  _accessToken = '';\n  _refreshToken = '';\n  _refreshPromise = null;\n  _autologinPromise = null;\n  _user = null;\n  _baseUrl = ENVIRONMENT.APP_API_BASE_URL;\n\n  constructor(router, dialog, toast) {\n    this._accessToken = localStorage.getItem('access_token') || '';\n    this._refreshToken = localStorage.getItem('refresh_token') || '';\n    this._boAccessToken = localStorage.getItem('bo_access_token') || '';\n    this._boRefreshToken = localStorage.getItem('bo_refresh_token') || '';\n    this._user = localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user')) : null;\n    this._refreshUrl = 'users/login/refresh';\n    this.client = new HttpClient();\n    this.client._baseUrl = this._baseUrl; // Keep reference of baseUrl into HttpClient object\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      window['destorageTokens'] = () => {\n        this._accessToken = localStorage.getItem('access_token') || '';\n        this._refreshToken = localStorage.getItem('refresh_token') || '';\n      };\n    }\n\n    this.client.configure(x => {\n      x.withBaseUrl(this.baseUrl);\n      x.withHeader('Accept-Language', 'it');\n      x.withHeader('Accept', 'application/vnd.api+json');\n      x.withHeader('X-api-key', ENVIRONMENT.APP_API_KEY);\n      x.withHeader('X-api-client-name', ENVIRONMENT.APP_API_CLIENT_NAME);\n      x.withHeader('X-api-client-version', ENVIRONMENT.APP_API_CLIENT_VERSION);\n      if (ENVIRONMENT.APP_DEBUG === 'true') {\n        x.withHeader('X-ignore-test-agreements', 'ignore');\n      }\n      x.withInterceptor({\n        request: (msg) => {\n          if (this.accessToken.length && (!this._refreshUrl.length || (msg.url !== this._refreshUrl))) {\n            msg.headers.add('Authorization', 'Bearer ' + this.accessToken);\n          }\n          let fingerprint = window.localStorage.getItem('xhr-fingerprint');\n          if (fingerprint) {\n            msg.headers.add('X-Device-Fingerprint', fingerprint);\n          }\n          if ((msg.method === 'POST' || msg.method === 'PUT' || msg.method === 'PATCH') && msg.content) {\n            if (Array.isArray(msg.content) && msg.content.length) {\n              let content = [];\n              msg.content.forEach(item => {\n                content.push({ attributes: item });\n              });\n              msg.content = JSON.stringify({ data: content });\n            } else if (typeof msg.content === 'string' && msg.content.startsWith('{\"data\":{\"attributes\"')) { // Già serializzato\n              msg.content = msg.content;\n            } else if (typeof msg.content === 'object' && (!msg.content.data || (msg.content.data && !msg.content.data.attributes))) {\n              msg.content = JSON.stringify({ data: { attributes: msg.content } });\n            }\n          }\n          if (/^datasets\\//.test(msg.url)) {\n            // Intercetto chiamata kamaji /datasets e simulo risposta\n            throw new Error(msg.url);\n          }\n          // // Sanitize della query K2->MD\n          // msg.url = this.sanitizeUrl(msg.url);\n          // Convert url K2->MD\n          let queryMap = {\n            meta: null,\n            depth: null,\n            fields: null,\n            filters: (expr) => {\n              let filters = [];\n              expr = expr.split(/\\&|\\|/);\n              expr.forEach((element, index) => {\n                let operators = {\n                  gte: '>=',\n                  lte: '<=',\n                  gt: '>',\n                  lt: '<',\n                  eq: '=',\n                  in: '~~',\n                  like: '~'\n                };\n                element = element.replace(/^\\(|\\)$/g, ''); // Remove k2 brackets from filters\n                let regexp = new RegExp('([^\\^!~><=]*)(' + Object.values(operators).join('|') + ')([^\\^!~><=]*)');\n                let matches = element.match(regexp);\n                if (matches && matches.length) {\n                  for (let [key, operator] of Object.entries(operators)) {\n                    if (matches[1] === 'id') {\n                      filters['id-in'] = matches[3];\n                      break;\n                    } else if (msg.url.startsWith('users/me/users') && matches[1] === 'displayName') {\n                      filters['text-search'] = matches[3];\n                      break;\n                    } else if (matches[2] === operator) {\n                      key = matches[1] + ((key === 'eq') ? '' : '-' + key);\n                      filters[key] = matches[3];\n                      break;\n                    }\n                  }\n                }\n              });\n              return filters;\n            },\n            sort: (expr) => {\n              let sorts = [];\n              expr = expr.split(',');\n              expr.forEach((element, index) => {\n                sorts.push(element.replace('+', ''));\n              });\n              return { sort: sorts.join(',') };\n            }\n          };\n          msg.url = this.convertHref(msg.url, queryMap);\n\n          return msg;\n        },\n        requestError(error) {\n          throw error;\n        },\n        response: msg => {\n          if (typeof msg.response === 'string' && msg.response !== '') {\n            msg.response = msg.originalResponse = JSON.parse(msg.response);\n\n            let response = {};\n            let included = {};\n            let isResponseArray = false;\n\n            // Parse jsonapi meta\n            if (msg.response.meta && msg.response.meta.total) {\n              msg.headers.headers['x-total-count'] = { key: 'x-total-count', value: msg.response.meta.total };\n            }\n            if (msg.response.meta && msg.response.meta.warnings) {\n              let warnings = msg.response.meta.warnings;\n              if (!Array.isArray(warnings)) warnings = [warnings];\n              warnings.forEach(warning => {\n                this.toast.show(warning, 'warning');\n              });\n            }\n            // Parse jsonapi includes\n            if (msg.response.included) {\n              for (let record of msg.response.included) {\n                if (!included[record.type]) included[record.type] = {};\n                included[record.type][record.id || record.uuid] = Object.assign({ id: record.id, uuid: record.uuid }, record.attributes);\n              }\n            }\n            // Parse jsonapi data\n            if (msg.response.data) {\n              isResponseArray = Array.isArray(msg.response.data);\n              response = isResponseArray ? msg.response.data : [msg.response.data];\n              for (let record of response) {\n\n                if (record.data && Object.keys(record).length === 1) {\n                  //decapsulate data\n                  record = Object.assign(record, record.data);\n                  delete record.data;\n                }\n                if (record.attributes) {\n                  record = Object.assign(record, record.attributes);\n                  delete (record.attributes);\n                }\n                if (record.relationships) {\n                  for (let keys of Object.keys(record.relationships)) {\n                    let includes = Array.isArray(record.relationships[keys]) ? record.relationships[keys] : [record.relationships[keys]];\n                    for (let include of includes) {\n                      if (!record[keys]) record[keys] = [];\n                      record[keys].push(included[include.data.type][include.data.id || include.data.uuid]);\n                    }\n                    //if (record[keys].length === 1) record[keys] = record[keys][0];\n                  }\n                  delete (record.relationships);\n                }\n              }\n            }\n            msg.response = (response.length === 1 && !isResponseArray) ? response[0] : response;\n          }\n          if (ENVIRONMENT.APP_DEBUG === 'true') console.log('Parsed response', msg.response);\n\n          return msg;\n        },\n        responseError: (msg) => {\n          if (msg && msg.message && /datasets\\//.test(msg.message)) {\n            msg.message = msg.message.replace(/\\|/, '/');\n            let endpoint = msg.message.match(/^datasets\\/(.*)$/);\n\n            if (endpoint[1]) {\n              let response = {\n                mimeType: 'application/json',\n                response: endpoint[1],\n                responseType: 'json',\n                statusCode: 200,\n                statusText: 'OK'\n              };\n              if (datasets[endpoint[1]]) {\n                response.response = datasets[endpoint[1]];\n                return Promise.resolve(response);\n              }\n            }\n          }\n          if (!msg.statusCode && !/healthcheck/.test(msg.requestMessage?.url)) {\n            const httpclient = new HttpClient();\n            httpclient.get(`${ENVIRONMENT.APP_API_BASE_URL}../../healthcheck`).then((xhr) => {\n              try {\n                const response = JSON.parse(xhr.response);\n                if (response.status === 'MAINTENANCE') {\n                  location.href = '/maintenance' + (response.reason ? `/${window.btoa(response.reason)}` : '');\n                }\n              } catch (error) { }\n            });\n            return Promise.reject(msg);\n          }\n          let smsReportUrl = new RegExp('users\\/(me|\\d*)\\/sms-queues\\/.*');\n          if (msg.statusCode === 500 && !smsReportUrl.test(msg.requestMessage.url)) {\n            this.dialog.open({ title: 'Errore', class: 'small', type: 'alert', body: '<strong>Si è verificato un errore lato server</strong><br>Se il problema persiste, si prega di inviare una email ad<br><a href=\"mailto:assistenza@multidialogo.it\" class=\"primary-text\">assistenza@multidialogo.it</a>' });\n          }\n          // Maintenance mode\n          else if (msg.statusCode === 503) {\n            location.href = '/maintenance';\n            return Promise.reject(msg);\n          }\n          // Intents dialog\n          else if (msg.statusCode === 423) {\n            if (typeof msg.response === 'object' && msg.response.constructor === Blob) {\n              msg.response.text().then((response) => {\n                if (this.isJSON(response)) {\n                  msg.response = JSON.parse(response);\n                  return this.dialogIntents(msg);\n                }\n              });\n            }\n            if (this.isJSON(msg.response) && JSON.parse(msg.response).source) {\n              msg.response = JSON.parse(msg.response);\n              if (['/user-prospects/'].find(key => msg.requestMessage?.url.includes(key))) {\n                return Promise.reject(msg);\n              } else {\n                return this.dialogIntents(msg);\n              }\n            }\n          }\n          // Refresh token\n          else if (msg.statusCode === 401 && this.refreshToken.length && msg.requestMessage.url !== this._refreshUrl) {\n            return this.getRefreshToken(msg, this.client);\n          }\n          return Promise.reject(msg);\n        }\n      });\n    });\n\n    this.events = document.createTextNode(null);\n    this.events.userDataChanged = new CustomEvent('userDataChanged', { detail: this._user });\n  }\n\n  get baseUrl() {\n    return this._baseUrl;\n  }\n\n  get accessToken() {\n    return this._accessToken;\n  }\n  set accessToken(value) {\n    this._accessToken = value || '';\n    if (value) localStorage.setItem('access_token', value);\n    else localStorage.removeItem('access_token');\n  }\n\n  get refreshToken() {\n    return this._refreshToken;\n  }\n  set refreshToken(value) {\n    this._refreshToken = value || '';\n    if (value) localStorage.setItem('refresh_token', value);\n    else localStorage.removeItem('refresh_token');\n  }\n\n  get boAccessToken() {\n    return this._boAccessToken;\n  }\n  set boAccessToken(value) {\n    this._boAccessToken = value || '';\n    if (value) localStorage.setItem('bo_access_token', value);\n    else localStorage.removeItem('bo_access_token');\n  }\n\n  get boRefreshToken() {\n    return this._boRefreshToken;\n  }\n  set boRefreshToken(value) {\n    this._boRefreshToken = value || '';\n    if (value) localStorage.setItem('bo_refresh_token', value);\n    else localStorage.removeItem('bo_refresh_token');\n  }\n\n  get user() {\n    return this._user;\n  }\n  set user(value) {\n    this._user = value || '';\n    if (value) localStorage.setItem('user', JSON.stringify(value));\n    else localStorage.removeItem('user');\n    this.events.dispatchEvent(this.events.userDataChanged);\n  }\n\n  get isAuthenticated() {\n    return !!this.accessToken.length && !!this.user?.roles;\n  }\n  get isImpersonated() {\n    return !!this.boAccessToken.length && this.isAuthenticated;\n  }\n  getRefreshToken(msg, client) {\n    return this.refresh().then(() => {\n      let xhr = msg.requestMessage;\n      xhr.headers.add('Authorization', 'Bearer ' + this.accessToken);\n      if (xhr.method === 'POST' && xhr.content && (typeof xhr.content === 'string') && xhr.content.indexOf('{') === 0) {\n        xhr.content = JSON.parse(xhr.content);\n      }\n      return client.send(xhr);\n    }, (error) => {\n      return error;\n    });\n  }\n\n  refresh() {\n    if (this._refreshPromise) return this._refreshPromise;\n    if (!this.user || !this.user.username) {\n      this.logout();\n      return Promise.reject(x);\n    }\n    this._refreshPromise = this.client.post(this._refreshUrl, { username: this.user.username, refreshToken: this.refreshToken, grantType: 'refresh-token' }).then((msg) => {\n      this.accessToken = msg.response.token;\n      this.refreshToken = msg.response.refreshToken;\n      return Promise.resolve(msg.response);\n    }, x => {\n      this.logout();\n      return Promise.reject(x);\n    });\n    this._refreshPromise.finally(() => {\n      this._refreshPromise = null;\n    });\n    return this._refreshPromise;\n  }\n\n  login(username, password, code = null) {\n    let data = {};\n    if (!code) data = { username: username, password: password, grantType: 'password' };\n    else data = { token: code, grantType: 'serviceToken' };\n\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n\n    return this.client.post('users/login', data).then(msg => {\n      this.accessToken = msg.response.token;\n      this.refreshToken = msg.response.refreshToken;\n      return this.startUser(code);\n    }, x => {\n      this.accessToken = '';\n      this.refreshToken = '';\n      this.user = null;\n      return Promise.reject(x);\n    });\n  }\n  startUser(code = null) {\n    return new Promise((resolve, reject) => {\n      this.client.get('users/me?include=user-profiles,user-roles,user-modules').then(xhr => {\n        let user = JSON.parse(JSON.stringify(xhr.response));\n        user.profile = user.profile[0];\n        user.username = user.profile.username;\n        user.displayName = user.profile.displayName;\n        this.user = user;\n\n        // BETA feature\n        if (this.hasRole('LIST_USER_BETA_FEATURE_SUBSCRIPTIONS')) {\n          this.client.get('users/me/beta-feature-subscriptions').then(xhr => {\n            const response = xhr.response;\n            const user = this.user;\n            if (response.length) xhr.response.forEach(feat => { user.roles.push({ id: `BETA_HAS_${feat.featureCode}` }); });\n            this.user = user;\n          }).catch(() => {\n            console.log('GET beta-feature-subscriptions', error);\n          }).finally(() => {\n            resolve(this.reroute(code));\n          })\n        } else {\n          resolve(this.reroute(code));\n        }\n      }).catch(error => {\n        this.user = null;\n        reject(error);\n      });\n    });\n  }\n  reroute(code) {\n    let reroute = decodeURIComponent(new URL(document.location).searchParams.get('reroute'));\n    if (!code && reroute !== 'null') return location.href = reroute;\n    else if (!code) return this.router.navigateToRoute('dashboard');\n  }\n  impersonate(id = null, code = null) {\n    if (!id && !code) return Promise.reject(new Error('Either user id or support ticket code must be provided!'));\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.client.post(id ? `bo/users/${id}/login` : `bo/users/me/support-ticket-login/${code}`, {}).then(xhr => {\n      let boAccessToken = this.accessToken;\n      let boRefreshToken = this.refreshToken;\n      this.user = null;\n      localStorage.clear();\n      sessionStorage.clear();\n      this.boAccessToken = boAccessToken;\n      this.boRefreshToken = boRefreshToken;\n      this.accessToken = xhr.response.token;\n      this.refreshToken = xhr.response.refreshToken;\n      return this.startUser().then(() => { location.reload() });\n    }, error => {\n      this.toast.consume();\n      return Promise.reject(error);\n    });\n  }\n  disimpersonate() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let boAccessToken = this.boAccessToken;\n    let boRefreshToken = this.boRefreshToken;\n    this.user = null;\n    this.boAccessToken = null;\n    this.boRefreshToken = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    this.accessToken = boAccessToken;\n    this.refreshToken = boRefreshToken;\n    return this.startUser().then(() => { location.reload() });\n  }\n\n  logout(soft = false) {\n    let href = '/login';\n    const reroute = JSON.parse(sessionStorage.getItem(btoa(`reroute`)));\n\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.boAccessToken = '';\n    this.boRefreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    if (!soft) location.href = reroute ? `${href}?reroute=${reroute.href}` : href;\n  }\n\n  get(endpoint, params) {\n    let queryString = (typeof params === 'object') ? '?' + this.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  }\n\n  post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  }\n\n  put(endpoint, data) {\n    return this.client.put(this.baseUrl + endpoint, data);\n  }\n\n  patch(endpoint, data) {\n    return this.client.patch(this.baseUrl + endpoint, data);\n  }\n\n  delete(endpoint) {\n    return this.client.delete(this.baseUrl + endpoint);\n  }\n\n  buildQueryString(params) {\n    let query = [];\n    for (let [key, value] of Object.entries(params)) query.push(`${key}=` + encodeURIComponent(value));\n    return query.join('&');\n  }\n\n  parseUrl(url) {\n    let chunks = url.split('?');\n    let hashes = (chunks[1] || '').split('&');\n    let query = {};\n    hashes.map(hash => {\n      if (hash.length) {\n        let [key, val] = hash.split('=');\n        query[key] = decodeURIComponent(val);\n      }\n    });\n    return { url: chunks[0], query };\n  }\n\n  sanitizeUrl(url) {\n    let blacklist = ['meta', 'depth', 'fields', 'filters'];\n    let chunks = url.split('?');\n    let query = chunks[1] ? chunks[1].split('&') : [];\n    let regexp = new RegExp('^' + blacklist.join('|'));\n    for (let i = 0; i < query.length; i++) {\n      if (query[i].match(regexp)) { query.splice(i, 1); i--; }\n    }\n    return chunks[0] + (query.length ? '?' + query.join('&') : '');\n  }\n\n  convertHref(href, queryMap = {}) {\n    let { url, query } = this.parseUrl(href);\n    for (let [key, item] of Object.entries(queryMap)) {\n      if (typeof item === 'function' && query[key]) {\n        let result = item(query[key]);\n        delete (query[key]);\n        query = Object.assign({}, query, result);\n      } else if (item !== null) {\n        delete (query[key]);\n        query = Object.assign({}, query, item);\n      } else {\n        delete (query[key]);\n      }\n    }\n    let queryString = Object.keys(Object.assign({}, query)).map(key => key + '=' + query[key]).join('&');\n    return url + (queryString.length ? '?' + queryString : '');\n  }\n\n  dialogError(xhr, controls = {}, unlabelParameters = []) {\n    if (xhr instanceof Object && (xhr.constructor === Object || xhr.constructor === HttpResponseMessage)) {\n      if (xhr?.statusCode !== 500) {\n        if (xhr.statusCode === 423 && xhr.response?.source) return;\n        if (xhr.statusCode === 0 && xhr.response.type === 'abort') return;\n        let errorPayload = mdt.parsers.apiError(xhr, controls, unlabelParameters);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>' + errorPayload.title + ':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>' });\n      }\n    } else return;\n  }\n\n  dialogIntents(xhr) {\n    return new Promise((resolve, reject) => {\n      this.dialog.dialog.open({\n        viewModel: PLATFORM.moduleName('resources/dialogs/intents/intents'),\n        model: xhr,\n        lock: true\n      }).whenClosed((response) => {\n        if (sessionStorage.getItem(btoa(`intents-reload`)) === JSON.stringify({ reload: true })) return location.reload();\n        if (!response.wasCancelled) {\n          this.client.send(xhr.requestMessage).then(xhr => { resolve(xhr) }).catch(xhr => { reject(xhr) })\n        } else {\n          return reject(xhr);\n        }\n      });\n    });\n\n  }\n\n  hasRole(roles) {\n    if (!this.user?.roles) return null;\n    if (!Array.isArray(roles)) roles = [roles];\n    return this.user.roles?.some(e => roles.includes(e.id));\n  }\n\n  isJSON(string) {\n    try {\n      if (JSON.parse(string)) return true;\n    } catch (error) {\n      return false;\n    }\n  }\n}\n\n","import {inject} from 'aurelia-framework';\nimport {HttpClient} from 'aurelia-http-client';\nimport {MdAuth} from './md-auth';\nimport environment from '../environment';\n\n@inject(MdAuth)\nexport class MdApi {\n  constructor(MdAuth) {\n    this.mdAuth = MdAuth;\n  }\n}\n","export class MdAuth {\n  constructor() {\n    this.stored = JSON.parse(sessionStorage.getItem('MdAuth'));\n  }\n\n  get accessToken() {\n    return this.stored?.accessToken || null;\n  }\n  set accessToken(value) {\n    this.store('accessToken', value);\n  }\n  get refreshToken() {\n    return this.stored?.refreshToken || null;\n  }\n  set refreshToken(value) {\n    this.store('refreshToken', value);\n  }\n\n  store(key, value) {\n    if (value) {\n      this.stored[key] = value;\n    } else if (key in this.stored) {\n      delete this.stored[key];\n    }\n    sessionStorage.setItem('MdAuth', JSON.stringify(this.stored));\n  }\n}\n","import { Api } from './api';\nimport { inject } from 'aurelia-framework';\n\n@inject(Api)\nexport class MdDatasources {\n  paymentMethods;\n  flatServiceTypes;\n  multifattureSoftwares;\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  initialize() {\n    if (this.initialized || !this.api.isAuthenticated) return Promise.resolve(); // only run once, only when user is authenticated\n    this.postalServices = {\n      vectors: [],\n      postages: []\n    };\n    this.multifattureSoftwares = [];\n    this.paymentMethods = [];\n    let promises = [\n      this.initPostalServices(),\n      this.initMultifattureSoftwares(),\n      this.initPaymentMethods(),\n      this.initFlatServiceTypes()\n    ];\n    return Promise.all(promises).then(() => {\n      this.initialized = true;\n    })\n  }\n\n  initPostalServices() {\n    return new Promise((resolve, reject) => {\n      this.api.get('postal-services/vectors').then(xhr => {\n        let promises = [];\n        xhr.response.forEach(vector => {\n          //this.postalServices[vector.code] = Object.assign({}, vector, { postages: []});\n          this.postalServices.vectors.push(vector);\n          promises.push(this.api.get(`postal-services/${vector.code}/postages`).then(xhr => {\n            xhr.response.forEach(postage => {\n              this.postalServices.postages.push(postage);\n            });\n          }));\n        });\n        Promise.all(promises).then(() => {\n          resolve(this.postalServices);\n        }).catch(error => {\n          reject(error);\n        });\n      }).catch(error => {\n        reject(error);\n      });\n    });\n  }\n\n  initMultifattureSoftwares() {\n    if (!this.api.hasRole('LIST_CLIENTS')) return Promise.resolve();\n    return this.api.get('users/me/clients').then((xhr) => {\n      const response = xhr.response;\n      this.multifattureSoftwares = response;\n    });\n  }\n\n  initPaymentMethods() {\n    return this.api.get('payment-methods').then((xhr) => {\n      const response = xhr.response;\n      this.paymentMethods = response;\n    });\n  }\n\n  initFlatServiceTypes() {\n    return this.api.get('flat-service-types').then((xhr) => {\n      const response = xhr.response;\n      this.flatServiceTypes = response;\n    });\n  }\n}\n","import { inlineView } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\nconst mimeTypes = {\n  'jpeg': 'image/jpeg',\n  'png': 'image/png',\n  'pdf': 'application/pdf',\n  'webp': 'image/webp',\n  'csv': 'text/csv',\n  'zip': 'application/zip',\n  'ogg': 'application/ogg',\n}\n\n@inlineView(`\n<template>\n  <div class=\"body\">\n    <object \n      data.bind=\"url\" \n      type.bind=\"mimeType\"\n      style=\"width: 100%; height: 80vh; border: none\">\n      <div style=\"display: flex; justify-content: center; align-items: center; width: 100%; height: 80vh\">\n        <p>Il tuo browser non può visualizzare questo file.</p>\n      </div>\n    </object>\n  </div>\n  <div style=\"display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right\">\n    <ka-button class=\"inverted secondary\" click.delegate=\"controller.cancel()\">Chiudi</ka-button>\n  </div>\n</template>\n`)\nclass InlineDialogFileViewer {\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.url = params.url;\n    this.mimeType = params.mimeType;\n  }\n}\n\nexport class MdFileViewer {\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;  \n  }\n\n  fileViewer(path, fileExtension, event) {\n    const mimeType = mimeTypes[fileExtension || 'pdf'];\n    if (event) event.model.busy = true;\n    \n    return this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', `${mimeType}`)\n    .withHeader('Content-Type', `${mimeType}`)\n    .withResponseType('blob')\n    .send()\n    .then((xhr) => {\n      const response = xhr.response;\n      let blob = new Blob([response], { type: mimeType });\n      let url = URL.createObjectURL(blob);\n      this.dialogFileViewer(url, mimeType).finally(() => {\n        URL.revokeObjectURL(url);\n        blob = url = null;\n      });  \n    }).catch((error) => {\n      this.toast.show(`Impossibile visualizzare il file!`, 'error');\n      console.error('fileViewer', error);\n    }).finally(() => {\n      if (event) {\n        event.model.busy = false;\n        let element = event.target;\n        if (!element.outerHTML.startsWith('<ka-button')) element = event.target.offsetParent;\n        const mouseleave = new MouseEvent('mouseleave');\n        element.dispatchEvent(mouseleave);\n      }\n    });\n  }\n  dialogFileViewer(url, mimeType) {\n    return this.dialog.open({\n      title: 'Visualizza file',\n      viewModel: InlineDialogFileViewer,\n      viewModelParams: { url, mimeType },\n      class: 'medium dialog-file-preview'\n    }, true);\n  }\n}\n\nexport class MdFileDownload {\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast; \n  }\n\n  fileDownload(path, record, fileExtension, event) {\n    const mimeType = mimeTypes[fileExtension || 'pdf'];\n    if (event) event.model.busy = true;\n    \n    return this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', `${mimeType}`)\n    .withHeader('Content-Type', `${mimeType}`)\n    .withResponseType('blob')\n    .send()\n    .then((xhr) => {\n      const regex = new RegExp(`filename=\\\"?([^\\\";]+\\.${fileExtension})\\\"?`, 'i');;\n      const contentDisposition = xhr.headers?.headers?.['content-disposition']?.value;\n      const matches = contentDisposition?.match(regex);\n      const response = xhr.response;\n      const anchor = document.createElement('a');\n      let blob = new Blob([response], { type: mimeType });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches?.[1] || record.uuid;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`File scaricato con successo!`, 'success');\n      URL.revokeObjectURL(url);\n      blob = url = null;\n    }).catch((error) => {\n      this.toast.show(`Impossibile visualizzare il file!`, 'error');\n      console.error('fileViewer', error);\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n}\n","class MdTools {\n  BUSINESS_TYPES = Object.freeze(['BUILDING-ADMINISTRATOR', 'BUILDING']);\n\n  preferences = {\n    mergeModelData: (model, context, response) => {\n      let data = {};\n      for (let [k, v] of Object.entries(model)) {\n        let requested = eval(`response.requested?.${context.join('?.')}?.${k} ?? null`);\n        let current = eval(`response.current?.${context.join('?.')}?.${k} ?? null`);\n        let parent = eval(`response.parent?.${context.join('?.')}?.${k} ?? null`);\n        let preset = eval(`response.preset?.${context.join('?.')}?.${k} ?? null`);\n        let responseValue = requested ?? current ?? parent ?? preset ?? null;\n        if (responseValue === null) {\n          //continue;\n          data[k] = null;\n        } else if (this.helpers.isObject(v) && !v.control) {\n          data[k] = this.preferences.mergeModelData(v, context.concat([k]), response);\n        } else {\n          data[k] = responseValue;\n        }\n      }\n      return data;\n    }\n  };\n  helpers = {\n    isObject: (object) => {\n      return object instanceof Object && object.constructor === Object;\n    },\n    diffObject: (object1, object2) => {\n      /*\n      object1 = original data\n      object2 = modified data\n      */\n      let data = {};\n      for (let [k, v] of Object.entries(object1)) {\n        if (typeof object2[k] === 'undefined') continue;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.diffObject(v, object2[k]);\n          if (value) data[k] = value;\n        } else if (v !== object2[k]) {\n          data[k] = object2[k];\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    removeEmptyAttributes: (object) => {\n      let data = {};\n      for (let [k, v] of Object.entries(object)) {\n        if (typeof v === 'undefined') continue;\n        if (v === null) continue;\n        if (v === '') continue;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.removeEmptyAttributes(v);\n          if (value && Object.entries(value).length) data[k] = value;\n        } else {\n          data[k] = v;\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    nullifyEmptyStringAttributes: (object) => {\n      let data = {};\n      for (let [k, v] of Object.entries(object)) {\n        if (v === '') v = null;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.nullifyEmptyStringAttributes(v);\n          if (value && Object.entries(value).length) data[k] = value;\n        } else {\n          data[k] = v;\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    isCurrentDateGreaterThan: (date) => {\n      date = new Date(date);\n      const currentaDate = new Date();\n      return currentaDate > date;\n    },\n    isCurrentDateLowerThan: (date) => {\n      date = new Date(date);\n      const currentaDate = new Date();\n      return currentaDate < date;\n    },\n    isDateGreaterThan: (date1, date2) => {\n      date1 = new Date(date1);\n      date2 = date2 ? new Date(date2) : new Date();\n      return date1 > date2;\n    },\n    isDateLowerThan: (date1, date2) => {\n      date1 = new Date(date1);\n      date2 = date2 ? new Date(date2) : new Date();\n      return date1 < date2;\n    },\n    setDateRange: (days = 0) => {\n      const currentDate = new Date(new Date().getFullYear(), 0, 1);\n      currentDate.setDate(currentDate.getDate() + days);\n      return currentDate.toISOString();\n    }\n  };\n  parsers = {\n    flattenApiResponseData: (originalApiResponseData) => {\n      const apiResponseDataRecords = [].concat(structuredClone(originalApiResponseData.data));\n      apiResponseDataRecords.forEach((record) => {\n\n        // Parse relationships\n        Object.entries(record.relationships || {}).forEach(([key, value]) => {\n          const parseRelationship = (relationshipData) => {\n            return originalApiResponseData.included?.find((x) => x.type === relationshipData.type && x['id' || 'uuid'] === relationshipData['id' || 'uuid']);\n          }\n          [].concat(value).forEach((relationship) => {\n            if (!record.attributes[key]) record.attributes[key] = [];\n            let parsedRelationship = parseRelationship(relationship?.data);\n            if (parsedRelationship) {\n              Object.assign(parsedRelationship, parsedRelationship.attributes);\n              delete (parsedRelationship.attributes);\n              record.attributes[key].push(parsedRelationship);\n            }\n          });\n          if (!Array.isArray(value)) {\n            record.attributes[key] = record.attributes[key][0];\n          }\n        });\n\n        // Flatten\n        record = Object.assign(record, record.attributes);\n        delete (record.attributes);\n      });\n\n      return Array.isArray(originalApiResponseData.data) ? apiResponseDataRecords : apiResponseDataRecords[0];\n    },\n    apiError: (xhr, controls = {}, unlabelParameters) => {\n      let response;\n      try { response = JSON.parse(xhr.response); } catch { return; }\n      let errorMessages = [];\n      let errorBody = '';\n      let errorCode = String(response.status);\n      if (errorCode.indexOf('40') === 0 && response.source) {\n        if (response.source.parameters) {\n          for (let parameter of response.source.parameters) {\n            let field = parameter.parameter?.replace(/(data\\.attributes|queryString)\\./, '') || null;\n            let control = controls[field] || Object.values(controls).find(x => x.schema?.query === field) || null;\n            if (field && control) {\n              for (let message of parameter.messages) {\n                console.log('errore su campo', field, control);\n                if (control.setError) control.setError(message); // ka-control\n                else if (control.validator) { // ka-input\n                  control.validator.errors.push(message);\n                  control.element.classList.add('error');\n                }\n              }\n            } else if (parameter.messages && parameter.messages.length) {\n              for (let message of parameter.messages) {\n                let p = field || parameter.parameter;\n                p = p === 'data' ? null : p;\n                errorMessages.push({ code: parameter.code, parameter: p, message });\n              }\n            }\n          }\n        } else if (response.source.permissions) {\n          for (let permission of response.source.permissions) {\n            if (permission.messages && permission.messages.length) {\n              for (let message of permission.messages) {\n                errorMessages.push({ code: permission.code, message });\n              }\n            }\n          }\n        }\n      } else if (response.detail) {\n        errorMessages.push({ code: null, message: response.detail });\n      } else {\n        errorMessages.push({ code: null, message: 'Si è verificato un errore nella procedura!' });\n      }\n      if (errorMessages.length === 1 && unlabelParameters && Array.isArray(unlabelParameters)) {\n        errorBody = `${errorMessages[0].parameter && !unlabelParameters.includes(errorMessages[0].parameter) ? `<strong>${errorMessages[0].parameter}</strong>: ` : ''}${errorMessages[0].message}`;\n      } else if (errorMessages.length) {\n        errorMessages.forEach((error, index) => {\n          errorMessages[index] = `<li style=\"padding-top: 8px;padding-bottom: 8px;border-bottom: 1px solid #f0f0f0\">${error.parameter ? `<strong>${error.parameter}</strong>: ` : ''}${error.message}<!--</a>--></li>`;\n        });\n        errorBody = '<ol>' + errorMessages.join('') + '</ol>';\n      }\n      if (errorBody.length) return { code: errorCode, title: (errorCode === '403' ? 'È necessario avere i seguenti permessi per procedere con l\\'operazione' : 'Si sono verificati i seguenti errori'), body: errorBody };\n    },\n    contextualize: (user, value) => {\n      if (this.BUSINESS_TYPES.includes(user?.profile?.businessType)) {\n        value = this.dictionary[value] || value;\n      }\n      return value;\n    }\n  };\n  dictionary = {\n    'Utente': 'Condominio',\n    'utente': 'condominio',\n    'Sottoutente': 'Condominio',\n    'sottoutente': 'condominio',\n    'del sottoutente': 'del condominio',\n    'all\\'utente': 'al condominio',\n    'sull\\'utente': 'sul condominio',\n    'dell\\'utente': 'del condominio',\n    'Utenti': 'Condomìni',\n    'utenti': 'condomìni',\n    'Account': 'Studio',\n    'account': 'studio',\n    'all\\'account': 'allo studio',\n    'sull\\'account': 'sullo studio',\n    'dell\\'account': 'dello studio',\n  };\n  fidelityCards = {\n    userCurrentFidelityCard: (api) => {\n      const path = 'users/me/fidelity-cards/current';\n      return api.get(path).catch((error) => {\n        console.warn('userCurrentFidelityCard', error);\n      });\n    }\n  };\n  legacy = {\n    getCrossLoginTokenCurrent: (api) => {\n      return api.get(`users/me/cross-login-tokens/current`).catch((error) => {\n        console.error('getCrossLoginTokenCurrent', error);\n        this.api.dialogError(error);\n      });\n    }\n  };\n  general = {\n    navigateToExternal: (url) => {\n      url = new URL(url);\n      const anchor = document.createElement('a');\n      anchor.href = url;\n      anchor.target = '_blank';\n      document.body.appendChild(anchor);\n      anchor.click();\n      anchor.remove();\n    },\n    dialogMavTiming: (dialog) => {\n      const body = '<p class=\"m-0\"><strong>La richiesta è stata inoltrata correttamente!</strong><span class=\"d-block\">L\\'approvazione di una richiesta da parte dell\\'ente bancario potrà richiedere dagli 8 ai 10 giorni lavorativi.</span></p>';\n      return dialog?.open({ \n        body,\n        type: 'alert', \n        class: 'small', \n        title: 'Attenzione!' \n      });\n    }\n  };\n}\nexport default new MdTools();\n","import { Api } from './api';\nimport mdt from './md-tools';\nimport { Router } from 'aurelia-router';\nimport environment from '../environment';\nimport { inject } from 'aurelia-framework';\nimport { RestClient } from './rest-client.ts';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdToast } from '../classes/md-toast/md-toast';\nimport {\n  CheckFlow,\n  checkAgreements,\n  checkUserProfilePec,\n  checkUserProfileData,\n  checkPlatformMessages,\n  checkUserBillingProfile,\n  checkSettingsLinkedSoftware\n} from '../classes/checkflow/checkflow';\n\n@inject(Router, Api, KaDialog, KaToast, MdToast)\nexport class MdUser {\n  mdt = mdt;\n\n  get isPreRelease() {\n    const loggedUser = this.mdApi?.user?.uuid;\n    const enabledUsers = ['ddff91d0-8895-559b-b29f-381e0db0cb74'];\n    const isDemoEnv = ENVIRONMENT?.APP_DEBUG === 'true';\n    return isDemoEnv || enabledUsers.includes(loggedUser);\n  }\n\n  constructor(router, mdApi, kaDialog, kaToast, mdToast) {\n    // Classes\n    this.mdApi = mdApi;\n    this.router = router;\n    this.toast = kaToast;\n    this.mdToast = mdToast;\n    this.dialog = kaDialog;\n    this.rest = new RestClient();\n    // Storage\n    this.storage = (environment.APP_STORAGE || localStorage);\n    this._data = JSON.parse(this.storage.getItem('user')) || null;\n    // CheckFlow\n    this.checkFlow = new CheckFlow();\n  }\n\n  get data() {\n    return JSON.parse(this.storage.getItem('user'));\n  }\n  set data(value) {\n    value ? this.storage.setItem('user', JSON.stringify(value)): this.storage.removeItem('user');\n  }\n\n  async initData() {\n    const apiResponse = await this.rest.get('users/me?include=user-profiles,user-roles,user-modules');\n    const flattenApiResponseData = mdt.parsers.flattenApiResponseData(apiResponse.data);\n    this.setUserData(flattenApiResponseData);\n    return flattenApiResponseData;\n  }\n\n  setUserData(apiResponseData) {\n    const user = structuredClone(apiResponseData);\n    user.username = user.profile.username;\n    user.displayName = user.profile.displayName;\n    this.data = user;\n  }\n\n  async check(fragment) {\n    if (!this.data) {\n      console.warn('[md-user] Check bypassed because of missing user data');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (!this.rest.auth.isAuthenticated) {\n      console.warn('[md-user] Check bypassed because user is not authenticated');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (this.mdApi.isImpersonated) {\n      console.warn('[md-user] Check bypassed because user is impersonated');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (['MASTER_USER', 'BASIC_USER'].includes(this.data.group)) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkAgreements });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkUserProfileData });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkUserProfilePec });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: false, function: checkUserBillingProfile });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: false, function: checkSettingsLinkedSoftware });\n    }\n    this.checkFlow.addCheck({ isMandatory: false, function: checkPlatformMessages });\n\n    const result = await this.checkFlow.run(this, fragment);\n    return result;\n  }\n\n  setData(attribute, value) {\n    this._data[attribute] = value;\n    this.data = this._data;\n  }\n\n  removeData(attribute) {\n    delete this._data[attribute];\n    this.data = this._data;\n  }\n\n  hasRole(roles) {\n    if (!this.data.roles) return null;\n    if (!Array.isArray(roles)) roles = [roles];\n    return this.data.roles?.some(e => roles.includes(e.id));\n  }\n}\n","import { Api } from './api';\nimport { KaDialog } from 'ka-components';\nimport { HttpClient } from 'aurelia-http-client';\n\nexport class MfApi {\n  accessToken;\n  baseUrl = ENVIRONMENT.APP_API_BASE_URL_MFLEGACY;\n\n  static inject = [Api, KaDialog];\n  constructor(api, kaDialog) {\n    this.api = api;\n    this.dialog = kaDialog\n    this.client = new HttpClient();\n\n    this.client.configure((config) => {\n      config.withBaseUrl(this.baseUrl);\n      config.withHeader('Accept-Language', 'it');\n      config.withInterceptor({\n        request: (msg) => {\n          if (this.api?.accessToken?.length) {\n            msg?.headers.add('Authorization', 'Bearer ' + this.api.accessToken);\n          }\n        },\n        response: (msg) => {\n          if (msg?.statusCode !== 204 && msg?.responseType === 'json' && typeof msg?.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        },\n        responseError: (msg) => {\n          if (msg?.statusCode === 401 && this.api?.refreshToken?.length && msg?.requestMessage?.url !== this.api?.refreshUrl) {\n            return this.api.getRefreshToken(msg, this.client);\n          }\n        }\n      });\n    });\n  }\n\n  get(endpoint, params) {\n    let queryString = (typeof params === 'object') ? '?' + this.api.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  }\n  post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  }\n}     \n","const mimeTypes = {\n  'csv': 'text/csv',\n  'png': 'image/png',\n  'jpg': 'image/jpeg', \n  'webp': 'image/webp',\n  'jpeg': 'image/jpeg',\n  'pdf': 'application/pdf',\n  'zip': 'application/zip',\n  'ogg': 'application/ogg',\n  'xml': 'application/xml', \n  'p7m': 'application/pkcs7-mime' \n};\n\nexport class MfFileDownload {\n  constructor(api, mfApi, kaToast) {\n    this.api = api;\n    this.mfApi = mfApi;\n    this.toast = kaToast;\n  }\n  \n  exportFiles(config = { query: {}, path }, event) {\n    const fileExtension = config.fileExtension || 'zip';\n    const type = mimeTypes[fileExtension];\n    event.model.busy = true;\n\n    const params = new URLSearchParams({\n      token: this.api.accessToken,\n      ...this.filterQuery(config.query)\n    }).toString();\n\n    const requestUrl = `documents/${config.path}?${params}`;\n\n    return this.mfApi.client.createRequest(requestUrl)\n      .asGet()\n      .withHeader('Accept', `${type}`)\n      .withHeader('Content-Type', `${type}`)\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const response = xhr.response;\n        const date = new Date().toISOString().split('T')[0];\n        const blob = new Blob([response], { type });\n        const regex = new RegExp(`filename=\\\"?([^\\\";]+\\.${fileExtension})\\\"?`, 'i');\n        const contentDisposition = xhr.headers?.headers?.['content-disposition']?.value;\n        const matches = contentDisposition?.match(regex);\n        const url = window.URL.createObjectURL(blob);\n        const anchor = document.createElement('a');\n        anchor.href = url;\n        anchor.download = matches?.[1] || `files-${date}`;\n        anchor.click();\n        this.toast.show('File scaricato con successo!', 'success');\n        setTimeout(() => window.URL.revokeObjectURL(url), 100);\n      })\n      .catch((error) => {\n        console.error('exportFiles', error);\n        this.toast.show('Errore durante l\\'esportazione', 'error');\n      })\n      .finally(() => { event.model.busy = false; });\n  }\n  fileDownload(config = { documentType, fileId, fileName }, event) {\n    const fileExtension = config.fileExtension || 'zip';\n    const type = mimeTypes[fileExtension];\n    event.model.busy = true;\n    const requestUrl = `files/${config.fileId}?attachtype=${config.documentType}&token=${this.api.accessToken}`;\n\n    return this.mfApi.client.createRequest(requestUrl)\n      .asGet()\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const response = xhr.response;\n        const blob = new Blob([response], { type });\n        const regex = new RegExp(`filename=\\\"?([^\\\";]+\\.${fileExtension})\\\"?`, 'i');\n        const contentDisposition = xhr.headers?.headers?.['content-disposition']?.value;\n        const matches = contentDisposition?.match(regex);\n        const url = window.URL.createObjectURL(blob);\n        const anchor = document.createElement('a');\n        anchor.href = url;\n        anchor.download = matches?.[1] || config.fileName;\n        anchor.click();\n        this.toast.show('File scaricato con successo!', 'success');\n        setTimeout(() => window.URL.revokeObjectURL(url), 100);\n      })\n      .catch((error) => {\n        console.error('fileDownload', error);\n        this.toast.show('Errore durante il download', 'error');\n      })\n      .finally(() => { event.model.busy = false; });\n  }\n  filterQuery(query) {\n    return Object.fromEntries(\n      Object.entries(query).filter(([_, value]) => value !== undefined && value !== null)\n    );\n  }\n}\n","export class vmAgreement {\n  activate(params) {\n    this.agreement = params.agreement;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog} from 'ka-components';\n\n@inject(Api, KaDialog)\nexport class vmLegacyViewer {\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() { this.init(); }\n\n  init() {\n    if (this.params.view === 'billing-profiler') {\n      this.config = {\n        view: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione-editor'),\n        model: {\n          userId: this.params.userId,\n          profileUuid: this.params.profileUuid,\n          callback: (completed) => {\n            if (!completed) {\n              this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `Confermi di voler uscire senza salvare il profilo di fatturazione?`}).whenClosed(response => {\n                if (!response.wasCancelled && this.params.encodedCallbackUri) location.href = window.atob(decodeURIComponent(this.params.encodedCallbackUri));\n              });\n            } else {\n              this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: `Profilo di fatturazione correttamente salvato!`}).whenClosed(response => {\n                if (this.params.encodedCallbackUri) location.href = window.atob(decodeURIComponent(this.params.encodedCallbackUri));\n              });\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n}","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class view_routeViewName {\n\n  tabs = [\n    {\n      id: 'tab1',\n      label: 'tabName1',\n      vm: PLATFORM.moduleName('views/_template/tabs/routeViewName-tabName1')\n    }, {\n      id: 'tab2',\n      label: 'tabName2',\n      vm: PLATFORM.moduleName('views/_template/tabs/routeViewName-tabName2')\n    }\n  ];\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { tab1: true, tab2: true }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('OPERATOR_ROLE');\n    return;\n    // Tab 1\n    if (this.privileges.isOperator && this.api.hasRole('OPERATOR_ROLE_FOR_TAB_1')) {\n      this.privileges.tabs.tab1 = true;\n    } else if (!this.privileges.isOperator && this.api.hasRole('ROLE_FOR_TAB_1')) {\n      this.privileges.tabs.tab1 = true;\n    }\n    // Tab 2\n    if (this.api.hasRole('ROLE_FOR_TAB_2')) {\n      this.privileges.tabs.tab2 = true;\n    }\n  }\n}","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class view_tabName1 {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-routerViewName-tabName1-table',\n      client: this.api,\n      endpoint: 'users/me/users',\n      query: 'include=user-profiles'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-routerViewName-tabName1-search',\n      table: this.tableInterface,\n      schema: {\n        control1: {\n          control: 'text',\n          label: 'Control 1',\n          required: true,\n          query: 'text-search'\n        },\n        control2: {\n          control: 'text',\n          label: 'Control 2',\n          required: false,\n          query: 'control2-query-filter-name'\n        },\n        control3: {\n          control: 'text',\n          label: 'Control 3',\n          required: false,\n          query: 'control3-query-filter-name'\n        },\n        control4: {\n          control: 'text',\n          label: 'Control 4',\n          required: false,\n          query: 'control4-query-filter-name'\n        },\n        control5: {\n          control: 'text',\n          label: 'Control 5',\n          required: false,\n          query: 'control5-query-filter-name'\n        },\n        control6: {\n          control: 'text',\n          label: 'Control 6',\n          required: false,\n          query: 'control6-query-filter-name'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    this.searchInterface.search();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class view_tabName2 {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\nexport class ServiceDialogUserProfile {\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.missingProperties = params;\n  }\n}\nexport class missingPropertiesValueConverter {\n  toView(value) {\n    if (!value) return;\n    let missingProperties = {\n      zipCode: 'CAP',\n      streetAddress: 'Indirizzo',\n      admLvl1: 'Regione',\n      admLvl2: 'Provincia',\n      admLvl3: 'Comune',\n      countryCode: 'Nazione',\n      businessType: 'Attività',\n      companyLegalFormCode: 'Forma giuridica',\n      displayName: 'Mittente'\n    };\n    return missingProperties[value] || value;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport environment from 'environment';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class Login {\n  environment = environment;\n  username = '';\n  password = '';\n  resource = {\n    schema: {\n      username: {\n        field: 'username',\n        label: 'Username',\n        control: 'text',\n        required: true\n      },\n      password: {\n        field: 'password',\n        label: 'Password',\n        control: 'password',\n        required: true\n      },\n    },\n    data: {}\n  }\n\n  constructor(router, api, toast, dialog) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.email = params.email;\n    this.source = params.source;\n  }\n\n  attached() {\n    if (this.api.isAuthenticated) this.api.logout();\n    if (this.email) this.resource.data.username = this.email;\n  }\n\n  login($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    this.api.login(this.resource.data.username, this.resource.data.password).catch(error => {\n      if (error.statusCode !== 423) {\n        this.toast.show('Autenticazione utente fallita!', 'error');\n      }\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class Logout {\n\n  constructor(api) {\n    api.logout();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class viewRecupero {\n  uniqueIdentifier = null;\n  success = false;\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  start($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    \n    this.uid.input.validator.errors = [];\n\n    this.uid.input.validate().then(x => {\n      this.api.post('users/login-recovery-requests', { uniqueIdentifier: this.uniqueIdentifier }).then(x => {\n        this.email = x.response.emailAddress;\n      }).catch(x => {\n        this.uid.input.validator.errors.push('Identificativo non riconosciuto');\n        this.uid.input.element.classList.add('error');\n        this.toast.show('Identificazione utente fallita!', 'error');\n      }).finally(() => {\n        if ($event && $event.model) $event.model.busy = false;\n      });\n    }).catch(e => {\n      if ($event && $event.model) $event.model.busy = false;\n    }).finally(x => {\n    });\n  }\n  end($event) {\n    if ($event && $event.model) $event.model.busy = true;\n\n    this.error = false;\n    this.pass1.input.validator.errors = [];\n    this.pass2.input.validator.errors = [];\n\n    let promises = [];\n    promises.push(this.pass1.input.validate());\n    promises.push(this.pass2.input.validate());\n\n    Promise.all(promises).then(x => {\n      if (this.password1 !== this.password2) {\n        this.pass2.input.validator.errors.push('Le password non combaciano');\n        this.pass2.input.element.classList.add('error');\n        if ($event && $event.model) $event.model.busy = false;\n      } else {\n        this.api.post(`users/login-recovery-requests/${this.params.token}/password-resets`, { password: this.password1 }).then(x => {\n          this.success = true;\n        }).catch(x => {\n          let response = JSON.parse(x.response);\n          if (response.source?.parameters?.length && response.source?.parameters[0].messages?.length) {\n            this.error = response.source.parameters[0].messages[0];\n          } else if (response.detail) {\n            this.error = response.detail;\n          }\n          this.toast.show('Cambio password utente fallito!', 'error');\n        }).finally(() => {\n          if ($event && $event.model) $event.model.busy = false;\n        });\n      }\n    }).catch(e => {\n      if ($event && $event.model) $event.model.busy = false;\n    }).finally(x => {\n    });\n    \n  }\n}\n","export class vmDeleteAccount {}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogAddResellerTag {\n  pendingInit = true;\n  resource = {\n    controls: {},\n    schema: {\n      uuid: {\n        label: 'Segnalatore', \n        control: 'combo',\n        datasource: { \n          table: `bo/resellers?user-status-in=ACTIVE&reseller-status=ACTIVE`,\n          query: { search: 'full-text-search', item: 'uuid-in' }\n        },\n        datavalue: 'uuid',\n        datatext: '{firstname} {lastname}',\n        datamultiple: false,\n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      resellerCode: {\n        label: 'Codice', \n        control: 'combo',\n        datasource: [],\n        datavalue: 'resellerCode', \n        datatext: 'resellerCode',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      rewardedServiceCode: {\n        label: 'Servizio da associare',\n        control: 'combo',\n        datasource: [],\n        datavalue: 'code', \n        datatext: 'name', \n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.getServiceGroups().finally(() => { this.pendingInit = false; });\n  }\n\n  getServiceGroups() {\n    return this.api.get('resell/service-groups').then(xhr => {\n      let serviceGroups = xhr.response;\n      this.resource.schema.rewardedServiceCode.datasource = serviceGroups;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n    });\n  }\n\n  changeReseller(uuidReseller = this.resource.data.uuid) {\n    this.api.get(`bo/resellers/${uuidReseller}`, { filters: 'reseller-status=ACTIVE' }).then(xhr => {\n      let codes = [];\n      this.reseller = xhr.response;\n      this.reseller.resellerCodes.forEach(resellerCode => { codes.push({ resellerCode: resellerCode.code }); });\n      this.resource.schema.resellerCode = Object.assign({}, this.resource.schema.resellerCode, { datasource: codes });\n    }).catch(error => {\n      console.log('ERROR - bo/resellers - GET', error);\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      this.api.post(`bo/prospect-landing-pages/${this.params.referralCode}/reseller-tags`, this.resource.data).then(() => {\n        this.controller.ok();\n      }).catch((error) => {\n        console.log('reseller-tags', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });    \n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogSponsorAgreement {\n  pendingSave;\n  resource = {\n    controls: {},\n    schema: {\n      agreementText: {\n        label: 'Inserisci il testo dell\\'email.',\n        required: true,\n        control: 'editor'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.loadAgreementText();\n  }\n\n  loadAgreementText() {\n    this.params.agreementText ? this.resource.data.agreementText = this.params.agreementText : null;\n  }\n\n  save() {\n    this.pendingSave = true;\n    this.api.patch(`bo/prospect-landing-pages/${this.params.referralCode}`, this.resource.data).then(() => {\n       this.controller.ok();\n    }).catch((error) => {\n       console.log('Prospect-landing-pages - PATCH', error);\n       this.api.dialogError(error);\n    }).finally(() => {\n      this.pendingSave = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\nimport { vmAgreement } from '../../_agreement/agreement';\n@inject(Api, KaToast, KaDialog)\nexport class LandingPages {\n  endpoint = 'bo/prospect-landing-pages';\n  editEnabled = false;\n  priceLists = null;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.getPriceLists().then(() => { this.initTableInterface(); });\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'landing-pages-table',\n      client: this.api,\n      endpoint: this.endpoint,\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      this.response = response;\n      this.response.forEach(element => { element.controls = {}; });\n      return this.response;\n    };\n\n    this.tableInterface.events.addEventListener('dataLoad', () => {\n      this.editEnabled = false;\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      setTimeout(() => { this.editEnabled = true; }, 500);\n    });\n\n    this.searchInterface = new SearchInterface({\n      name: 'landing-pages-search',\n      table: this.tableInterface,\n      schema: {\n        referralCode: {\n          label: 'Codice referral',\n          control: 'text',\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          query: 'referral-code-like'\n        },\n        listCode: {\n          label: 'Codice listino',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          query: 'price-list-code-in'\n        },\n        searchStatus: {\n          label: 'Stato',\n          control: 'combo',\n          datasource: [\n            { value: 'ACTIVE', text: 'Attiva' },\n            { value: 'NOT-ACTIVE', text: 'Non attiva' },\n            { value: 'DELETED', text: 'Cancellata' },\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'status'\n        },\n        sponsorUuid: {\n          label: '',\n          control: 'combo',  \n          datasource: { \n            table: `bo/users?include=user-profiles&country-code-in=IT&status=ACTIVE&user-group-in=SPONSOR`, \n            query: { search: 'text-search', item: 'uuid-in'} \n          },\n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n        },\n        description: {\n          label: '',\n          control: 'text'\n        },\n        definitivePriceListCode: {\n          label: '',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true\n        },\n        status: {\n          label: '',\n          control: 'combo',\n          datasource: [\n            { value: 'ACTIVE', text: 'Attiva' },\n            { value: 'NOT-ACTIVE', text: 'Non attiva' },\n            { value: 'DELETED', text: 'Cancellata' },\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n        },\n        temporaryPriceListCode: {\n          label: '',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true\n        },\n        temporaryPriceListCodeDurationInDays: {\n          label: '',\n          control: 'number'\n        }\n      },\n      data: {}\n    });\n\n    try {\n      await this.tableInterface.initialize();\n      this.searchInterface.initialize().then(() => {\n        this.searchInterface.search();\n      }).catch(error => { console.log('searchInterface initialization failed', error) });\n    } catch (error) {\n      console.error('tableInterface initialization failed', error);\n    }\n  }\n\n  getPriceLists() {\n    return this.api.get('bo/price-lists').then((xhr) => {\n      this.priceLists = xhr.response;\n    }).catch((error) => {\n      this.priceLists = [];\n      console.error('Error GET bo/price-lists', error);\n    });\n  }\n\n  edit(record) {\n    if (!this.editEnabled || !record.referralCode || record.referralCode === undefined) return;\n    setTimeout(() => {\n      let recordFormatted = {\n        description: record.description,\n        sponsorUuid: record.sponsorUuid,\n        status: record.status,\n        temporaryPriceListCode: record.temporaryPriceListCode || null,\n        definitivePriceListCode: record.definitivePriceListCode,\n        ...(!record.sponsorUuid && { agreementText: null }),\n      };\n\n      if (record.temporaryPriceListCodeDurationInDays) recordFormatted.temporaryPriceListCodeDurationInDays = record.temporaryPriceListCodeDurationInDays;\n    \n      this.api.patch(`bo/prospect-landing-pages/${record.referralCode}`, recordFormatted).then(() => {\n        this.searchInterface.search();\n      }).catch((error) => {\n        console.error(error);\n        let errorPayload = mdt.parsers.apiError(error, record.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      })\n    }, 0);\n  }\n\n  addResellerTag(record) {\n    this.dialog.open({\n      title: 'Associa nuovo segnalatore',\n      class: 'profilo-add-reseller small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/landing-pages/dialogs/add-reseller-tag'),\n      viewModelParams: { referralCode: record.referralCode }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.toast.show('Segnalatore aggiunto con successo', 'success');\n        this.tableInterface.load();\n      }\n    });\n  }\n\n  deleteResellerTag(tag) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Confermi di voler rimuovere questo segnalatore?`\n    }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.api.delete(`bo/prospect-landing-pages/${tag.prospectLandingPageReferralCode}/reseller-tags/${tag.uuid} `).then(() => {\n            this.toast.show('Segnalatore eliminato con successo', 'success');\n            this.tableInterface.load();\n          }).catch(error => {\n            console.error(error);\n          });\n        }\n      });\n  }\n\n  openSponsorDialog(record) {\n    return this.dialog.open({\n      title: 'Accordo con Sponsor',\n      class: 'sponsor-agreement',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/landing-pages/dialogs/sponsor-agreement'),\n      viewModelParams: { \n        referralCode: record.referralCode,\n        agreementText: record.agreementText\n      },\n    }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.toast.show('Accordo modificato con successo', 'success');\n          this.tableInterface.load();\n        }\n      });\n  }\n}","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Api, KaToast, KaDialog)\nexport class RevisioneAbiCab {\n  endpoint = 'bo/unknown-iban-coordinates-it/current';\n  editEnabled = false;\n  priceLists = null;\n  resource = {\n    controls: {},\n    schema: {\n      abiCode: {\n        label: 'ABI',\n        control: 'text',\n        readonly: true\n      },\n      cabCode: {\n        label: 'CAB',\n        control: 'text',\n        readonly: true\n      },\n      instituteName: {\n        label: 'Istituto',\n        control: 'text'\n      },\n      officeName: {\n        label: 'Nome ufficio',\n        control: 'text'\n      },\n      countryCode: {\n        label: 'Nazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n        query: 'country-code-in'\n      },\n      admLvl1: {\n        label: 'Regione',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-1-uuid-in'\n      },\n      admLvl2: {\n        label: 'Provincia',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-2-uuid-in'\n      },\n      admLvl3: {\n        label: 'Comune',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-3-uuid-in'\n      },\n      streetAddress: {\n        label: 'Indirizzo',\n        control: 'text'\n      },\n      zipCode: {\n        label: 'Cap',\n        control: 'text'\n      },\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.loadData();\n  }\n\n  loadData() {\n    return this.api.get(this.endpoint).then((xhr) => {\n      this.resource.data = xhr.response;\n      this.resource.data.countryCode = 'IT';\n    });\n  }\n\n  initGeo(type, init = false) {\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/1/divisions`;\n      this.resource.controls.admLvl1.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl1 = null;\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/2/divisions?parent-uuid=${this.resource.data.admLvl1}`;\n      this.resource.controls.admLvl2.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl2 = null;\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/3/divisions?parent-uuid=${this.resource.data.admLvl2}`;\n      this.resource.controls.admLvl3.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl3 = null;\n    }\n    this.resource.controls[type].control._initialized = true;\n  }\n\n  reset() {\n    const controls = this.resource.controls;\n    for (const controlKey in controls) {\n      const control = controls[controlKey];\n      if (!['countryCode', 'abiCode', 'cabCode'].includes(control.name)) control.clear();\n    }\n  }\n\n  save() {\n    if (this.pendingSave) return;\n    this.pendingSave = true;\n    const data = {\n      abiCode: this.resource.data.abiCode,\n      cabCode: this.resource.data.cabCode,\n      instituteName: this.resource.data.instituteName,\n      officeName: this.resource.data.officeName,\n      countryCode: this.resource.data.countryCode,\n      admLvl2: (this.resource.controls.admLvl2?.control?.valueModel?.endonym) || null,\n      admLvl3: (this.resource.controls.admLvl3?.control?.valueModel?.endonym) || null,\n      streetAddress: (this.resource.data?.streetAddress) || null,\n      zipCode: (this.resource.data?.zipCode) || null\n    };\n\n    this.resource.validate().then(() => {\n      this.api.post(`bo/bank-offices`, data).then(() => {\n        this.toast.show('Dati salvati con successo!', 'success');\n        this.loadData().then(() => {\n          this.reset();\n        });\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        this.pendingSave = false;\n      })\n    }).catch(() => {\n      this.pendingSave = false;\n    });\n  }\n}","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\n\nimport {KaDialog, KaToast} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from '../../../environment';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubricaDati {\n  endpoint = 'users/me/contacts';\n  environment = environment;\n  mdt = mdt;\n  contact = {\n    loaded: false,\n    endpoint: 'users/me/contacts',\n    query: null,\n    schema: {\n      firstname: {\n        control: 'text', \n        label: 'Nome'\n      },\n      lastname: {\n        control: 'text', \n        label: 'Cognome'\n      },\n      nickname: {\n        control: 'text', \n        label: 'Soprannome'\n      },\n      companyName: {\n        control: 'text', \n        label: 'Denominazione'\n      },\n      jobTitle: { \n        label: 'Titolo',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [{ value: 'Sig.', text: 'Sig.' }, { value: 'Sig.ra', text: 'Sig.ra' }, { value: 'Arch.', text: 'Arch.' }, { value: 'Avv.', text: 'Avv.' }, { value: 'Dott.', text: 'Dott.' }, { value: 'Dott.ssa', text: 'Dott.ssa' }, { value: 'Geom.', text: 'Geom.' }, { value: 'Ing.', text: 'Ing.' }, { value: 'Prof.', text: 'Prof.' }, { value: 'Prof.ssa', text: 'Prof.ssa' }, { value: 'P.I.', text: 'P.I.' }, { value: 'Rag.', text: 'Rag.' }, { value: 'Cav.', text: 'Cav.' }, { value: 'Comm.', text: 'Comm.' }],\n      },\n      countryCode: {\n        label: 'Nazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n      },\n      admLvl1Uuid: {\n        label: 'Regione',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      admLvl2Uuid: {\n        label: 'Provincia',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      admLvl3Uuid: {\n        label: 'Comune',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      locality: {\n        control: 'text', \n        label: 'Località'\n      },\n      addressee: {\n        control: 'text', \n        label: 'Presso'\n      },\n      streetAddress: {\n        control: 'text', \n        label: 'Indirizzo'\n      },\n      zipCode: {\n        control: 'text', \n        label: 'Cap'\n      },\n      fiscalCode: {\n        control: 'text', \n        label: 'Codice Fiscale'\n      },\n      vatCode: {\n        control: 'text', \n        label: 'Partita IVA'\n      },\n      homePhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Telefono'\n      },\n      homePhoneNumber: {\n        control: 'text', \n        label: 'Telefono'\n      },\n      workPhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Telefono lavoro'\n      },\n      workPhoneNumber: {\n        control: 'text', \n        label: 'Telefono lavoro'\n      },\n      mobilePhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Cellulare'\n      },\n      mobilePhoneNumber: {\n        control: 'text', \n        label: 'Cellulare (verrà utilizzato per invio Sms)'\n      },\n      faxNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Fax'\n      },\n      faxNumber: {\n        control: 'text', \n        label: 'Fax'\n      },\n      emailAddress: {\n        control: 'text', \n        label: 'Email'\n      },\n      certifiedEmailAddress: {\n        control: 'text', \n        label: 'Pec'\n      },\n      webSiteUrl: {\n        control: 'text', \n        label: 'Web'\n      },\n      contactGroups: { \n        control: 'combo',\n        label: 'Gruppo',\n        datatext: 'name',\n        datavalue: 'id',\n        datamultiple: true,\n        datapreload: true,\n        datasource: { table: 'users/me/contact-groups' }\n      },\n      notes: {\n        control: 'textarea', \n        label: 'Note'\n      },\n      newsletterOptIn: {\n        label: 'Consenti Newsletter',\n        control: 'check',\n      },\n      newsletterOptInDate: {\n        label: 'Data Consenso',\n        control: 'date'\n      },\n      uniqueCode: {\n        label: 'Unique Code',\n        control: 'text' \n      }\n    },\n    data: {\n      countryCode: 'IT',\n      newsletterOptInDate: null,\n      homePhoneNumberInternationalPrefix: '+39',\n      workPhoneNumberInternationalPrefix: '+39',\n      mobilePhoneNumberInternationalPrefix: '+39',\n      faxNumberInternationalPrefix: '+39'\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = JSON.parse(JSON.stringify(this.contact.data));\n      ['homePhoneNumber', 'workPhoneNumber', 'mobilePhoneNumber', 'faxNumber'].forEach(field => {\n        if (data[field]) {\n          data[field] = (String(data[`${field}InternationalPrefix`] || '+39') + String(data[field])).replace(/\\s+/g, \"\");\n        }\n        delete data[`${field}InternationalPrefix`];\n      });\n      if (data.contactGroups === null) {\n        data.contactGroups = [];\n      }\n      if (data.id) {\n        this.contact.resource.save(data, `users/me/contacts/${data.id}`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n          this.router.navigateToRoute('anagrafiche/rubrica');\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        this.contact.resource.save(data, 'users/me/contacts', 'post').then(x => {\n          this.toast.show('Contatto creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/rubrica');\n        }).catch(e => {\n          console.error(e);\n          this.toast.show('Errore nella creazione del contatto!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.load();\n  }\n\n  load() {\n    if (this.params.id && this.params.id !== 'new') {\n      this.pending = true;\n      this.api.get(`users/me/contacts/${this.params.id}`).then(xhr => {\n        let data = xhr.response;\n        ['homePhoneNumber', 'workPhoneNumber', 'mobilePhoneNumber', 'faxNumber'].forEach(field => {\n          data[`${field}InternationalPrefix`] = data[`${field}InternationalPrefix`] || '+39';\n          data[field] = String((data[field] || '').replace(data[`${field}InternationalPrefix`], '')).trim();\n        });\n        this.contact.data = data;\n      }).catch(error => {\n        console.log('ERROR - users/me/contacts GET', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.pending = false;\n      });\n    }\n  }\n\n  annulla() {\n    this.router.navigateToRoute('anagrafiche/rubrica');\n  }\n\n  setGeo(field, init = false) {\n    let childField, childControl, childSchema, childData, countryCode, admLvls, lvl;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    }\n    \n    childControl = this.contact.resource.controls[childField];\n    childSchema = this.contact.schema[childField];\n    childData = this.contact.data;\n    countryCode = this.contact.data['countryCode'];\n    admLvls = this.contact.resource.controls['countryCode'].objectValue?.administrativeLevels;\n    \n    if (countryCode) {\n      let url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${childData[field]}` : '');\n      if (admLvls && admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = true;\n      } else if (admLvls && !admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = false;\n      }\n      if (init) {\n        childSchema.datasource.table = url;\n      } else if (childControl) {\n        childControl.datasource.table = url;\n        childData[childField] = null;\n      } else {\n        childSchema.datasource.table = url;\n        childData[childField] = null;\n      }\n    } else if (!init) {\n      childData[childField] = null;\n    }\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\n\nexport class RubricaDialogEliminaGruppo {\n  deleteContacts = false;\n  constructor() {\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class RubricaDialogElimina {\n  multipleRecords = false;\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (params && params.length) {\n      if (params.length !== 1) this.multipleRecords = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubricaGruppi {\n  mdt = mdt;\n  group = {\n    loaded: false,\n    endpoint: 'users/me/contact-groups',\n    query: '',\n    schema: {\n      name: {\n        control: 'text', \n        label: 'Nome gruppo'\n      },\n    },\n    data: {},\n    save: ($event) => {\n      $event.model.busy = true;\n      if (this.group.data.id) {\n        this.group.resource.save(this.group.data, `users/me/contact-groups/${this.group.data.id}`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n          this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        this.group.resource.save(this.group.data, 'users/me/contact-groups', 'post').then(x => {\n          this.toast.show('Contatto creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n        }).catch(e => {\n          console.error(e);\n          this.toast.show('Errore nella creazione del contatto!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n  \n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    /* Table Interface */\n    this.groupsTableInterface = new TableInterface({\n      name: 'groups-table',\n      client: this.api,\n      endpoint: 'users/me/contact-groups',\n      query: null\n    });\n\n    /* Initialize table */\n    this.groupsTableInterface.initialize().then(() => { this.load(); }).catch(error => { console.log('groupsTable-initialize failed', error); });\n  }\n\n  load() {\n    if (this.params.id && this.params.id !== 'new') {\n      this.api.get(`users/me/contact-groups/${this.params.id}`).then(xhr => {\n        this.group.data = xhr.response;\n      });\n    } else if (!this.params.id) {\n      this.groupsTableInterface.load().catch(error => { console.log('groupsTable-load failed', error); });\n    }\n  }\n\n  annulla() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi', { id: 'new' });\n  }\n\n  elimina(record) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo'),\n      viewModelParams: record\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        if (response.output.deleteContacts) {\n          this.api.delete(`users/me/contact-groups/${record.id}/contacts`).then(() => {\n            this.api.delete(`users/me/contact-groups/${record.id}`).then(() => {\n              this.load();\n              this.toast.show('Gruppo e relativi contatti eliminati con successo!', 'success');\n            }).catch(x => {\n              this.api.dialogError(x);\n            });\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        } else {\n          this.api.delete(`users/me/contact-groups/${record.id}`).then(() => {\n            this.load();\n            this.toast.show('Gruppo eliminato con successo!', 'success');\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      }\n    });\n  }\n\n  modifica(record) {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi', { id: record.id });\n  }\n\n  contatti() {\n    this.router.navigateToRoute('anagrafiche/rubrica');\n  }\n}\n","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class viewRubricaImportazione {\n  records = false;\n  loading = false;\n  constructor(router, api, toast, dialog) {\n    this.api = api;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {}\n\n  carica($event) {\n    if (!this.file || this.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    this.loading = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.file[0]);\n    reader.onload = () => {\n      let data = {\n        filename: this.file[0].name,\n        fileData: reader.result\n      };\n      this.api.post('users/me/contacts/bulk-import', data).then(x => {\n        this.toast.show('File importato con successo!', 'success');\n        this.file = null;\n        this.loading = true;\n      }).catch(x => {\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            console.log('400', response)\n            for (let parameter of response.source.parameters) {\n              if (/^data\\.attributes\\.fileData/.test(parameter.parameter)) {\n                errorMessages.push('Formato file non valido');\n              }\n              else if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        } else errorMessages.push('Errore nel caricamento del file!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        this.loading = false;\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      this.loading = false;\n      $event.model.busy = false;\n    };\n  }\n\n  annulla() {\n    if (!this.records) return this.router.navigateToRoute('anagrafiche/rubrica');\n    this.records = false;\n  }\n}\n\n","\nimport {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubrica {\n  mdt = mdt;\n  contactGroups = null;\n  selected = [];\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n\n    // Load contact groups\n    this.api.get('users/me/contact-groups').then(xhr => {\n      let groups = {};\n      for (let group of xhr.response) {\n        groups[group.id] = group;\n      }\n      this.contactGroups = groups;\n    });\n  }\n\n  attached() {\n    /* Table interface */\n    this.rubricaTableInterface = new TableInterface({\n      name: 'rubrica-table',\n      client: this.api,\n      endpoint: 'users/me/contacts',\n      query: null\n    });\n\n    /* Table Search */\n    this.rubricaSearchInterface = new SearchInterface({\n      name: 'rubrica-table-search',\n      table: this.rubricaTableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          label: 'Ricerca libera',\n          query: 'text-search'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n          query: 'country-code-in'\n        },\n        admLvl1: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-1-uuid-in'\n        },\n        admLvl2: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-2-uuid-in'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-3-uuid-in'\n        },\n        group: { \n          control: 'combo',\n          label: 'Gruppo',\n          datatext: 'name',\n          datavalue: 'id',\n          datamultiple: true,\n          datapreload: true,\n          datasource: { table: 'users/me/contact-groups' },\n          query: 'group-uuid-in'\n        }\n      },\n      data: {\n        countryCode: 'IT',\n      }\n    });\n    this.rubricaTableInterface.initialize().then(() => {\n      this.rubricaSearchInterface.initialize().then(() => {\n        this.initGeo('countryCode', true);\n        setTimeout(() => { this.ricerca(); }, 500);\n      }).catch(error => { console.log('rubrica-search-intialize failed', error); });\n    }).catch(error => { console.log('rubrica-table-initialize failed', error); });\n  }\n\n  ricerca() {\n    this.rubricaSearchInterface.search().catch(error => { console.log('rubrica-search-interface failed', error); });\n  }\n\n  reset() {\n    for (let [k,v] of Object.entries(this.rubricaSearchInterface.data)) this.rubricaSearchInterface.data[k] = null;\n    this.ricerca();\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/rubrica-dati', { id: 'new' });\n  }\n\n  gruppi() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n  }\n\n  importa() {\n    this.router.navigateToRoute('anagrafiche/rubrica-importazione');\n  }\n\n  modifica($event, record) {\n    $event.stopPropagation();\n    this.router.navigateToRoute('anagrafiche/rubrica-dati', { id: record.id });\n  }\n\n  elimina($event, record) {\n    $event.stopPropagation();\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina'),\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/me/contacts/${record.id}`).then(() => {\n          this.toast.show('Contatto eliminato con successo!', 'success');\n          this.ricerca();\n        }).catch(x => {\n          this.api.dialogError(x);\n        });\n      }\n    });\n  }\n\n  esporta() {\n    if (!this.selected.length) return;\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let csv = ['nome;cognome;denominazione;numero;indirizzo;cap;comune;localita;provincia;nazione'];\n    for (let record of this.selected) {\n      csv.push([\n        record.firstname,\n        record.lastname,\n        record.companyName,\n        record.mobilePhoneNumber || record.homePhoneNumber || record.workPhoneNumber || null,\n        record.streetAddress,\n        record.zipCode,\n        record.admLvl3,\n        record.locality,\n        record.admLvl2,\n        record.countryCode,\n      ].join(';'));\n    }\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = 'rubrica-invio-tradizionale.csv';\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.consume();\n  }\n\n  initGeo(type, init = false) {\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/1/divisions`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl1.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl1.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl1 = null;\n      }\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/2/divisions?parent-uuid=${this.rubricaSearchInterface.data.admLvl1}`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl2.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl2.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl2 = null;\n      }\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/3/divisions?parent-uuid=${this.rubricaSearchInterface.data.admLvl2}`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl3.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl3.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl3 = null;\n      }\n    }\n  }\n\n  selectContact(record) {\n    if (this.selected.find(x => x.id === record.id)) this.selected.splice(this.selected.findIndex(x => x.id === record.id), 1);\n    else this.selected.push(record);\n  }\n\n  deleteContacts() {\n    if (this.selected && this.selected.length) {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina'),\n        viewModelParams: this.selected\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          let promises = []\n          this.selected.forEach(contact => {\n            promises.push(this.api.delete(`users/me/contacts/${contact.id}`));\n          });\n          if (promises.length) return Promise.all(promises).then(() => {\n            this.toast.show(`${this.selected.length > 1 ? 'Contatti eliminati' : 'Contatto eliminato'} con successo`, 'success');\n            this.selected = [];\n            this.ricerca();\n          }).catch(() => {\n            this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Impossibile eliminare i contatti selezionati' });\n          });\n        }\n      });\n    }\n  }\n\n  toggleAllContacts(records) {\n    if (records.length > this.selected.length) {\n      this.selected = [];\n      records.forEach(x => {\n        this.selected.push(x);\n      });\n    } else {\n      this.selected = [];\n    }\n    return;\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, DialogController, KaDialog, KaToast)\nexport class DialogMigrateSubuser {\n  pendingSave;\n  activableOn = 'Utenti';\n  payableBy = 'Utenti';\n  selectedUser;\n  resource = {\n    controls: {},\n    schema: {\n      migrationRecipient: {\n        control: 'combo',\n        label: 'Nuovo utente padre',\n        required: true,\n        datatext: 'profile[0].displayName',\n        datavalue: 'id',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' }},\n        query: 'text-search'\n      },\n      migrationReason: {\n        control: 'text',\n        label: 'Nota',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        promises.push(new Promise((resolve, reject) => {\n          if (control.validate)\n            control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n          else if (control.input?.validate)\n            control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, DialogController, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.controller = DialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    if (this.pendingSave) return;\n    this.pendingSave = true;\n    this.resource.validate().then(() => {\n      let data = {};\n      data.migrationReason = this.resource.data.migrationReason;\n      data.migrationSubuserUuid = this.params.uuid;\n      this.api.post(`bo/users/${this.resource.data.migrationRecipient}/users`, data).then(() => {\n        this.params.dialog.ok();\n        this.toast.show('Migrazione avvenuta con successo', 'success');\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        this.pendingSave = false;\n      })\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class ServiceDialogProfiloAddReseller {\n  pending = true;\n  resource = {\n    controls: {},\n    schema: {\n      uuid: {\n        label: 'Segnalatore', \n        control: 'combo',\n        datasource: { table: `bo/resellers?reseller-status=ACTIVE`, query: { search: 'text-search', item: 'uuid-in' }},\n        datavalue: 'uuid',\n        datatext: '{firstname} {lastname}', \n        datamultiple: false,\n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      resellerCode: {\n        label: 'Codice', \n        control: 'combo',\n        datasource: [],\n        datavalue: 'resellerCode', \n        datatext: 'resellerCode',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      serviceGroupCode: {\n        label: 'Servizio da associare',\n        control: 'combo',\n        datasource: [],\n        datavalue: 'code', \n        datatext: 'name', \n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.getServiceGroups().finally(() => { this.pending = false; });\n  }\n\n  getServiceGroups() {\n    return this.api.get('resell/service-groups').then(xhr => {\n      let serviceGroups = xhr.response;\n      this.resource.schema.serviceGroupCode.datasource = serviceGroups;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n    });\n  }\n\n  changeReseller(uuidReseller = this.resource.data.uuid) {\n    this.api.get(`bo/resellers/${uuidReseller}`, { filters: 'reseller-status=ACTIVE' }).then(xhr => {\n      let codes = [];\n      this.reseller = xhr.response;\n      this.reseller.resellerCodes.forEach(resellerCode => { codes.push({ resellerCode: resellerCode.code }); });\n      this.resource.schema.resellerCode = Object.assign({}, this.resource.schema.resellerCode, { datasource: codes });\n    }).catch(error => {\n      console.log('ERROR - rbo/resellers - GET', error);\n    });\n  }\n\n  save() {\n    let data = { ...this.resource.data };\n    delete data.uuid;\n    this.api.post(`bo/users/${this.params.id}/resellers`, data).then(() => {\n      this.controller.ok();\n    }).catch(error => {\n      console.log('ERROR - /resellers - POST', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ProfiloDeleteBillingProfile {\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n@inject(Api, DialogController)\nexport class ProfiloDocumentUpload {\n  mdt = mdt;\n  pending = false;\n  buttonPending = false;\n  error = null;\n  ibanCodes = null;\n  userProfile = null;\n  resource = {\n    controls: {},\n    schema: {\n      file: {\n        label: 'Documento',\n        control: 'file',\n        required: true\n      },\n      placeholder: {\n        label: 'Etichetta',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    }\n  }\n\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId;\n    this.uploadSessionUuid = params.uploadSessionUuid;\n    this.type = params.type;\n    this.document = params.document || null;\n  }\n\n  attached() {\n    if (this.type?.placeholderType === 'IBAN' && this.api.hasRole(['LIST_USER_BILLING_PROFILE_IBAN_CODES', 'LIST_ANY_USER_BILLING_PROFILE_IBAN_CODES'])) {\n      this.pending = true;\n      if (this.userId === 'me') this.getIbanCodes();\n      else this.getUser().then(() => { this.getIbanCodes(); });   \n    } else {\n      this.resource.schema.placeholder.placeholder = this.type.placeholderType || null;\n    }\n  }\n\n  getIbanCodes() {\n    this.api.get(`users/${this.userId}/billing-profile-iban-codes`).then(xhr => {\n      this.ibanCodes = xhr.response;\n      this.ibanCodes.forEach(ibanCode => {\n        ibanCode.label = `<strong>${ibanCode.label}: </strong><br>${ibanCode.code}`\n      });\n      this.resource.schema.placeholder = {\n        label: this.userId === 'me' ? 'IBAN dai miei profili di fatturazione' : `IBAN dai profili di fatturazione di ${this.userProfile.displayName}`,\n        control: 'combo',\n        datasource: this.ibanCodes,\n        datavalue: 'code',\n        datatext: `label`,\n        required: true\n      }\n      this.pending = false;\n    }).catch(error => {\n      console.log('ERROR - billing-profile-iban-codes GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  getUser() {\n    return this.api.get(`users/${this.userId}?include=user-profiles`).then(xhr => {\n      this.userProfile = xhr.response.profile[0] || null;\n    }).catch(error => {\n      console.log('ERROR user profile - GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  upload(endpoint, file) {\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        let reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = error => { reject(error); };\n      }).then(() => {\n        this.api.post(endpoint, attachment).then(xhr => {\n          // Build object attachment\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch(error => reject(error));\n      }).catch(error => reject(error));\n    });\n  }\n\n  save($event) {\n    this.buttonPending = $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let endpoint = `users/${this.userId}/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n      this.upload(endpoint, this.resource.data.file[0]).then(xhr => {\n        let data = { uploadedFileUuid: xhr.id };\n        if (this.type.placeholderType) data.placeholder = this.resource.data.placeholder;\n\n        // Buckets\n        if (this.document) {\n          this.api.put(`users/${this.userId}/certifiable-document-buckets/current/certifiable-documents/${this.document.uuid}`, data).then(() => {\n            this.controller.ok();\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - PUT', error);\n            this.api.dialogError(error);\n            setTimeout(() => { this.pending = $event.model.busy = false; }, 0);\n          });\n        } else {\n          data.documentType = this.type.code;\n          this.api.post(`users/${this.userId}/certifiable-document-buckets/current/certifiable-documents`, data).then(() => {\n            this.controller.ok();\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - POST', error);\n            this.api.dialogError(error);\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          });\n        }       \n      }).catch(error => {\n        console.error('ERROR - upload file', error);\n        this.api.dialogError(error);\n        setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n      });\n    }).catch(() => {\n      this.buttonPending = $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class UtentiDialogArchiviaNuovo {\n  resource = {\n    controls: {},\n    schema: {\n      reason: {\n        label: 'Operazione',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [{ value: 'ARCHIVING', text: 'Archiviazione'}, /*{ value: 'MIGRATION', text: 'Migrazione'}*/],\n        required: true\n      },\n      newParentUserUuid: {\n        label: 'Migra verso',\n        control: 'combo', \n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'uuid', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        if (control.validator) control.validator.errors = [];\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.resource.client = this.api;\n  }\n  \n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.params.id}/archiving`, this.resource.data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n        this.toast.show(`${this.resource.data.reason === 'MIGRATION' ? 'Migrazione' : 'Archiviazione'} avvenuta con successo`, 'success');\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class UtentiImportazioneDialogSovrascrittura {\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n}\n","export class viewGestioneUtenti {\n\n/* REGISTER SUB VIEWS */\n\n  views = {\n    elenco:                 { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/elenco')},\n    importazione:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/importazione')},\n    anagrafica:             { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/anagrafica')},\n    documenti:              { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/documenti')},\n    documenti_approvazione: { vm: PLATFORM.moduleName('views/backoffice/documenti/tabs/documenti-gestione')},\n    fatturazione:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione')},\n    segnalatori:            { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/segnalatori')},\n    compensi:               { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/compensi')},\n    cashback:               { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/cashback')},\n    impostazioni:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/impostazioni')},\n    pagamenti:              { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/pagamenti')},\n  };\n\n  /* AURELIA'S COMPONENT LIFECYCLE'S HOOK METHODS */\n\n  activate(params, routeConfig, currentInstruction) {\n    /* ROUTE CAN BE\n    anagrafiche/utenti\n    anagrafiche/utenti/666\n    anagrafiche/utenti/666/anagrafica\n    anagrafiche/utenti/{id}/{view}\n    anagrafiche/utenti/importazione\n    anagrafiche/utenti/documenti\n    anagrafiche/utenti/fatturazione\n    gestione/profilo/me\n    */\n    if (routeConfig.route === 'gestione/profilo/me') {\n      params.id = 'me';\n    }\n    if (params.id && !params.view) {\n      params.view = 'anagrafica';\n    }\n    // Overwrite default class name for <router> element\n    currentInstruction.config.className = currentInstruction.config.name.replace('/','-') + (params.view ? `-${params.view}` : '');\n\n    this.params = params;\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\n\n\n@inject(Aurelia, Router, Api, MdUser, KaDialog, KaToast)\nexport class Anagrafica {\n  endpoint;\n  pendingLoad;\n  pendingInit;\n  parentUser;\n  legalForms;\n  legalFormTypes;\n  legalFormSelected;\n  oldSelectedCountryCode;\n  resource = {\n    controls: {},\n    schema: {\n      group: { \n        control: 'combo',  \n        label: 'Tipo accesso', \n        datatext: 'label',\n        datavalue: 'code', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [],\n        readonly: true\n      },\n      password: {\n        control: 'password', \n        label: 'Imposta nuova password'\n      },\n      profile: {\n        username: {\n          control: 'text',\n          label: 'Username'\n        },\n        displayName: { \n          control: 'text',\n          label: 'Etichetta'\n        },\n        courtesyTitle: { \n          label: 'Titolo',\n          control: 'combo',\n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'Sig.', text: 'Sig.' }, { value: 'Sig.ra', text: 'Sig.ra' }, { value: 'Arch.', text: 'Arch.' }, { value: 'Avv.', text: 'Avv.' }, { value: 'Dott.', text: 'Dott.' }, { value: 'Dott.ssa', text: 'Dott.ssa' }, { value: 'Geom.', text: 'Geom.' }, { value: 'Ing.', text: 'Ing.' }, { value: 'Prof.', text: 'Prof.' }, { value: 'Prof.ssa', text: 'Prof.ssa' }, { value: 'P.I.', text: 'P.I.' }, { value: 'Rag.', text: 'Rag.' }, { value: 'Cav.', text: 'Cav.' }, { value: 'Comm.', text: 'Comm.' }],\n        },\n        holderName: {\n          companyName: {\n            control: 'text', \n            label: 'Denominazione',\n            required: false\n          },\n          firstname: {\n            control: 'text', \n            label: 'Nome',\n            required: false\n          },\n          lastname: {\n            control: 'text', \n            label: 'Cognome',\n            required: false\n          }\n        },\n        businessType: { \n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: false,\n          datasource: [],\n          required: true\n        },\n        companyLegalFormCode: {\n          label: 'Forma giuridica',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: false,\n          datasource: [],\n          required: true\n        },\n        fiscalCode: {\n          control: 'text', \n          label: 'Codice fiscale',\n          required: false\n        },\n        vatCode: {\n          control: 'text', \n          label: 'Partita iva',\n          required: false\n        },\n        location: {\n          streetAddress: {\n            control: 'text', \n            label: 'Indirizzo',\n            required: true,\n          },\n          locality: {\n            control: 'text', \n            label: 'Località'\n          },\n          countryCode: { \n            label: 'Nazione', \n            control: 'combo',  \n            datatext: 'name',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n            required: true\n          },\n          admLvl1Uuid: {\n            label: 'Regione',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          admLvl2Uuid: {\n            label: 'Provincia',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          admLvl3Uuid: {\n            label: 'Comune',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          zipCode: {\n            label: 'CAP',\n            control: 'text',\n            required: true,\n          }\n        },\n        email: {\n          control: 'text', \n          label: 'Email'\n        },\n        pec: {\n          control: 'text',\n          label: 'PEC'\n        },\n        phoneNumber: {\n          control: 'text', \n          label: 'Telefono'\n        },\n        mobilePhoneNumber: {\n          control: 'text', \n          label: 'Cellulare'\n        },\n        faxNumber: {\n          control: 'text', \n          label: 'Fax'\n        }\n      }\n    },\n    data: {\n      group: 'BASIC_USER',\n      profile: {\n        location: {\n          countryCode: 'IT'\n        }\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(aurelia, router, api, mdUser, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.endpoint = this.isOperator ? 'bo/users' : 'users/me/users';\n  }\n\n  attached() {\n    this.oldSelectedCountryCode = this.resource.data.profile.location.countryCode;\n    this.init();\n  }\n\n  init() {\n    this.pendingInit = true;\n    let promises = [];\n    if (this.isOperator) promises.push(this.getUserGroups());\n    if (this.params.id && this.params.id !== 'new') promises.push(this.load());\n    return Promise.all(promises).catch(error => {\n      console.error(`GET - init`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.getBusinessType();\n      this.setCompanyLegalFormCodeDatasource();\n    });\n  }\n\n  load() {\n    return this.getUserProfile();\n  }\n\n  changeLegalForm() {\n    if (this.legalForms) {\n      this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.profile.companyLegalFormCode);\n      this.resource.controls['profile.vatCode'].required = this.legalFormSelected?.vatCodeNeeded === 'REQUIRED';\n      this.resource.controls['profile.fiscalCode'].required = this.legalFormSelected?.fiscalCodeNeeded === 'REQUIRED';\n      this.resource.controls['profile.holderName.companyName'].required = this.legalFormSelected?.companyNameNeeded === 'YES';\n      this.resource.controls['profile.holderName.firstname'].required = this.resource.controls['profile.holderName.lastname'].required = this.legalFormSelected?.personNameNeeded === 'YES';\n    }\n  }\n\n  getUserProfile() {\n    this.pendingLoad = true;\n    return this.api.get(`users/${this.params.id || 'me'}?include=user-profiles,user-roles`).then(xhr => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      if (response.profile.holderName && !response.profile.holderName.companyName) response.profile.holderName.companyName = response.profile.holderName.lastname + ' ' + response.profile.holderName.firstname;\n      this.resource.data = response;\n      this.pendingLoad = false;\n    }).catch(error => {\n      console.error(`GET - users`, error);\n      this.pendingLoad = false;\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    });\n  }\n\n  getUserGroups() {\n    return this.api.get('user-groups').then(xhr => {\n      let response = xhr.response;\n      this.resource.schema.group.datasource = response; \n    });\n  }\n\n  setBusinessTypeEndpoint() {\n    let endpoint = `user-business-types`;\n    if (this.params.id === 'new') return `user-business-types`;\n    else return `${endpoint}?applicable-to-user-uuid=${this.resource.data.uuid}`;\n  }\n\n  getBusinessType() {\n    const endpoint = this.setBusinessTypeEndpoint();\n    return this.api.get(endpoint).then(xhr => {\n      let response = xhr.response;\n      this.resource.schema.profile.businessType = Object.assign({}, this.resource.schema.profile.businessType, { datasource: response });\n    });\n  }\n\n  setLegalFormsEndpoint() {\n    let endpoint = `legal-forms`;\n    let filters = [`country-code=${this.resource.data.profile.location.countryCode}`];\n\n    // Master user creating a subuser\n    if (this.params.id === 'new' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') {\n      filters.push(`legal-form-type=BUILDING`);\n    } else if (this.params.id !== 'new') {\n      filters.push(`applicable-to-user-uuid=${this.resource.data.uuid}`);\n    }\n\n    return `${endpoint}?${filters.join('&')}`;\n  }\n\n  setCompanyLegalFormCodeDatasource() {\n    const legalFormsEndpoint = this.setLegalFormsEndpoint();\n    let promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(legalFormsEndpoint)\n    ];\n\n    return Promise.all(promises).then((xhrs) => {\n      let companyLegalFormCodeDatasource;\n      this.legalFormTypes = xhrs[0]?.response || null;\n      this.legalForms = xhrs[1]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n\n        this.resource.schema.profile.companyLegalFormCode = Object.assign({}, this.resource.schema.profile.companyLegalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    }).catch(error => {\n      console.error(`GET - setCompanyLegalFormCodeDatasource`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n  \n  setGeo(field) {\n    let childField, lvl, countryCode, countryCodeValueModel;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    } else return; \n    countryCode = this.resource.data.profile.location.countryCode || null;\n    countryCodeValueModel = this.resource.controls['profile.location.countryCode'].control?.valueModel;\n    if (countryCodeValueModel === undefined) return setTimeout(() => { this.setGeo(field) }, 500);\n\n    let readonly = true, required = false, url = null;\n    if (countryCode) {\n      url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${this.resource.data.profile.location[field]}` : '');\n    }\n    if (this.resource.data.profile.location[field]) {\n      if (countryCodeValueModel.administrativeLevels && countryCodeValueModel.administrativeLevels.find(x => x.level === lvl)) {\n        readonly = false;\n        required = true;\n      } else {\n        this.resource.data.profile.location[childField] = null;\n        this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n      }\n    } else {\n      this.resource.data.profile.location[childField] = null;\n      this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n    } \n    this.resource.schema.profile.location[childField] = Object.assign({}, this.resource.schema.profile.location[childField], { readonly: readonly, datasource: { table: url, query: { search: 'text-search', item: 'uuid'} }});\n    this.resource.controls[`profile.location.${childField}`].readonly = readonly; // legacy ka-control workaround: trigger readonlyChanged\n    this.resource.controls[`profile.location.${childField}`].required = required;\n\n    // Avoid redoing the call for the legal forms if not necessary\n    if (field === 'countryCode' && (this.oldSelectedCountryCode !== countryCode)) {\n      this.oldSelectedCountryCode = countryCode;\n      this.resource.data.profile.companyLegalFormCode = null;\n      this.setCompanyLegalFormCodeDatasource();\n    }\n  }\n\n  copyServiceToken() {\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      konsole.debug(token);\n      this.toast.show('Service token copiato in Console!', 'success');\n      if (navigator.clipboard) navigator.clipboard.writeText(token).then(() => {\n        this.toast.show('Service token copiato in Clipboard!', 'success');\n      }, error => { throw error; });\n    }).catch(error => {\n      console.error('ERROR - cross-login-tokens/current - GET', error);\n      this.toast.show('Impossibile copiare il service token in Clipboard!', 'error');\n    });\n  }\n\n  parseResourceData() {\n    if (this.resource.data?.profile?.location) {\n      if (this.resource.data.profile.location.admLvl1) delete this.resource.data.profile.location.admLvl1;\n      if (this.resource.data.profile.location.admLvl2) delete this.resource.data.profile.location.admLvl2;\n      if (this.resource.data.profile.location.admLvl3) delete this.resource.data.profile.location.admLvl3;\n    }\n\n    let data = { ...this.resource.data };\n    // A bulding administrator can only have bulding as sub-users\n    if ((this.params.id === 'new' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') || (this.params.id !== 'new' && this.resource.schema.profile.businessType.datasource.length === 1)) {\n      data.profile.businessType = 'BUILDING';\n    }\n    if (data.profile?.businessType === 'BUILDING') {\n      // The building tax code is assigned by the server as a username\n      data.profile.username = null;\n      // Password can be assigned when edit\n      if (!data.uuid) data.password = null;\n    }\n    return data;\n  }\n\n  save($event) {\n    const data = this.parseResourceData();\n\n    // if data is an empty array\n    if (!Object.entries(data).length) return $event.model.busy = false;\n\n    return this.resource.validate().then(() => {\n      $event.model.busy = true;\n\n      // Edit resource\n      if (data.uuid) {\n        let endpoint = this.api.user.uuid === data.uuid ? `users/me` : `${this.endpoint}/${data.uuid}`;\n        return this.api.put(endpoint, data).then(async () => {\n          this.load();\n          if (this.api.user.uuid === data.uuid) {\n            await this.mdUser.initData();\n            this.api.user = this.mdUser.data;\n          }\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n        }).catch((error) => {\n          console.error(`PUT ${endpoint}`, error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } \n      \n      // Create resource\n      else {\n        return this.api.post(this.endpoint, data).then((xhr) => {\n          let response = xhr.response;\n          this.toast.show('Profilo creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/utenti', { id: response.id, view: 'anagrafica' });\n        }).catch(error => {\n          console.error(`ERROR - ${this.endpoint} - PUT`, error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    });\n  }\n\n  annulla() {\n    this.params = null;\n    this.router.navigate('anagrafiche/utenti');\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Cashback {\n  savedData;\n  isLoading = true;\n  readEnabled = false;\n  writeEnabled = false;\n  isInitializing = true;\n  resource = {\n    controls: {},\n    schema: {\n      percentageOnServices: {\n        label: 'Percentuale di cashback calcolata sull\\'utile del credito servizio derivante dalle spedizioni MultInvio',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [\n          { value: 10, text: '10' }, \n          { value: 15, text: '15' }, \n          { value: 20, text: '20' }\n        ],\n      }\n    },\n    data: {\n      percentageOnServices: 10\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    if (this.api.hasRole(['MODIFY_ANY_USER_CASHBACK_STATUS', 'MODIFY_ANY_USER_CASHBACK_PERCENTAGE_ON_SERVICES'])) {\n      this.readEnabled = this.writeEnabled = true;\n    } else if (this.api.hasRole(['LIST_ANY_USER_CASHBACK_SETTINGS'])) {\n      this.readEnabled = true;\n      this.writeEnabled = false;\n    } else {\n      this.readEnabled = this.params.id === 'me' && this.api.hasRole('LIST_USER_CASHBACK_SETTINGS') ? true : false;\n    }\n\n    return this.load();\n  }\n\n  load() {\n    this.isLoading = true;\n    if (this.readEnabled) {\n      this.api.get(`users/${this.params.id}/cashback-settings`).then((xhr) => {\n        const response = xhr.response;\n        this.resource.data = response;\n        this.savedData = structuredClone(response);\n      }).catch(() => {\n        console.log('ERROR - /cashback-settings - GET', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = this.isLoading = false;\n      });\n    } else this.isInitializing = this.isLoading = false;\n  }\n\n  openDialogEditPercentageOnServices() {\n    return this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'small', \n      type: 'confirm', \n      body: `Modificando la percentuale di cashback per le spedizioni MultiInvio verrà generata una nuova versione del contratto. <strong>Confermi di voler salvare?</strong>`\n    });\n  }\n\n  submitAction($event) {\n    if (this.params.id) {\n      if (this.savedData.percentageOnServices !== this.resource.data.percentageOnServices) {\n        return this.openDialogEditPercentageOnServices().whenClosed((response) => {\n          if (!response.wasCancelled) return this.save($event);   \n        });\n      } else {\n        return this.save($event);\n      }\n    }\n  }\n\n  save($event) {\n    this.resource.validate().then(() => {\n      $event.model.busy = true;\n      let data = JSON.parse(JSON.stringify(this.resource.data));\n      this.api.patch(`users/${this.params.id}/cashback-settings`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.load();\n      }).catch(error => {\n        console.log('ERROR - /cashback-settings - PATCH', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport {KaDialog, KaToast} from 'ka-components';\nimport moment from 'moment';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmCompensi {\n  isInitializing = true;\n  isLoading = true;\n  resource = {\n    summaryTableInterface: null,\n    detailsTableInterface: null,\n    usersTableInterface: null,\n    usersSummaryTableInterface: null,\n    summarySearchInterface: null,\n    detailsSearchInterface: null,\n    usersSearchInterface: null,\n    usersSummarySearchInterface: null,\n    readEnabled: false,\n    search: {\n      endpoint: {},\n      resource: {},\n      schema: {\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        associatedUser: {\n          label: 'Utente associato', \n          control: 'combo',  \n          datatext: 'displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'associated-user-uuid-in'} },\n          query: 'associated-user-uuid-in'\n        },\n        serviceGroup: {\n          label: 'Tipologia',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'service-group-code-in'\n        }\n      },\n      data: {\n        createdAtStart: null,\n        createdAtEnd: null,\n        associatedUser: null,\n        serviceGroup: null\n      },\n      params: null,\n      init: () => {\n        // Field service Groups\n        this.resource.loadServiceGroups();\n\n        // Summary Table Interface\n        this.resource.summaryTableInterface = new TableInterface({\n          name: 'commissions-summary-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/summary`,\n          query: null\n        });\n        // Summary Search Interface\n        this.resource.summarySearchInterface = new SearchInterface({\n          name: 'commissions-summary-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Details Table Interface\n        this.resource.detailsTableInterface = new TableInterface({\n          name: 'commissions-details-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/details`,\n          query: null\n        });\n        // Details Search Interface\n        this.resource.detailsSearchInterface = new SearchInterface({\n          name: 'commissions-details-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Users Table Interface\n        this.resource.usersTableInterface = new TableInterface({\n          name: 'commissions-users-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/associated-users`,\n          query: 'with-amount-summary=false'\n        });\n        // Users Search Interface\n        this.resource.usersSearchInterface = new SearchInterface({\n          name: 'commissions-users-table-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Users-Summary Table Interface\n        this.resource.usersSummaryTableInterface = new TableInterface({\n          name: 'commissions-users-summary-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/details-by-user`,\n          query: null\n        });\n        // Users-Summary Interface\n        this.resource.usersSummarySearchInterface = new SearchInterface({\n          name: 'commissions-users-summary-table-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        this.resource.usersSummarySearchInterface.data.createdAtStart = moment().utc().subtract(2, \"year\").toISOString();\n        let promisesT = [\n          this.resource.summaryTableInterface.initialize(), \n          this.resource.detailsTableInterface.initialize(), \n          this.resource.usersTableInterface.initialize(),\n          this.resource.usersSummaryTableInterface.initialize()\n        ];\n        return Promise.all(promisesT).then(() => {      \n          this.resource.summarySearchInterface.table = this.resource.summaryTableInterface;\n          this.resource.detailsSearchInterface.table = this.resource.detailsTableInterface;\n          this.resource.usersSearchInterface.table = this.resource.usersTableInterface;\n          this.resource.usersSummarySearchInterface.table = this.resource.usersSummaryTableInterface;\n          let promises = [\n            this.resource.summarySearchInterface.initialize(), \n            this.resource.detailsSearchInterface.initialize(), \n            this.resource.usersSearchInterface.initialize(),\n            this.resource.usersSummarySearchInterface.initialize()\n          ];\n          Promise.all(promises).then(() => { \n            this.resource.loadCommissions();\n          });\n        });\n      },\n      apply: () => {\n        this.resource.loadCommissions();\n      }\n    },\n    loadServiceGroups: () => {\n      let endpoint = 'resell/service-groups';\n      if (this.api.user.isReseller) endpoint = `resell/service-groups?reseller-uuid=${this.api.user.uuid}`;\n      this.api.get(endpoint).then(xhr => { \n        this.resource.search.schema.serviceGroup.datasource = xhr.response; \n      }).catch(error => {\n        console.log('ERROR - service-groups - GET', error);\n        this.api.dialogError(error);\n      });\n    },\n    loadCommissions: () => {\n      this.isLoading = true;\n      this.resource.search.schema.associatedUser.datasource.table = `users/${this.params.id}/commissions/associated-users`;\n      this.resource.detailsSearchInterface.data = this.resource.summarySearchInterface.data;\n      this.resource.usersSearchInterface.data = { ...this.resource.summarySearchInterface.data };\n      this.resource.usersSummarySearchInterface.data = Object.assign({}, this.resource.summarySearchInterface.data, {\n        createdAtStart: this.resource.usersSummarySearchInterface.data.createdAtStart,\n        createdAtEnd: this.resource.usersSummarySearchInterface.data.createdAtEnd\n      });\n\n      // Remove createdAt search filter from Users\n      this.resource.usersSearchInterface.data.createdAtStart = null;\n      this.resource.usersSearchInterface.data.createdAtEnd = null;\n\n      Promise.all([\n        this.resource.summarySearchInterface.search(), \n        this.resource.detailsSearchInterface.search(), \n        this.resource.usersSearchInterface.search(),\n        this.resource.usersSummarySearchInterface.search()\n      ]).then(() => {\n        this.resource.usersTableInterface.data?.forEach(associatedUser => { associatedUser.tag = { old: associatedUser.tag, new: associatedUser.tag } });\n        this.isInitializing = this.isLoading = false;\n      });\n    },\n    exportSummary: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.summarySearchInterface.last.params || {}, { format: 'csv'});\n      this.api.get(`users/${this.params.id}/commissions/summary`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportDetail: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.detailsSearchInterface.last.params || {}, { format: 'csv'});\n      this.api.get(`users/${this.params.id}/commissions/details`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo-mensile.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportUsers: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.usersSearchInterface.last.params || {}, { format: 'csv', 'with-amount-summary': true });\n      this.api.get(`users/${this.params.id}/commissions/associated-users`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-utenti-associati.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportUsersSummary: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.usersSummarySearchInterface.last.params || {}, { format: 'csv' });\n      this.api.get(`users/${this.params.id}/commissions/details-by-user`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo-utenti.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    setTag: (user, context) => {\n      if (user.tag.new.length > 32) {\n        user.tag.new = user.tag.old;\n        return this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Massimo 32 caratteri consentiti'});\n      }\n      if (user.tag.new === '' || context === 'delete') user.tag.new = null;\n      return this.api.patch(`users/${this.params.id}/commissions/associated-users/${user.uuid}`, { tag: user.tag.new }).then(() => {\n        user.tag.old = user.tag.new;\n        this.toast.show('Tag salvato con successo!', 'success');\n      }).catch(error => {\n        konsole.error(error);\n        user.tag.new = user.tag.old;\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Si è verificato un errore. Riprova'});\n      }).finally(() => {\n        user.userTagEnabled = !user.userTagEnabled\n      });\n    },\n    cancelTag: (user) => {\n      if (user.tag.new && user.tag.old) user.tag.new = user.tag.old;\n      user.userTagEnabled = !user.userTagEnabled\n    },\n    counter: (id, start, end, duration) => {\n      let isInt = true;\n      let digits = null;\n      if (end % 1 != 0) isInt = false;\n      let startTimestamp = null;\n      if (!this.counter) this.counter = {};\n      if (!this.counter[id]) this.counter[id] = 0;\n      const step = (timestamp) => {\n        if (!startTimestamp) startTimestamp = timestamp;\n        const progress = Math.min((timestamp - startTimestamp) / duration, 1);\n        if (isInt) digits = Math.floor(progress * (end - start) + start);\n        else digits = progress * (end - start) + start;\n        this.counter[id] = isInt ? digits : digits.toFixed(2);\n        if (progress < 1) window.requestAnimationFrame(step);\n      };\n      window.requestAnimationFrame(step);\n    },\n    impersonate: (user) => {\n      this.api.impersonate(user.userId).then(() => {}).catch(error => { this.api.dialogError(error); });\n    }\n  };\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.resource.search.init();\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Segnalatori {\n  isLoading = false;\n  contextUser = null; // contains data of user on which we are operating\n  uploadSessionUuid = null;\n  staticTooltipMavDocuments = {\n    subtitle: 'Documenti per approvazione bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.initTableInterface().then(() => {\n      if (!this.params.id) {\n        this.initSearchInterface();\n      } else {\n        this.search();\n      }\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'anagrafiche-utenti-documenti-table',\n      client: this.api,\n      endpoint: null//`users/${this.params.id}/uploadable-certifiable-document-types`\n    });\n    return this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'anagrafiche-utenti-documenti-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali documenti visualizzare?',\n          datasource: [\n            { value: 'USER', text: 'I miei documenti' },\n            { value: 'SUBUSER', text: 'I documenti dei miei ' + mdt.parsers.contextualize(this.api.user, 'utenti') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        subuser: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: 'users/me/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        }\n      },\n      data: { context: 'SUBUSER' }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    if (!this.params.id && this.searchInterface?.data?.context === 'USER') {\n      this.contextUser = { id: 'me' };\n      this.searchInterface.data.subuser = null;\n    } else if (!this.params.id && this.searchInterface?.data?.context === 'SUBUSER') {\n      this.contextUser = { id: this.searchInterface.data.subuser || null };\n    } else {\n      this.contextUser = { id: this.params.id || null };\n    }\n    if (!this.contextUser?.id) return;\n\n    this.isLoading = true;\n    this.tableInterface.endpoint = `users/${this.contextUser.id}/uploadable-certifiable-document-types`;\n    this.fetchUserData().then(() => {\n      (this.params.id ? this.tableInterface.load() : this.searchInterface.search()).then(() => {\n        this.alterData(this.tableInterface.data).then(data => {\n          this.tableInterface.data = data;\n        });\n      }).catch(error => {\n        console.error(error);\n      }).finally(() => {\n        this.isLoading = false;\n      });\n    });\n  }\n\n  fetchUserData() {\n    return new Promise((resolve, reject) => {\n      console.log('context', this.searchInterface?.data?.context);\n      if (this.params.id) {\n        resolve(); // this.contextUser.profile not needed if this.params.id\n      } else if (this.searchInterface?.data?.context === 'USER') {\n        resolve(this.contextUser.profile = this.api.user.profile);\n      } else if (this.searchInterface?.data?.context === 'SUBUSER') {\n        this.api.get(`users/me/users?include=user-profiles&id-in=${this.contextUser.id}`).then(xhr => {\n          resolve(this.contextUser.profile = xhr.response[0]?.profile[0]);\n        }).catch(error => {\n          reject(error);\n        });\n      }\n    });\n  }\n\n  alterData(data) {\n    return new Promise((resolve, reject) => {\n      data.forEach(documentType => {\n        documentType.documentsBucket = [];\n        documentType.notRefusedDocumentsCount = 0;\n        if (documentType.code === 'SUBUSER-MANDATE' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') {\n          documentType.label = 'Verbale di nomina amministratore';\n        }\n      });\n      // Certifiable-document-buckets\n      this.api.get(`users/${this.contextUser.id}/certifiable-document-buckets/current`).then(xhr => {\n        let currentCertifiableDocumentBuckets = xhr.response;\n        this.uploadSessionUuid = currentCertifiableDocumentBuckets.uploadSessionUuid;\n        if (currentCertifiableDocumentBuckets.documents && currentCertifiableDocumentBuckets.documents.length) {\n          currentCertifiableDocumentBuckets.documents.forEach(document => {\n            // Approval/rejection date parse \n            if (document.approvedAt) document.approvedAt = this.aurelia.resources.valueConverters.dateFormat.toView(document.approvedAt);\n            if (document.refusedAt) document.refusedAt = this.aurelia.resources.valueConverters.dateFormat.toView(document.refusedAt);\n\n            if (data.find(documentType => documentType.code === document.code)) {\n              // Counting of non-REFUSED documents\n              if (!document.refusedAt) data.find(documentType => documentType.code === document.code).notRefusedDocumentsCount++;\n              data.find(documentType => documentType.code === document.code).documentsBucket.push(document);\n            }\n          });\n        }\n        resolve(data);\n      }).catch(error => {\n        this.api.dialogError(error);\n        reject(error);\n      });\n    });\n  }\n\n  upload(type, document) {\n    this.dialog.open({\n      title: `${document ? 'Sostituisci' : 'Aggiungi'} documento`,\n      class: 'small utenti-dialog-documenti-upload',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-document-upload'),\n      viewModelParams: { userId: this.contextUser.id, uploadSessionUuid: this.uploadSessionUuid, type, document }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.toast.show(`Documento ${document ? 'sostituito' : 'caricato'} con successo!`, 'success');\n      }\n    });\n  }\n\n  approval(type, document) {\n    if (document && document.uploadedAt) {\n      this.dialog.open({\n        title: `Stato documento`,\n        class: 'small documenti-approval',\n        viewModel: PLATFORM.moduleName('views/backoffice/documenti/dialogs/documenti-approval'),\n        viewModelParams: { userId: this.contextUser.id, type, document }\n      }, true).whenClosed(response => {\n        let certification = response.output === 'APPROVED' ? 'approvato' : 'rifiutato';\n        if (!response.wasCancelled) {\n          this.search();\n          this.toast.show(`Documento ${certification} con successo!`, 'success');\n        }\n      });\n    }\n  }\n\n  delete(type, document) {\n    if (document.uuid) {\n      this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `<strong>${type.label}.</strong><br>Confermi di voler cancellare questo documento?` }).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${this.contextUser.id}/certifiable-document-buckets/current/certifiable-documents/${document.uuid}`).then(() => {\n            this.toast.show(`Documento eliminato con successo!`, 'success');\n            this.search();\n          }).catch(error => {\n            console.log('ERROR certifiable-documents - DELETE', error);\n            this.api.dialogError(error);\n          })\n        }\n      });\n    }\n  }\n\n  download(file) {\n    if (!file.downloadUri) return;\n\n    // Uri build\n    let uri = file.downloadUri;\n    uri = uri.replace(ENVIRONMENT.APP_API_BASE_URL, '');\n    uri = uri.replace('/api/v0.0.1/', '');\n\n    this.api.get(uri).then(xhr => {\n      let anchor = document.createElement('a');\n      anchor.download = `${xhr.response.filename}`;\n      anchor.href = xhr.response.fileData;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }, xhr => {\n      let error = JSON.parse(xhr.response);\n      this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server' + (error.detail ? `: ${error.detail}` : '') });\n    })\n  }\n\n  downloadStaticResource(record) {\n    const filename = record.templateFileName;\n    const anchor = document.createElement('a');\n    anchor.download = `${record.templateFileName}`;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n\n  toggleType(type) {\n    let typeRow = document.getElementById(type.code);\n    typeRow.classList.toggle('open');\n    let documentRows = document.querySelectorAll(`tr[data-type=\"${type.code}\"]`);\n    documentRows.forEach(row => {\n      setTimeout(() => {\n        if (typeRow.classList.contains('open') && !row.classList.contains('visible')) row.classList.add('visible');\n        else if (!typeRow.classList.contains('open') && row.classList.contains('visible')) row.classList.remove('visible');\n      }, 200);\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewUtenti {\n  mdt = mdt;\n  migratePending;\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isAdvancedUser = this.api.hasRole('LIST_ANY_USER');\n    this.isMasterUser = this.api.user.group.includes('MASTER_USER');\n    this.isImpersonateUser = this.api.hasRole('IMPERSONATE_ANY_USER');\n    this.endpoint = this.isAdvancedUser ? 'bo/users' : 'users/me/users';\n  }\n\n  attached() {\n    /* Table interface */\n    this.usersTableInterface = new TableInterface({\n      name: 'users-table',\n      client: this.api,\n      endpoint: this.isAdvancedUser ? 'bo/users' : 'users/me/users',\n      query: this.isAdvancedUser ? 'include=user-profiles,user-sponsors' : 'include=user-profiles'\n    });\n    this.usersTableInterface.initialize();\n\n    /* Table Search */\n    this.usersSearchInterface = new SearchInterface({\n      name: 'users-table-search',\n      table: this.usersTableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          query: 'text-search',\n          label: 'Ricerca libera',\n          placeholder: 'Inserire almeno 3 caratteri'\n        },\n        group: { \n          control: 'combo',\n          label: 'Tipo accesso',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'user-group-in'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n          query: 'country-code-in'\n        },\n        admLvl1: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-1-uuid-in'\n        },\n        admLvl2: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-2-uuid-in'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-3-uuid-in'\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text',\n          query: 'zip-code-in'\n        },\n        businessType: {\n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'business-type-in'\n        },\n        priceList: {\n          label: 'Listino', \n          control: 'combo',  \n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'price-list-code-in'\n        },\n        client: {\n          label: 'Gestionale', \n          control: 'combo',  \n          datatext: 'name',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'client-uuid-in'\n        },\n        registeredAtStart: {\n          label: 'Dal', \n          control: 'date',  \n          query: 'registered-at-gte'\n        },\n        registeredAtEnd: {\n          label: 'al', \n          control: 'date',  \n          query: 'registered-at-lte'\n        },\n        parent: {\n          label: 'Utente padre', \n          control: 'combo',  \n          datatext: 'profile[0].displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n          query: 'parent-uuid-in'\n        },\n        reseller: {\n          label: 'Segnalatore', \n          control: 'combo',  \n          datatext: 'profile[0].displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `bo/users?include=user-profiles&business-type-in=SYSTEM-BUSINESS-SCOUT`, query: { search: 'text-search', item: 'uuid-in'} },\n          query: 'reseller-uuid-in'\n        },\n        status: {\n          label: 'Stato', \n          control: 'combo',  \n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'ACTIVE', text: 'Attivo'}, { value: 'NOT-ACTIVE', text: 'Non attivo'}, { value: 'ARCHIVED', text: 'Archiviato'}],\n          query: 'status'\n        },\n        sepaDirectDebit: {\n          label: 'SDD',\n          control: 'combo',\n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'null', text: 'Tutti'}, { value: 'TRUE', text: 'Attivo'}, { value: 'FALSE', text: 'Non attivo'}],\n          query: 'sepa-direct-debit'\n        }\n      },\n      data: {\n        countryCode: 'IT',\n        registeredAtStart: null,\n        registeredAtEnd: null,\n        status: 'ACTIVE',\n        sepaDirectDebit: 'null'\n      }\n    });\n    \n    let promises = this.isAdvancedUser ? [\n      this.api.get('user-business-types').then(xhr => {\n        this.usersSearchInterface.schema.businessType.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - user-business-types - GET', error);\n        this.usersSearchInterface.schema.businessType.datasource = [];\n      }),\n      this.api.get('user-groups').then(xhr => {\n        this.usersSearchInterface.schema.group.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - user-groups - GET', error);\n        this.usersSearchInterface.schema.group.datasource = [];\n      }),\n      this.api.get('users/me/clients').then(xhr => {\n        this.usersSearchInterface.schema.client.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - /me/clients - GET', error);\n        this.usersSearchInterface.schema.client.datasource = [];\n      }),\n      this.api.get('bo/price-lists').then(xhr => {\n        this.usersSearchInterface.schema.priceList.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - /me/clients - GET', error);\n        this.usersSearchInterface.schema.priceList.datasource = [];\n      }),\n    ] : [ true /* ficca qui dentro eventuali altre promises */ ];\n    \n    Promise.all(promises).finally(() => {\n      this.usersSearchInterface.initialize();\n      setTimeout(() => {\n        if(!this.isAdvancedUser) this.ricerca();\n      }, 500);\n    });\n  }\n\n  importa() {\n    this.api.get(`users/me/billing-profiles/parent`).then(() => {\n      this.router.navigate(`anagrafiche/utenti/importazione`);\n    }).catch(error => {\n      this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: '<strong>Non è possibile procedere con l\\'importazione '+mdt.parsers.contextualize(this.api.user, 'utenti')+'.</strong><br>È necessario prima creare un profilo di fatturazione sull\\'account principale. Confermi di voler procedere?'}).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.router.navigate(`anagrafiche/utenti/${this.api.user.id}/fatturazione`);\n        }\n      });\n    });\n  }\n\n  // Activate & Deactivate\n  attivazione(record) {\n    if (this._attivazionePending) return;\n    this._attivazionePending = true;\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let endpoint = this.api.hasRole('MODIFY_ANY_USER_STATUS') ? `bo/users/${record.uuid}` : `users/me/users/${record.uuid}`;\n    new Promise((resolve, reject) => {\n      if (record.statusCode === 'ACTIVE') {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: `Confermi di voler <strong>disattivare</strong> l'utente selezionato?<br>Verrà disattivato il rinnovo per tutti i servizi sottoscritti dal condominio.`\n        }).whenClosed(response => {\n          if (!response.wasCancelled) resolve();\n          else reject();\n        });\n      } else resolve();\n    }).then(() => {\n      this.api.patch(endpoint, { statusCode: record.statusCode === 'ACTIVE' ? 'NOT-ACTIVE' : 'ACTIVE' }).then(() => {\n        this.usersTableInterface.load().catch(error => { console.log('users-table-interface-load', error); });\n        this.toast.show(`Stato utente modificato con successo!`, 'success');\n      }).catch(error => { \n        if (error) { console.log('error', error); this.api.dialogError(error); } \n      });\n    }).catch(error => { \n      if (error) { console.log('error', error); this.api.dialogError(error); } \n    }).finally(() =>{\n      this._attivazionePending = false;\n      this.toast.consume();\n    });\n  }\n\n  // Archiving\n  archiviazione(id) {\n    return this.dialog.open({\n      title: 'Archiviazione utenti',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo'),\n      viewModelParams: { id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.ricerca();\n      }\n    });\n  }\n\n  modifica(record) {\n    this.router.navigateToRoute('anagrafiche/utenti', { id: record.id, view: 'anagrafica' });\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/utenti', { id: 'new', view: 'anagrafica' });\n  }\n\n  impersonifica(record) {\n    this.api.impersonate(record.id).then(() => {}).catch(error => { this.api.dialogError(error); });\n  }\n\n  abbonamenti(record) {\n    this.router.navigateToRoute('servizi/abbonamenti', { id: record.id });\n  }\n\n  ricerca() {\n    this.usersSearchInterface.search();\n  }\n\n  reset() {\n    for (let [k,v] of Object.entries(this.usersSearchInterface.data)) this.usersSearchInterface.data[k] = null;\n    this.ricerca();\n  }\n\n  initGeo(type, init = false) {\n    console.log(`initGeo ${type} ${init?'initialization':''}`);\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/1/divisions`;\n      this.usersSearchInterface.controls.admLvl1.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl1 = null;\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/2/divisions?parent-uuid=${this.usersSearchInterface.data.admLvl1}`;\n      this.usersSearchInterface.controls.admLvl2.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl2 = null;\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/3/divisions?parent-uuid=${this.usersSearchInterface.data.admLvl2}`;\n      this.usersSearchInterface.controls.admLvl3.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl3 = null;\n    }\n    this.usersSearchInterface.controls[type].control._initialized = true;\n  }\n\n  csvDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n\n    let query = null;\n    if (this.usersSearchInterface?.table?._query) query = `?${decodeURIComponent(decodeURIComponent(this.usersSearchInterface.table._query))}`;\n    let path = this.isAdvancedUser ? 'bo/users/export-users.csv' : 'users/export-users/mine.csv';\n    let uri = `${path}${query}`;\n\n    this.api.client.createRequest(uri)\n    .asGet()\n    .withHeader('Accept', 'application/csv')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.csv$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'text/csv' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }).catch(xhr => {\n      console.log('ERROR - export-users GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n\n  migrate(record) {\n    this.migratePending = true;\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'migrate-subuser small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/migrate-subuser'),\n      viewModelParams: {uuid: record.uuid}\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.ricerca();\n      this.migratePending = false;\n    });\n  }\n\n  findMigrationProfile(uuid) {\n    this.api.get(`bo/users?uuid-in=${uuid}`).then((xhr) => {\n      let profileId = xhr.response[0].id;\n      this.router.navigateToRoute('anagrafiche/utenti', {id: profileId, view: 'anagrafica'});\n    }).catch((error) => {\n      console.error('ERROR - bo/users?uuid-in GET', error);\n    });\n  }\n}\nexport class SponsorsFormatValueConverter {\n  toView(value) {\n    if (!value || !value.length) return;\n    let sponsors = [];\n    value.forEach(sponsor => {\n      let sponsorInitials = '['+sponsor.sponsorDisplayName.match(/(^\\w{2})/g)[0].toUpperCase()+']';\n      sponsors.push(`<span title=\"${sponsor.sponsorDisplayName}\">${sponsorInitials}</span>`);\n    });\n    return `Sponsors: ${sponsors.join('')}`;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MavRequest } from '../../../../classes/mavRequest';\n\n@inject(Api, KaDialog, KaToast)\nexport class FatturazioneEditor {\n  mdt = mdt;\n  legalForms;\n  mavRequests;\n  taxPercentage;\n  legalFormTypes;\n  bankAccountInfo;\n  legalFormSelected;\n  billingProfileUuid;\n  billingProfileIban;\n  pendingInit = true;\n  hasProfileOwnership;\n  changeLegalFormPending;\n  checkSDDPassed = false;\n  pendingPopulateMissingData;\n  anagrafica = { data: {} };\n  staticTooltipMavDocuments = {\n    subtitle: 'Documenti per approvazione bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-Approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  resource = {\n    schema: {\n      label: {\n        control: 'text',\n        label: 'Etichetta'\n      },\n      legalFormCode: {\n        label: 'Forma giuridica',\n        control: 'combo',\n        datatext: 'label',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: [],\n        required: true\n      },\n      name: {\n        control: 'text',\n        label: 'Denominazione'\n      },\n      firstName: {\n        control: 'text',\n        label: 'Nome'\n      },\n      lastName: {\n        control: 'text',\n        label: 'Cognome'\n      },\n      fiscalCode: {\n        control: 'text',\n        label: 'Codice fiscale',\n      },\n      vatCode: {\n        control: 'text',\n        label: 'Partita IVA',\n      },\n      officeCode: {\n        control: 'text',\n        label: 'Codice Univoco Ufficio'\n      },\n      ipaCode: {\n        control: 'text',\n        label: 'Codice iPA'\n      },\n      contact: {\n        emailAddress: {\n          control: 'text',\n          label: 'Email'\n        },\n        phoneNumber: {\n          control: 'text',\n          label: 'Cellulare'\n        },\n        faxNumber: {\n          control: 'text',\n          label: 'Fax'\n        }\n      },\n      location: {\n        streetAddress: {\n          control: 'text',\n          label: 'Indirizzo',\n          required: true\n        },\n        locality: {\n          control: 'text',\n          label: 'Località'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n          required: true\n        },\n        admLvl1Uuid: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        admLvl2Uuid: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        admLvl3Uuid: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text',\n          required: true\n        }\n      },\n      payments: {\n        splitPaymentsEnabled: {\n          label: 'Pagamenti separati',\n          control: 'check',\n          description: 'Abilita pagamenti separati',\n        },\n        banking: {\n          lastFourIbanDigits: {\n            label: 'Codice verifica',\n            control: 'text',\n            min: 0,\n            max: 4\n          },\n          iban: {\n            label: 'IBAN',\n            control: 'text'\n          },\n          sepaDirectDebitEnabled: {\n            label: 'Domiciliazione bancaria (SDD)',\n            description: 'Abilita domiciliazione bancaria',\n            control: 'check'\n          }\n        }\n      }\n    },\n    data: {}\n  };\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.mavRequest = new MavRequest(this.isOperator);\n  }\n\n  activate(params) {\n    this.userId = params.userId; // is always required\n    this.billingProfileUuid = params.profileUuid;\n    this.callback = params.callback || ((completed) => { });\n    this.init();\n  }\n\n  async init() {\n    return this.getBankAccountInfo().then(() => {\n      return this.getUser().then(() => {\n        return this.setCompanyLegalFormCodeDatasource().finally(() => {\n          return this.load().then(() => {\n            if (this.billingProfileUuid) {\n              return this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n            }\n          });\n        });\n      });\n    });\n  }\n\n  async getBankAccountInfo() {\n    return new Promise((resolve, reject) => {\n      if (this.billingProfileUuid) {\n        return this.api.get(`users/${this.userId}/billing-profiles/${this.billingProfileUuid}/bank-accounts/current`).then((xhr) => {\n          let response = xhr.response;\n          return resolve(this.bankAccountInfo = response);\n        }).catch((error) => {\n          // Replies 404 if there is no iban and 409 if the iban is invalid\n          console.error('bank-accounts/current', error);\n          return resolve(error);\n        });\n      } else resolve();\n    });\n  }\n\n  async getUser() {\n    return this.api.get(`users/${this.userId}?include=user-profiles`).then((xhr) => {\n      let response = xhr.response;\n      // User profile\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n\n      // If there is no companyName\n      if (!response.profile?.holderName?.companyName && response.profile?.holderName?.lastname && response.profile?.holderName?.firstname) {\n        response.profile.holderName.companyName = `${response.profile.holderName.lastname} ${response.profile.holderName.firstname}`;\n      }\n\n      return this.anagrafica.data = response;\n    }).catch((xhr) => {\n      console.log('ERROR user-profile GET', xhr);\n      this.toast.show('Errore durante il caricamento dei dati', 'error');\n      throw xhr;\n    });\n  }\n\n  async setCompanyLegalFormCodeDatasource() {\n    let promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(`legal-forms?applicable-to-user-uuid=${this.anagrafica.data.uuid}`)\n    ];\n\n    return Promise.all(promises).then((xhrs) => {\n      let companyLegalFormCodeDatasource;\n      this.legalForms = xhrs[1]?.response || null;\n      this.legalFormTypes = xhrs[0]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n\n        this.resource.schema.legalFormCode = Object.assign({}, this.resource.schema.legalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    }).catch(error => {\n      console.error(`GET - setCompanyLegalFormCodeDatasource`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n      throw xhr;\n    });\n  }\n\n  async load() {\n    let promises = [];\n    if (this.billingProfileUuid) {\n      promises.push(this.api.get(`users/${this.userId}/billing-profiles/${this.billingProfileUuid}`).then((xhr) => {\n        this.hasProfileOwnership = xhr.originalResponse.meta.isVisitor === 'NO' ? true : false;\n        this.resource.data = xhr.response;\n        if (this.anagrafica.data?.profile?.companyLegalFormCode && !this.resource.data.legalFormCode) {\n          this.resource.data.legalFormCode = this.anagrafica.data.profile.companyLegalFormCode;\n        }\n        if (this.resource.data.payments?.banking?.iban) {\n          this.resource.data.payments.banking.iban = this.billingProfileIban = this.resource.data.payments.banking.iban.replace(/[^\\d\\w]*/gi, '');\n        }\n      }).catch((error) => {\n        console.log(`ERROR /billing-profiles - GET`, error);\n        this.callback();\n      }));\n    } else {\n      promises.push(this.api.get(`users/${this.userId}/billing-profiles`).then((xhr) => {\n        this.autoPopulate = !xhr.response.length;\n        if (this.autoPopulate) this.populate();\n        else this.resource.data = {\n          payments: { banking: {} },\n          legalFormCode: this.anagrafica.data.profile.companyLegalFormCode || null\n        }\n      }));\n    }\n    return Promise.all(promises).catch(xhr => {\n      console.log(`ERROR /billing-profiles - GET`, xhr);\n      this.toast.show('Errore durante il caricamento dei dati', xhr);\n      throw xhr;\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  mavAuthorizationRequests(userId, billingProfileUuid) {\n    if (!this.api.hasRole('LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return;\n\n    this.mavRequests = [];\n    if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      if (!this.hasProfileOwnership) {\n        this.getMavAuthorizationRequest('privileged-user', userId, billingProfileUuid);\n      } else {\n        this.getMavAuthorizationRequest('trustee', userId, billingProfileUuid);\n      }\n    } else {\n      this.getMavAuthorizationRequest('trustee', userId, billingProfileUuid);\n    }\n  }\n\n  getMavAuthorizationRequest(context, userId, billingProfileUuid) {\n    if (context === 'trustee') {\n      return this.api.get(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations/mine`).then(xhr => {\n        this.mavRequests.push(xhr.response);\n      }).catch(error => {\n        // If it is \"Not found\" it means that there are no requests in progress.\n        console.log(`${error.statusCode === 404 ? 'ERROR 404 not-found' : 'ERROR'} mav-order-self-printing-authorizations/mine - GET`, error);\n        if (error.statusCode === 404) this.mavRequests = [];\n        else this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = false;\n      });\n    }\n    if (context === 'privileged-user') {\n      return this.api.get(`bo/users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`).then(xhr => {\n        this.mavRequests = xhr.response;\n      }).catch(error => {\n        console.log(`ERROR bo/ mav-order-self-printing-authorizations - GET`, error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = false;\n      });\n    }\n  }\n\n  mavCreateAuthorizationRequest($event, userId, billingProfileUuid) {\n    $event.model.busy = true;\n    if (this.resource.data.payments?.banking?.iban && this.billingProfileIban !== this.resource.data.payments.banking.iban) {\n      let data = { payments: { banking: { iban: this.resource.data.payments.banking.iban } } }\n      this.api.patch(`users/${userId}/billing-profiles/${billingProfileUuid}`, data).then(() => {\n        this.isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid);\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.api.dialogError(error);\n      });\n    } else {\n      this.isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid);\n    }\n  }\n\n  isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`\n      }).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest($event, userId, billingProfileUuid);\n        else $event.model.busy = false;\n      });\n    } else {\n      this.sendMavAuthorizationRequest($event, userId, billingProfileUuid);\n    }\n  }\n\n  sendMavAuthorizationRequest($event, userId, billingProfileUuid) {\n    return this.api.post(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n        this.mavAuthorizationRequests(userId, billingProfileUuid);\n        this.toast.show('Richiesta MAV creata con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      });\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n      this.callback({ ownerLegacyId: this.userId, uuid: this.billingProfileUuid });\n    });\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletable(status) {\n    return (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && ['PENDING-DOCUMENT-DOWNLOAD', 'PENDING-APPROVAL', 'PENDING-DOCUMENT-INTERNAL-APPROVAL'].includes(status)) || (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && status === 'ACTIVE');\n  }\n  dialogDeleteMAVRequest($event, request) {\n    return this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>`\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n          this.operatorDeleteMAVRequest($event, request.uuid);\n        }\n        else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n          this.userDeleteMAVRequest($event, request);\n        }\n      }\n    });\n  }\n  operatorDeleteMAVRequest($event, requestUuid) {\n    $event.model.busy = true;\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${requestUuid}`).then(() => {\n      this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n      this.toast.show('Richiesta di autorizzazione MAV dismessa!', 'success');\n      this.resource.data = null;\n      this.callback();\n    }).catch((error) => {\n      console.error('bo/users/mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n  userDeleteMAVRequest($event, request) {\n    $event.model.busy = true;\n    return this.api.delete(`users/${this.userId}/mav-order-self-printing-authorizations/${request.uuid}`).then(() => {\n      this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n      this.toast.show('Richiesta di autorizzazione MAV dismessa!', 'success');\n      this.resource.data = null;\n      this.callback();\n    }).catch((error) => {\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    if (this.resource.data?.location) {\n      for (const key in this.resource.data.location) {\n        if (key.match(/admLvl(\\d)$/)) delete this.resource.data.location[key];\n      }\n    }\n    if (this.resource.data.payments?.banking?.iban) {\n      this.resource.data.payments.banking.iban = this.resource.data.payments.banking.iban.replace(/[^\\d\\w]*/gi, '');\n    }\n    if (this.resource.data.uuid) {\n      this.isVisibleForTheSelectedLegalForm('vatCode');\n      this.isVisibleForTheSelectedLegalForm('fiscalCode');\n      this.resource.resource.save(this.resource.data, `users/${this.userId}/billing-profiles/${this.resource.data.uuid}`, 'put').then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      }).catch(error => {\n        console.log('ERROR - billing-profiles - PUT', error);\n        this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n      }).finally(() => { $event.model.busy = false; });\n    } else {\n      this.resource.resource.save(this.resource.data, `users/${this.userId}/billing-profiles`, 'post').then(x => {\n        this.toast.show('Profilo creato con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      }).catch(error => {\n        console.log('ERROR - billing-profiles - POST', error);\n        this.toast.show('Errore nella creazione del profilo!', 'error');\n      }).finally(() => { $event.model.busy = false; });\n    }\n  }\n\n  cancel() {\n    this.callback();\n  }\n\n  checkSDD() {\n    konsole.log('checkSDD', this.resource.data.payments.banking.sepaDirectDebitEnabled, this.api.user.roles?.filter(x => x.id === 'DISABLE_SDD_ON_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS'));\n    this.checkSDDPassed = !this.resource.data.payments.banking.sepaDirectDebitEnabled && this.api.user.roles?.filter(x => x.id === 'DISABLE_SDD_ON_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS').length === 1;\n    konsole.log('checkSDDPassed', this.checkSDDPassed);\n  }\n\n  changeLegalForm() {\n    this.changeLegalFormPending = true;\n    setTimeout(() => {\n      let legalFormCodeFound = this.resource.schema.legalFormCode.datasource.find(x => x.code === this.resource.data.legalFormCode);\n      this.taxPercentage = legalFormCodeFound ? legalFormCodeFound.taxPercentage : null;\n      this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.legalFormCode) || null;\n      this.resource.data.legalFormType = this.legalFormSelected?.type || null;\n\n      this.setFieldSchemaRequired(['name'], 'companyNameNeeded');\n      this.resetUnrequiredFieldData(['name'], 'companyNameNeeded');\n      this.setFieldSchemaRequired(['vatCode'], 'vatCodeNeeded');\n      this.resetUnrequiredFieldData(['vatCode'], 'vatCodeNeeded');\n      this.setFieldSchemaRequired(['fiscalCode'], 'fiscalCodeNeeded');\n      this.resetUnrequiredFieldData(['fiscalCode'], 'fiscalCodeNeeded');\n      this.setFieldSchemaRequired(['firstName', 'lastName'], 'personNameNeeded');\n      this.resetUnrequiredFieldData(['firstName', 'lastName'], 'personNameNeeded');\n\n      // Advice when creating a profile\n      if (this.resource.data.legalFormType === 'BUILDING' && this.anagrafica.data?.profile?.businessType !== 'BUILDING') {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: `Si sconsiglia di inserire profili di fatturazione di condomini su utenti che non sono di tipo condominio, si intende procedere lo stesso?`\n        });\n      }\n      this.changeLegalFormPending = false;\n    }, 0);\n  }\n\n  isVisibleForTheSelectedLegalForm(necessityStatement) {\n    return ['OPTIONAL', 'REQUIRED', 'YES'].includes(this.legalFormSelected?.[`${necessityStatement}`]);\n  }\n\n  setFieldSchemaRequired(schemaProperties, necessityStatement) {\n    schemaProperties.forEach((property) => {\n      if (this.resource.schema[property] && this.legalFormSelected?.[`${necessityStatement}`]) {\n        this.resource.schema[property].required = ['REQUIRED', 'YES'].includes(this.legalFormSelected[`${necessityStatement}`]);\n      }\n    });\n  }\n\n  resetUnrequiredFieldData(schemaProperties, necessityStatement) {\n    schemaProperties.forEach((property) => {\n      if (!this.isVisibleForTheSelectedLegalForm(necessityStatement)) {\n        delete this.resource.data[property];\n      }\n    });\n  }\n\n  setGeo(field, init = false) {\n    let childField, childControl, childSchema, childData, countryCode, admLvls, lvl;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    }\n\n    childControl = this.resource.resource.controls[`location.${childField}`];\n    childSchema = this.resource.schema.location[childField];\n    childData = this.resource?.data?.location;\n    countryCode = childData ? childData['countryCode'] : null;\n    admLvls = this.resource.resource.controls['location.countryCode'].objectValue?.administrativeLevels;\n\n    if (countryCode) {\n      let url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${childData[field]}` : '');\n      if (admLvls && admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = true;\n      } else if (admLvls && !admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = false;\n      }\n      if (init) {\n        childSchema.datasource.table = url;\n      } else if (childControl) {\n        childControl.datasource.table = url;\n        childData[childField] = null;\n      } else {\n        childSchema.datasource.table = url;\n        childData[childField] = null;\n      }\n    } else if (!init) {\n      childData[childField] = null;\n    }\n  }\n\n  populate() {\n    const profile = this.anagrafica?.data?.profile;\n    if (profile) {\n      const holderName = profile?.holderName;\n      const location = profile?.location;\n\n      if (!this.billingProfileUuid) {\n        this.resource.data = {\n          ...this.resource.data,\n          ...((this.isVisibleForTheSelectedLegalForm('vatCodeNeeded') && profile?.vatCode) && { vatCode: profile.vatCode }),\n          ...((this.isVisibleForTheSelectedLegalForm('personNameNeeded') && holderName.lastname) && { lastName: holderName.lastname }),\n          ...((this.isVisibleForTheSelectedLegalForm('fiscalCodeNeeded') && profile?.fiscalCode) && { fiscalCode: profile.fiscalCode }),\n          ...((this.isVisibleForTheSelectedLegalForm('companyNameNeeded') && holderName.companyName) && { name: holderName.companyName }),\n          ...((this.isVisibleForTheSelectedLegalForm('personNameNeeded') && holderName.firstname) && { firstName: holderName.firstname }),\n          contact: {\n            ...(profile?.email && { emailAddress: profile.email }),\n            ...(profile?.faxNumber && { faxNumber: profile.faxNumber }),\n            ...(profile?.mobilePhoneNumber && { phoneNumber: profile.mobilePhoneNumber })\n          },\n          location: {\n            ...(location?.zipCode && { zipCode: location.zipCode }),\n            ...(location?.locality && { locality: location.locality }),\n            ...(location?.countryCode && { countryCode: location.countryCode }),\n            ...(location?.admLvl1Uuid && { admLvl1Uuid: location.admLvl1Uuid }),\n            ...(location?.admLvl2Uuid && { admLvl2Uuid: location.admLvl2Uuid }),\n            ...(location?.admLvl3Uuid && { admLvl3Uuid: location.admLvl3Uuid }),\n            ...(location?.streetAddress && { streetAddress: location.streetAddress })\n          }\n        };\n        return this.toast.show('Dati recuperati con successo!', 'success');\n      } else {\n        this.toast.show('Caricamento in corso', 'loading', true);\n        return this.populateMissingData(profile);\n      }\n    } else {\n      if (!profile) return this.toast.show('Errore. Impossibile recuperare i dati!', 'error');\n    }\n  }\n\n  flattenResource(property) {\n    property = structuredClone(property);\n    if (property?.contact) {\n      Object.assign(property, property.contact);\n      delete property.contact;\n    }\n    if (property?.location) {\n      Object.assign(property, property.location);\n      delete property.location;\n    }\n    delete property.label;\n    delete property.ipaCode;\n    delete property.payments;\n    delete property.officeCode;\n    return property;\n  }\n\n  populateMissingData(profile, data = structuredClone(this.resource.data)) {\n    let admLvl1Uuid;\n    let admLvl2Uuid;\n    let admLvl3Uuid;\n    let promises = [];\n    this.pendingPopulateMissingData = true;\n    const contact = ['emailAddress', 'phoneNumber', 'faxNumber'];\n    const schema = Object.keys(this.flattenResource(this.resource.schema));\n    const location = ['streetAddress', 'locality', 'zipCode', 'countryCode', 'admLvl1Uuid', 'admLvl2Uuid', 'admLvl3Uuid'];\n    schema.forEach((key) => {\n      if (location.includes(key)) {\n        if ([null, undefined].includes(data?.location?.[key])) {\n          switch (key) {\n            case 'zipCode':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.zipCode && { [key]: profile.location?.zipCode })\n              }\n              break;\n            case 'locality':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.locality && { [key]: profile.location.locality })\n              }\n              break;\n            case 'countryCode':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.countryCode && { [key]: profile.location?.countryCode })\n              }\n              break;\n            case 'admLvl1Uuid':\n              if (profile.location.admLvl1Uuid) admLvl1Uuid = profile.location?.admLvl1Uuid;\n              break;\n            case 'admLvl2Uuid':\n              if (profile.location.admLvl2Uuid) admLvl2Uuid = profile.location?.admLvl2Uuid;\n              break;\n            case 'admLvl3Uuid':\n              if (profile.location?.admLvl3Uuid) admLvl3Uuid = profile.location.admLvl3Uuid;\n              break;\n            case 'streetAddress':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.streetAddress && { [key]: profile.location.streetAddress })\n              }\n              break;\n          }\n        }\n      } else if (contact.includes(key)) {\n        if ([null, undefined].includes(data?.contact?.[key])) {\n          switch (key) {\n            case 'faxNumber':\n              data.contact = {\n                ...data.contact,\n                ...(profile.faxNumber && { [key]: profile.faxNumber })\n              }\n              break;\n            case 'emailAddress':\n              data.contact = {\n                ...data.contact,\n                ...(profile.email && { [key]: profile.email })\n              }\n              break;\n            case 'phoneNumber':\n              data.contact = {\n                ...data.contact,\n                ...((profile.mobilePhoneNumber || profile.phoneNumber) && { [key]: profile.mobilePhoneNumber || profile.phoneNumber })\n              }\n              break;\n          }\n        }\n      } else {\n        if ([null, undefined].includes(data[key])) {\n          if (key === 'vatCode' && this.isVisibleForTheSelectedLegalForm('vatCodeNeeded')) {\n            if (profile.vatCode) data[key] = profile.vatCode;\n          } else if (key === 'name' && this.isVisibleForTheSelectedLegalForm('companyNameNeeded')) {\n            if (profile.holderName?.companyName) data[key] = profile.holderName.companyName;\n          } else if (key === 'fiscalCode' && this.isVisibleForTheSelectedLegalForm('fiscalCodeNeeded')) {\n            if (profile.fiscalCode) data[key] = profile.fiscalCode;\n          } else if (this.isVisibleForTheSelectedLegalForm('personNameNeeded')) {\n            switch (key) {\n              case 'firstName':\n                data = {\n                  ...data,\n                  ...(profile.holderName?.firstname && { firstName: profile.holderName.firstname })\n                }\n                break;\n              case 'lastName':\n                data = {\n                  ...data,\n                  ...(profile.holderName?.lastname && { lastName: profile.holderName.lastname })\n                }\n                break;\n            }\n          }\n        }\n      }\n    });\n    this.resource.data = data;\n    if (admLvl1Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl1Uuid = admLvl1Uuid; resolve() }, 500) })\n    );\n    if (admLvl2Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl2Uuid = admLvl2Uuid; resolve() }, 1000) })\n    );\n    if (admLvl3Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl3Uuid = admLvl3Uuid; resolve() }, 1500) })\n    );\n    Promise.all(promises).finally(() => {\n      setTimeout(() => {\n        this.pendingPopulateMissingData = false;\n        this.toast.show('Dati mancanti recuperati con successo!', 'success');\n      }, 500);\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MavRequest } from '../../../../classes/mavRequest';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast, Router)\nexport class vmFatturazione {\n  mdt = mdt;\n  legalForms = [];\n  isInitializing = true;\n  isLoading = false;\n  isSetAsDefaultLoading;\n  staticTooltipMavAuthorization = {\n    subtitle: 'Autorizzazioni stampa di bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  // Selected (checked) billing profiles\n  selectedBillingProfiles = {\n    allSelected: false,\n    list: [],\n    select: (record) => {\n      if (record?.payments?.banking?.sepaDirectDebitEnabled) return;\n      let selected = [...this.selectedBillingProfiles.list];\n\n      // Referenced to tableInterface.data (record is referenced to selected)\n      let profile = this.tableInterface.data.find(x => x.uuid === record.uuid) || null;\n      let selectedProfile = selected.find(x => x.uuid === record.uuid) || null;\n\n      // Reset the IBAN field (only newIban)\n      profile.payments.banking.newIban = profile.payments.banking.oldIban || null;\n\n      // Remove error messages\n      profile.errors = null;\n\n      // Remove errors from the record control\n      if (profile?.controls['payments.banking.iban']) profile.controls['payments.banking.iban'].setError();\n\n      // If the record is selected, it removes it, otherwise it adds it\n      if (selected.length && selectedProfile) selected.splice(selected.findIndex(x => x.uuid === record.uuid), 1);\n      else selected.push(record);\n\n      return this.selectedBillingProfiles.list = [...selected];\n    },\n    selectAll: () => {\n      let records = this.tableInterface.data.filter(x => x.payments?.banking?.sepaDirectDebitEnabled === false) || null;\n      if (!records) return;\n      let selected = [...this.selectedBillingProfiles.list];\n      if (records.length > selected.length) {\n        selected = [];\n        records.forEach(record => {\n          // Referenced to tableInterface.data (record is referenced to selected)\n          let profile = this.tableInterface.data.find(x => x.uuid === record.uuid) || null;\n\n          // Reset the IBAN field (only newIban)\n          profile.payments.banking.newIban = profile.payments.banking.oldIban || null;\n\n          // Remove error messages\n          profile.errors = null;\n\n          // Remove errors from the record control\n          if (profile?.controls['payments.banking.iban']) profile.controls['payments.banking.iban'].setError();\n\n          selected.push(record);\n        });\n        this.selectedBillingProfiles.allSelected = true;\n        return this.selectedBillingProfiles.list = [...selected];\n      } else {\n        selected = [];\n        this.selectedBillingProfiles.allSelected = false;\n        return this.selectedBillingProfiles.list = [...selected];\n      }\n    },\n    activeSdd: ($event) => {\n      let promises = [];\n      let selected = [...this.selectedBillingProfiles.list];\n      if (!selected.length) return;\n\n      $event.model.busy = true;\n      selected.forEach((record, index) => {\n        // Referenced to tableInterface.data (record is referenced to selected)\n        let profile = this.tableInterface.data.find(x => x.uuid === record.uuid);\n\n        // Delete all errors\n        profile.errors = null;\n\n        let data = { payments: { banking: { sepaDirectDebitEnabled: true } } };\n        if (profile.payments?.banking?.newIban || profile.payments?.banking?.oldIban) data.payments.banking.iban = profile.payments.banking.newIban || profile.payments.banking.oldIban;\n\n        promises.push(\n          this.api.patch(`users/${record.ownerLegacyId}/billing-profiles/${record.uuid}`, data).then(() => {\n            profile.payments.banking.sepaDirectDebitEnabled = true;\n\n            // Remove record from selected list\n            this.selectedBillingProfiles.list.splice(this.selectedBillingProfiles.list.findIndex(x => x.uuid === record.uuid), 1);\n            this.selectedBillingProfiles.allSelected = false;\n          }).catch(xhr => {\n            console.log('ERROR billing-profiles PATCH', xhr);\n\n            // All the errors received\n            let errorPayload = mdt.parsers.apiError(xhr, selected[index].controls, ['payments.banking.iban', 'payments.banking.sepaDirectDebitEnabled']);\n            profile.errors = errorPayload.body || null;\n          })\n        );\n      });\n      return Promise.all(promises).finally(() => { $event.model.busy = false; });\n    }\n  }\n\n  // Editor fatturazione\n  editor = {\n    view: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione-editor'),\n    model: null,\n    callback: (billingProfile) => {\n      this.editor.model = null;\n      if (billingProfile) {\n        setTimeout(() => { this.edit(billingProfile); }, 0);\n      } else {\n        if (this.params.id) {\n          this.load();\n        } else {\n          this.search();\n        }\n      }\n    }\n  }\n\n  // Payments (Sdi code)\n  sdiEnabled = false;\n  resource = {\n    controls: {},\n    schema: {\n      sdi: {\n        code: {\n          label: 'Codice univoco SdI',\n          control: 'text'\n        },\n        genericSubuserCode: {\n          control: 'text'\n        }\n      }\n    },\n    data: {\n      sdi: {\n        code: null,\n        genericSubuserCode: null\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, dialog, toast, router) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n\n    this.privileges = {\n      isAdmin: this.api.hasRole('LIST_USER_BILLING_PROFILE'),\n      isOperator: this.api.hasRole('LIST_ANY_USER_BILLING_PROFILE')\n    };\n\n    this.searchContext = new SearchContext();\n    this.mavRequest = new MavRequest(this.privileges.isOperator);\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  async init() {\n    if (this.params.id) {\n      await this.initLegalForms();\n      await this.initTableInterface();\n      await this.initSearchContextUser(this.params.id);\n      this.load();\n    } else {\n      await this.initLegalForms();\n      await this.initTableInterface();\n      await this.initSearchInterface();\n      this.search();\n    }\n  }\n\n  initSearchContextUser(id) {\n    if ([String(this.api.user.id), 'me'].includes(id)) return Promise.resolve(this.searchContext.user = this.api.user);\n    else return this.api.get(`${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles&id-in=${id}`).then(xhr => {\n      let response = xhr.response[0];\n      response.profile = response.profile[0];\n      this.searchContext.user = response;\n    });\n  }\n\n  initLegalForms() {\n    return this.api.get('legal-forms').then(xhr => {\n      xhr.response.forEach(legalForm => {\n        this.legalForms[legalForm.code] = legalForm.label;\n      });\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: `anagrafiche-utenti-fatturazione-table-${this.params.id}`,\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response.forEach(profile => {\n        profile.controls = { 'payments.banking.iban': null };\n        profile.payments.banking.oldIban = profile.payments.banking.newIban = profile.payments.banking.iban || null;\n      });\n      return response;\n    };\n\n    // reset selected profiles counter & checkboxes\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      this.selectedBillingProfiles.list = [];\n      this.selectedBillingProfiles.allSelected = false;\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'anagrafiche-utenti-fatturazione-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali profili di fatturazione visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: []\n        },\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?status=ACTIVE&include=user-profiles`, query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        user_active: {\n          control: 'check',\n          label: ' ',\n          description: `Includi solo ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} attivi`\n        },\n        fiscal_code: {\n          label: 'Codice fiscale/Partita Iva',\n          control: 'text',\n          query: 'fiscal-code'\n        },\n        iban: {\n          label: 'IBAN',\n          control: 'text',\n          query: 'iban'\n        },\n        sdd: {\n          label: 'Domiciliazione bancaria (SDD)',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Tutti' },\n            { value: 'YES', text: 'Attiva' },\n            { value: 'NO ', text: 'Non attiva' }\n          ],\n          datamultiple: false,\n          query: 'sdd-active'\n        },\n        mav_authorization_status: {\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          datavalue: 'status',\n          label: 'Richiesta di autorizzazione MAV',\n          query: 'mav-self-printing-authorization-status-in',\n          datasource: this.mavRequest.setDatasourceMavAuthorizationStatus([{ status: 'NONE', text: 'Nessuna richiesta' }])\n        }\n      },\n      data: {}\n    });\n\n    this.setDefaultSearchInterfaceData();\n    this.updateContextDatasource();\n    this.searchContext.searchInterface = this.searchInterface;\n    return this.searchInterface.initialize();\n  }\n\n  setDefaultSearchInterfaceData() {\n    return this.searchInterface.data = {\n      sdd: 'null',\n      user_active: true,\n      mav_authorization_status: 'null',\n      context: this.privileges.isOperator ? 'USER' : 'SUBUSERS'\n    }\n  }\n\n  load() {\n    this.updateTableInterfaceEndpoint();\n    this.tableInterface.load().then(() => {\n      this.getPaymentPreferences();\n    });\n  }\n\n  search() {\n    this.updateTableInterfaceEndpoint();\n    this.updateTableInterfaceQuery();\n    this.searchInterface.search().then(() => {\n      this.lastSearchContext = new SearchContext(this.searchContext.user, { data: structuredClone(this.searchInterface.data) });\n    });\n  }\n\n  updateTableInterfaceEndpoint() {\n    const suffix = (this.searchContext.isChildUsers && (this.privileges.isOperator || !this.searchContext.hasUser)) ? '/~subs' : '';\n    return this.tableInterface.endpoint = (this.privileges.isOperator && !this.searchContext.hasUser) ? 'bo/billing-profiles/' : `users/${this.searchContext.user?.id || 'me'}/billing-profiles${suffix}`;\n  }\n\n  updateTableInterfaceQuery() {\n    const isOperatorActiveSubusersWorthy = this.privileges.isOperator && this.searchContext.isChildUsers && this.searchInterface.data.user_active;\n    const isUserActiveSubusersWorthy = !this.privileges.isOperator && this.searchContext.isChildUsers && !this.searchContext.hasUser && this.searchInterface.data.user_active;\n    return this.tableInterface.query = (isOperatorActiveSubusersWorthy || isUserActiveSubusersWorthy) ? `owner-status-in=ACTIVE` : null;\n  }\n\n  updateContextDatasource() {\n    if (!this.privileges.isOperator) {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili del mio ${mdt.parsers.contextualize(this.api.user, 'account')}` },\n        { value: 'SUBUSERS', text: `I profili dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}` }\n      ];\n      this.searchInterface.data.context = 'SUBUSERS';\n    } else if (this.searchContext.user?.parentId) {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili ${mdt.parsers.contextualize(this.searchContext.user, 'dell\\'utente')}` },\n      ];\n      this.searchInterface.data.context = 'USER';\n    } else {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili ${mdt.parsers.contextualize(this.searchContext.user, 'dell\\'account')}` },\n        { value: 'SUBUSERS', text: `I profili dei suoi ${mdt.parsers.contextualize(this.searchContext.user, 'utenti')}` }\n      ];\n      this.searchInterface.data.context = 'SUBUSERS';\n    }\n  }\n\n  searchContextChange() {\n    if (!this.privileges.isOperator && this.searchInterface?.data?.context === 'USER') {\n      this.searchInterface.data.user = null;\n      this.searchContext.user = null;\n    }\n  }\n  async searchContextUserChange() {\n    if (this.searchInterface.data.user && this.searchInterface.controls.user.control.valueModel?.profile) {\n      this.searchContext.user = Object.assign({}, this.searchInterface.controls.user.control.valueModel, { profile: this.searchInterface.controls.user.control.valueModel.profile[0] });\n    } else if (this.searchInterface.data.user) {\n      await this.initSearchContextUser(this.searchInterface.data.user);\n    } else {\n      this.searchContext.user = null;\n\n    }\n    this.updateContextDatasource();\n  }\n  searchActiveUsersChange() {\n    return this.searchInterface.schema.user.datasource.table = `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?${this.searchInterface.data.user_active ? 'status=ACTIVE&' : ''}include=user-profiles`;\n  }\n\n  resetSearch() {\n    this.setDefaultSearchInterfaceData();\n    this.search();\n  }\n\n  get profileContextInfo() {\n    if (!this.lastSearchContext) return;\n    let label;\n    switch (true) {\n      case this.lastSearchContext.isChildUsers:\n        label = 'dell\\'utente';\n        break;\n      case this.lastSearchContext.hasUser && !this.lastSearchContext.isUserMaster:\n        label = 'dell\\'utente';\n        break;\n      default:\n        label = 'dell\\'account';\n    }\n    return this.mdt.parsers.contextualize(this.lastSearchContext?.user || this.api.user, label);\n  }\n\n  createProfile() {\n    if (this.searchContext.user.parentId) {\n      this.isLoading = true;\n      this.api.get(`users/${this.searchContext.user.id}/billing-profiles/parent`).then(() => {\n        this.isLoading = false;\n        this.editor.model = { userId: this.searchContext.user.id, callback: this.editor.callback };\n      }).catch(error => {\n        console.warn(error);\n        this.isLoading = false;\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: '<strong>Non è possibile creare un profilo di fatturazione per questo ' + mdt.parsers.contextualize(this.api.user, 'utente') + '.</strong><br><div class=\"dialog-p mt-2\">È necessario prima creare un profilo di fatturazione sull\\'account principale. Confermi di voler procedere?</div>'\n        }).whenClosed(response => {\n          if (!response.wasCancelled) this.router.navigate(`anagrafiche/utenti/${this.searchContext.user.parentId}/fatturazione`);\n        });\n      });\n    } else {\n      this.isLoading = false;\n      this.editor.model = { userId: this.searchContext.user.id, callback: this.editor.callback };\n    }\n  }\n\n  edit(billingProfile) {\n    this.editor.model = {\n      userId: billingProfile.ownerLegacyId,\n      profileUuid: billingProfile.uuid,\n      callback: this.editor.callback\n    };\n  }\n\n  delete(billingProfile) {\n    let forceEnabled = this.tableInterface.data.length === 1 && this.api.hasRole('DELETE_LAST_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS');\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'delete-billing-profile small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile'),\n      viewModelParams: { forceEnabled }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/${this.searchContext.user.id}/billing-profiles/${billingProfile.uuid}${response.output ? '/YES' : ''}`).then(() => {\n          this.toast.show('Profilo eliminato con successo!', 'success');\n          if (this.params.id) this.load();\n          else this.search();\n        }).catch(error => {\n          console.error(error);\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  setAsDefault(billingProfile) {\n    const userId = billingProfile.ownerLegacyId;\n    const billingProfileUuid = billingProfile.uuid;\n\n    if (this.isSetAsDefaultLoading !== true) {\n      this.isSetAsDefaultLoading = true;\n\n      return this.getBillingProfile(userId, billingProfileUuid).then(() => {\n        this.patchDefault(userId, billingProfileUuid).then(() => {\n          this.toast.show('Profilo aggiornato con successo!', 'success');\n          this.params.id ? this.load() : this.search();\n        }).catch((error) => {\n          throw new Error(error);\n        }).finally(() => {\n          this.isSetAsDefaultLoading = false;\n        });\n      }).catch((error) => {\n        console.error('setAsDefault', error);\n        this.api.dialogError(error);\n        this.isSetAsDefaultLoading = false;\n      })\n    }\n  }\n  patchDefault(userId, billingProfileUuid) {\n    const endpoint = `users/${userId}/billing-profiles/${billingProfileUuid}/default`;\n    return this.api.patch(endpoint, {});\n  }\n  getBillingProfile(userId, billingProfileUuid) {\n    const endpoint = `users/${userId}/billing-profiles/${billingProfileUuid}`;\n    return this.api.get(endpoint);\n  }\n\n  getPaymentPreferences() {\n    return new Promise((resolve, reject) => {\n      if (this.searchContext.user.parentId) {\n        this.api.get(`users/${this.searchContext.user.id}/preferences`).then(xhr => {\n          let data = mdt.preferences.mergeModelData(this.resource.schema, ['payment'], xhr.response);\n          // !!! Se apro un condominio, devo gestire il campo sdi con una logica particolare (vedi sezione analoga in pagamenti.js)\n          // nel caso l'utente sia il condominio stesso, non faccio nulla\n          if ([this.api.user.id, 'me'].includes(this.params.id)) return this.resource.data = data;\n          // nel caso sdi = null creo l'oggetto, vuoto.\n          if (!data.sdi) data.sdi = { code: null, genericSubuserCode: null };\n          // se intercetto, nel response, un sdi.code relativo al condominio, sovrascrivo l'eventuale sdi.code nel payload con quello relativo al condominio.\n          if (xhr.response.requested?.payment?.sdi?.code) data.sdi.code = xhr.response.requested.payment.sdi.code;\n          // in tutti gli altri casi, sovrascrivo l'eventuale sdi.code nel payload con l'eventuale genericSubuserCode ereditato dall'amministratore.\n          else data.sdi.code = data.sdi?.genericSubuserCode;\n          resolve(this.resource.data = data);\n        }).catch(error => {\n          reject(error);\n          this.api.dialogError(error);\n        });\n      } else {\n        resolve();\n      }\n    });\n  }\n\n  saveBillingProfileIban(profile) {\n    let data = { payments: { banking: { iban: profile.payments.banking.newIban || null } } };\n    this.api.patch(`users/${profile.ownerLegacyId}/billing-profiles/${profile.uuid}`, data).then(() => {\n      this.toast.show('Codice IBAN impostato con successo', 'success');\n      this.searchInterface.search();\n    }).catch(xhr => {\n      if (profile.controls['payments.banking.iban']) mdt.parsers.apiError(xhr, profile.controls);\n    });\n  }\n\n  saveCustomSdi($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = { sdi: { code: this.resource.data.sdi.code } };\n      this.api.patch(`users/${this.searchContext.user.id}/preferences/payment`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.sdiEnabled = !this.sdiEnabled;\n        this.getPaymentPreferences();\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n      this.sdiEnabled = !this.sdiEnabled;\n      this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n    });\n  }\n\n  mavCreateAuthorizationRequest(userId, billingProfileUuid) {\n    if (this.resource.data.payments?.banking?.iban && this.billingProfileIban !== this.resource.data.payments.banking.iban) {\n      let data = { payments: { banking: { iban: this.resource.data.payments.banking.iban } } }\n      this.api.patch(`users/${userId}/billing-profiles/${billingProfileUuid}`, data).then(() => {\n        this.isBuildingAdminCreatingMavRequest(userId, billingProfileUuid);\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.api.dialogError(error);\n      });\n    } else {\n      this.isBuildingAdminCreatingMavRequest(userId, billingProfileUuid);\n    }\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletable(profile) {\n    const banking = profile?.payments?.banking;\n    if (banking) {\n      return this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && banking.mavSelfPrintingAuthorizationStatus === 'ACTIVE' && banking.mavSelfPrintingAuthorizationUuid;\n    }\n  }\n  dialogDeleteMavRequest(profile) {\n    const mavSelfPrintingAuthorizationUuid = profile.payments?.banking?.mavSelfPrintingAuthorizationUuid;\n    const body = '<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>';\n    if (mavSelfPrintingAuthorizationUuid) {\n      this.dialog.open({\n        body,\n        class: 'small',\n        type: 'confirm',\n        title: 'Attenzione!'\n      }).whenClosed((response) => {\n        if (!response.wasCancelled) this.deleteMavRequest(mavSelfPrintingAuthorizationUuid);\n      });\n    }\n  }\n  deleteMavRequest(mavSelfPrintingAuthorizationUuid) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${mavSelfPrintingAuthorizationUuid}`).then(() => {\n      this.search();\n      this.toast.show('Richiesta di autorizzazione dismessa con successo', 'success');\n    }).catch((error) => {\n      this.toast.consume();\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  isBuildingAdminCreatingMavRequest(userId, billingProfileUuid) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`\n      }).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest(userId, billingProfileUuid);\n      });\n    } else {\n      this.sendMavAuthorizationRequest(userId, billingProfileUuid);\n    }\n  }\n\n  sendMavAuthorizationRequest(userId, billingProfileUuid) {\n    return this.api.post(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n        this.params.id ? this.load() : this.search();\n      });\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n\nclass SearchContext {\n  #user = null;\n  #searchInterface = null;\n  constructor(user, searchInterface) {\n    if (user) this.#user = user;\n    if (searchInterface) this.#searchInterface = searchInterface;\n  }\n  set searchInterface(value) {\n    this.#searchInterface = value;\n  }\n  set user(value) {\n    return this.#user = value;\n  }\n  get user() {\n    return /*this.#searchInterface?.controls?.user?.control?.valueModel ||*/ this.#user || null;\n  }\n  get isRequestedUser() {\n    return this.#searchInterface?.data?.context === 'USER';\n  }\n  get isChildUsers() {\n    return this.#searchInterface?.data?.context === 'SUBUSERS';\n  }\n  get hasUser() {\n    return this.user !== null;\n  }\n  get isUserMaster() {\n    return this.user?.group === 'MASTER_USER';\n  }\n}\n","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class viewUtentiImportazione {\n  endpoint = 'users/me/users';\n  records = false;\n  loading = false;\n  selectAllProfile = true;\n  selectAllBilling = true;\n  autocomplete = true;\n  importStatus = {\n    promises: [],\n    errors: [],\n    pending: false,\n    profile: {\n      countSelected: 0,\n      countProcessing: null,\n      countErrors: null,\n      countImported: null\n    },\n    billing: {\n      countSelected: 0,\n      countProcessing: null,\n      countErrors: null,\n      countImported: null\n    }\n  };\n  schema = {\n    userData: {\n      profile: {\n        businessType: {\n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          colClassName: 'medium_size'\n        },\n        displayName: {\n          label: 'Denominazione',\n          control: 'text',\n          colClassName: 'max_size'\n        },\n        holderName: {\n          companyName: {\n            label: 'Ragione sociale',\n            control: 'text',\n            colClassName: 'max_size'\n          },\n        },\n        fiscalCode: {\n          label: 'Codice fiscale',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        location: {\n          countryCode: {\n            label: 'Nazione', \n            control: 'text', \n            min: 2,\n            max: 2,\n            datatext: 'name',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: true,\n            datasource: [],\n            colClassName: 'medium_size'\n          },\n          admLvl1: { \n            label: 'Regione', \n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          admLvl2: { \n            label: 'Provincia',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          admLvl3: {\n            label: 'Comune',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          zipCode: {\n            label: 'CAP',\n            control: 'text'\n          },\n          locality: {\n            label: 'Località',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          streetAddress: {\n            label: 'Indirizzo',\n            control: 'text',\n            colClassName: 'max_size'\n          }\n        }\n      }\n    },\n    billingProfileData: {\n      type: {\n        label: 'Tipo profilo fatturazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: true,\n        datasource: [],\n        colClassName: 'medium_size'\n      },\n      name: {\n        label: 'Denominazione',\n        control: 'text',\n        colClassName: 'max_size'\n      },\n      fiscalCode: {\n        label: 'Codice fiscale',\n        control: 'text',\n        colClassName: 'medium_size'\n      },\n      location: {\n        countryCode: {\n          label: 'Nazione',\n          control: 'text',\n          min: 2,\n          max: 2,\n          datatext: 'name',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: true,\n          datasource: []\n        },\n        admLvl1: { \n          label: 'Regione', \n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        admLvl2: { \n          label: 'Provincia',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text'\n        },\n        locality: {\n          label: 'Località',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        streetAddress: {\n          label: 'Indirizzo',\n          control: 'text',\n          colClassName: 'max_size'\n        }\n      },\n      payments: {\n        banking: {\n          iban: {\n            label: 'IBAN',\n            control: 'text',\n            colClassName: 'max_size'\n          },\n          sepaDirectDebitEnabled: {\n            label: 'Abilita',\n            control: 'check',\n            colClassName: 'max_size'\n          }\n        }\n      }\n    }\n  }\n  constructor(router, api, toast, dialog) {\n    this.api = api;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.api.get('user-business-types').then(xhr => {\n      this.schema.userData.profile.businessType.datasource = xhr.response;\n    });\n    this.api.get('geo/countries').then(xhr => {\n      this.schema.userData.profile.location.countryCode.datasource = xhr.response;\n      this.schema.billingProfileData.location.countryCode.datasource = xhr.response;\n    });\n    this.api.get('billing-profile-types').then(xhr => {\n      this.schema.billingProfileData.type.datasource = xhr.response;\n    });\n  }\n  attached() {\n    \n  }\n  objToArray(obj) {\n    return Object.entries(obj);\n  }\n  carica($event) {\n    if (!this.file || this.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    this.loading = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.file[0]);\n    reader.onload = () => {\n      let data = {\n        filename: this.file[0].name,\n        fileData: reader.result,\n        fillBillingProfileWithUserProfileValues: this.autocomplete\n      };\n      this.api.post('users/me/users/bulk-import-requests', data).then(x => {\n        this.toast.show('File importato con successo!', 'success');\n        this.file = null;\n        this.loading = true;\n        this.api.get(`users/me/users/bulk-import-requests/${x.response.id}/items`).then(xhr => {\n          this.selectAllProfile = true;\n          this.selectAllBilling = true;\n          this.importStatus.pending = false;\n          this.importStatus.profile.countImported = this.importStatus.billing.countImported = null;\n          this.importStatus.profile.countErrors = this.importStatus.billing.countErrors = null;\n          this.importStatus.profile.countProcessing = this.importStatus.billing.countProcessing = null;\n          let records = xhr.response;\n          for (let record of records) {\n            record.profile = { _selected: true, _imported: false, controls: {} };\n            record.billing = { _selected: true, _imported: false, controls: {} };\n            if (!record.userData.profile.location.countryCode) record.userData.profile.location.countryCode = 'IT';\n            if (!record.billingProfileData.location.countryCode) record.billingProfileData.location.countryCode = 'IT';\n            if (record.matchedUserUuid) record.profile._status = 'duplicated';\n            if (record.matchedBillingProfileUuid) record.billing._status = 'duplicated';\n            if (record.billingProfileData.payments?.banking?.iban && record.billingProfileData.payments?.banking?.iban.length > 0) record.billingProfileData.payments.banking.sepaDirectDebitEnabled = true;\n          }\n          this.records = records;\n          this.countSelected();\n          setTimeout(() => {\n            this.importTable.querySelector('colgroup col.profile').animate([{width: 'calc(100% / 12)'}], { duration: 500, easing: 'ease-in' }).onfinish = () => {\n              this.importTable.classList.add('expanded');\n            };\n          }, 0);\n        }).finally(() => {\n          this.loading = false;\n        });\n      }).catch(x => {\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            for (let parameter of response.source.parameters) {\n              if (parameter.parameter === 'data.attributes.fileData') {\n                errorMessages.push('Formato file non valido');\n              }\n              else if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        }\n        else errorMessages.push('Errore nel caricamento del file!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        this.loading = false;\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      this.loading = false;\n      $event.model.busy = false;\n    };\n  }\n\n  annulla() {\n    if (!this.records) return this.router.navigate('anagrafiche/utenti');\n    this.records = false;\n  }\n  add() {\n    this.records.push({\n      profile: { _selected: true, _imported: false, controls: {} },\n      billing: { _selected: true, _imported: false, controls: {} },\n      userData: {\n        profile: {\n          holderName: {},\n          location: {}\n        }\n      },\n      billingProfileData: {\n        location: {},\n        payments: {\n          banking: {}\n        }\n      }\n    });\n  }\n  toggleAllProfile(value) {\n    for (let record of this.records) {\n      record.profile._selected = value;\n      record.billing._selected = record.profile._selected;\n    }\n    this.countSelected();\n  }\n  toggleAllBilling(value) {\n    for (let record of this.records) {\n      record.billing._selected = value;\n    }\n    this.countSelected();\n  }\n  selectProfile(record) {\n    record.billing._selected = record.profile._selected;\n    this.countSelected();\n    this.importStatus.pending = false;\n  }\n  selectBilling(record) {\n    this.countSelected();\n    this.importStatus.pending = false;\n  }\n  countSelected() {\n    this.importStatus.profile.countSelected = this.records.filter(x => x.profile._selected).length;\n    this.importStatus.billing.countSelected = this.records.filter(x => x.billing._selected).length;\n  }\n  resetErrors() {\n    for (let record of this.records) {\n      for (let [field, item] of Object.entries(record.profile.controls)) {\n        if (!item) {\n          konsole.warn(`Field ${field} was not found!`);\n          continue;\n        }\n        if (!item.validator) {\n          konsole.warn(`Field ${field} validator was not found!`);\n          continue;\n        }\n        item.validator.errors = [];\n        item.element.classList.remove('error');\n      }\n      for (let [field, item] of Object.entries(record.billing.controls)) {\n        if (!item) {\n          konsole.warn(`Field ${field} was not found!`);\n          continue;\n        }\n        if (!item.validator) {\n          konsole.warn(`Field ${field} validator was not found!`);\n          continue;\n        }\n        item.validator.errors = [];\n        item.element.classList.remove('error');\n      }\n    }\n  }\n  importa() {\n    this.resetErrors();\n    this.importStatus.pending = true;\n    this.importStatus.promises = [];\n    this.importStatus.errors = [];\n    this.importStatus.profile.countProcessing = this.importStatus.billing.countProcessing = 0;\n    this.importStatus.profile.countImported = this.importStatus.billing.countImported = 0;\n    this.importStatus.profile.countErrors = this.importStatus.billing.countErrors = 0;\n    for (let record of this.records) {\n      this.importStatus.promises.push(this.importProfile(record));\n    }\n    Promise.all(this.importStatus.promises).finally(() => {\n      this.importStatus.pending = false;\n      if (this.importStatus.errors.length) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Si sono verificati i seguenti errori:</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + this.importStatus.errors.join('<br>') + '</div>'});\n\n    });\n  }\n  importProfile(record) {\n    if (record.profile._selected && record.profile._status !== 'success' && !record.profile._imported) {\n      let api, update = !!record.profile._overwrite;\n      this.importStatus.profile.countProcessing += +1;\n      record.profile._status = 'pending';\n      record.profile._disabled = record.billing._disabled = true;\n      let data = JSON.parse(JSON.stringify(record.userData));\n      data.group = 'BASIC_USER';\n      data = mdt.helpers.removeEmptyAttributes(data);\n      \n      if (update && record.matchedUserUuid) {\n        api = this.api.put(`users/me/users/${record.matchedUserUuid}`, data);\n      }\n      else {\n        api = this.api.post('users/me/users', data);\n      }\n      return api.then(xhr => {\n        record.profile._status = 'success';\n        this.importStatus.profile.countProcessing += -1;\n        this.importStatus.profile.countImported += +1;\n        record.profile._imported = true;\n        record._user = xhr.response.id;\n        this.importStatus.promises.push(this.importBilling(record));\n      }, xhr => {\n        record.profile._status = String(xhr.statusCode) === '409' ? 'duplicated' : 'error';\n        this.importStatus.profile.countProcessing += -1;\n        record.profile._disabled = record.billing._disabled = false;\n        let errorPayload = mdt.parsers.apiError(xhr, record.profile.controls);\n        if (errorPayload) this.importStatus.errors.push(errorPayload.body);\n      });\n    } else if (record.billing._selected && record.profile._status === 'success' && !record.billing._imported) {\n      return this.importBilling(record);\n    }\n  }\n  importBilling(record) {\n    if (record.billing._selected && record.billing._status !== 'success' && !record.billing._imported) {\n      let api, update = !!record.profile._overwrite;\n      this.importStatus.billing.countProcessing += +1;\n      record.billing._status = 'pending';\n      let data = JSON.parse(JSON.stringify(record.billingProfileData));\n      //data.type = 'BUILDING';\n      data = mdt.helpers.removeEmptyAttributes(data);\n\n      if (update && record.matchedBillingProfileUuid) {\n        api = this.api.put(`users/me/billing-profiles/${record.matchedBillingProfileUuid}`, data);\n      }\n      else {\n        api = this.api.post(`users/${record._user}/billing-profiles`, data);\n      }\n      return api.then(xhr => {\n        record.billing._status = 'success';\n        this.importStatus.billing.countProcessing += -1;\n        this.importStatus.billing.countImported += +1;\n        record.billing._imported = true;\n      }, xhr => {\n        record.billing._status = String(xhr.statusCode) === '409' ? 'duplicated' : 'error';\n        this.importStatus.billing.countProcessing += -1;\n        record.billing._disabled = false;\n        let errorPayload = mdt.parsers.apiError(xhr, record.billing.controls);\n        if (errorPayload) this.importStatus.errors.push(errorPayload.body);\n      });\n    } else return Promise.resolve();\n  }\n  dialogDuplicate(record, scope) {\n    this.dialog.open({\n      title: `Gestione sovrascrittura`,\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura'),\n      viewModelParams: { record, scope }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        record[scope]._overwrite = true;\n      } else {\n        record[scope]._overwrite = false;\n        if (scope === 'profile') delete record.matchedUserUuid;\n        if (scope === 'billing') delete record.matchedBillingProfileUuid;\n      }\n    });\n  }\n}\n\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, MdDatasources, KaToast)\nexport class Impostazioni {\n  isInitPending;\n  advancedPreferences;\n  resource = {\n    controls: {},\n    schema: {\n      multifatture: {\n        accountingClientSoftwareUuid: {\n          label: 'Software gestionale utilizzato per la gestione della contabilità',\n          control: 'combo',\n          datasource: [],\n          datavalue: 'id',\n          datatext: 'name',\n          datapreload: true,\n          datamultiple: false\n        }\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, MdDatasources, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.mdDatasources = MdDatasources;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('MODIFY_ANY_USER_PRIVILEGED_PREFERENCES');\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.isInitPending = true;\n    if (this.isOperator) {\n      this.resource.schema.grantLoginWithSupportTicket = {\n        label: 'Assistenza Multidialogo',\n        description: 'Attiva al ruolo di assistente',\n        control: 'check'\n      };\n      this.resource.schema.multifatture.enableBetaFeatures = {\n        label: 'Beta tester MultiFatture',\n        description: 'Attiva al ruolo di BETA tester',\n        control: 'check'\n      };\n    };\n\n    this.resource.schema.multifatture.accountingClientSoftwareUuid.datasource = this.mdDatasources.multifattureSoftwares;\n    this.load().finally(() => {\n      this.isInitPending = false;\n    });\n  }\n\n  load() {\n    return this.api.get(`users/${this.params?.id}/advanced-preferences`).then((xhr) => {\n      const response = xhr.response;\n      this.advancedPreferences = response;\n      if (this.isOperator) this.resource.data = response;\n      else if (!this.isOperator && response.multifatture?.accountingClientSoftwareUuid) {\n        this.resource.data.multifatture = { accountingClientSoftwareUuid: response.multifatture?.accountingClientSoftwareUuid }\n      }\n    }).catch((error) => {\n      console.log('GET advanced-preferences', error);\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      const endpoint = `${this.isOperator ? 'bo/' : ''}users/${this.params.id}/advanced-preferences`;\n      this.api.patch(endpoint, this.resource.data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n      }).catch((error) => {\n        console.log('PATCH advanced-preferences', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    });\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { MdDatasources } from 'services/md-datasources';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, MdDatasources, KaDialog, KaToast)\nexport class Pagamenti {\n  mdt = mdt;\n  user = null;\n  isInitializing = true;\n  isLoading = true;\n  writeEnabled = false;\n  customSdiEnabled = false;\n  masterUserCreditSharingCheck = false;\n  resource = {\n    controls: {},\n    schema: {\n      debtGuarantorDisplayName: {\n        label: 'Garante del deposito',\n        control: 'text',  \n      },\n      debtGuarantorUuid: {\n        label: 'Garante del deposito', \n        control: 'combo',  \n        datatext: 'profile[0].displayName',\n        datavalue: 'uuid', \n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n        query: 'parent-uuid-in'\n      },\n      masterUserCreditSharing: { \n        description: 'Attiva',\n        control: 'check'\n      },\n      sdi: {\n        code: {\n          label: 'Codice univoco SdI per il mio studio',\n          control: 'text' \n        },\n        genericSubuserCode: {\n          control: 'text' \n        }\n      },\n      registerBillsAsManagementMovement: {\n        label: 'Le fatture delle spedizioni verranno registrate come movimento di gestione, senza la suddivisione per costi personali',\n        description: 'Attiva',\n        control: 'check' \n      }\n    },\n    data: {},\n  }\n\n  constructor(aurelia, router, api, mdDatasources, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.mdDatasources = mdDatasources;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.writeEnabled = this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'MODIFY_USERS_PRIVILEDGED_PREFERENCES']) ? true : false;\n    if (this.resource.schema.multifatture?.accountingClientSoftwareUuid?.datasource) this.resource.schema.multifatture.accountingClientSoftwareUuid.datasource = this.mdDatasources.multifattureSoftwares;\n    this.getUser();\n  }\n\n  getUser() {\n    this.api.get(`users/${this.params.id}?include=user-profiles`).then(xhr => {\n      this.user = xhr.response;\n      this.user.profile = this.user.profile[0];\n      this.resource.schema.masterUserCreditSharing.label = `Sblocco automatico delle spedizioni dei miei ${mdt.parsers.contextualize(this.user, 'utenti')} con il credito del mio ${mdt.parsers.contextualize(this.user, 'account')}`;\n      this.resource.schema.sdi.genericSubuserCode.label = `Codice univoco SdI per i miei ${mdt.parsers.contextualize(this.user, 'utenti')}`;\n      this.load();\n    }).catch(error => {\n      console.log('ERROR user-profile GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  load() {\n    this.isLoading = true;\n    this.api.get(`users/${this.params.id}/preferences`).then(xhr => {\n      this.resource.data = mdt.preferences.mergeModelData(this.resource.schema, ['payment'], xhr.response);\n\n      if (this.user.group === 'BASIC_USER') {\n        /* Se apro un condominio, devo gestire il campo sdi (sdi.code e sdi.genericSubuserCode) con una logica particolare\n        Il frontend mostra un unico campo \"Campo univoco SdI\" bindato a this.payments.data.sdi.code\n        L'endpoint GET /users/{id}/preferences ritorna uno stack di impostazioni che la funzione mergeModelData() mergia secondo un criterio gerarchico di priorità\n        Il risultato è un payload in cui il valore di sdi può essere:\n        - sdi: null\n        - sdi: {code: 'CODICE1', genericSubuserCode: 'CODICE2'}\n        - sdi: {code: 'CODICE1', genericSubuserCode: null}\n        - sdi: {code: null, genericSubuserCode: 'CODICE2'}\n        Essendo il payload this.payments.data il risultato di un merge di preferenze dell'utente condominio con preferenze dell'amministratore e altre preferenze di default, non ho modo\n        di distinguere se un codice sdi.code è originariamente settato sul condominio o sul suo amministratore, a meno che non vada a leggere nel response originale:\n        se x.response.requested.payment.sdi.code è valorizzato, il codice è settato sul condominio, altrimenti l'eventuale sdi.code che mi ritrovo nel payload è ereditato dal suo amministratore */\n        \n        // Nel caso l'utente sia il condominio stesso, non faccio nulla\n        if (this.user.id === this.api.user.id) return this.resource.data = data;\n        // nel caso sdi = null, creo l'oggetto, vuoto\n        if (!this.resource.data.sdi) this.resource.data.sdi = { code: null, genericSubuserCode: null };\n        // Se intercetto, nel response, un sdi.code relativo al condominio, sovrascrivo l'eventuale sdi.code nel payload con quello relativo al condominio\n        if (xhr.response.requested?.payment?.sdi?.code) this.resource.data.sdi.code = xhr.response.requested.payment.sdi.code;\n        // In tutti gli altri casi, sovrascrivo l'eventuale sdi.code nel payload con l'eventuale genericSubuserCode ereditato dall'amministratore\n        else this.resource.data.sdi.code = this.resource.data.sdi?.genericSubuserCode;\n      }  \n      this.resource._data = JSON.parse(JSON.stringify(this.resource.data));\n      this.masterUserCreditSharingCheck = this.resource.data.masterUserCreditSharing?.scopes?.includes('QUEUE-DUTIES');\n    }).catch(error => {\n      console.log('ERROR /preferences (payments) GET', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.isInitializing = this.isLoading = false;\n    });\n  }\n\n  save ($event) {\n    if (!this.params.id) return;\n    let data = this.resource.data;\n    if (this.masterUserCreditSharingCheck === true) {\n      if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n      if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') < 0) data.masterUserCreditSharing.scopes.push('QUEUE-DUTIES');\n    } else if (this.masterUserCreditSharingCheck === false) {\n      if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n      if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') > -1) data.masterUserCreditSharing.scopes.splice(data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES'), 1);\n    }\n    data = mdt.helpers.diffObject(this.resource._data, this.resource.data);\n    if (data.debtGuarantorDisplayName) delete data.debtGuarantorDisplayName;\n    if (data && Object.entries(data).length) {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.params?.id}/preferences/payment`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.load();\n      }).catch(error => {\n        console.log('ERROR - /preferences/payment (save) - PATCH', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    } else $event.model.busy = false;\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Segnalatori {\n  mdt = mdt;\n  isInitializing = true;\n  isLoading = true;\n  readEnabled = false;\n  writeEnabled = false;\n  downloadHistoryEnabled = false;\n  noAssociations = false;\n  services = [];\n  serviceGroups = []; \n  newReseller = { uuid: null, resellerCodes: null, selectedCode: null, serviceGroupCode: null };\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    if (this.params.id !== 'me') {\n      if (this.api.hasRole('DOWNLOAD_RESELLERS_HISTORY')) this.downloadHistoryEnabled = true;\n      if (this.api.hasRole('CREATE_ANY_ACCOUNT_RESELLER_ASSOCIATION')) this.writeEnabled = true;\n      else if (this.api.hasRole('LIST_ANY_ACCOUNT_RESELLER_ASSOCIATION')) this.writeEnabled = false;\n    }\n\n    // if there are not associations, do not show the download history button in the dom\n    this.api.get(`bo/users/${this.params.id}/resellers-history-download`).catch((error) => {\n      if (error.statusCode === 404) this.noAssociations = true;\n      else this.noAssociations = false;\n    });\n\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'segnalatori-table',\n      client: this.api,\n      endpoint: `bo/users/${this.params.id}/resellers`,\n      query: 'reseller-association-user-status=ACTIVE'\n    });\n    this.tableInterface.initialize().then(() => {\n      this.datasourceServiceGroups();\n      this.load();\n    }).catch(error => { \n      console.log('tableInterface initialization failed', error);\n      this.toast.show('Errore in fase di inizializzazione!', 'error');\n    });\n  }\n\n  datasourceServiceGroups() {\n    this.api.get('resell/service-groups').then(xhr => { \n      this.serviceGroups = xhr.response;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  load() {\n    this.isLoading = true;\n    this.tableInterface.load().then(() => {\n      let promises = [];\n      if (this.tableInterface.data?.length) {\n        this.tableInterface.data.forEach(reseller => {\n          reseller.serviceGroups = [];\n          promises.push(this.api.get(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups`, { filters: 'user-reseller-association-service-group-status=ACTIVE'}).then(xhr => {\n            reseller.serviceGroups = xhr.response;\n          }));\n        });\n        Promise.all(promises).catch(errors => {\n          console.log('ERROR - resellerServiceGroups - PROMISES', errors);\n          this.api.dialogError(errors);\n        }).finally(() => {\n          this.isInitializing = this.isLoading =  false;\n        });\n      } else this.isInitializing = this.isLoading = false;\n    }).catch(() => {\n      this.isInitializing = this.isLoading = false;\n      this.toast.show('Errore in fase di caricamento!', 'error');\n    });\n  }\n\n  addServiceGroup(reseller) {\n    this.api.post(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups`, { serviceGroupCode: reseller.group.code }).then(() => {\n      this.toast.show('Servizio aggiunto con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    }).finally(() => {\n      reseller.group = null;\n    });\n  }\n\n  deleteServiceGroup(reseller, group) {\n    this.api.delete(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups/${group.serviceGroupCode}`, {}).then(() => {\n      this.toast.show('Servizio eliminato con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    })\n  }\n\n  addReseller() {\n    this.dialog.open({\n      title: 'Associa nuovo segnalatore',\n      class: 'profilo-add-reseller small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-add-reseller'),\n      viewModelParams: { id: this.params.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.toast.show('Segnalatore aggiunto con successo', 'success');\n        this.load();\n      }\n    });\n  }\n\n  deleteReseller(reseller) {\n    this.api.delete(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}`).then(() => {\n      this.toast.show('Segnalatore eliminato con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    })\n  }\n\n  annulla() {\n    this.params = null;\n    this.router.navigate('anagrafiche/utenti');\n  }\n\n  downloadHistory() {\n    if (this.downloadHistoryPending) return;\n    this.downloadHistoryPending = true;\n    this.api.client.createRequest(`/bo/users/${this.params.id}/resellers-history-download`)\n    .asGet()\n    .withHeader('Accept', 'application/csv')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.csv$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'text/csv' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n\n      this.toast.show('Storico scaricato con successo', 'success');\n    }).catch(xhr => {\n      console.log('ERROR - export-users GET', xhr);\n      this.toast.show('Errore in fase di scaricamento', 'error');\n    }).finally(() =>{\n      this.downloadHistoryPending = false;\n    });\n  }\n}","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdUser } from 'services/md-user';\nimport { inject } from 'aurelia-framework';\nimport { DialogService } from 'aurelia-dialog';\n\n@inject(Api, Router, DialogService, MdUser, KaDialog, KaToast)\nexport class Navigation {\n  mdt = mdt;\n  constructor(api, router, dialog, MdUser, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.mdUser = MdUser;\n    this.toast = kaToast;\n    this.router = router;\n    this.kaDialog = KaDialog;\n    this.items = [];\n    this.init();\n  }\n  init() {\n    this.items = [\n      {\n        hidden: true,\n        href: 'account/delete',\n        label: 'Cancella account',\n        route: ['account/delete'],\n        moduleId: PLATFORM.moduleName('views/account/delete/delete')\n      }, {\n        hidden: true,\n        label: 'Offerta',\n        href: 'offerta',\n        route: 'landing/offerta/:code',\n        moduleId: PLATFORM.moduleName('views/landing/offerta')\n      }, {\n        hidden: true,\n        label: 'Registrazione',\n        href: 'registrazione',\n        route: ['registrazione/prospetto/:prospectUuid?', 'registrazione'],\n        moduleId: PLATFORM.moduleName('views/landing/registrazione')\n      }, {\n        hidden: true,\n        label: 'Login',\n        name: 'login',\n        href: 'login',\n        route: ['', 'login'],\n        moduleId: PLATFORM.moduleName('views/accesso/login')\n      }, {\n        hidden: true,\n        label: 'Recupero password',\n        href: 'password-recovery',\n        route: ['password-recovery/:token?'],\n        moduleId: PLATFORM.moduleName('views/accesso/recupero')\n      }, {\n        hidden: true,\n        label: 'Conferma registrazione',\n        href: 'email-confirm',\n        route: 'email-confirm/:code',\n        moduleId: PLATFORM.moduleName('views/landing/email-confirm')\n      }, {\n        icon: null,\n        hidden: true,\n        label: 'Profilo',\n        authRequired: true,\n        href: 'gestione/profilo',\n        route: 'gestione/profilo/:id?/:view?',\n        moduleId: PLATFORM.moduleName('views/anagrafiche/utenti/utenti')\n      }, {\n        hidden: true,\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Impostazioni',\n        icon: 'settings',\n        href: 'impostazioni',\n        route: ['impostazioni'],\n        moduleId: PLATFORM.moduleName('views/impostazioni/impostazioni')\n      }, {\n        label: 'Home',\n        href: 'dashboard',\n        title: 'Home dashboard',\n        authRequired: true,\n        beforeIcon: 'far fa-home-lg-alt primary',\n        route: ['dashboard'],\n        explanation: 'Dashboard',\n        moduleId: PLATFORM.moduleName('views/dashboard/dashboard')\n      }, {\n        href: null,\n        collapsed: false,\n        label: 'Spedizioni',\n        id: 'km-layout-aside-menu-spedizioni',\n        beforeIcon: 'fad fa-shipping-fast animated',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          collapsed: false,\n          highlighted: true,\n          label: 'Multinvio',\n          nav: [{\n            label: 'Invia',\n            highlighted: true,\n            afterIcon: 'far fa-arrow-to-right',\n            authGroups: ['MASTER_USER', 'BASIC_USER'],\n            call: () => { this.openSenderui('multicanale'); }\n          }, {\n            label: 'Bozze',\n            authRoles: ['LIST_QUEUE'],\n            href: 'spedizioni/drafts',\n            route: 'spedizioni/drafts',\n            moduleId: PLATFORM.moduleName('views/spedizioni/drafts'),\n            badge: {\n              interval: 10000,\n              promise: (resolve, reject) => {\n                if (this.api.hasRole('LIST_ANY_QUEUE')) reject();\n                let total = JSON.parse(localStorage.getItem?.('queue-drafts-outlines'))?.totalQueueDrafts;\n                if (total === undefined) {\n                  this.api.get('users/me/queue-drafts-outlines/~all?statusCode-in=ACTIVE&limit=1').then((xhr) => {\n                    total = xhr?.originalResponse?.meta?.total;\n                  }).finally(() => {\n                    total = total || null;\n                    localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: total }));\n                    resolve(total || null);\n                  });\n                } else {\n                  total = total || null;\n                  localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: total }));\n                  resolve(total);\n                }\n              }\n            }\n          }, {\n            authRequired: true,\n            label: 'Attesa di pagamento',\n            href: 'spedizioni/pending',\n            route: 'spedizioni/pending',\n            moduleId: PLATFORM.moduleName('views/spedizioni/pending'),\n            badge: {\n              interval: 10000,\n              promise: (resolve, reject) => {\n                if (this.api.hasRole('LIST_ANY_QUEUE')) reject();\n                let total = JSON.parse(localStorage.getItem?.('queue-outlines'))?.totalQueuesPendingPayment;\n                if (total === undefined) {\n                  this.api.get('users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1').then((xhr) => {\n                    total = xhr?.originalResponse?.meta?.total;\n                  }).finally(() => {\n                    total = total || null;\n                    localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: total }));\n                    resolve(total || null);\n                  });\n                } else {\n                  total = total || null;\n                  localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: total }));\n                  resolve(total);\n                }\n              }\n            }\n          }, {\n            authRequired: true,\n            label: 'Reportistica',\n            href: 'spedizioni/reportistica',\n            route: 'spedizioni/reportistica',\n            moduleId: PLATFORM.moduleName('views/spedizioni/report/report')\n          }, {\n            hidden: true,\n            authRequired: true,\n            label: 'Reportistica',\n            authRoles: ['LIST_QUEUE_MESSAGE'],\n            href: 'spedizioni/reportistica-dettaglio',\n            route: ['spedizioni/reportistica/:queueOwnerId/:queueUuid'],\n            moduleId: PLATFORM.moduleName('views/spedizioni/report/report-detail')\n          }, {\n            authRequired: true,\n            label: 'Bounces',\n            href: 'backoffice/bounces',\n            moduleId: PLATFORM.moduleName('views/backoffice/bounces'),\n            authGroups: ['ADMIN', 'BACKOFFICE', 'EXECUTIVE_OPERATOR']\n        }]\n        }, {\n          label: 'Invio SMS',\n          collapsed: false,\n          highlighted: true,\n          authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER'],\n          nav: [{\n            label: 'Invia',\n            highlighted: true,\n            afterIcon: 'far fa-arrow-to-right',\n            call: () => { this.openSenderui('sms'); },\n            authGroups: ['MASTER_USER', 'BASIC_USER']\n          }, {\n            label: 'Alias Sms',\n            href: 'backoffice/alias',\n            route: ['backoffice/alias/:id?'],\n            moduleId: PLATFORM.moduleName('views/backoffice/alias'),\n            authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE']\n          }]\n        }]\n      }, {\n        href: null,\n        collapsed: true,\n        authRequired: true,\n        label: 'Anagrafiche',\n        id: 'km-layout-aside-menu-anagrafiche',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          authRequired: true,\n          explanation: 'Profilo utente',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Account'),\n          call: () => { this.router.navigate('gestione/profilo/me/anagrafica'); }\n        }, {\n          href: 'anagrafiche/utenti',\n          hidden: !!this.api?.user?.parentId,\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utenti'),\n          moduleId: PLATFORM.moduleName('views/anagrafiche/utenti/utenti'),\n          route: ['anagrafiche/utenti/:id/:view?', 'anagrafiche/utenti/:view?', 'gestione/profilo/me']\n        }, {\n          authRoles: ['LIST_ANY_PROSPECT_LANDING_PAGE'],\n          label: 'Pagine di registrazione',\n          href: 'anagrafiche/landing-pages',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/landing-pages/landing-pages')\n        }, {\n          label: 'Revisione ABI/CAB',\n          authRoles: ['LIST_UNKNOWN_IBAN_COORDINATES'],\n          href: 'anagrafiche/revisione-abi-cab',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/revisione-abi-cab/revisione-abi-cab')\n        }, {\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica',\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-importazione',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-importazione')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-dati',\n          route: 'anagrafiche/rubrica-dati/:id?',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dati')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-gruppi',\n          route: 'anagrafiche/rubrica-gruppi/:id?',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-gruppi')\n        }]\n      }, {\n        collapsed: true,\n        label: 'Contabilità',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          label: 'Ordini',\n          authRequired: true,\n          href: 'contabilita/orders',\n          route: 'contabilita/orders',\n          moduleId: PLATFORM.moduleName('views/contabilita/orders')\n        }, {\n          label: 'Fatture',\n          authRequired: true,\n          href: 'contabilita/invoices-list',\n          route: 'contabilita/invoices-list',\n          authGroups: ['MASTER_USER'],\n          moduleId: PLATFORM.moduleName('views/contabilita/invoices/invoices-list')\n        }]\n      }, {\n        href: null,\n        icon: 'print',\n        collapsed: false,\n        authRequired: true,\n        label: 'Stampe',\n        authGroups: ['ADMIN', 'PRINT_BACKOFFICE', 'BACKOFFICE', 'EXECUTIVE_OPERATOR'],\n        nav: [{\n          href: 'copertine',\n          label: 'Copertine',\n          route: ['copertine'],\n          moduleId: PLATFORM.moduleName('views/print-backoffice/copertine')\n        }]\n      }, {\n        collapsed: true,\n        label: 'Riscossioni e rate',\n        id: 'km-layout-aside-menu-riscossioni',\n        hidden: this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          href: 'riscossioni/autorizzazioni',\n          route: 'riscossioni/autorizzazioni',\n          label: 'Richieste di autorizzazione',\n          authRoles: ['LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION'],\n          moduleId: PLATFORM.moduleName('views/riscossioni/autorizzazioni/autorizzazioni')\n        },\n        {\n          href: 'riscossioni/pagamento',\n          label: 'Scarica esiti di pagamento',\n          route: 'riscossioni/pagamento/:ka-tab?',\n          moduleId: PLATFORM.moduleName('views/riscossioni/pagamento/pagamento'),\n          authRoles: ['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']\n        }]\n      }, {\n        collapsed: true,\n        label: 'Servizi',\n        icon: 'shopping_cart',\n        authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER'],\n        nav: [{\n          href: 'servizi/abbonamenti',\n          label: 'Attivazione servizi',\n          route: 'servizi/abbonamenti/:id?',\n          authRoles: ['LIST_FLAT_SERVICES'],\n          moduleId: PLATFORM.moduleName('views/servizi/abbonamenti/abbonamenti')\n        }, {\n          href: 'servizi/ricariche',\n          route: 'servizi/ricariche',\n          label: 'Ricariche per spedizioni',\n          moduleId: PLATFORM.moduleName('views/servizi/ricariche/ricariche'),\n          authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER']\n        }, {\n          href: 'servizi/listini',\n          route: 'servizi/listini',\n          label: 'Listino prezzi spedizioni',\n          authRoles: ['LIST_USER_PRICE_LIST_SCHEDULES'],\n          moduleId: PLATFORM.moduleName('views/servizi/listini/listini')\n        }, {\n          label: 'Promozioni',\n          href: 'servizi/promozioni',\n          route: 'servizi/promozioni',\n          moduleId: PLATFORM.moduleName('views/servizi/promozioni/promozioni'),\n          authRoles: ['CREATE_ANY_USER_PROMOTION_ASSOCIATION', 'CREATE_PROMOTIONS']\n        }, {\n          label: 'Offerte',\n          href: 'backoffice/offerte',\n          route: 'backoffice/offerte',\n          moduleId: PLATFORM.moduleName('views/backoffice/offerte/offerte'),\n          authRoles: ['LIST_ANY_PROMOTION_OFFER', 'LIST_ANY_USER_PROMOTION_OFFER_ACTIVATION']\n        }, {\n          collapsed: true,\n          label: 'Credito',\n          authRoles: ['LIST_USER_CREDIT_TRANSACTION', 'LIST_USER_BAILMENT_DEPOSIT_TRANSACTION'],\n          nav: [{\n            label: 'Movimenti',\n            authRoles: ['LIST_USER_CREDIT_TRANSACTION'],\n            href: 'servizi/credito/crediti',\n            route: ['servizi/credito/crediti'],\n            moduleId: PLATFORM.moduleName('views/servizi/credito/crediti')\n          }, {\n            label: 'Deposito cauzionale',\n            href: 'servizi/credito/deposito',\n            route: ['servizi/credito/deposito/:user?'],\n            authRoles: ['LIST_USER_BAILMENT_DEPOSIT_TRANSACTION'],\n            moduleId: PLATFORM.moduleName('views/servizi/credito/deposito')\n          }]\n        }]\n      }, {\n        collapsed: true,\n        label: 'Cashback',\n        authRequired: true,\n        icon: 'currency_exchange',\n        hidden: !['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes?.(this.api?.user?.group),\n        authRoles: ['LIST_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_MOVEMENTS', 'LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS'],\n        nav: [{\n          href: 'cashback/contracts',\n          label: 'Contratti cashback',\n          route: ['cashback/contracts'],\n          moduleId: PLATFORM.moduleName('views/cashback/contracts/contracts'),\n          authRoles: ['LIST_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_CONTRACTS']\n        }, {\n          href: 'cashback/transactions',\n          route: ['cashback/transactions'],\n          label: 'Movimenti e saldo cashback',\n          moduleId: PLATFORM.moduleName('views/cashback/transactions/transactions'),\n          authRoles: ['LIST_USER_CASHBACK_MOVEMENTS','LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS']\n        }]\n      }, {\n        collapsed: true,\n        label: 'Fidelity card',\n        authRequired: true,\n        nav: [{\n          label: 'Attivazione',\n          title: 'Fidelity card',\n          authGroups: ['MASTER_USER'],\n          href: 'fidelity-cards/activation',\n          route: ['fidelity-cards/activation'],\n          authRoles: ['LIST_USER_FIDELITY_CARDS'],\n          moduleId: PLATFORM.moduleName('views/fidelity-cards/activation')\n        }]\n      }, {\n        collapsed: false,\n        label: 'Multicoin',\n        authRequired: true,\n        svg: 'logo-multicoin.svg',\n        authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER'],\n        nav: [\n          {\n            label: 'Accedi',\n            afterIcon: 'far fa-external-link',\n            call: () => { this.openMulticoin(); }\n          }, {\n          label: 'Movimenti e punteggio',\n          title: 'Multicoin: movimenti e punteggio',\n          href: 'multicoin/points-transaction-history',\n          route: ['multicoin/points-transaction-history'],\n          moduleId: PLATFORM.moduleName('views/multicoin/points-transaction-history')\n        }]\n      }, {\n        icon: 'savings',\n        label: 'Compensi',\n        authRoles: ['LIST_RESELLER_COMMISSIONS'],\n        href: 'anagrafiche/utenti/me/compensi?ka-tab-main=utenti-associati'\n      }, {\n        collapsed: true,\n        label: 'Sistema',\n        icon: 'settings',\n        nav: [{\n          label: 'Agreements',\n          authGroups: ['ADMIN'],\n          href: 'backoffice/agreements',\n          route: ['backoffice/agreements/:id?'],\n          moduleId: PLATFORM.moduleName('views/backoffice/agreements')\n        }, {\n          authGroups: ['ADMIN'],\n          label: 'Archiviazione S3',\n          href: 'backoffice/archiviazione',\n          moduleId: PLATFORM.moduleName('views/backoffice/archiviazione')\n        }, {\n          href: 'backoffice/notifiche',\n          label: 'Notifiche di sistema',\n          authRoles: ['LIST_ANY_USER_SYSTEM_NOTIFICATION'],\n          moduleId: PLATFORM.moduleName('views/backoffice/notifiche-sistema/notifiche')\n        },\n        {\n          label: 'Avvisi Wall',\n          href: 'backoffice/avvisi',\n          authRoles: ['LIST_WALL_ADVICES'],\n          moduleId: PLATFORM.moduleName('views/backoffice/avvisi/wall-advices')\n        },\n        {\n          label: 'MultiTrax Outbox',\n          href: 'backoffice/multitrax',\n          authRoles: ['LIST_ANY_MTRAX_OUTBOX_MESSAGE'],\n          moduleId: PLATFORM.moduleName('views/backoffice/multitrax/multitrax')\n        },\n        {\n          label: 'P.IVA non autorizzate',\n          afterIcon: 'far fa-external-link',\n          call: () => { this.dialogBlacklistedTaxCodes(); },\n          authRoles: ['LIST_BLACKLISTED_TAX_CODES'],\n        }]\n      }, {\n        collapsed: true,\n        label: 'MultiCerta',\n        svg: 'logo-multicerta.svg',\n        authGroups: ['MASTER_USER'],\n        id: 'km-layout-aside-menu-multicerta',\n        nav: [{\n          label: 'Reportistica',\n          href: 'multicerta/report',\n          authGroups: ['_MASTER_USER'],\n        }, {\n          label: 'Invita',\n          authRequired: true,\n          title: 'Multicerta',\n          href: 'multicerta/invite',\n          route: ['multicerta/invite'],\n          afterIcon: 'far fa-arrow-to-right',\n          moduleId: PLATFORM.moduleName('views/multicerta/invite')\n        }]\n      }, {\n        label: 'Multinforma',\n        authGroups: ['MASTER_USER'],\n        svg: 'logo-multinforma.svg',\n        afterIcon: 'far fa-external-link',\n        id: 'km-layout-aside-menu-multinforma',\n        call: () => { this.openMultinforma(); }\n      }\n    ];\n  }\n  dialogBlacklistedTaxCodes() {\n    return this.kaDialog.open({\n      title: 'P.IVA non autorizzate',\n      class: 'blacklisted-tax-codes',\n      viewModel: PLATFORM.moduleName('views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes')\n    }, true)\n  }\n  openMulticoin() {\n    if (this.areContractualAgreementsSigned()) {\n      return this.mdt?.general?.navigateToExternal('https://go.multicoin.it/');\n    }\n  } \n  openMultinforma() {\n    if (this.areContractualAgreementsSigned()) {\n      this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n        let token = xhr.response.token;\n        return this.mdt?.general?.navigateToExternal(`${ENVIRONMENT.APP_URL_MULTINFORMA}?token=${token}`);\n      }).catch((error) => { \n        console.error('openMultinforma', error); \n      });\n    }\n  } \n  openSenderui(queueType = null) {\n    if (this.areContractualAgreementsSigned()) {\n      this.getCrossLoginTokens().then((xhr) => {\n        const token = xhr.response.token;\n        const iframe = `/senderui/?owner=${this.api.user.id}&ts=${token}#/home` + (queueType ? `/${queueType}` : '');\n        this.dialog.open({\n          lock: true,\n          model: { iframe },\n          viewModel: PLATFORM.moduleName('views/app/dialog-senderui')\n        });\n      });\n    }\n  }\n  getCrossLoginTokens() {\n    return this.api.get('users/me/cross-login-tokens/current').catch((error) => {\n      console.error('getCrossLoginTokens', error);\n    });\n  }\n  areContractualAgreementsSigned() {\n    const checkAgreements = this.mdUser.checkFlow.getCheck('checkAgreements');\n    const areContractualAgreementsSigned = this.api.isImpersonated || checkAgreements && checkAgreements.hasPassed;\n    console.warn('Are the contractual agreements signed or the user has been impersonated ?', areContractualAgreementsSigned);\n    return areContractualAgreementsSigned;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject, InlineViewStrategy } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class Toolbar {\n  mdt = mdt;\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.items = [];\n    this.toast = toast;\n    this.dialog = dialog;\n    this.notiIntervalCounter = 0;\n    this.init();\n  }\n  init() {\n    this.items = [{\n      href: 'notifiche',\n      label: 'Notifiche',\n      icon: 'fal fa-bell',\n      route: ['notifiche'],\n      authRoles: ['LIST_USER_UI_NOTIFICATION'],\n      moduleId: PLATFORM.moduleName('views/notifiche-ui/notifiche'),\n      badge: {\n        promise: (resolve) => {\n          let storage = localStorage.getItem(btoa('ui-notifications-counter')) || null;\n          let element = document.querySelector('.km-layout-toolbar');\n          let icon = document.querySelector('.km-layout-toolbar > a[href=\"notifiche\"] > i');\n          if (storage && element ) {\n            if (JSON.parse(storage).totalUnreadNotifications) {\n              if (JSON.parse(storage).totalUnreadNotifications === 'error') {\n                if (!element.classList.contains('notifications-error')) element.classList.add('notifications-error');\n                return resolve('!');\n              } else if (JSON.parse(storage).totalUnreadNotifications !== 'error') {\n                if (element.classList.contains('notifications-error')) element.classList.remove('notifications-error');\n                icon.classList.remove('fa-bell');\n                icon.classList.add('fa-bell-exclamation');\n                return resolve(parseInt(JSON.parse(storage).totalUnreadNotifications, 10) || null);\n              }\n            }\n          }\n        },\n        interval: 2000\n      }\n    }, {\n      settings: true, // usato come riferimento per pagina elenco settings\n      authGroups: ['MASTER_USER', 'BASIC_USER'],\n      label: 'Imposta',\n      icon: 'fal fa-cog',\n        nav: [{\n          label: 'Generali',\n          icon: 'fal fa-cog',\n          href: 'impostazioni/generali',\n          route: ['impostazioni/generali'],\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/generali')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          hidden: true,\n          label: 'Condizioni di servizio',\n          icon: 'fal fa-clipboard',\n          href: 'impostazioni/agreements',\n          route: 'impostazioni/agreements/:id?',\n          moduleId: PLATFORM.moduleName('views/impostazioni/agreements')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Notifiche',\n          icon: 'fal fa-bell',\n          href: 'impostazioni/notifiche',\n          route: ['impostazioni/notifiche'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/notifiche')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Fax',\n          icon: 'fal fa-fax',\n          href: 'impostazioni/fax',\n          route: ['impostazioni/fax'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/fax')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'SMS',\n          icon: 'fal fa-comments-alt',\n          href: 'impostazioni/sms',\n          route: ['impostazioni/sms'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/sms')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Posta',\n          icon: 'fal fa-envelope',\n          href: 'impostazioni/posta',\n          route: ['impostazioni/posta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/posta')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Email\\\\PEC',\n          icon: 'fal fa-at',\n          href: 'impostazioni/email',\n          route: ['impostazioni/email'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/email')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Multibox',\n          icon: 'fal fa-box-open',\n          href: 'impostazioni/multibox',\n          route: ['impostazioni/multibox'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multibox')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'MultiCerta',\n          svg: 'logo-multicerta.svg',\n          href: 'impostazioni/multicerta',\n          route: ['impostazioni/multicerta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multicerta')\n        }]\n      }, {\n        href: 'help',\n        label: 'Aiuto',\n        route: ['help'],\n        icon: 'fal fa-question-circle',\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        moduleId: PLATFORM.moduleName('views/help/help')\n      }, {\n        hidden: !this.api.isImpersonated,\n        label: 'Rientra',\n        icon: 'fal fa-people-arrows',\n        call: () => { this.api.disimpersonate(); }\n      }, {\n        hidden: this.api.isImpersonated || !this.api.hasRole('IMPERSONATE_ANY_USER_WITH_SUPPORT_TICKET'),\n        label: 'Impersona',\n        icon: 'fal fa-people-arrows',\n        call: () => { this.impersonate(); }\n      }, {\n        href: 'dashboard',\n        label: 'Home',\n        route: [],\n        icon: 'fal fa-home-lg-alt',\n        moduleId: PLATFORM.moduleName('views/dashboard/dashboard')\n      }, {\n        label: 'Esci',\n        icon: 'fal fa-sign-out',\n        href: 'logout',\n        route: ['logout'],\n        moduleId: PLATFORM.moduleName('views/accesso/logout')\n      }\n    ];\n  }\n  impersonate() {\n    let params = { codice: null };\n    this.dialog.open({\n      title: 'Login con codice assistenza',\n      class: 'medium',\n      type: 'confirm',\n      viewStrategy: new InlineViewStrategy(`<template>Inserisci il codice assistenza per effettuare l'accesso:<br><br><ka-input config.bind=\"{control: 'text', label: 'Codice assistenza'}\" value.bind=\"params.viewStrategyParams.codice\"></ka-input></template>`),\n      viewStrategyParams: params\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.impersonate(null, params.codice).then(x => {\n        }).catch(error => {\n          konsole.error(error);\n          let response = error.response && typeof error.response === 'string' ? JSON.parse(error.response) : null;\n          this.toast.show('Errore nella procedura di accesso' + (response && response.detail ? `: ${response.detail}` : '!'), 'error');\n        });\n      }\n    });\n  }\n}\n\n/* OLD menù\nimport {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\n  \n@inject(Api, KaDialog, KaToast)\nexport class Toolbar {\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.items = [];\n    this.notiIntervalCounter = 0;\n    this.init();\n  }\n  init() {\n    this.items = [{\n      authRoles: ['LIST_USER_UI_NOTIFICATION'],\n      label: 'Notifiche',\n      badge: {\n        promise: (resolve) => {\n          let storage = localStorage.getItem(btoa('ui-notifications-counter')) || null;\n          let element = document.querySelector('.km-layout-toolbar');\n          if (storage && element ) {\n            if (JSON.parse(storage).totalUnreadNotifications) {\n              if (JSON.parse(storage).totalUnreadNotifications === 'error') {\n                if (!element.classList.contains('notifications-error')) element.classList.add('notifications-error');\n                return resolve('!');\n              } else if (JSON.parse(storage).totalUnreadNotifications !== 'error') {\n                if (element.classList.contains('notifications-error')) element.classList.remove('notifications-error');\n                return resolve(parseInt(JSON.parse(storage).totalUnreadNotifications, 10) || null);\n              }\n            }\n          }\n        },\n        interval: 2000\n      },\n      icon: 'notifications',\n      href: 'notifiche',\n      route: ['notifiche'],\n      moduleId: PLATFORM.moduleName('views/notifiche-ui/notifiche')\n    }, {\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Imposta',\n        icon: 'settings',\n        href: null,\n        settings: true, // usato come riferimento per pagina elenco settings\n        nav: [{\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Generali',\n          icon: 'settings',\n          href: 'impostazioni/generali',\n          route: ['impostazioni/generali'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/generali')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Posta',\n          icon: 'markunread_mailbox',\n          href: 'impostazioni/posta',\n          route: ['impostazioni/posta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/posta')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Email',\n          icon: 'email',\n          href: 'impostazioni/email',\n          route: ['impostazioni/email'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/email')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Multibox',\n          icon: 'all_inbox',\n          href: 'impostazioni/multibox',\n          route: ['impostazioni/multibox'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multibox')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'MultiCerta',\n          icon: 'verified_user',\n          href: 'impostazioni/multicerta',\n          route: ['impostazioni/multicerta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multicerta')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'SMS',\n          icon: 'sms',\n          href: 'impostazioni/sms',\n          route: ['impostazioni/sms'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/sms')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Fax',\n          icon: 'print',\n          href: 'impostazioni/fax',\n          route: ['impostazioni/fax'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/fax')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Notifiche',\n          icon: 'notification_important',\n          href: 'impostazioni/notifiche',\n          route: ['impostazioni/notifiche'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/notifiche')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          hidden: true,\n          label: 'Condizioni di servizio',\n          icon: null,\n          href: 'impostazioni/agreements',\n          route: 'impostazioni/agreements/:id?',\n          moduleId: PLATFORM.moduleName('views/impostazioni/agreements')\n        }]\n      }, {\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Aiuto',\n        icon: 'help_outline',\n        href: 'help',\n        route: ['help'],\n        moduleId: PLATFORM.moduleName('views/help/help')\n      }, {\n        hidden: !this.api.isImpersonated,\n        label: 'Rientra',\n        icon: 'switch_account',\n        call: () => { this.api.disimpersonate(); }\n      }, {\n        hidden: this.api.isImpersonated || !this.api.hasRole('IMPERSONATE_ANY_USER_WITH_SUPPORT_TICKET'),\n        label: 'Impersona',\n        icon: 'switch_account',\n        call: () => { this.impersonate(); }\n      }, {\n        label: 'Esci',\n        icon: 'exit_to_app',\n        href: 'logout',\n        route: ['logout'],\n        moduleId: PLATFORM.moduleName('views/accesso/logout')\n      }\n    ];\n  }\n  impersonate() {\n    let params = { codice: null };\n    this.dialog.open({\n      title: 'Login con codice assistenza',\n      class: 'medium',\n      type: 'confirm',\n      viewStrategy: new InlineViewStrategy(`<template>Inserisci il codice assistenza per effettuare l'accesso:<br><br><ka-input config.bind=\"{control: 'text', label: 'Codice assistenza'}\" value.bind=\"params.viewStrategyParams.codice\"></ka-input></template>`),\n      viewStrategyParams: params\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.impersonate(null, params.codice).then(x => {\n        }).catch(error => {\n          konsole.error(error);\n          let response = error.response && typeof error.response === 'string' ? JSON.parse(error.response) : null;\n          this.toast.show('Errore nella procedura di accesso' + (response && response.detail ? `: ${response.detail}` : '!'), 'error');\n        });\n      }\n    });\n  }\n}  \n*/\n","import * as md5 from 'md5';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { MdApi } from 'services/md-api';\nimport { KaToast } from 'ka-components';\nimport { Toolbar } from './app-toolbar';\nimport { KaDialog } from 'ka-components';\nimport { Redirect } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { inject  } from 'aurelia-framework';\nimport ENVIRONMENT from '../../environment';\nimport { Navigation } from './app-navigation';\nimport { Advices } from '../../classes/advices';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, Navigation, Toolbar, KaToast)\nexport class App {\n  mdt = mdt;\n  isAppUpdated = false;\n  environment = ENVIRONMENT;\n  constructor(api, navigation, toolbar, toast) {\n    this.api = api;\n    this.navigation = navigation;\n    this.toolbar = toolbar;\n    this.toast = toast;\n    \n    this.api.events.addEventListener('userDataChanged', () => this.initLayoutConfiguration());\n    this.initLayoutConfiguration();\n    \n    this.appUpdateCheck();\n    this.serverStatusCheck();\n    this.fingerprintCode();\n  }\n\n  initLayoutConfiguration() {\n    let pic = null;\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      if (this.api.user?.id === 2)   pic = '/static/mitch.gif';\n      if (this.api.user?.id === 329) pic = '/static/valente.gif';\n    }\n    this.layoutConfiguration = {\n      brand: '/static/images/brand.png',\n      user: {\n        account: this.setAccountTitle(),\n        display: this.setUserDisplayName(),\n        username: this.api.user?.email || this.api.user?.username,\n        roles: this.api.data?.roles || this.api.user?.roles || null,\n        group: this.api.data?.groups || this.api.user?.group || null,\n      },\n      profile: {\n        picture: pic,\n        href: 'gestione/profilo/me/anagrafica'\n      },\n      navigation: this.navigation,\n      toolbar: this.toolbar,\n      isDevelopmentEnvironment: this.environment.APP_DEBUG === 'true',\n      infoBox: { \n        message: '<strong>Stai operando in ambiente di sviluppo</strong><br>Non partiranno comunicazioni reali <br>e non verranno eseguiti addebiti', \n        icon: 'fal fa-tools' \n      }\n    }\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n  }\n  configureRouter(config, router) {\n    this.router = router;\n    config.title = 'MultiDialogo';\n    config.options.pushState = true;\n\n    // Router routes\n    const parseNavigation = (nav, inherit) => {\n      for (let item of nav) {\n        if (item.moduleId) {\n          let route = {\n            name: item.name || item.href,\n            href: item.href,\n            route: item.route || item.href,\n            title: item.title || item.label,\n            moduleId: item.moduleId,\n            activationStrategy: 'replace',\n            settings: {\n              hasLayout: !(item.hasLayout === false),\n              hasLanguages: !!item.hasLanguages,\n              authRequired: (inherit && inherit.authRequired) || !!item.authRequired || (item.authGroups && item.authGroups.length > 0) || (item.authRoles && item.authRoles.length > 0),\n              authGroups: item.authGroups || null,\n              authRoles: item.authRoles || null\n            }\n          };\n          config.mapRoute(route);\n        }\n        if (item.nav) parseNavigation(item.nav, item);\n      }\n    };\n    parseNavigation(this.navigation.items);\n    parseNavigation(this.toolbar.items);\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      config.mapRoute({\n        name: 'template',\n        route: 'template',\n        moduleId: PLATFORM.moduleName('views/_template/routeViewName'),\n        settings: {\n          hasLayout: true,\n          authRequired: true\n        }\n      });\n    }\n    config.mapRoute({\n      name: 'legacy',\n      route: 'legacy/viewer/:view',\n      moduleId: PLATFORM.moduleName('views/_legacy/viewer'),\n      settings: {\n        hasLayout: false,\n        authRequired: true\n      }\n    });\n    config.mapRoute({\n      name: 'maintenance',\n      route: 'maintenance/:reason?',\n      moduleId: PLATFORM.moduleName('views/app/maintenance'),\n      settings: {\n        hasLayout: false,\n        authRequired: false\n      }\n    });\n    config.mapUnknownRoutes({\n      name: 'not-found',\n      route: 'not-found',\n      moduleId: PLATFORM.moduleName('views/app/not-found'),\n      settings: {\n        hasLayout: false,\n        authRequired: false\n      }\n    });\n    //config.fallbackRoute('not-found');\n  \n    config.addPipelineStep('authorize', AutologinStep);\n    config.addPipelineStep('authorize', AuthorizeStep);\n    config.addPipelineStep('preActivate', InitializationStep);\n    config.addPipelineStep('preActivate', NotificationsStep);\n    config.addPipelineStep('postRender', WallAdvicesStep);\n    \n\n    konsole.debug('APP CONFIG', config);\n    konsole.debug('APP ROUTER', router);\n  }\n  gotoLegacy() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=home`, '_blank');\n    }, xhr => {}).catch(error => {console.error(error)}).finally(() => { this.toast.consume(); });\n  }\n\n  set appEtag(value) {\n    if (value) {\n      if (!this.savedAppEtag) this.savedAppEtag = value;\n      else this.isAppUpdated = this.savedAppEtag !== value;\n    }\n    console.debug('saved eTag', this.savedAppEtag, 'current eTag', value);\n  }\n\n  async getAppIndex() {\n    const response = await fetch('/index.html');\n    return this.appEtag = response?.headers?.get('Etag');\n  }\n\n  appUpdateCheck() {\n    this.getAppIndex();\n    return setInterval(async () => {\n      this.getAppIndex();\n    }, 900000);\n  }\n\n  serverStatusCheck() {\n    setInterval(() => {\n      this.api.get('').then(xhr => {\n        this.serverStatusResponse = xhr;\n      }).catch(xhr => {\n        console.error('serverStatusCheck error', xhr);\n        if (typeof xhr.response === 'string' && xhr.response.startsWith('{')) {\n          xhr.response = JSON.parse(xhr.response);\n        }\n        this.serverStatusResponse = xhr;\n      });\n    },\n    30000);\n  }\n\n  fingerprintCode() {\n    if (window.localStorage.getItem('xhr-fingerprint')) return;\n    let date = new Date();\n    let yearMonthDate = `${date.getFullYear()}${date.getMonth()+1}${date.getDate()}`;\n    let userAgent = md5(window.navigator.userAgent);\n    let userAgentYmd = md5(`${yearMonthDate}${userAgent}`).slice(0, 19);\n    let hourMinute = `${date.getHours()}${ date.getMinutes()}`;\n    let deviceFingerprint =  `${yearMonthDate}${userAgent}${userAgentYmd}${hourMinute}`;\n    window.localStorage.setItem('xhr-fingerprint', deviceFingerprint);\n  }\n\n  setAccountTitle() {\n    let account = 'Utente';\n    const group = this.api?.user?.group;\n    const businessType = this.api?.user?.profile?.businessType;\n    switch (true) {\n      case group === 'ADMIN':\n        account = 'amministratore';\n        break;\n      case businessType === 'BUILDING-ADMINISTRATOR':\n        account = 'studio';\n        break;\n      case businessType === 'BUILDING':\n        account = 'condominio';\n        break;\n      case ['SYSTEM-EMPLOYEE', 'BANK-OPERATOR'].includes(businessType) || ['PRINT_BACKOFFICE', 'MARKETING'].includes(group):\n        account = 'operatore';\n        break;\n    }\n    return account;\n  }\n\n  setUserDisplayName() {\n    let displayName = this.api.user?.name;\n    if (this.api.user?.firstname && this.api.user?.lastname) {\n      displayName = `${this.api.user?.firstname} ${this.api.user?.lastname}`;\n    }\n    return displayName;\n  }\n}\n\n@inject(Api)\nclass AutologinStep {\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  run(navigationInstruction, next) {\n    konsole.debug('AutologinStep');\n    if (navigationInstruction.config.name === 'login') {\n      konsole.debug('Skipping as requesting login view which resets user\\'s authentication');\n      return next();\n    }\n    let code = new URLSearchParams(window.location.search).get('st');\n    if (code) {\n      console.group('Autologin');\n      console.log('Code:', code);\n      return this.api.login(null, null, code).then(x => {\n        console.log('Auth: successful');\n        return next();\n      }).catch(x => {\n        console.log('Auth: failed');\n        return next.cancel(new Redirect('logout'));\n      }).finally(() => {\n        console.groupEnd();\n      });\n    }\n    return next();\n  }\n}\n\n@inject(Api)\nclass AuthorizeStep {\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  run(navigationInstruction, next) {\n    if (navigationInstruction.config.name === 'login') {\n      // Skipping as requested route is the login view which resets user's authentication\n      return next();\n    }\n    let isAuthenticated = this.api.isAuthenticated;\n    let currentRoute = navigationInstruction.config;\n    let authRequired = currentRoute.settings && !!currentRoute.settings.authRequired;\n\n    if (authRequired && !isAuthenticated) {\n      const href = `${window.location.pathname}${window.location.search}`;\n      sessionStorage.setItem(btoa(`reroute`), JSON.stringify({ href }));\n      return next.cancel(new Redirect('logout'));\n    }\n    if (currentRoute.settings.authGroups && (!this.api.user || !this.api.user.group || !currentRoute.settings.authGroups.includes(this.api.user.group))) {\n      return next.cancel(new Redirect('dashboard'));\n    }\n    if (currentRoute.settings.authRole && (!this.api.user || !this.api.user.roles || !this.api.hasRole(currentRoute.settings.authRole))) {\n      return next.cancel(new Redirect('dashboard'));\n    }\n    return next();\n  }\n}\n\n@inject(Api, MdApi, MdUser, MdDatasources, Navigation, Toolbar)\nclass InitializationStep {\n  constructor(Api, MdApi, MdUser, MdDatasources, Navigation, Toolbar) {\n    this.api = Api;\n    this.mdApi = MdApi;\n    this.mdUser = MdUser;\n    this.mdDatasources = MdDatasources;\n    this.navigation = Navigation;\n    this.toolbar = Toolbar;\n  }\n  async run(navigationInstruction, next) {\n    if (navigationInstruction.config.name === 'login') {\n      // Skipping as requested route is the login view which resets user's authentication\n      return next();\n    }\n\n    await this.mdDatasources.initialize();\n    const fragment = navigationInstruction.fragment;\n    const userCheck = await this.mdUser.check(fragment);\n\n    if (userCheck.hasPassed === false && !userCheck.redirect) return next.cancel();\n    if (userCheck.redirect) return userCheck.redirect === fragment ? next() : next.cancel(new Redirect(userCheck.redirect));\n\n    this.navigation.init();\n    this.toolbar.init();\n    return next();\n  }\n}\n\n@inject(Api, MdApi, MdUser, MdDatasources, Navigation)\nclass NotificationsStep {\n  constructor(Api, MdApi, MdUser, MdDatasources, Navigation) {\n    this.api = Api;\n    this.mdApi = MdApi;\n    this.mdUser = MdUser;\n    this.mdDatasources = MdDatasources;\n    this.navigation = Navigation;\n  }\n  run(navigationInstruction, next) {\n    konsole.debug('NotificationsStep');\n    if (navigationInstruction.config.name === 'login') {\n      konsole.debug('Skipping as requesting login view which resets user\\'s authentication');\n      return next();\n    }\n    if (!this.api.isAuthenticated) {\n      konsole.debug('Skipping as authentication is missing');\n      return next();\n    }\n    let storage = { totalUnreadNotifications: null, myUnreadNotifications: null, subusersUnreadNotifications: null }\n    this.api.get('users/me/ui-notification-alerts').then(xhr => {\n      storage.totalUnreadNotifications = xhr.originalResponse.meta.totalUnreadNotificationsCount ? parseInt(xhr.originalResponse.meta.totalUnreadNotificationsCount, 10) : null;\n      storage.myUnreadNotifications = xhr.originalResponse.meta.totalMineUnreadNotificationsCount ?  parseInt(xhr.originalResponse.meta.totalMineUnreadNotificationsCount,10): null;\n      storage.subusersUnreadNotifications = xhr.originalResponse.meta.totalSubuserUnreadNotificationsCount ? parseInt(xhr.originalResponse.meta.totalSubuserUnreadNotificationsCount, 10) : null;\n    }).catch(error => {\n      console.error('NotificationsStep', error);\n      storage.totalUnreadNotifications = storage.myUnreadNotifications = storage.subusersUnreadNotifications = 'error';\n    }).finally(() => {\n      localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n    });\n    return next();\n  }\n}\n\n@inject(Api, Advices, KaDialog)\nclass WallAdvicesStep {\n  constructor(api, advices, dialog) {\n    this.api = api;\n    this.advices = advices;\n    this.dialog = dialog;\n  }\n\n  async run(navigationInstruction, next) {\n\n    if (!this.api.hasRole(\"LIST_USER_WALL_ADVICES\") || this.api.user.group !== 'MASTER_USER') {\n      return next();\n    }\n    \n    await this.advices.initialize();\n\n    const advicesToShow = this.advices.get(navigationInstruction.config.name);\n    if (!advicesToShow) return next();\n    \n    for (const advice of advicesToShow) {\n      const result = await this.dialog.open({\n        title: ' ',\n        class: 'medium wall-advice',\n        viewModelParams: { adviceToShow: advice },\n        viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/wall-advice'),\n      }).whenClosed();\n      if (!result.wasCancelled) {\n        this.advices.remove(advice);\n      } else {\n        this.advices.setAsSeen(advice);\n      }\n    }\n    return next();\n  }\n}\n\n","import {inject} from 'aurelia-framework';\nimport {DialogController} from 'aurelia-dialog';\nimport {KaDialog} from 'ka-components';\n\n@inject(DialogController, KaDialog)\nexport class DialogModalSenderUI {\n  constructor(controller, dialog){\n    this.controller = controller;\n    this.dialog = dialog;\n  }\n  activate(model) {\n    this.model = model;\n  }\n  close() {\n    if (window.senderui?.SenderUI.checkDraftSaved) {\n      window.senderui.SenderUI.checkDraftSaved().then(payload => {\n        this.controller.cancel();\n      }).catch(error => {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: '<strong>Confermi di voler chiudere questa finestra?</strong><br>Le modifiche sulla bozza corrente andranno perse!'}).whenClosed(response => {\n          if (!response.wasCancelled) {\n            if (window.senderui.SenderUI.draft?.reset) window.senderui.SenderUI.draft.reset();\n            this.controller.cancel();\n          }\n        });\n      });\n    } else this.controller.cancel();\n  }\n}\n","import { HttpClient } from 'aurelia-http-client';\n\nexport class vmMaintenance {\n  constructor() {\n    this.client = new HttpClient();\n  }\n\n  activate(params) {\n    if (params.reason) this.reason = window.atob(params.reason);\n  }\n\n  attached() {\n    this.getHealthcheck();\n    setInterval(() => {\n      this.getHealthcheck();\n    }, 60000);\n  }\n\n  async getHealthcheck() {\n    try {\n      const xhr = await this.client.get(`${ENVIRONMENT.APP_API_BASE_URL}../../healthcheck`);\n      const response = JSON.parse(xhr.response);\n      if (response.status === 'WORKING') {\n        location.href = '/dashboard';\n      }\n    } catch (error) {\n      console.error('healthcheck', error);\n    }\n  }\n}\n","export class vmNotFound {\n  attached() {\n    setTimeout(() => {\n      location.href = '/dashboard';\n    }, 10000);\n  }\n}","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewAgreements {\n  endpoint = 'bo/user-agreements';\n  isActive = false;\n  agreement = {\n    route: PLATFORM.moduleName('views/_agreement/agreement'),\n    view: null,\n    back: true\n  }\n  \n  /* Agreements */\n  agreements = {\n    schema: {\n      startAt: {\n        label: 'Data inizio',\n        control: 'date',\n        readonly: false,\n        query: 'createdAt-lte'\n      },\n      label: {\n        label: 'Titolo',\n        control: 'text',\n        readonly: false\n      },\n      content: {\n        label: 'Descrizione',\n        readonly: false,\n        control: 'editor'\n      },\n      status: {\n        label: 'Attivazione',\n        control: 'combo',\n        datasource: [{ text: 'Attivo', value: 'ACTIVE' }, { text: 'Non attivo', value: 'NOT-ACTIVE' }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true,\n        datamultiple: false,\n        readonly: true,\n        query: 'statusCode-in'\n      }\n    }\n  };\n\n  /* Clauses */\n  clauses = {\n    schema: {\n      label: {\n        label: 'Titolo',\n        control: 'text'\n      },\n      content: {\n        label: 'Descrizione',\n        control: 'textarea'\n      }\n    },\n    data: []\n  };\n\n  constructor(router, api, kaDialog, kaToast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    /* Table interface */\n    this.agreementsTableInterface = new TableInterface({\n      name: 'agreements-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n\n    /* Table Search */\n    this.agreementsSearchInterface = new SearchInterface({\n      name: 'agreements-table-search',\n      table: this.agreementsTableInterface,\n      schema: {\n        startAtLte: {\n          label: 'Data inizio dal',\n          control: 'date',\n          query: 'createdAt-gte'\n        },\n        startAtGte: {\n          label: 'al',\n          control: 'date',\n          query: 'createdAt-lte'\n        },\n        status: this.agreements.schema.status\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.agreementsTableInterface.initialize().then(() => {\n      this.agreementsSearchInterface.initialize().then(() => {\n        this.init();\n      }).catch(error => { console.error('TableSearchInterface-initialize agreements failed', error); });\n    }).catch(error => { console.error('TableInterface-initialize agreements failed', error); });\n  }\n\n  init() {\n    if (!this.params.id) {\n      this.agreementsSearchInterface.search().catch(error => { console.error('TableSearchInterface-search agreements failed', error); });\n    }\n    this.clauses.data = [];\n    if (this.agreements.resource) {\n      if (this.params.id !== 'new') {\n        this.agreements.resource.load(`bo/user-agreements/${this.params.id}`).then(() => {\n          if (this.agreements.resource.data.status === 'ACTIVE') this.isActive = true;\n          else this.isActive = false;\n\n          /* Clauses */\n          if (this.agreements.resource.data.clauses) {\n            this.agreements.resource.data.clauses.forEach(clause => {\n              this.clauses.data.push({ data: JSON.parse(JSON.stringify(clause)) });\n            });\n          }\n        });\n      } else if (this.params.id === 'new') {\n        if (!this.agreements.resource.data.status) {\n          this.agreements.resource.data.status = 'NOT-ACTIVE';\n          this.isActive = false;\n        }\n      }\n    };\n  }\n\n  new() {\n    this.router.navigateToRoute('backoffice/agreements', { id: 'new' });\n  }\n\n  edit(record) {\n    /* // Set readonly from schema js\n    for (let property in this.agreements.schema) this.agreements.schema[property].readonly = record.status === 'ACTIVE' ? true : false;\n    for (let property in this.clauses.schema) this.clauses.schema[property].readonly = record.status === 'ACTIVE' ? true : false;\n    this.agreements.schema.status.readonly = true; */\n    this.router.navigateToRoute('backoffice/agreements', { id: record.uuid });\n  }\n\n  activation(record, $event) {\n    if (record.status === 'ACTIVE') return\n    if ($event) $event.model.busy = true;\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Se attivi questo agreement non potrai più modificarne il contenuto!'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.patch(`bo/user-agreements/${record.uuid}`, { status: 'ACTIVE' }).then(() => {\n          this.init();\n        }).catch(error => {\n          this.toast.show('Errore in fase di attivazione!', 'error');\n          console.log('Agreement activation', error);\n        }).finally(() => {\n          if ($event) $event.model.busy = false;\n        })\n      }\n    });\n  }\n\n  view(record) {\n    this.agreement.view = record;\n  }\n\n  cancel() {\n    this.agreement.view = null;\n    this.router.navigateToRoute('backoffice/agreements');\n  }\n\n  save(event) {\n    event.model.busy = true;\n    let method = 'post';\n    let endpoint = this.endpoint;\n    if (!Object.entries(this.agreements.resource.data).length) {\n      event.model.busy = false;\n      return;\n    } else if (this.params.id !== 'new') {\n      method = 'patch';\n      endpoint = `bo/user-agreements/${this.params.id}`;\n    }\n    if (this.agreements.resource.data.status !== 'ACTIVE') {\n      this.saveData(event, endpoint, method);\n      event.model.busy = false;\n    }\n  }\n\n  saveData(event, endpoint, method) {\n    event.model.busy = true;\n\n    // Clauses\n    let promises = [];\n    let newClause = false;\n    if (this.clauses?.data) this.clauses.data.forEach(clause => { if (clause.data && clause.data?.id === undefined) return newClause = true; });\n    if (this.params.id !== 'new' && newClause) {\n      this.clauses.data.forEach(clause => {\n        if (clause.data?.id === undefined) promises.push(clause.resource.save(clause.data, `bo/user-agreements/${this.params.id}/clauses`, 'post'));\n      });\n    }\n\n    // Save\n    this.agreements.resource.save(this.agreements.resource.data, endpoint, method).then(xhr => {\n      Promise.all(promises).then(() => {\n        if (this.params.id !== 'new' || (this.params.id === 'new' && this.agreements.resource.data.status === 'ACTIVE')) this.cancel();\n        else if (this.params.id === 'new' && this.agreements.resource.data.status === 'NOT-ACTIVE') {\n          this.params.id = xhr.response.uuid;\n          this.init();\n        }\n        this.toast.show('Agreement creato con successo!', 'success');\n      }).catch(error => {\n        console.error('Save clauses', error);\n        this.toast.show('Errore nel salvataggio!', 'error');\n      });\n    }).catch(error => {\n      console.error('Save agreements', error);\n      this.toast.show('Errore nel salvataggio!', 'error');\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n\n  deleteClause(event, id = null, idx) {\n    let newClause = false \n    if (this.clauses?.data) this.clauses.data.forEach(clause => { if (clause.data && clause.data?.id === undefined) return newClause = true; });\n    if (id) {\n      if (newClause) {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Tutte le clausole non salvate saranno cancellate'}).whenClosed(response => {\n          if (!response.wasCancelled) this.deleteClauseData(event, id);\n        });\n      } else this.deleteClauseData(event, id);\n    } else this.clauses.data.splice(idx, 1);\n  }\n\n  deleteClauseData(event, id) {\n    event.model.busy = true;\n    if (!id) return\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Stai cancellando questa clausola definitivamente. Confermi?'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`bo/user-agreements/${this.params.id}/clauses/${id}`).then(() => {  \n          this.toast.show('Clausola eliminata!', 'success');\n          this.init();\n        }).catch(() => {\n          this.toast.show('Errore nella cancellazione!', 'error');\n        }).finally(() => {\n          event.model.busy = false;\n        });\n      }\n    });\n  }\n\n  addClause() {\n    this.clauses.data.unshift({\n      data: { label: null, content: null }\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api)\nexport class viewAlias {\n  endpoint = 'bo/sms-aliases';\n\n  constructor(router, api) {\n    this.router = router;\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (!this.params.id) {\n      /* Table interface */\n      this.aliasTableInterface = new TableInterface({\n        name: 'table-alias',\n        client: this.api,\n        endpoint: 'bo/sms-aliases',\n        query: null\n      });\n\n      /* Table Search */\n      let schema = AliasSchema;\n      schema.requestedAt.label = 'Data richiesta dal';\n      this.aliasSearchInterface = new SearchInterface({\n        name: 'alias-table-search',\n        table: this.aliasTableInterface,\n        schema: {\n          requestedAtGte: schema.requestedAt,\n          requestedAtLte: {\n            label: 'al',\n            control: 'date',\n            datatype: 'datetime',\n            utc: true,\n            query: 'requestedAt-lte'\n          },\n          displayName: schema.displayName,\n          companyName: schema.companyName,\n          status: schema.status\n        },\n        data: {}\n      });\n\n      /* Initialize & Search function */\n      this.aliasTableInterface.initialize().then(() => {\n        this.aliasSearchInterface.initialize().then(() => {\n          this.aliasSearchInterface.search().catch(error => { console.error('search alias failed', error); });\n        }).catch(error => { console.error('table-search-initialize alias failed', error); });\n      }).catch(error => { console.error('table-interface-initialize alias failed', error); });\n    } else {\n      this.resource.schema = AliasSchema;\n      this.resource.endpoint = 'bo/sms-aliases' + (this.params.id !== 'new' ? `/${this.params.id}` : '');\n      if (this.params.id !== 'new') { this.resource.load(); }\n    }\n  }\n\n  edit(record) {\n    this.router.navigateToRoute('backoffice/alias', { id: record.id });\n  }\n\n  cancel() {\n    this.router.navigateToRoute('backoffice/alias');\n  }\n\n  /* save() {\n    if (this.params.id === 'new') {\n      this.resource.save().then();\n    } else {\n      this.resource.save(undefined, undefined, 'patch').then();\n    }\n  } */\n}\n\n\nexport const AliasSchema = {\n  displayName: {\n    label: 'Mittente SMS',\n    control: 'text',\n    query: 'displayName-like'\n  },\n  companyName: {\n    label: 'Azienda',\n    control: 'text',\n    query: 'companyName-like'\n  },\n  vatCode: {\n    label: 'Partita IVA',\n    control: 'text'\n  },\n  fiscalCode: {\n    label: 'Codice fiscale',\n    control: 'text'\n  },\n  streetAddress: {\n    label: 'Indirizzo',\n    control: 'text'\n  },\n  zipCode: {\n    label: 'CAP',\n    control: 'text'\n  },\n  country: {\n    label: 'Nazione',\n    control: 'text'\n  },\n  email: {\n    label: 'Email',\n    control: 'text'\n  },\n  phoneNumber: {\n    label: 'Telefono',\n    control: 'text'\n  },\n  requestedAt: {\n    label: 'Data richiesta',\n    control: 'date',\n    datatype: 'datetime',\n    utc: true,\n    query: 'requestedAt-gte'\n  },\n  status: {\n    label: 'Stato attivazione',\n    control: 'combo',\n    datatext: 'text',\n    datavalue: 'value',\n    datapreload: true,\n    datasource: [{ text: 'In attesa di registrazione', value: 'PENDING'}, { text: 'Richiesta registrata', value: 'REGISTERED' }, { text: 'Attivo', value: 'COMPLETED' }, { text: 'Errore', value: 'ERROR' }, { text: 'Richiesta rifiutata', value: 'REFUSED' }],\n    query: 'statusCode-in'\n  }\n}\n\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class viewArchiviazioneDialog {\n  preview = null;\n  result = null;\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    let data = {\n      attributes: {\n        realPath: this.params.record.realPath,\n        noDryRun: false\n      }\n    };\n    this.api.patch('bo/mi-queue/archive-files', { data }).then(x => {\n      konsole.debug(x.response);\n      this.preview = x.response;\n    });\n  }\n\n  archivia($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    let data = {\n      attributes: {\n        realPath: this.params.record.realPath,\n        noDryRun: true\n      }\n    };\n    this.api.patch('bo/mi-queue/archive-files', { data }).then(x => {\n      konsole.debug(x.response);\n      this.result = x.response;\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog} from 'ka-components';\nimport moment from 'moment';\n\n@inject(Api, KaDialog)\nexport class viewArchiviazione {\n  archives = [];\n  data = {\n    yearFrom: moment().subtract(6, 'months').format('YYYY'),\n    monthFrom: moment().subtract(6, 'months').format('MM'),\n    yearTo: moment().format('YYYY'),\n    monthTo: moment().format('MM')\n  };\n  datasources = {\n    years: Array.from({length: 11}, (v, i) => { let y = new Date().getFullYear() - 11 + i + 1; return {text: y, value: y} }),\n    months: Array.from({length: 12}, (v, i) => { let m = moment(i+1, 'M'); return {text: m.locale('it').format('MMMM'), value: m.format('MM')} })\n  };\n\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.load();\n  }\n\n  load() {\n    this.api.get('bo/mi-queue/archive-files', this.data).then(x => {\n      konsole.debug(x.response);\n      this.archives = x.response.months;\n    });\n  }\n\n  archivia(record, test) {\n    this.dialog.open({\n      title: 'Archiviazione',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/backoffice/archiviazione-dialog'),\n      viewModelParams: { record }\n    }, true).whenClosed(response => {\n      this.load();\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { Advices } from '../../../../classes/advices';\n\n@inject(Api, KaDialog, KaToast, DialogController, Advices)\nexport class EditorWallAdvice {\n  wallAdvice;\n  isExpiredAdvice;\n  \n  constructor(api, dialog, toast, dialogController, advices) {\n    this.endpoint = 'bo/wall-advices';\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n    this.advices = advices;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.wallAdvice = params.wallAdvice;\n    this.init();\n  }\n\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        title: {\n          required: true,\n          control: 'text',\n          label: 'Titolo'\n        },\n        tag: {\n          label: 'tag',\n          required: true,\n          control: 'text'\n        },\n        htmlContent: {\n          required: true,\n          control: 'editor', \n          label: 'Contenuto avviso in formato HTML'\n        },\n        type: {\n          required: true,\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Tipologia avviso',\n          datasource: [\n            { value: 'SIMPLE', text: 'Semplice: nascosto dopo la chiusura.' }, \n            { value: 'REMINDER', text: 'Con Reminder: riproposto ad ogni sessione.' }\n          ]\n        },\n        targetCodes: {\n          required: true,\n          label: 'Sezioni target',\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'code',\n          datamultiple: true,\n         datasource: this.advices.targetRoutes\n        },\n        startAt: {\n          required: true,\n          control: 'date',\n          label: 'Programmato dal',\n        },\n        endAt: {\n          label: 'Al',\n          required: false,\n          control: 'date',\n        },\n        public: {\n            label: 'Visibilità',\n            required: true,\n            control: 'combo',\n            datapreload: true,\n            datamultiple: false,\n            datavalue: \"value\",\n            datatext: \"text\",\n            datasource: [\n              { value: 'YES', text: 'Pubblico' },\n              { value: 'NO', text: 'Privato' },\n            ],\n          }\n      },\n      data: {},\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          if (!control) return;\n          promises.push(new Promise((resolve, reject) => {\n            console.log(control);\n            if (control.validate)\n              control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n            else if (control.input?.validate)\n              control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n          }));\n        });\n        return Promise.all(promises);\n      },\n    };\n  }\n\n  init() {\n    this.initResource();\n    if (this.wallAdvice) {\n      this.getWallAdvice();\n    }\n  }\n\n  getWallAdvice() {\n    this.pendingGetWallAdvice = true;\n    return this.api.get(`${this.endpoint}/${this.wallAdvice.id}`).then((xhr) => {\n      const response = xhr.response;\n      this.resource.data = { ...response }\n      if (this.checkIsExpiredAdvice(response.endAt)) {\n        this.isExpiredAdvice = true;\n      } else {\n        this.isExpiredAdvice = false;\n      }\n    }).catch((error) => {\n      console.error(\"Get wall advice\", error);\n      this.toast.show(\"Impossibile recuperare il contenuto dell'avviso\", \"error\");\n    }).finally(() => {\n      this.pendingGetWallAdvice = false;\n    });\n  }\n\n  wallAdvicePreview() {\n    return this.dialog.open({\n      title: ' ',\n      class: 'medium wall-advice',\n      viewModelParams: { wallAdvice: this.resource.data },\n      viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/wall-advice-preview')\n    });\n  }\n\n  editWallAdvice($event) {\n    $event.model.busy = true;\n    return this.dialogAdviceConfirmation().whenClosed((response) => {\n      if (!response.wasCancelled) {\n        return this.resource.validate().then(() => {\n          return this.api[this.isExpiredAdvice ? 'post' : 'put'](`${this.endpoint}${this.isExpiredAdvice ? '' : '/' + this.wallAdvice.id}`, this.resource.data).then((xhr) => {\n            if (this.isExpiredAdvice) {\n              const update = new Event(\"updateActiveList\");\n              window.dispatchEvent(update);\n            }\n            this.toast.show(\"Avviso modificato corretamente!\", \"success\");\n            this.controller.ok();\n          }).catch((error) => {\n            console.error(error);\n            this.api.dialogError(error, this.resource.controls);\n          }).finally(() => {\n            $event.model.busy = false;\n          })\n        }).catch(() => {\n          $event.model.busy = false;\n        })\n      } else {\n        $event.model.busy = false;\n      }\n    });\n  }\n\n  checkIsExpiredAdvice(date) {\n    const endDate = new Date(date);\n    const currentDate = new Date();\n    return endDate < currentDate;\n  }\n\n  normalizeStartAtDateTime() {\n    let date = new Date(this.resource.data.startAt);\n    date.setHours(0,0,0)\n    this.resource.data.startAt = date.toISOString().replace(/\\.\\d{3}/, '');\n  }\n\n  normalizeEndAtDateTime() {\n    let date = new Date(this.resource.data.endAt);\n    date.setHours(23,59,59)\n    this.resource.data.endAt = date.toISOString().replace(/\\.\\d{3}/, '');\n  }\n\n  dialogAdviceConfirmation() {\n    const currentDate = new Date().getTime();\n    const visibilityStartDate = new Date(this.resource.data.startAt).getTime();\n    let visibilityEndDate;\n    let alreadyVisible;\n    if (this.resource.data.endAt) {\n      visibilityEndDate = new Date(this.resource.data.endAt).getTime();\n      alreadyVisible = currentDate >= visibilityStartDate && currentDate <= visibilityEndDate;\n    } else {\n      alreadyVisible = currentDate >= visibilityStartDate;\n    }\n    return this.dialog.open({\n      title: 'Attenzione!',\n      class: 'confirm-advice',\n      type: 'confirm',\n      body: `<p class=\"m-0\"><strong>Stai per ${this.wallAdvice ? 'modificare un' : 'creare un nuovo'} avviso!</strong></p><p class=\"m-0\">${(this.resource.data.public === 'YES') ? `${alreadyVisible ? `Sarà visibile agli utenti fin da subito` : `Sarà visibile agli utenti a partire dalla data prescelta`}, confermi di voler procedere?` : 'Non sarà visibile agli utenti finchè rimarrà privato.'}</p>`\n    });\n  }\n\n  createWallAdvice($event) {\n    $event.model.busy = true;\n      return this.dialogAdviceConfirmation().whenClosed((response) => {\n        if (!response.wasCancelled) {\n          return this.resource.validate().then(() => {\n            return this.api.post(this.endpoint, this.resource.data).then(() => {\n              this.toast.show(\"Avviso creato corretamente!\", \"success\");\n              this.controller.ok();\n            }).catch((error) => {\n              console.error(error);\n              this.api.dialogError(error, this.resource.controls);\n            }).finally(() => {\n              $event.model.busy = false;\n            })\n          }).catch(() => {\n            $event.model.busy = false;\n          })\n        } else {\n          $event.model.busy = false;\n        }\n      });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class PreviewWallAdvice {\n  wallAdvice;\n  \n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.wallAdvice = params.wallAdvice;\n  }\n\n  attached() {\n    const elementHeader = document.querySelector('ux-dialog.wall-advice ux-dialog-header h2');\n    const title = elementHeader.appendChild(document.createElement('span'));\n    title.classList.add('title');\n    title.innerHTML = 'Anteprima avviso';\n  }\n}","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class WallAdvice {\n  wallAdvice;\n  htmlTemplate;\n  pendingGetWallAdvice;\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n    this.endpoint;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params.wallAdvice) {\n      this.endpoint = \"bo/wall-advices\"\n      this.wallAdvice = params.wallAdvice;\n      this.getWallAdvice();\n    }\n    if (this.params.adviceToShow) {\n      this.wallAdvice = this.params.adviceToShow;\n      this.endpoint = \"users/me/wall-advices\";\n      this.htmlTemplate = this.wallAdvice.htmlContent;\n    }\n  }\n\n  attached() {\n    const elementHeader = document.querySelector('ux-dialog.wall-advice ux-dialog-header h2');\n    const title = elementHeader.appendChild(document.createElement('span'));\n    title.classList.add('title');\n    title.innerHTML = 'Avviso importante!';\n  }\n\n  acknowledgedAdvice() {\n    return this.api.patch(`${this.endpoint}/${this.wallAdvice.id}`, { acknowledged: 'YES' }).then(() => {\n    }).catch((error) => {\n      console.error(\"Error patching advice acknowledge\", error);\n    }).finally(() => {\n      this.controller.ok();\n    })\n  }\n\n  getWallAdvice() {\n    this.pendingGetWallAdvice = true;\n    return this.api.get(`${this.endpoint}/${this.wallAdvice.id}`).then((xhr) => {\n      const response = xhr.response;\n      this.htmlTemplate = response.htmlContent;\n    }).catch((error) => {\n      console.error(\"Get wall advice\", error);\n      this.toast.show(\"Impossibile recuperare il contenuto dell'avviso\", \"error\");\n    }).finally(() => {\n      this.pendingGetWallAdvice = false;\n    });\n  }\n}","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class viewCurrentAdvices {\n  \n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n    window[`active-advices-update-handler`] = () => { this.search(); };\n    window.addEventListener(\"updateActiveList\", window[`active-advices-update-handler`]);\n  }\n\n  detached() {\n    window.removeEventListener('updateActiveList', window[`active-advices-update-handler`]);\n    delete(window[`active-advices-update-handler`]);\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-wall-advices',\n      endpoint: \"bo/wall-advices\",\n      query: \"status-in=ACTIVE,SCHEDULED\"\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-activeAdvices-search',\n      table: this.tableInterface,\n      schema: {\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        tag: {\n          label: 'Tag',\n          control: 'text',\n          query: \"tag\"\n        },\n        startAt: {\n          control: 'date',\n          label: 'Programmato dal',\n          query: 'active-at-gte'\n        },\n        endAt: {\n          label: 'al',\n          control: 'date',\n          query: \"active-at-lte\"\n        },\n        public: {\n          control: \"check\",\n          description: \"escludi privati\",\n          label: \"Visibilità\",\n          query: \"exclude-private\"\n        }\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    data.public = (data.public) ? \"YES\" : \"NO\";\n    if (data.startAt) {\n      data.startAt = this.tools.normalizeStartAtDateTime(this.searchInterface.data.startAt);\n    }\n    if (data.endAt) {\n      data.endAt = this.tools.normalizeEndAtDateTime(this.searchInterface.data.endAt);\n    }\n    return await this.searchInterface.search(data);\n  }\n\n  reset() {\n    this.searchInterface.reset();\n  }\n\n  openEditorWallAdvice(record) {\n    this.tools.dialogEditorWallAdvice((record) ? record : null).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n}","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class viewExpiredAdvices {\n  \n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-wall-advices',\n      endpoint: \"bo/wall-advices\",\n      query: \"status-in=EXPIRED\",\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-expiredAdvices-search',\n      table: this.tableInterface,\n      schema: {\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        tag: {\n          label: 'tag',\n          control: 'text',\n          query: \"tag\"\n        },\n        startAt: {\n          control: 'date',\n          label: 'Programmato dal',\n          query: 'active-at-gte'\n        },\n        endAt: {\n          label: 'al',\n          control: 'date',\n          query: 'active-at-lte'\n        },\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n\n  reset() {\n    this.searchInterface.reset();\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    if (data.startAt) {\n      data.startAt = this.tools.normalizeStartAtDateTime(this.searchInterface.data.startAt);\n    }\n    if (data.endAt) {\n      data.endAt = this.tools.normalizeEndAtDateTime(this.searchInterface.data.endAt);\n    }\n    return await this.searchInterface.search(data);\n  }\n\n  dialogConfirmExpiredAdviceDeletion($event, adviceUuid) {\n    this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\"><strong class=\"d-block\">Stai eliminando un Avviso Wall.</strong>Confermi di voler procedere con l'eliminazione?</p>`\n    }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.deleteExpiredAdvice($event, adviceUuid);\n        }\n      });\n  }\n\n  deleteExpiredAdvice($event, adviceUuid) {\n    $event.model.busy = true;\n    return this.api.delete(`bo/wall-advices/${adviceUuid}`).then(() => {\n      this.search();\n      this.toast.show('Avviso Wall eliminato con successo!', 'success');\n    }).catch((error) => {\n      console.error('bo/wall-advices', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast, MdUser, Router)\nexport class vmAdvices {\n  privileges = {};\n  tabs = [\n    {\n      id: 'activeAdvices',\n      label: 'Avvisi Wall Attivi',\n      vm: PLATFORM.moduleName('views/backoffice/avvisi/tabs/active-advices')\n    },\n    {\n      id: 'expiredAdvices',\n      label: 'Avvisi Wall Non Attivi',\n      vm: PLATFORM.moduleName('views/backoffice/avvisi/tabs/expired-advices')\n    },\n  ];\n\n  constructor(api, kaDialog, kaToast, mdUser, router) {\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      dialogEditorWallAdvice: (record) => {\n        return this.dialog.open({\n          title: `${record ? 'Modifica' : 'Crea nuovo'} avviso`,\n          class: 'editor-wall-advice',\n          viewModelParams: { wallAdvice: record },\n          viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/editor-wall-advice')\n        });\n      },\n      dialogWallAdvice: (record) => {\n        return this.dialog.open({\n          title: ' ',\n          class: 'medium wall-advice',\n          viewModelParams: { wallAdvice: record },\n          viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/wall-advice')\n        });\n      },\n      normalizeStartAtDateTime: (dateToNormalize) => {\n        let date = new Date(dateToNormalize);\n        date.setHours(0,0,0)\n        return date.toISOString().replace(/\\.\\d{3}/, '');\n      },\n      normalizeEndAtDateTime: (dateToNormalize) => {\n        let date = new Date(dateToNormalize);\n        date.setHours(23,59,59)\n        return date.toISOString().replace(/\\.\\d{3}/, '');\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    if (this.api.hasRole('LIST_WALL_ADVICES')) {\n      ['activeAdvices', 'expiredAdvices'].forEach((id) => { this.privileges.tabs[id] = true; })\n    }\n  }\n}\n","\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class dialogBlacklistedTaxCodes {\n  isErrorInit;\n  isPendingInit;\n\n  static inject = [Api, DialogController];\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n  attached() {\n    this.init();\n  }\n  async init() {\n    await this.initTableInterface();\n    this.tableInterface.load().finally(() => {\n      this.isPendingInit = false;\n    }).catch(() => {\n      this.isErrorInit = true;\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name:  'blacklisted-tax-codes-table',\n      endpoint: 'bo/blacklisted-tax-codes'\n    });\n    return this.tableInterface.initialize();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Api)\nexport class viewBounces {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    /* Table interface */\n    this.bouncesTableInterface = new TableInterface({\n      name: 'table-bounces',\n      client: this.api,\n      endpoint: 'bo/email-bounces',\n      query: null\n    });\n\n    /* Table Search */\n    this.bouncesSearchInterface = new SearchInterface({\n      name: 'bounces-table-search',\n      table: this.bouncesTableInterface,\n      schema: {\n        email: { \n          control: 'text', \n          label: 'Email',\n          query: 'emailLike'\n        }\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.bouncesTableInterface.initialize().then(() => {\n      this.bouncesSearchInterface.initialize().then(() => {\n        this.bouncesSearchInterface.search().catch(error => { console.error('search bounces failed', error); });\n      }).catch(error => { console.error('table-search-initialize bounces failed', error); });\n    }).catch(error => { console.error('table-interface-initialize bounces failed', error); });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogDocumentiApproval {\n  schema = {\n    status: {\n      label: 'Stato documento',\n      control: 'combo',\n      datasource: [{ value: 'APPROVED', text: 'Approva' }, { value: 'REFUSED', text: 'Rifiuta' }],\n      datavalue: 'value',\n      datatext: 'text',\n      datapreload: true,\n      datamultiple: false,\n      required: true\n    },\n    statusReason: {\n      label: 'Motivazione',\n      control: 'text'\n    }\n  };\n  data = {};\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId || null;\n    this.document = params.document;\n    this.type = params.type;\n    this.data = { status: this.document.approvedAt ? 'REFUSED' : 'APPROVED' };\n  }\n\n  save($event, data) {\n    if (!data) return\n    if (data.status === 'REFUSED') {\n      this.dialog.open({ \n        title: 'Attenzione!', \n        class: 'small', \n        type: 'confirm',\n        body: `<strong>Questa azione è irreversibile.</strong><br>Confermi comunque di voler procedere?`}).whenClosed(response => {\n        if (!response.wasCancelled) this.editStatus($event, this.userId || this.document.userId, this.document, data);\n      });\n    } else {\n      this.editStatus($event, this.userId || this.document.userId, this.document, data);\n    }\n  }\n\n  editStatus($event, userId, document, data) {\n    $event.model.busy = true;\n    this.api.patch(`users/${userId}/certifiable-document-buckets/current/certifiable-documents/${document.uuid}`, data).then(() => {\n      this.controller.ok(data.status);\n    }).catch(error => {\n      console.log('ERROR - certifiable-document-buckets - PATCH', error);\n      this.toast.show(`Errore!. Documento ${data.status === 'APPROVED' ? 'non approvato' : 'non rifiutato'}`, 'error');\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport environment from '../../../../environment';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmDocumentiGestione {\n  environment = environment;\n  documentTypes = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.documentTypes = JSON.parse(sessionStorage.getItem(btoa('certifiable-document-types'))) || null;\n    if (this.documentTypes) this.init();\n    else this.getDocumentTypes();\n  }\n\n  getDocumentTypes() {\n    this.api.get(`certifiable-document-types`).then(xhr => {\n      this.documentTypes = xhr.response;\n      sessionStorage.setItem(btoa('certifiable-document-types'), JSON.stringify(this.documentTypes));\n      this.init();\n    });\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-gestione-table',\n      client: this.api,\n      endpoint: 'bo/certifiable-document-buckets/certifiable-documents',\n      query: 'sort=-uploadedAt'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        uuid: {\n          control: 'combo',  \n          label: 'Utente', \n          datasource: { table: `bo/users?include=user-profiles`, query: { search: 'text-search', item: 'uuid-in'} }, \n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          query: 'uuid-in'\n        },\n        status: {\n          control: 'combo', \n          label: 'Stato',\n          datasource: [{ value: 'null', text: 'Tutti' }, { value: 'PENDING', text: 'In attesa di approvazione' }, { value: 'APPROVED', text: 'Approvato' }, { value: 'REFUSED', text: 'Rifiutato' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          query: 'status'\n        }\n      },\n      data: {\n        status: 'PENDING'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.status = this.params.filterStatus || this.searchInterface.data.status;\n      this._search();\n    }).catch(error => { \n      console.log('ERROR - searchInterface initialization failed', error);\n    });\n  }\n\n  setPlaceholderType() {\n    this.tableInterface.data.forEach(document => {\n      document.placeholderType = this.documentTypes.find(documentType => documentType.code === document.code)?.placeholderType || null;\n    });\n  }\n\n  _search() {\n    this.searchInterface.search().then(() => {\n      this.setPlaceholderType();\n    }).catch(error => {\n      console.log('ERROR - searchInterface search failed', error);\n    });\n  }\n\n  approval(item) {\n    if (!item) return\n\n    this.dialog.open({\n      title: `Stato documento`,\n      class: 'small documenti-approval',\n      viewModel: PLATFORM.moduleName('views/backoffice/documenti/dialogs/documenti-approval'),\n      viewModelParams: { document: item }\n    }, true).whenClosed(response => {\n      let certification = response.output === 'APPROVED' ? 'approvato' : 'rifiutato';\n      if (!response.wasCancelled) {\n        this.searchInterface.search();\n        this.toast.show(`Documento ${certification} con successo!`, 'success');\n      }\n    });\n  }\n\n  download(file) {\n    if (!file.downloadUri) return this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server: percorso Uri non disponibile' });\n\n    // Uri build\n    let uri = file.downloadUri;\n    uri = uri.replace(this.environment.APP_API_BASE_URL, '');\n    uri = uri.replace('/api/v0.0.1/', '');\n\n    this.api.get(uri).then(xhr => {\n      let anchor = document.createElement('a');\n      anchor.download = `${xhr.response.filename}`;\n      anchor.href = xhr.response.fileData;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }, xhr => {\n      let error = JSON.parse(xhr.response);\n      this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server' + (error.detail ? `: ${error.detail}` : '') });\n    });\n  }\n}\n","import { inject } from \"aurelia-framework\";\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { DateTime } from 'luxon';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class VMMultitrax {\n  endpoint = 'mtrax/outbox-messages';\n  editEnabled = false;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.initTable();\n  }\n\n  async initTable() {\n    this.tableInterface = new TableInterface({\n      name: 'tableInterface',\n      endpoint: this.endpoint,\n      client: this.api\n    });\n    this.searchInterface = new SearchInterface({\n      name: 'searchInterface',\n      table: this.tableInterface,\n      client: this.api,\n      schema: {\n        strategyIn: {\n          label: 'Modalità', \n          control: 'text',  \n          query: 'strategy-in'\n        },\n        typeIn: {\n          label: 'Tipologia', \n          control: 'text',  \n          query: 'type-in'\n        },\n        createdAtStart: {\n          label: 'Data creazione dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        lastAttemptStart: {\n          label: 'Ultimo tentativo dal', \n          control: 'date',  \n          query: 'last-failed-attempt-gte'\n        },\n        lastAttemptEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'last-failed-attempt-lte'\n        },\n        deliveredAtStart: {\n          label: 'Data elaborazione mtrax dal', \n          control: 'date',  \n          query: 'delivered-at-gte'\n        },\n        deliveredAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'delivered-at-lte'\n        },\n        notDelivered: {\n          description: '',\n          control: 'check',\n          query: 'delivered-at'\n        },\n        excludeFromRetry: {\n          label: 'Escludi da retry automatico',\n          control: 'combo',\n          datasource: [{\n            \"text\": \"Sì\",\n            \"value\": \"YES\"\n          }, {\n            \"text\": \"No\",\n            \"value\": \"NO\"\n          }],\n          query: 'exclude-from-retry'\n        }\n      },\n      data: {}\n    });\n\n    this.tableInterface.events.addEventListener('dataLoad', () => {\n      this.editEnabled = false;\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      setTimeout(() => { this.editEnabled = true; }, 500);\n    });\n\n    try {\n      await this.tableInterface.initialize();\n      this.searchInterface.initialize().then(() => {\n        return this.searchInterface.search();\n      }).catch(error => { console.log('searchInterface initialization failed', error) });\n    } catch (error) {\n      console.error('tableInterface initialization failed', error);\n    }\n  }\n\n  deleteRecord(record) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Confermi di voler eliminare questo record?`\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`mtrax/outbox-messages/${record.id}`).then(() => {\n          this.toast.show('Segnalatore eliminato con successo', 'success');\n          this.tableInterface.load();\n        }).catch(error => {\n          console.error(error);\n        });\n      }\n    });\n  }\n\n  setExcludeFromRetry(record) {\n    if (!this.editEnabled) return;\n    let data = record;\n    this.api.patch(`mtrax/outbox-messages/${record.id}`, data).then(() => {\n      this.tableInterface.load();\n    }).catch((error) => {\n      console.error(error);\n    });\n  }\n  \n  setNotDelivered(record) {\n    if (!this.editEnabled) return;\n    let data = record;\n    data.deliveredAt = null;\n    this.api.patch(`mtrax/outbox-messages/${record.id}`, data).then(() => {\n      this.tableInterface.load();\n    }).catch((error) => {\n      console.error(error);\n    });\n  }\n}\n\nexport class DaysFormatValueConverter {\n  toView(value) {\n    if (!value) return value;\n    let difference = DateTime.fromISO(value).diffNow('days').days;\n    let result = Math.floor(Math.abs(difference));\n    return `${result > 0 ? result : '' } ${result === 1 ? 'giorno' : (result === 0 ? 'meno di 24h' : 'giorni')} fa`;\n  }\n}","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ServiceDialogNotificationDetail {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userId = this.params.userId;\n    this.userDisplayName = this.params.userDisplayName;\n    this.notificationUuid = this.params.notificationUuid;\n    this.getNotification();\n  }\n\n  getNotification() {\n    this.api.get(`bo/users/${this.userId}/system-notifications/${this.notificationUuid}`).then(xhr => {\n      this.notification = xhr.response;\n      this.dataParse();\n\n      // Iframe\n      setTimeout(() => {\n        let emailFrame = document.getElementById(\"emailFrame\");\n        emailFrame.srcdoc = this.notification.emailHtmlBody;\n      }, 100)\n    });\n  }\n\n  dataParse() {\n    let channels = [];\n    if (this.notification.scheduleEmail === 'YES') {\n      channels.push('email');\n      const buildEmail = (pattern = '') => {\n        return {\n          recipientEmailAddress: this.notification[`recipientEmailAddress${pattern}`],\n          emailDispatchedAt: this.notification[`email${pattern}DispatchedAt`],\n          emailDispatchErrorAt: this.notification[`email${pattern}DispatchErrorAt`],\n          emailDispatchErrorMessage: this.notification[`email${pattern}DispatchErrorMessage`],\n          emailDeliveredAt: this.notification[`email${pattern}DeliveredAt`],\n          emailBouncedAt: this.notification[`email${pattern}BouncedAt`],\n          emailBounceReason: this.notification[`email${pattern}BounceReason`]\n        }\n      }\n      let emails = [];\n      emails.push(buildEmail());\n      if (this.notification.recipientEmailAddress2) emails.push(buildEmail('2'));\n      if (this.notification.recipientEmailAddress3) emails.push(buildEmail('3'));\n      this.notification.emails = emails;\n    }\n    if (this.notification.scheduleSms === 'YES') channels.push('sms');\n    if (this.notification.scheduleUiNotice === 'YES') channels.push('ui');\n\n    this.notification.channels = channels;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmNotifiche {\n  tabs = [\n    {\n      id: 'notifiche',\n      label: 'Notifiche di sistema',\n      vm: PLATFORM.moduleName('views/backoffice/notifiche-sistema/tabs/lista-notifiche')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { notifiche: false }, buttons: {} };\n    if (this.api.hasRole('LIST_USER_SYSTEM_NOTIFICATIONS')) {\n      this.privileges.tabs.notifiche = true;\n    }\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport moment from 'moment';\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmListaNotifiche {\n  userId = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-notifiche-sistema',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n\n    // PARSE query\n    this.tableInterface.parseQuery = (query) => {\n      query = new URLSearchParams(query);\n      if (query.has('schedules-email')) {\n         query.set('schedules-email', query.get('schedules-email') === 'true' ? 'YES' : 'NO');\n      }\n      if (query.has('schedules-sms')) {\n        query.set('schedules-sms', query.get('schedules-sms') === 'true' ? 'YES' : 'NO');\n      }\n      if (query.has('schedules-ui')) {\n        query.set('schedules-ui', query.get('schedules-ui') === 'true' ? 'YES' : 'NO');\n      }\n      return query.toString();\n    };\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-notifiche-sistema-search',\n      table: this.tableInterface,\n      schema: {\n        user: { \n          control: 'combo', \n          label: 'Utente',\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        code: {\n          control: 'combo', \n          label: 'Codice',\n          datasource: { table: 'system-notification-templates' },\n          datavalue: 'code', \n          datatext: 'code',\n          datamultiple: false,\n          datapreload: true,\n          query: 'code'\n        },\n        scheduleEmail: {\n          label: 'Notifiche Email',\n          control: 'check',\n          description: 'Canale Email',\n          query: 'schedules-email'\n        },\n        statusEmail: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{ value: 'null', text: 'Nessuno stato' }, { value: 'DISPATCHED', text: 'Inviate' }, { value: 'DISPATCH-FAILED', text: 'Non Inviate' }, { value: 'DELIVERED', text: 'Consegnate' }, { value: 'BOUNCED', text: 'Non Consegnate' }],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-email'\n        },\n        scheduleSms: {\n          label: 'Notifiche SMS',\n          control: 'check',\n          description: 'Canale SMS',\n          query: 'schedules-sms'\n        },\n        statusSms: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{ value: 'null', text: 'Nessuno stato' }, { value: 'DISPATCHED', text: 'Inviate' }, { value: 'DISPATCH-FAILED', text: 'Non Inviate' }, { value: 'DELIVERED', text: 'Consegnate' }, { value: 'BOUNCED', text: 'Non Consegnate' }],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-sms'\n        },\n        scheduleUiNotice: {\n          label: 'Notifiche UI',\n          control: 'check',\n          description: 'Canale UI',\n          query: 'schedules-ui'\n        },\n        statusUI: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{value: 'null', text: 'Nessuno stato'}, {value: 'DISPATCHED', text: 'Inviate'}, {value: 'DISPATCH-FAILED', text: 'Non Inviate'}, {value: 'DELIVERED', text: 'Consegnate'}, {value: 'BOUNCED', text: 'Non Consegnate'}],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-ui'\n        }\n      },\n      data: {\n        statusEmail: 'null',\n        statusSms: 'null',\n        statusUI: 'null'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.selectedChannel();\n      if (this.searchInterface.data.user) this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    this.userId = this.searchInterface.data.user;\n    this.tableInterface.endpoint = `bo/users/${this.userId}/system-notifications`;\n    this.searchInterface.search().then(() => {\n      // User profile\n      this.api.get(`users/${this.userId}?include=user-profiles`).then(xhr => {\n        let response = xhr.response;\n        if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n        this.selectedUser = response;\n      });\n    });\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.selectedChannel();\n  }\n\n  selectedChannel() {\n    if (!this.searchInterface.data.scheduleEmail) this.searchInterface.data.statusEmail = 'null';\n    if (!this.searchInterface.data.scheduleSms) this.searchInterface.data.statusSms = 'null';\n    if (!this.searchInterface.data.scheduleUiNotice) this.searchInterface.data.statusUI = 'null';\n  }\n\n  statusTooltip(step, channel, item) {\n    let dispatchedAt = `${channel}DispatchedAt`;\n    let dispatchError = `${channel}DispatchErrorAt`;\n    let dispatchErrorMessage = `${channel}DispatchErrorMessage`;\n    let deliveredAt = `${channel}DeliveredAt`;\n    let bounced = `${channel}BouncedAt`;\n    let bounceReason = `${channel}BounceReason`;\n    let date = this.aurelia.resources.valueConverters.dateFormat.toView(item.createdAt);\n\n    // Tooltip\n    if (step == 1) {\n      return `<div class=\"notifications-tooltip success\"><strong>Creata</strong><br><em>${date}</em></div>`;\n    } else if (step == 2) {\n      date = this.aurelia.resources.valueConverters.dateFormat.toView(item[dispatchError] ? item[dispatchError] : item[dispatchedAt]);\n      if (item[dispatchError]) return `<div class=\"notifications-tooltip error\"><strong>Non inviata</strong><br>${item[dispatchErrorMessage]}<br><em>${date}</em></div>`;\n      if (item[dispatchedAt] && !item[dispatchError]) return `<div class=\"notifications-tooltip success\"><strong>Inviata</strong><br><em>${date}</em></div>`;\n      if (item.createdAt && !item[dispatchedAt] && !item[dispatchError]) return `<div class=\"notifications-tooltip pending\"><strong>In attesa di essere inviata</strong></div>`;\n    } else if (step == 3) {\n      if (channel === 'ui' && dispatchedAt) {\n        date = this.aurelia.resources.valueConverters.dateFormat.toView(item[dispatchedAt]);\n        return `<div class=\"notifications-tooltip success\"><strong>Consegnata</strong><em>${date}</em></div>`\n      } else {\n        date = this.aurelia.resources.valueConverters.dateFormat.toView(item[bounced] ? item[bounced] : item[deliveredAt]);\n        if (item[bounced]) return `<div class=\"notifications-tooltip error\"><strong>Non consegnata</strong><br>${item[bounceReason]}<br><em>${date}</em></div>`;\n        if (item[deliveredAt] && !item[bounced]) return `<div class=\"notifications-tooltip success\"><strong>Consegnata</strong><br><em>${date}</em></div>`;\n        if (item[dispatchedAt] && !item[deliveredAt] && !item[bounced]) return `<div class=\"notifications-tooltip pending\"><strong>In attesa di essere consegnata</strong></div>`;\n      }\n    }\n  }\n\n  detail(item) {\n    this.dialog.open({\n      title: `Dettaglio notifica per ${this.selectedUser.profile.displayName}`,\n      class: 'large',\n      viewModel: PLATFORM.moduleName('views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio'),\n      viewModelParams: { notificationUuid: item.uuid, userId: this.userId, userDisplayName: this.selectedUser.profile.displayName }\n    }, true);\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class ServiceDialogAssignEditor {\n  resource = {\n    controls: {},\n    schema: {\n      user: {\n        label: 'Utente assegnatario',\n        control: 'combo',\n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'id', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        query: 'owner-uuid-in'\n      },\n      email: {\n        label: 'Email nuovo utente da registrare',\n        control: 'text'\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = null;\n      // two different logics: multidialogo existent user | email of user who needs to register\n      if (this.resource.data.user) {\n        data = {\n          redeemCode: this.params.offer.code\n        };\n        this.api.post(`users/${this.resource.data.user}/promotion-offer-activations`, data).then(() => {\n          this.toast.show(`Offerta assegnata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR - promotion-offer-activations - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        data = {\n          email: this.resource.data.email,\n          redeemCode: this.params.offer.code\n        };\n        this.api.post(`promotion-offer-activations`, data).then(() => {\n          this.toast.show(`Offerta assegnata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR - promotion-offer-activations - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast, DateTime } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class ServiceDialogOfferteEditor {\n  resource = {\n    controls: {},\n    schema: {\n      title: {\n        label: 'Titolo',\n        control: 'text',\n        required: true\n      },\n      description: {\n        label: 'Descrizione',\n        control: 'textarea',\n        required: true\n      },\n      startAt: {\n        label: 'Data inizio validità',\n        control: 'datetime',\n        readonly: false,\n        required: true\n      },\n      endAt: {\n        label: 'Data fine validità',\n        control: 'datetime',\n        required: true\n      },\n      code: {  \n        label: 'Codice offerta',\n        control: 'text',\n        readonly: false,\n        required: true\n      },\n      targetUserType: {\n        label: 'Applicabile a',\n        control: 'combo',\n        datasource: [{ value: 'PARENT', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }],\n        datavalue: 'value',\n        datatext: 'text',\n        readonly: false,\n        required: true\n      },\n      contextBusinessType: {\n        label: 'Contesto attività',\n        control: 'combo',\n        datasource: [{ value: 'BUILDING-ADMINISTRATOR', text: 'Amministratore' }, { value: '', text: 'N/D' }],\n        readonly: false\n      },\n      promotionCode: {\n        control: 'combo', \n        label: 'Codice promozione', \n        datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' }}, \n        datavalue: 'code', \n        datatext: 'code', \n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      deadlineType: {\n        label: 'Seleziona la tipologia di scadenza',\n        control: 'combo',\n        datasource: [\n          { value: 'USER-CREATION', text: 'Per iscrizione utente' }, \n          { value: 'FLAT-SERVICE-SUBSCRIPTION', text: 'Per sottoscrizione servizio' }\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        readonly: false,\n        required: true\n      },\n      deadlineAt: {\n        label: null,\n        control: 'datetime',\n        required: true\n      },\n      public: {\n        label: 'Disponibilità',\n        control: 'check',\n        description: 'Offerta privata'\n      }\n    },\n    data: {\n      deadlineType: 'USER-CREATION'\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params) {\n      this.resource.data = this.params.offer;\n      this.resource.schema.startAt.readonly = this.resource.schema.code.readonly = this.resource.schema.promotionCode.readonly = this.resource.schema.targetUserType.readonly = this.resource.schema.contextBusinessType.readonly = this.resource.schema.public.readonly = true;\n    }\n  }\n\n  deadlineTypeChange() {\n    return this.resource.controls.deadlineAt.label = this.resource.data?.deadlineType === 'USER-CREATION' ? 'Scadenza per iscrizione utente' : 'Scadenza per sottoscrizione servizio';\n  }\n\n  save($event) {\n    $event.model.busy = true\n    this.resource.validate().then(() => {\n      let data = null;\n      if (this.params) {\n        data = {\n          title: this.resource.data.title,\n          description: this.resource.data.description,\n          endAt: this.resource.data.endAt,\n          deadlineType: this.resource.data.deadlineType,\n          deadlineAt: this.resource.data.deadlineAt\n        }\n        this.api.patch(`bo/promotion-offers/${this.params.offer.code}`, data).then(() => {\n          this.toast.show(`Modifiche effettuate con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR promotion-offers - PATCH', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        data = structuredClone(this.resource.data);\n        data.public = (this.resource.data.public === true ? 'NO' : 'YES');\n        this.api.post(`bo/promotion-offers`, data).then(() => {\n          this.toast.show(`Offerta creata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR promotion-offers - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmOfferte {\n  tabs = [\n    {\n      id: 'gestione',\n      label: 'Gestione offerte',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-gestione')\n    },\n    {\n      id: 'prenotate',\n      label: 'Offerte prenotate',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-prenotate')\n    },\n    {\n      id: 'riscattate',\n      label: 'Offerte riscattate',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-riscattate')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { gestione: false, prenotate: false, riscattate: false } };\n    if (this.api.hasRole(['LIST_ANY_USER_PROMOTION_OFFER_ACTIVATION', 'LIST_ANY_PROMOTION_OFFER'])) {\n      this.privileges.tabs.gestione = this.privileges.tabs.prenotate = this.privileges.tabs.riscattate = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOfferteGestione {\n  mdt = mdt;\n  currentDate = new Date().toISOString();\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-gestione-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offers'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        code: {  \n          label: 'Codice offerta',\n          control: 'text',\n          query: 'code'\n        },\n        status: {\n        label: 'Stato offerta',\n        control: 'combo',\n        datasource: [\n          { value: 'ACTIVE', text: 'Attiva' },\n          { value: 'EXPIRED', text: 'Scaduta' },\n          { value: 'INCOMING', text: 'Non ancora attivabile' }\n        ],\n        query: 'status'\n        },\n        promotionCode: {\n          control: 'combo',\n          label: 'Codice promozione', \n          datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' }},\n          datavalue: 'code', \n          datatext: 'code', \n          datapreload: false,\n          datamultiple: false,\n          query: 'promotion-code'\n        },\n        createdAtGte: {\n          label: 'Offerta creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        startAtGte: {\n          label: 'Inizio validità dal',\n          control: 'date',\n          query: 'start-at-gte'\n        },\n        startAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'start-at-lte'\n        },\n        endAtGte: {\n          label: 'Fine validità dal',\n          control: 'date',\n          query: 'end-at-gte'\n        },\n        endAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'end-at-lte'\n        },\n        deadlineType: {\n          label: 'Seleziona la tipologia di scadenza',\n          control: 'combo',\n          datasource: [\n            { value: 'USER-CREATION', text: 'Per iscrizione utente' }, \n            { value: 'FLAT-SERVICE-SUBSCRIPTION', text: 'Per sottoscrizione servizio' }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'deadline-type'\n        },\n        deadlineAtGte: {\n          label: null,\n          control: 'date',\n          query: 'deadline-at-gte'\n        },\n        deadlineAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'deadline-at-lte'\n        },\n        serviceCreationDeadlineGte: {\n          label: 'Scadenza sottoscrizione servizio dal',\n          control: 'date',\n          query: 'user-creation-deadline-gte'\n        },\n        serviceCreationDeadlineLte: {\n          label: 'al',\n          control: 'date',\n          query: 'user-creation-deadline-lte'\n        },\n        targetUserType: {\n          label: 'Applicabile a',\n          control: 'combo',\n          datasource: [\n            { value: 'PARENT', text: 'Utenti' }, \n            { value: 'SUBUSER', text: 'Sottoutenti' }, \n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          readonly: this.params?.offer ? true : false,\n          query: 'target-user-type'\n        },\n        public: {\n          label: 'Offerte private',\n          control: 'combo',\n          datasource: [\n            { value: 'NO', text: 'Mostra solo offerte private' },\n            { value: 'YES', text: 'Mostra solo offerte pubbliche' },\n          ],\n          query: 'public'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => { \n      this.searchInterface.data.createdAtGte = this.searchInterface.data.createdAtLte = null;\n      this.searchInterface.data.startAtGte = this.searchInterface.data.startAtLte = null;\n      this.searchInterface.data.endAtGte = this.searchInterface.data.endAtLte = null;\n      this.searchInterface.data.userCreationDeadlineGte = this.searchInterface.data.userCreationDeadlineLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.code}`, 'Link offerta');\n  }\n\n  deadlineTypeChange() {\n    if (this.searchInterface.data) {\n      if (this.searchInterface.data.deadlineType) {\n        let deadline = this.searchInterface.data.deadlineType === 'USER-CREATION' ? 'iscrizione utente' : 'sottoscrizione servizio';\n        return this.searchInterface.controls.deadlineAtGte.label = `Scadenza ${deadline} dal`;\n      } else {\n        return this.searchInterface.data.deadlineAtGte = this.searchInterface.data.deadlineAtLte = null;\n      }\n    } else return;\n  }\n\n  createOffer() {\n    this.dialog.open({\n      title: 'Crea nuova offerta',\n      class: 'offerte-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/offerte-editor')\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.tableInterface.load(); }\n    });  \n  }\n\n  editOffer($event, offer) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica offerta',\n      class: 'offerte-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/offerte-editor'),\n      viewModelParams: { offer: {...offer} }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  assignOffer($event, offer) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Assegnazione offerta',\n      class: 'assign-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/assign-editor'),\n      viewModelParams: { offer: {...offer} }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOffertePrenotate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-prenotate-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offer-activations',\n      query: 'status=PENDING'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-prenotate-search',\n      table: this.tableInterface,\n      schema: {\n        code: {  \n          label: 'Codice offerta',\n          control: 'text',\n          query: 'redeem-code'\n        },\n        requestedAtGte: {\n          label: 'Data prenotazione dal',\n          control: 'date',\n          query: 'requested-at-gte'\n        },\n        requestedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'requested-at-lte'\n        },\n        email: {\n          label: 'Email',\n          control: 'text',\n          query: 'request-email-like'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.requestedAtGte = this.searchInterface.data.requestedAtLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.redeemCode}`, 'Link offerta');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOfferteRiscattate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n    this.offerlink = `${this.api.baseUrl.slice(0, -1)}${this.router.currentInstruction.fragment}`;\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-riscattate-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offer-activations',\n      query: 'status=REDEEMED'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-riscattate-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          label: 'Codice offerta',\n          control: 'text',\n          query: 'redeem-code'\n        },\n        requestedAtGte: {\n          label: 'Data prenotazione dal',\n          control: 'date',\n          query: 'requested-at-gte'\n        },\n        requestedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'requested-at-lte'\n        },\n        redeemedAtGte: {\n          label: 'Data riscatto dal',\n          control: 'date',\n          query: 'redeemed-at-gte'\n        },\n        redeemedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'redeemed-at-lte'\n        },\n        userId: {\n          label: 'ID utente',\n          control: 'text',\n          query: 'user-id'\n        },\n        userUuid: {\n          label: 'UUID utente',\n          control: 'text',\n          query: 'user-uuid'\n        },\n        email: {\n          label: 'Email',\n          control: 'text',\n          query: 'request-email-like'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.requestedAtGte = this.searchInterface.data.requestedAtLte = null;\n      this.searchInterface.data.redeemedAtGte = this.searchInterface.data.redeemedAtLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.redeemCode}`, 'Link offerta');\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast, MdUser, Router)\nexport class vmContracts {\n  privileges = {};\n  tabs = [\n    {\n      id: 'subscriptions',\n      label: 'Sottoscrizioni',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/subscriptions')\n    },\n    {\n      id: 'serviceContracts',\n      label: 'Contratti servizi',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/service-contracts')\n    },\n    {\n      id: 'multinvioContracts',\n      label: 'Contratti MultInvio',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/multinvio-contracts')\n    },\n    {\n      id: 'userSubscriptions',\n      label: 'Sottoscrizioni',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/user-subscriptions')\n    },\n    {\n      id: 'userArchive',\n      label: 'Archivio',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/user-archive')\n    }\n  ];\n\n  constructor(api, kaDialog, kaToast, mdUser, router) {\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      openDialogContractDetail: (record, url) => {\n        if (!url) url = `bo/cashback-contracts/${record.id || record.contractUuid}`;\n        const htmlTemplate = record.userRenderableHtml || null;\n        const version = record.version || record.contractVersion;\n        const type = record.type && ['FLAT-SERVICE', 'MULTINVIO-VOLUMES'].includes(record.type) ? record.type : record.contractType;\n        const title = `Contratto cashback per ${type === 'FLAT-SERVICE' ? 'sottoscrizioni servizi' : 'spedizioni MultInvio'} - ${version}`;\n        this.dialog.open({\n          title: title,\n          class: 'contract-detail',\n          viewModelParams: { url, htmlTemplate },\n          viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/contract-detail')\n        });\n      },\n      copyText: (text, item) => {\n        return navigator.clipboard.writeText(text),\n        this.toast.show(`${item} copiato con successo!`, 'success');\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    const isOperator = this.api.hasRole('LIST_ANY_USER');\n\n    if (!isOperator && this.api.hasRole('LIST_USER_CASHBACK_CONTRACTS')) {\n      ['userSubscriptions'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_CASHBACK_CONTRACTS')) {\n      ['serviceContracts', 'multinvioContracts'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (!isOperator && this.api.hasRole('LIST_USER_CASHBACK_CONTRACT_ACCEPTANCES')) {\n      ['userArchive'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_ANY_USER_CASHBACK_CONTRACT_ACCEPTANCE')) {\n      ['subscriptions'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractDetail {\n  htmlTemplate;\n  pendingGetCashbackContract;\n\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n\n  init() {\n    if (!this.params.htmlTemplate) this.getCashbackContract();\n    else this.htmlTemplate = this.params.htmlTemplate;\n  }\n\n  getCashbackContract() {\n    this.pendingGetCashbackContract = true;\n    return this.api.get(this.params.url).then((xhr) => {\n      const response = xhr.response;\n      return this.htmlTemplate = response.htmlTemplate || response.userRenderableHtml;\n    }).catch((error) => {\n      console.error('GET url', error);\n      return this.resource.error(error);\n    }).finally(() => {\n      this.pendingGetCashbackContract = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractRescission {\n  isConfirmed = false;\n  userUuid;\n  currentDate = new Date().toLocaleDateString('it-IT');\n  userId;\n  latestVersions = [];\n  schemaMessages = {\n    'NO': {\n      value: 'Messaggio personalizzato',\n      text: null\n    },\n    'PEC': {\n      value: 'Messaggio per recesso tramite PEC',\n      text: `Ti confermiamo di aver provveduto, come da tua richiesta avvenuta tramite PEC in data ${this.currentDate}, al recesso del contratto cashback`\n    },\n    'POSTA': {\n      value: 'Messaggio per recesso tramite Raccomandata',\n      text: `Ti confermiamo di aver provveduto, come da tua richiesta avvenuta tramite raccomandata in data ${this.currentDate}, al recesso del contratto cashback`\n    }\n  }\n  resource = {\n    data: {\n      defaultMessage: 'NO'\n    },\n    controls: {},\n    schema: {\n      userUuid: {\n        required: true,\n        label: 'Utente',\n        readonly: false,\n        datavalue: 'uuid',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { \n          table: 'bo/users?include=user-profiles', \n          query: { search: 'text-search', item: 'uuid-in' } \n        },\n        validationRule: {\n          satisfies: () => { return this.userId !== null; },\n          withMessage: 'Questo utente non ha mai sottoscritto contratti cashback.',\n        }\n      },\n      contractType: {\n        control: 'combo',\n        label: 'Tipologia contratto',\n        datasource: [\n          { text: 'Qualsiasi', value: 'null' },\n          { text: 'Servizi', value: 'FLAT-SERVICE' },\n          { text: 'MultInvio', value: 'MULTINVIO-VOLUMES' }\n        ],\n        datavalue: 'value',\n        datatext: 'text'\n      },\n      defaultMessage: {\n        required: true,\n        control: 'combo',\n        label: 'Seleziona un messaggio predefinito',\n        datasource: this.setDatasourceDefaultMessage(),\n        datavalue: 'value',\n        datatext: 'text'\n      },\n      reason: {\n        required: true,\n        control: 'textarea',\n        placeholder: 'Scrivi qui il tuo messaggio...',\n        label: 'Messaggio per il cliente'\n      },\n      isConfirmed: {\n        required: true ,\n        control: 'check',\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?'\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => {\n          control.validate().then((result) => {\n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          });\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaToast];\n  constructor(api, controller, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userUuid = params.userUuid;\n    this.contractType = params.contractType;\n    if (this.userUuid) this.resource.data.userUuid = this.userUuid;\n    if (this.contractType) this.resource.data.contractType = this.contractType;\n  }\n\n  setDatasourceDefaultMessage() {\n    let datasource = [];\n    Object.entries(this.schemaMessages).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.value })\n    });\n    return datasource;\n  }\n\n  changeDefaultMessage() {\n    this.resource.data.reason = this.schemaMessages[this.resource.data.defaultMessage].text;\n  }\n\n  setLatestContractVersion(response) {\n    const latestVersions = [];\n    response.forEach((acceptance) => {\n      // the last acceptances of contracts are always the first two in the array\n      if (latestVersions.length === 2) return;\n      if (latestVersions.every((item) => Object.keys(item)[0] !== acceptance.contractType)) {\n        const contractType = `${acceptance.contractType}`;\n        latestVersions.push({ [contractType]: acceptance.contractVersion });\n      }\n    });\n    return latestVersions;\n  }\n\n  changeUserUuid() {\n    if (this.resource.data.userUuid) {\n      return this.api.get(`bo/cashback-contract-acceptances?user-uuid=${this.resource.data.userUuid}`).then((xhr) => {\n        const response = xhr.response;\n        if (response.length) {\n          this.latestVersions = this.setLatestContractVersion(response);\n          this.userId = response[0].userId;\n        } else {\n          this.userId = null;\n          this.latestVersions = null;\n        }\n      }).catch((error) => {\n        console.error('`bo/cashback-contract-acceptances', error);\n        this.toast.show('Errore durante l\\'elaborazione dei dati', 'error');\n      });\n    }\n  }\n\n  parseData() {\n    let data = structuredClone(this.resource.data); \n    data = {\n      ...(![undefined, null, 'null'].includes(data.contractType) && { contractType: data.contractType }),\n      ...(data.reason && { reason: data.reason })\n    }\n    return data;\n  }\n\n  rescindContract(event) {\n    let data = this.parseData();\n    event.model.busy = true;\n    return this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.userId}/cashback-contract-acceptance-rescissions`, data).then(() => {\n        this.toast.show(\"Contratto rescisso con successo\", \"success\");\n      }).catch((error) => {\n        console.error(\"bo/users/${this.userId}/cashback-contract-acceptance-rescissions\", error);\n        this.resource.error(error);\n      }).finally(() => {\n        event.model.busy = false;\n        this.controller.cancel();\n      });\n    }).catch(() => {\n      event.model.busy = false; \n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractCreate {\n  cashbackContract;\n  pendingCreateCashbackContracts;\n  resource = {\n    data: {},\n    controls: {},\n    schema: { htmlTemplate: { control: 'editor', label: 'Inserire contratto in formato HTML', required: true }},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  openDialogConfirmContractCreation() {\n    return this.dialog.open({\n      title: 'Attenzione!', \n      class: 'medium', \n      type: 'confirm', \n      body: `<strong>Stai creando un nuovo contratto cashback per ${this.params.type === 'FLAT-SERVICE' ? 'sottoscrizioni servizi' : 'spedizioni MultInvio'}.</strong><br>Confermi di voler creare una nuova versione di questo contratto?`\n    });\n  }\n\n  createCashbackContracts($event) {\n    $event.model.busy = true;\n    this.pendingCreateCashbackContracts = true;\n    this.resource.data.type = this.params.type;\n    return this.openDialogConfirmContractCreation().whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.resource.validate().then(() => {\n          return this.api.post('bo/cashback-contracts', this.resource.data).then(() => {\n            this.toast.show('Modifiche salvate con successo!', 'success');\n            this.controller.ok();\n          }).catch((error) => {\n            console.error('createCashbackContracts', error);\n            this.resource.error(error);\n          }).finally(() => {\n            this.pendingCreateCashbackContracts = false;\n            $event.model.busy = false;\n          });\n        }).catch(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        $event.model.busy = false;\n        this.pendingCreateCashbackContracts = false;\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog)\nexport class ViewMultinvioContracts {\n  constructor(api, router, dialog) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-multinvio-contracts',\n      client: this.api,\n      endpoint: 'bo/cashback-contracts?type=MULTINVIO-VOLUMES'\n    });\n    \n    this.tableInterface.initialize().then(() => { return this.tableInterface.load(); });\n  }\n\n  openDialogCreateContract() {\n    return this.dialog.open({\n      title: 'Crea nuovo contratto',\n      class: 'create-contract',\n      viewModelParams: { type: 'MULTINVIO-VOLUMES' },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/create-contract')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.tableInterface.load();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog)\nexport class ViewServiceContracts {\n  constructor(api, router, dialog) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-service-contracts',\n      client: this.api,\n      endpoint: 'bo/cashback-contracts?type=FLAT-SERVICE'\n    });\n    \n    this.tableInterface.initialize().then(() => { return this.tableInterface.load(); });\n  }\n\n  openDialogCreateContract() {\n    return this.dialog.open({\n      title: 'Crea nuovo contratto',\n      class: 'create-contract',\n      viewModelParams: { type: 'FLAT-SERVICE' },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/create-contract')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.tableInterface.load();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast)\nexport class viewSubscriptions {\n  mdt = mdt;\n  serviceContract;\n  multinvioContract;\n  serviceContractPending = true;\n  multinvioContractPending = true;\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-subscriptions',\n      client: this.api,\n      endpoint: 'bo/cashback-contract-acceptances'\n    });\n    this.tableInterface.initialize();\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'table-subscriptions-search',\n      table: this.tableInterface,\n      schema: {\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'uuid-in'} },\n          datavalue: 'uuid',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          query: 'user-uuid'\n        },\n        type: {\n          control: 'combo',\n          label: 'Tipologia contratto',\n          datasource: [\n            { text: 'Qualsiaisi', value: 'null' },\n            { text: 'Servizi', value: 'FLAT-SERVICE' },\n            { text: 'MultInvio', value: 'MULTINVIO-VOLUMES' }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'contract-type'\n        }\n      },\n      data: {\n        type: 'null'\n      }\n    });\n\n    this.searchInterface.initialize().then(() => {\n      return this.searchInterface.search();\n    });\n  }\n\n  reset() {\n    this.searchInterface.reset();\n    this.searchInterface.data.type = 'null';\n  }\n\n  dialogCashbackContractRescission() {\n    return this.dialog.open({\n      class: 'medium contract-rescission',\n      title: 'Recedi contratto',\n      viewModelParams: { userUuid: this.searchInterface.data.user, contractType: this.searchInterface.data.type },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/contract-rescission')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.controllerTabRequests.search();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router)\nexport class viewUserArchive {\n  constructor(api, router) {\n    this.api = api;\n    this.router = router;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n    model.tab.controller = this;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    const promises = [ this.serviceContractSubscriptions(), this.multinvioContractSubscriptions() ];\n    Promise.all(promises);\n  }\n\n  serviceContractSubscriptions() {\n    this.tableInterfaceServiceContractSubscriptions = new TableInterface({\n      name: 'table-cashback-archive',\n      client: this.api,\n      endpoint: 'users/me/cashback-contract-acceptances',\n      query: 'contract-type=FLAT-SERVICE'\n    });\n    \n    this.tableInterfaceServiceContractSubscriptions.initialize().then(() => { \n      return this.tableInterfaceServiceContractSubscriptions.load();\n    });\n  }\n\n  multinvioContractSubscriptions() {\n    this.tableInterfaceMultinvioContractSubscriptions = new TableInterface({\n      name: 'table-archived-contracts',\n      client: this.api,\n      endpoint: 'users/me/cashback-contract-acceptances',\n      query: 'contract-type=MULTINVIO-VOLUMES'\n    });\n    \n    this.tableInterfaceMultinvioContractSubscriptions.initialize().then(() => { \n      return this.tableInterfaceMultinvioContractSubscriptions.load();\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class viewUserSubscriptions {\n  multinvioContract;\n  flatServiceContract;\n  controllerTabUserArchive;\n  pendingGetMultinvioContract = true;\n  pendingGetFlatServiceContract = true;\n  pendingSubscriptionMultinvioContract = false;\n  pendingSubscriptionFlatServiceContract = false;\n  clauses = {\n    'FLAT-SERVICE' : {\n      schema: {\n        clause1: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Confermo di aver letto e accettato le condizioni dell’iniziativa promozionale Cashback Multidialogo.',\n        },\n        clause2: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Ai sensi degli artt.1341 e 1342 del c.c approvo specificamente le seguenti clausole:',\n          tooltip: \"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\"\n        }\n      },\n      data: {\n        clause1: false,\n        clause2: false\n      }\n    },\n    'MULTINVIO-VOLUMES' : {\n      schema: {\n        clause1: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Confermo di aver letto e accettato le condizioni dell’iniziativa promozionale Cashback Multidialogo.',\n        },\n        clause2: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Ai sensi degli artt.1341 e 1342 del c.c approvo specificamente le seguenti clausole:',\n        }\n      },\n      data: {\n        clause1: false,\n        clause2: false\n      }\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.model = model;\n    model.tab.controller = this;\n    this.parent = model.$parent;\n  }\n\n  attached() {\n    this.init();\n    this.controllerTabUserArchive = this.parent.tabs.find((tab) => tab.id === 'userArchive').controller;\n  }\n\n  init() {\n    this.toast.consume();\n    return Promise.all([\n      this.getLatSubscriptedMultinvioContract(),\n      this.getLastSubscriptedFlatServiceContract()\n    ]);\n  }\n\n  setClausesData(contract) {\n    const type = contract.type;\n    const acceptedAt = contract.acceptedAt;\n    Object.keys(this.clauses[type].schema).forEach((key) => {\n      this.clauses[type].data[key] = !!acceptedAt;\n    });\n  }\n\n  setClausesReadonly(contract) {\n    const type = contract.type;\n    Object.keys(this.clauses[type].schema).forEach((key) => {\n      this.clauses[type].schema[key].readonly = contract.acceptedAt ? true : !this.clauses[type].schema[key].readonly;\n    });\n  }\n\n  getLastSubscriptedFlatServiceContract() {\n    this.pendingFlatServiceContract = true;\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      if (response.hasNext === \"YES\") {\n        this.getNextFlatServiceContract(response.gracePeriodEndAt);\n      } else {\n        this.setClausesData(response);\n        this.setClausesReadonly(response);\n        this.flatServiceContract = response;\n        this.pendingFlatServiceContract = false;\n      }\n    }).catch((error) => {\n      if (error.statusCode === 404) {\n        this.getNextFlatServiceContract();\n      } else {\n        console.log('GET last-accepted-flat-service', error);\n        this.pendingFlatServiceContract = false;\n        this.toast.show('Errore caricamento contratto!', 'error');\n      }\n    });\n  }\n\n  getNextFlatServiceContract(gracePeriodEndAt = null) {\n    return this.api.get('users/me/cashback-contracts/next-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.setClausesReadonly(response);\n      this.flatServiceContract = response;\n      this.flatServiceContract.lastContractGracePeriodEndsOn = gracePeriodEndAt;\n    }).catch((error) => {\n      console.log('GET next-flat-service', error);\n      this.toast.show('Errore caricamento contratto!', 'error');\n    }).finally(() => {\n      this.pendingFlatServiceContract = false;\n    });\n  }\n\n  getLatSubscriptedMultinvioContract() {\n    this.pendingMultinvioContract = true;\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      if (response.hasNext === \"YES\") {\n        this.getNextMultinvioContract(response.gracePeriodEndAt);\n      } else {\n        this.setClausesData(response);\n        this.setClausesReadonly(response);\n        this.multinvioContract = response;\n        this.pendingMultinvioContract = false;\n      }\n    }).catch((error) => {\n      if (error.statusCode === 404) {\n        this.getNextMultinvioContract();\n      } else {\n        console.log('GET last-accepted-multinvio-volumes', error);\n        this.pendingMultinvioContract = false;\n        this.toast.show('Errore caricamento contratto!', 'error');\n      }\n    });\n  }\n\n  getNextMultinvioContract(gracePeriodEndAt = null) {\n    return this.api.get('users/me/cashback-contracts/next-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;  \n      this.setClausesReadonly(response);\n      this.multinvioContract = response;\n      this.multinvioContract.lastContractGracePeriodEndsOn = gracePeriodEndAt;\n    }).catch((error) => {\n      console.log('GET next-multinvio-volumes', error);\n      this.toast.show('Errore caricamento contratto!', 'error');\n    }).finally(() => {\n      this.pendingMultinvioContract = false;\n    });\n  }\n\n  setEndpointDownloadPdf(type) {\n    let context = 'next';\n    if (type === 'FLAT-SERVICE' && this.flatServiceContract?.acceptedAt) context = 'last-accepted';\n    else if (type === 'MULTINVIO-VOLUMES' && this.multinvioContract?.acceptedAt) context = 'last-accepted';\n    return `users/me/cashback-contracts/${context}-${type.toLowerCase()}.pdf`;\n  }\n   \n  downloadPdfContract($event, type) {\n    $event.model.busy = true;\n    const uri = this.setEndpointDownloadPdf(type);\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader(\"Accept\", \"application/pdf\")\n      .withHeader(\"Content-Type\", \"application/pdf\")\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regexp = new RegExp('filename=(.+\\.pdf$)');\n        const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        const anchor = document.createElement(\"a\");\n        const blob = new Blob([xhr.response], { type: 'application/pdf' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show(\"Contratto scaricato correttamente\", 'success');\n      }).catch((error) => {\n        console.log(\"impossibile scaricare il pdf\", error);\n        this.toast.show('impossibile scaricare il contratto', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      })\n  }\n\n  subscribeContract(event, contract) {\n    if (contract.type) {\n      event.model.busy = true;\n      const storageSubscriptions = JSON.parse(localStorage.getItem('cashback-contracts-subscriptions'));\n      if (contract.type === 'FLAT-SERVICE') this.pendingSubscriptionFlatServiceContract = true;\n      else this.pendingSubscriptionMultinvioContract = true;\n      return this.api.post(`users/me/cashback-contracts/next-${contract?.type.toLowerCase()}/acceptances`, {}).then(() => {\n        this.toast.show('Contratto cashback accettato!', 'success');\n        if (storageSubscriptions) {\n          storageSubscriptions[contract.type] = false;\n          localStorage.setItem('cashback-contracts-subscriptions', JSON.stringify(storageSubscriptions));\n        }\n        this.controllerTabUserArchive.init();\n        if (contract.type === 'FLAT-SERVICE') this.getLastSubscriptedFlatServiceContract();\n        else this.getLatSubscriptedMultinvioContract();\n      }).catch((error) => {\n        console.log('POST cashback-contracts', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        event.model.busy = false;\n        this.pendingSubscriptionMultinvioContract = false;\n        this.pendingSubscriptionFlatServiceContract = false;\n      });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogCreditTransfer {\n  resource = {\n    data: {\n      amount: 0\n    },\n    controls: {},\n    schema: { amount: { control: 'number', label: 'Importo in €', required: true }},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  async saveTransferCreditMovements($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n\n    return this.resource.validate().then(() => {\n      return this.api.post('users/me/cashback-transfer-credit-movements', data).then(() => {\n        this.toast.show('Trasferimento avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-transfer-credit-movements', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount)\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogEditRequest {\n  statusSchema = {\n    'REFUSED' : 'Rifiutata',\n    'CONFIRMED' : 'Confermata'\n  }\n  resource = {\n    data: {},\n    controls: {},\n    schema: {\n      statusReason: {\n        required: true,\n        label: 'Motivo',\n        control: 'text'\n      }\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.record = params.record;\n    this.status = params.status;\n  }\n\n  async saveEditRequest($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n    return this.api.patch(`bo/users/${this.record.userId}/cashback-withdrawal-requests/${this.record.id}`, data).then(() => {\n      this.toast.show(`Richiesta di prelievo ${this.statusSchema[this.status]} con successo!`, 'success');\n      this.controller.ok();\n    }).catch((error) => {\n      console.log('Patch cashback-withdrawal-requests', error);\n      this.api.dialogError(error, this.resource.controls);\n    }).finally(() => {\n      $event.model.busy = true;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    return clone = {\n      ...clone,\n      status: this.status\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogInsertMovement {\n  resource = {\n    controls: {},\n    data: {\n      amount: 0,\n      direction: 'IN'\n    },\n    schema: {\n      user: {\n        control: 'combo', \n        label: 'Utente',\n        datavalue: 'id', \n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' }}\n      },\n      amount: { \n        required: true,\n        label: 'Importo in €', \n        control: 'number'\n      },\n      direction: {\n        control: 'combo', \n        datatext: 'text',\n        datapreload: true,\n        datavalue: 'value', \n        label: 'Tipologia',\n        datamultiple: false,\n        datasource: [{ text: 'Entrata', value: 'IN' }, { text: 'Uscita', value: 'OUT' }]\n      },\n      reason: {\n        required: true,\n        control: 'text', \n        label: 'Causale'\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userId = this.params.userId;\n    if (this.userId) {\n      this.resource.data.user = this.userId;\n      this.resource.schema.user.readonly = true;\n    }\n  }\n\n  async saveInsertCreditMovement($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n    return this.resource.validate().then(() => {\n      return this.api.post(`bo/users/${this.resource.data.user}/cashback-movements`, data).then(() => {\n        this.toast.show('Trasferimento avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-transfer-credit-movements', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    delete clone.user;\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount)\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogWithdrawalRequest {\n  uploadSessionUuid;\n  resource = {\n    controls: {},\n    schema: {\n      amount: { \n        required: true,\n        label: 'Importo in €', \n        control: 'number',\n      },\n      temporaryInvoiceFileUploadUuid: {\n        required: true,\n        control: 'file',\n        label: 'Carica documento PDF',\n        placeholder: 'Seleziona o trascina un file PDF'\n      }\n    },\n    data: {},\n    \n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach((control) => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.setWithdrawalAmount(this.params.billableAmount);\n  }\n\n  setWithdrawalAmount(amount) {\n    const { schema, data } = this.resource;\n    schema.amount.max = data.amount = amount;\n  }\n\n  async saveWithdrawalRequest($event) {\n    $event.model.busy = true;\n    await this.postUploadSessions($event);\n    const file = await this.fileUpload($event, this.resource.data.temporaryInvoiceFileUploadUuid[0]);\n    await this.postWithdrawalRequests($event, file);\n  }\n\n  async postUploadSessions($event) {\n    return this.api.post('users/me/upload-sessions', {}).then((xhr) => {\n      const response = xhr.response;\n      this.uploadSessionUuid = response.id;\n    }).catch((error) => {\n      console.log('Post users/me/upload-sessions', error);\n      this.toast.show('Errore in fase di inizializzazione!', 'success');\n      $event.model.busy = false;\n    });\n  }\n\n  async fileUpload($event, file) {\n    const endpoint = `users/me/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        const reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = (error) => { \n          reject(error); \n        };\n      }).then(() => {\n        return this.api.post(endpoint, attachment).then((xhr) => {\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch((error) => {\n          $event.model.busy = false;\n          console.log('Post fileUpload', error);\n          this.toast.show(`Errore durante il caricamento!`, 'error');\n          reject();\n        });\n      }).catch((error) => {\n        $event.model.busy = false;\n        console.log('Promise fileUpload', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        reject();\n      });\n    });\n  }\n\n  async postWithdrawalRequests($event, file) {\n    const data = this.parseData(this.resource.data, file);\n    return this.resource.validate().then(() => {\n      return this.api.post(`users/me/cashback-withdrawal-requests`, data).then(() => {\n        this.toast.show('Richiesta di prelievo avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-withdrawal-requests', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data, file) {\n    let clone = structuredClone(data);\n    delete clone.file;\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount),\n      temporaryInvoiceFileUploadUuid: file.id\n    }\n  }\n  \n  downloadStaticResource(filename) {\n    const anchor = document.createElement('a');\n    anchor.download = filename;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class tabMovements {\n  transactionDisabledDate; // new Date('2025-03-01T00:00:01'); // this date MUST be instantiated like new Date('2026-12-03T03:24:00')\n  inhibitionCashbackMessage = `<div class=\"inhibition-cashback\"><p><strong>Grazie per la tua fedeltà!</strong><p/><p>Abbiamo tante novità per te e per questo motivo stiamo aggiornando la tua area cashback.</p><p>A breve sarà nuovamente possibile richiedere il tuo premio e molto altro!<p/><p> Non preoccuparti se in questa fase vedi il tuo saldo non disponibile, è assolutamente normale!<p/><p> Durante questa fase temporanea, infatti, continuerai comunque a maturare il tuo cashback, come di consueto.<p/><p> Al termine dell'aggiornamento visualizzerai il tuo saldo corretto.<p/><p> Multidialogo ti informerà prontamente, appena gli aggiornamenti saranno terminati.</p><p> Grazie per la collaborazione!<p/></div>`;\n  metaResponse;\n  lastAcceptedFlatServiceContract;\n  lastAcceptedMultinvioVolumesContract;\n  sourceTypeSchema = {\n    'IN': {\n      'text': 'Entrata',\n      'values': {\n        'HISTORY': 'Storicizzato',\n        'QUEUE': 'Spedizione MultInvio',\n        'FLAT-SUBSCRIPTION-MULTICAF': 'Abbonamento MultiCaf',\n        'FLAT-SUBSCRIPTION-MULTINVIO': 'Abbonamento MultInvio',\n        'FLAT-SUBSCRIPTION-MULTIFATTURE': 'Abbonamento MultiFatture',\n        'OPERATOR': 'Intervento operatore',\n      }\n    },\n    'OUT': {\n      'text': 'Uscita',\n      'values': {\n        'HISTORY': 'Storiczzato',\n        'TRANSFER-WITHDRAWAL': 'Prelievo',\n        'TRANSFER-CREDIT': 'Trasferimento',\n        'TRANSFER-VOUCHER': 'Trasferimento voucher BrainWare',\n        'OPERATOR': 'Intervento operatore'\n      }\n    }\n  }\n\n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.parent = model.$parent;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTab();\n    this.controllerTabRequests = this.parent.tabs.find((tab) => tab.id === 'requests').controller\n  }\n\n  setEndpoint(userId) {\n    const endpoint = `users/${userId || 'me'}/cashback-movements`;\n    return endpoint;\n  }\n\n  setDirectionDatasource() {\n    const datasource = [{\n      value: 'null',\n      text: 'Tutti'\n    }];\n    Object.entries(this.sourceTypeSchema).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.text });\n    });\n    return datasource\n  }\n\n  setSourceTypeDatasource() {\n    let datasource = [];\n    const schema = structuredClone(this.sourceTypeSchema);\n    const direction = this.searchInterface?.data?.direction || null;\n    const irregularTypes = [\n      'OPERATOR',\n      'FLAT-SUBSCRIPTION-MULTICAF',\n      'FLAT-SUBSCRIPTION-MULTINVIO',\n      'FLAT-SUBSCRIPTION-MULTIFATTURE'\n    ];\n\n    delete schema.IN.values.HISTORY;\n    delete schema.OUT.values.HISTORY;\n\n    if (!direction || direction === 'null') {\n      ['IN', 'OUT'].forEach((direction) => {\n        datasource.push({ value: direction, text: schema[direction].text, optgroup: true });\n        Object.entries(schema[direction].values).forEach(([key, value]) => {\n          if (irregularTypes.includes(key)) {\n            datasource.push({ value: `${key}-${direction}`, text: value });\n          } else {\n            datasource.push({ value: key, text: value });\n          }\n        });\n      });\n    } else {\n      Object.entries(schema[direction].values).forEach(([key, value]) => {\n        if (irregularTypes.includes(key)) {\n          datasource.push({ value: `${key}-${direction}`, text: value });\n        } else {\n          datasource.push({ value: key, text: value });\n        }\n      });\n    }\n\n    return datasource;\n  }\n\n  changeDirection() {\n    this.searchInterface.data.sourceType = null;\n    this.searchInterface.schema.sourceType = {\n      ...this.searchInterface.schema.sourceType,\n      datasource: this.setSourceTypeDatasource()\n    }\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-cashback-movements',\n      endpoint: this.setEndpoint()\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  async initSearchInterface() {\n    let sourceUser = {};\n    const sourceUuids = {\n      control: 'combo',\n      label: 'Generati da',\n      datasource: {\n        table: 'users/me/users?include=user-profiles',\n        query: { search: 'text-search', item: 'uuid-in' }\n      },\n      datavalue: 'uuid',\n      datamultiple: true,\n      datapreload: false,\n      query: 'source-user-uuid-in',\n      datatext: 'profile[0].displayName'\n    };\n\n    this.searchInterface = new SearchInterface({\n      name: 'table-cashback-movements-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          control: 'date',\n          label: 'Inserito dal',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        direction: {\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          label: 'Tipologia',\n          datavalue: 'value',\n          query: 'direction',\n          datamultiple: false,\n          datasource: this.setDirectionDatasource(),\n        },\n        sourceType: {\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: true,\n          query: 'source-in',\n          datasource: this.setSourceTypeDatasource(),\n          label: 'Mostra solo le seguenti operazioni',\n        }\n      },\n      data: {\n        direction: 'null',\n        sourceUser: !this.privileges.isOperator ? true : ''\n      }\n    });\n\n    if (this.privileges.isOperator) {\n      sourceUser = {\n        required: true,\n        label: 'Utente',\n        datavalue: 'id',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' } }\n      }\n    } else {\n      sourceUser = {\n        control: 'check',\n        label: 'Includi generati dal',\n        query: 'source-user-not-me',\n        description: `Mio ${mdt.parsers.contextualize(this.api.user, 'account')}`\n      }\n    }\n\n    this.searchInterface.schema = {\n      sourceUser,\n      ...this.searchInterface.schema,\n      ...(!this.privileges.isOperator && { sourceUuids })\n    }\n\n    return this.searchInterface.initialize();\n  }\n\n  async initTab() {\n    const isOperator = this.privileges.isOperator;\n    let promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (this.api.hasRole('LIST_USER_CASHBACK_CONTRACTS') && !isOperator) {\n      promises.push(this.getLastAcceptedFlatServiceContract(), this.getLastlastAcceptedMultinvioVolumesContract());\n    }\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      if (!isOperator) this.search();\n      if (isOperator && this.searchInterface.data.sourceUser) this.search();\n    }).catch((error) => {\n      console.log('initTab', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n\n  getLastAcceptedFlatServiceContract() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.lastAcceptedFlatServiceContract = response;\n    });\n  }\n\n  getLastlastAcceptedMultinvioVolumesContract() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      this.lastAcceptedMultinvioVolumesContract = response;\n    });\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n\n    if (this.privileges.isOperator) {\n      this.tableInterface.endpoint = this.setEndpoint(data.sourceUser);\n    } else {\n      data.sourceUser = data.sourceUser ? 'NO' : 'YES';\n      if (data.sourceUuids?.length && data.sourceUser === 'NO') {\n        data.sourceUuids.push(this.api.user.uuid);\n      }\n    }\n\n    const tableInterface = await this.searchInterface.search(data);\n    this.metaResponse = tableInterface?.originalResponse?.meta;\n  }\n\n  async reset() {\n    await this.searchInterface.reset(true);\n    this.searchInterface.data.direction = 'null';\n    this.search();\n  }\n\n  isTransactionDisabledUntilDate(disabledUntilDate) {\n    let isDisabled = false;\n    if (disabledUntilDate) {\n      const currentDate = new Date();\n      isDisabled = currentDate < disabledUntilDate.getTime() ? true : false;\n    }\n    return isDisabled;\n  }\n\n  isTransactionDisabledAfterDate(disabledStartDate) {\n    let isDisabled = false;\n    if (disabledStartDate) {\n      const currentDate = new Date();\n      isDisabled = currentDate > disabledStartDate.getTime() ? true : false;\n    }\n    return isDisabled;\n  }\n\n  getCashbackTransferEligibilityCheck($event, scope) {\n    if (this.isTransactionDisabledAfterDate(this.transactionDisabledDate)) {\n      this.openTemporaryDialog(this.inhibitionCashbackMessage);\n    } else {\n      $event.model.busy = true;\n      this.api.get(`users/me/cashback-transfer-eligibility-check?scope=${scope}`).then(() => {\n        if (scope === 'TRANSFER-CREDIT') return this.dialogCreditTransfer();\n        // if (scope === 'TRANSFER-VOUCHER') return this.dialogTransferVoucher();\n        if (scope === 'TRANSFER-WITHDRAWAL') return this.dialogWithdrawalRequest();\n      }).catch((xhr) => {\n        console.log('Get cashback-transfer-eligibility-check', xhr);\n        return this.api.dialogError(xhr);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  }\n\n  openTemporaryDialog(bodyMessage) {\n    this.dialog.open({\n      title: 'Attenzione',\n      class: 'medium',\n      type: 'alert',\n      body: bodyMessage,\n    });\n  }\n\n  dialogWithdrawalRequest() {\n    return this.dialog.open({\n      class: 'medium withdrawal-request',\n      title: 'Preleva saldo fatturabile',\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/withdrawal-request'),\n      viewModelParams: {\n        billableAmount: this.metaResponse.billableAmount\n      }\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.controllerTabRequests.search();\n      }\n    });\n  }\n\n  dialogCreditTransfer() {\n    return this.dialog.open({\n      class: 'small credit-transfer',\n      title: 'Trasferisci sul mio credito servizio',\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/credit-transfer')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n  // dialogTransferVoucher() {\n  //   return this.dialog.open({\n  //     class: 'small transfer-voucher',\n  //     title: 'Aquista voucher BrainWare',\n  //     viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/transfer-voucher')\n  //   }).whenClosed((response) => {\n  //     if (!response.wasCancelled) {\n  //       this.search();\n  //     }\n  //   });\n  // }\n\n  dialogInsertMovement() {\n    const userId = this.searchInterface.data.sourceUser || null;\n    return this.dialog.open({\n      class: 'small insert-movement',\n      title: 'Inserisci movimento',\n      viewModelParams: { userId },\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/insert-movement')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n  dialogServiceDetail(record) {\n    return this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio abbonamento',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail'),\n      viewModelParams: { ownerId: record.sourceUserId, flatServiceUuid: record.sourceFlatServiceSubscriptionUuid }\n    });\n  }\n\n  navigateToQueueDetail(record) {\n    return this.router.navigate(`spedizioni/reportistica/${record.sourceUserId}/${record.sourceQueueUuid}`);\n  }\n\n  navigateToLegacyReport(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.api.get(`users/me/cross-login-tokens/current`).then((xhr) => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=mi_report&multiqueue_uuid=${record.sourceQueueUuid}`);\n    }).catch(xhr => {\n      console.error('Error - GET cross-login-tokens/current', xhr);\n      this.api.dialogError(xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n\n  movementDetail(record) {\n    if (record.sourceUserId) {\n      if (record.sourceFlatServiceSubscriptionUuid) {\n        return this.dialogServiceDetail(record);\n      } else if (record.sourceQueueUuid) {\n        // The queue detail currently links to legacy but will be replaced\n        return this.navigateToLegacyReport(record);\n        // return this.navigateToQueueDetail(record);\n      }\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast)\nexport class tabRequests {\n  status = {\n    'PENDING' : 'In attesa',\n    'REFUSED' : 'Rifiutata'\n  }\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    model.tab.controller = this;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTab();\n  }\n\n  setEndpoint() {\n    const path = this.privileges.isOperator ? 'bo' : 'users/me';\n    const endpoint = `${path}/cashback-withdrawal-requests`;\n    return endpoint;\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-cashback-requests',\n      endpoint: this.setEndpoint()\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  async initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-cashback-requests-search',\n      table: this.tableInterface,\n      schema: {\n        user: {\n          label: 'Utente',\n          control: 'combo', \n          datavalue: 'uuid',\n          query: 'user-uuid',\n          datapreload: false,\n          datamultiple: false,\n          datatext: 'profile[0].displayName',\n          datasource: { \n            table: 'bo/users?include=user-profiles', \n            query: { search: 'text-search', item: 'uuid-in' }\n          }\n        }\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n\n  async initTab() {\n    await this.initTableInterface();\n    await this.initSearchInterface();\n    this.search();\n  }\n\n  async search() {\n    return this.searchInterface.search();\n  }\n\n  async reset() {\n    await this.searchInterface.reset(true);\n    return this.search();\n  }\n\n  async deleteRequest($event, record) {\n    return this.api.delete(`users/me/cashback-withdrawal-requests/${record.id}`).then(() => {\n      this.search();\n      this.toast.show('Richiesta eliminata con successo!', 'success');\n    }).catch((xhr) => {\n      console.log('Delete cashback-withdrawal-requests', xhr);\n      return this.api.dialogError(xhr);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  dialogDeleteRequest($event, record) {\n    $event.model.busy = true;\n    return this.dialog.open({ \n      class: 'small', \n      type: 'confirm', \n      title: 'Attenzione!', \n      body: `Confermi di voler eliminare questa richiesta di prelievo?`}).whenClosed((response) => {\n      if (!response.wasCancelled) return this.deleteRequest($event, record);\n      $event.model.busy = false;\n    });\n  }\n\n  dialogEditRequest($event, record, status) {\n    $event.model.busy = true;\n    const statusSchema = { 'REFUSED': 'Rifiuta', 'CONFIRMED': 'Conferma' };\n    return this.dialog.open({\n      class: 'small edit-request',\n      title: `${statusSchema[status]} richiesta di prelievo`,\n      viewModelParams: { record, status }, \n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/edit-request')\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { PLATFORM, inject } from 'aurelia-framework';\nimport { KaToast } from 'ka-components';\n\n@inject(Api, Router, KaToast)\nexport class vmTransactions {\n  privileges = {};\n  tabs = [\n    {\n      id: 'movements',\n      label: 'Movimenti',\n      vm: PLATFORM.moduleName('views/cashback/transactions/tabs/movements')\n    },\n    {\n      id: 'requests',\n      label: 'Richieste',\n      vm: PLATFORM.moduleName('views/cashback/transactions/tabs/requests')\n    }\n  ];\n\n  constructor(api, router, KaToast) {\n    this.api = api;\n    this.router = router;\n    this.toast = KaToast;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      downloadDocument: ($event, userId, id) => {\n        $event.model.busy = true;\n        this.toast.show('Caricamento in corso', 'loading');\n        let uri = `/users/${userId || 'me'}/cashback-withdrawal-requests/${id}/downloads/invoice.pdf`;\n    \n        return this.api.client.createRequest(uri)\n        .asGet()\n        .withHeader('Accept', 'application/pdf')\n        .withHeader('Content-Type', 'application/pdf')\n        .withResponseType('blob')\n        .send()\n        .then((xhr) => {\n          let regexp = new RegExp('filename=(.+\\.pdf$)', 'i');\n          let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n          let anchor = document.createElement('a');\n          let blob = new Blob([xhr.response], { type: 'application/pdf' });\n          let url = URL.createObjectURL(blob);\n    \n          anchor.href = url;\n          anchor.download = matches?.[1] || \"Fattura per richiesta trasferimento cashback.pdf\",\n          document.body.appendChild(anchor);\n          anchor.click();\n          document.body.removeChild(anchor);\n          this.toast.show(`Documento scaricato con successo!`, 'success');\n        }).catch((error) => {\n          this.toast.show(`Impossibile scaricare il file!`, 'error');\n          console.log('Get downloads/invoice', error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_CASHBACK_MOVEMENT', 'LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST');\n    \n    if (this.api.hasRole('LIST_USER_CASHBACK_MOVEMENTS', 'LIST_ANY_USER_CASHBACK_MOVEMENT')) {\n      ['movements'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS', 'LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')) {\n      ['requests'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogOrderDetail {\n  order;\n\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.userId = params.userId,\n    this.orderUuid = params.orderUuid,\n    this.orderStatuses = params.orderStatuses,\n    this.paymentMethods = params.paymentMethods;\n    this.downloadOrderInvoice = params.downloadOrderInvoice;\n    this.endpoint = `users/${this.userId}/orders/${this.orderUuid}`;\n  }\n\n  attached() {\n    this.setOrder();\n  }\n\n  getOrder() {\n    return this.api.get(this.endpoint).catch((error) => {\n      console.error('getOrder', error);\n    });\n  }\n\n  setOrder() {\n    this.getOrder().then((xhr) => {\n      this.order = xhr.response;\n      this.parseBillingProfileDetails();\n    });\n  }\n  parseBillingProfileDetails() {\n    if (this.order.billingProfileDetails) {\n      const billingProfile = structuredClone(this.order.billingProfileDetails);\n      this.order._billingProfileDetails = { \n        codes: this.parseBillingProfileCodes(billingProfile),\n        owner: this.parseBillingProfileOwner(billingProfile),\n        address: this.parseBillingProfileAddress(billingProfile)\n      };\n    }\n  }\n  parseBillingProfileAddress(billingProfile) {\n    let province;\n    let city;\n    const address = [billingProfile.streetAddress, billingProfile.zipCode].filter(Boolean).join(' - ');\n    if (billingProfile.city) {\n      province = ![undefined, billingProfile.city].includes(billingProfile.province) ? ` (${billingProfile.province})` : '';\n      city = `${billingProfile.city}${province}`;\n    }\n    return [address, city].filter(Boolean).join(', ');\n  }\n  parseBillingProfileOwner(billingProfile) {\n    return billingProfile.companyName || `${billingProfile.lastName} ${billingProfile.firstName}` || billingProfile.userDisplayName;\n  }\n  parseBillingProfileCodes(billingProfile) {\n    let codes = [];\n    const allowedCodes = ['ipaCode', 'sdiCode', 'officeCode', 'bankOfficeCode'];\n    const codesFound = Object.entries(billingProfile).filter((item) => allowedCodes.includes(item[0]));\n    codesFound?.forEach?.((item) => {\n      const code = item[1];\n      let text = 'Codice ';\n      switch (item[0]) {\n        case 'sdiCode':\n          text += 'SDI:';\n          break;\n        case 'ipaCode':\n          text += 'iPa:';\n          break;\n        case 'officeCode':\n          text += 'ufficio:';\n          break;\n        case 'bankOfficeCode':\n          text += 'ufficio bancario:';\n          break;\n      }\n      codes.push({ text, code });\n    });\n    return codes;\n  }\n  copyText(text, item) {\n    return navigator.clipboard.writeText(text),\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { KaDialog } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(KaDialog, DialogController)\nexport class PaymentInstruction { \n\n  constructor(dialog, dialogController) {\n    this.dialog = dialog;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.instruction = params.order.paymentCoors;\n    this.order = params.order;\n  }  \n}\n","import { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { MfApi } from 'services/mf-api';\n\nexport class SettleInvoice {\n  pendingInit;\n  error = {\n    load: { found: false, msg: 'Errore in fase di caricamento' },\n    confirm: { found: false, msg: 'Errore in fase di invio della richiesta' }\n  }\n  settle = null;\n\n  static inject = [MfApi, KaDialog, DialogController, KaToast];\n  constructor(mfApi, dialog, dialogController, toast) {\n    this.dialog = dialog;\n    this.controller = dialogController;\n    this.mfApi = mfApi;\n    this.toast = toast;\n  }\n  activate(params) {\n    this.invoice = params.record;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    this.mfApi.post(`documents/${this.invoice.document_id}/checkinsolutomd`).then((xhr) => {\n      if (xhr.response && xhr.response.seen !== null && xhr.response.seen !== undefined) {\n        this.settle = { seen: parseInt(xhr.response.seen, 10), html: xhr.response.html };\n        this.error.load.found = false;\n      } else {\n        this.error.load.found = true;\n        this.toast.show('Errore nel caricamento!', 'error');\n      }\n    }).catch(error => {\n      console.error(error);\n      this.error.load.found = true;\n      this.toast.show('Errore nel caricamento!', 'error');\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  confirmInvoice($event) {\n    $event.model.busy = true;\n    return this.mfApi.post(`documents/${this.invoice.document_id}/payinsolutomd`).then((xhr) => {\n      if (xhr.response && xhr.response.html !== null && xhr.response.html !== undefined) {\n        this.invoice.settle = 'Pagamento con bonifico richiesto';\n        this.settle.seen = 1; \n        this.error.confirm.found = false;\n        this.controller.ok();\n        this.toast.show('Pagamento con bonifico richiesto con successo!', 'success');\n      } else {\n        this.error.confirm.found = true;\n        this.toast.show('Errore nella richiesta!', 'error');\n      }\n    }).catch(error => {\n      console.error('confirmInvoice', error);\n      this.error.confirm.found = true;\n    }).finally(() => {\n      $event.model.busy = true;\n    });\n  }\n}\n","import mdt from 'services/md-tools';\nimport { Api } from 'services/api';\nimport { MfApi } from 'services/mf-api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MfFileDownload } from 'services/mf-files';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class ViewInvoicesList {\n  mdt = mdt;\n  isPendingInit;\n  suppliers = [];\n  defaultSettings = { \n    date_to: null,\n    date_from: mdt.helpers.setDateRange() \n  };\n  documentTypes = [\n    { value: 'I', text: 'Fattura' },\n    { value: 'R', text: 'Ricevuta' },\n    { value: 'C', text: 'Nota di credito' }\n  ];\n  paymentStatuses = [\n    { value: 'P', text: 'Pagato', class: 'success' },\n    { value: 'NP', text: 'Non pagato', class: 'error' },\n    { value: 'PP', text: 'Pagato parzialmente', class: 'pending' },\n    { value: 'G', text: 'Girata a terzi', class: 'pending' },\n    { value: 'I', text: 'Insoluto', class: 'error' },\n    { value: 'ND', text: 'ND', class: 'pending' },\n    { value: 'C', text: 'Contabilizzazione', class: '' },\n    { value: 'A', text: 'Addebito CC', class: 'secondary' },\n    { value: 'PB', text: 'SDD Pagato con bonifico', class: 'success' },\n    { value: 'PDC', text: 'SDD Prelievo da deposito cauzionale', class: 'success' },\n    { value: 'PNC', text: 'SDD Emessa nota di credito', class: 'success' }\n  ];\n\n  static inject = [Api, MfApi, KaDialog, KaToast];\n  constructor(api, mfApi, kaDialog, kaToast) {\n    this.api = api;\n    this.mfApi = mfApi;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.api = this.mfApi.api;\n    this.mfFileDownload = new MfFileDownload(this.api, this.mfApi, this.toast);\n  }\n\n  attached() {\n    this.init();\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.mfApi,\n      name: 'invoices-table',\n      endpoint: 'documents'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response?.forEach?.((record) => { this.parseData(record) });\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'invoices-table-search',\n      table: this.tableInterface,\n      schema: {\n        doctype: {\n          control: 'combo',\n          datatext: \"text\",\n          datavalue: \"value\",\n          label: 'Tipo documento',\n          datasource: this.documentTypes,\n          query: 'doctype'\n        },\n        supplier_id: {\n          control: 'combo',\n          label: 'Fornitore',\n          datatext: 'name',\n          datavalue: 'id',\n          datamultiple: false,\n          datasource: [],\n          query: 'supplier_id'\n        },\n        name: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'name',\n        },\n        fiscal_code: {\n          control: 'text',\n          label: 'Codice fiscale',\n          query: 'fiscal_code'\n        },\n        payment_status: {\n          label: 'Stato del pagamento',\n          control: 'combo',\n          datasource: this.paymentStatuses,\n          query: 'payment_status'\n        },\n        source: {\n          query: 'source',\n          control: 'combo',\n          label: 'Sorgente',\n          datamultiple: false,\n          datasource: [{ value: 'ZEN', text: 'Caricate manualmente' }]\n        },\n        number: {\n          control: 'text',\n          label: 'Numero',\n          query: 'number'\n        },\n        date_from: {\n          label: 'Documenti dal',\n          control: 'date',\n          query: 'date_from'\n        },\n        date_to: {\n          label: 'al',\n          control: 'date',\n          query: 'date_to'\n        }\n      },\n      data: structuredClone(this.defaultSettings)\n    });\n    return this.searchInterface.initialize();\n  }\n\n  init() {\n    this.isPendingInit = true;\n    let promises = [this.getSuppliers(), this.initTableInterface(), this.initSearchInterface()];\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (!xhr.value && xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      this.searchInterface.search().then(() => {\n        this.isPendingInit = false;\n      });\n    }).catch((error) => {\n      this.isPendingInit = false;\n      console.error('Init', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  async reset() {\n    await this.searchInterface.reset(false, false);\n    this.searchInterface.data = { date_from: mdt.helpers.setDateRange(), date_to: null };\n    this.searchInterface.search();\n  }\n  getSuppliers() {\n    const endpoint = 'suppliers';\n    const params = { enabled: 1, add_external: 1, order_by: 'name', order_type: 'ASC' };\n    return this.mfApi.get(endpoint, params).then((xhr) => {\n      const suppliers = xhr.response;\n      const multidialogo = { id: '1', name: 'MultiDialogo S.r.l.'};\n      if (suppliers.find((supplier) => supplier.id !== '1')) {\n        suppliers.unshift(multidialogo);\n      }\n      this.setSuppliersDatasource(suppliers);\n    }).catch((error) => {\n      console.error('getSuppliers', error);\n    });\n  }\n  dialogSettleInvoice(record) {\n    return this.dialog.open({\n      viewModelParams: { record },\n      class: 'medium settle-invoice',\n      title: 'Salda con bonifico',\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/settle-invoice')\n    });\n  }\n  setSuppliersDatasource(suppliers) {\n    const datasource = Array.isArray(suppliers) ? suppliers : [];\n    this.searchInterface.schema.supplier_id = Object.assign({}, this.searchInterface.schema.supplier_id, { datasource });\n  }\n\n  // Parse functions\n  parseData(record) {\n    record.doctype_label = (this.documentTypes.find(item => item.value === record.doctype) || { text: 'ND' }).text;\n    record.supplier = (this.searchInterface.schema.supplier_id.datasource.find(item => String(item.id) === String(record.mfsuppliers_id)) || { name: 'ND', fiscal_code: 'ND' });\n    record.payment_status_label = (this.paymentStatuses.find(item => item.value === record.payment_status || item.value === record.status) || { text: 'ND' }).text;\n    record.payment_status_class = (this.paymentStatuses.find(item => item.value === record.payment_status || item.value === record.status) || { class: 'warning' }).class;\n    record.commodity = record.commodity && record.commodity.length ? record.commodity.split(',') : [];\n    record.report = record.report_filename !== null && record.report_filename.length > 0;\n\n    let codici = [];\n    let supplier = this.suppliers.find(item => String(item.id) === String(record.mfsuppliers_id));\n    if (supplier && supplier.pr && record.prcodes) {\n      codici = record.prcodes.split(',');\n    }\n    else if (record.pods && record.pods.length) {\n      codici = record.pods.split(',');\n    }\n    else {\n      codici.push(record.comp_code);\n    }\n\n    record.codici_importazione = codici;\n\n    if (record.mfsuppliers_id === '1' && record.payment === 'SDD' && record.payment_status === 'I') {\n      if (!record.sdd_request_pay || parseInt(record.sdd_request_pay, 10) === 0) {\n        record.settle = 'Salda con bonifico';\n      }\n      else if (parseInt(record.sdd_request_pay, 10) === 1) {\n        record.settle = 'Pagamento con bonifico richiesto';\n      }\n    }\n    return record;\n  }\n  parseDataQuery() {\n    const date_to = this.searchInterface.data.date_to?.substring?.(0, 10);\n    const date_from = this.searchInterface.data.date_from?.substring?.(0, 10);\n    return {\n      ...this.searchInterface.data,\n      ...(this.searchInterface.data.date_to && { date_to }),\n      ...(this.searchInterface.data.date_from && { date_from })\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n\n@inject(Router, Api, KaToast, KaDialog, MdDatasources)\nexport class ViewOrders {\n  isOperator;\n  isMasterUser;\n  totalGrossAmount;\n  DEFAULT_DATE_RANGE_DAYS = 365;\n  orderStatuses = {\n    'A' : { text: \"In attesa di pagamento\", class: \"pending\" },\n    'C' : { text: \"Pagato\", class: \"success\" },\n    'I' : { text: \"Insoluto\", class: \"error\"}\n  }\n\n  constructor(router, api, toast, dialog, mdDatasources) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n    this.mdDatasources = mdDatasources;\n  }\n\n  activate() {\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_ORDER');\n    this.isMasterUser = this.api.user.group.includes('MASTER_USER');\n  }\n\n  attached() {\n    this.paymentMethods = this.getPaymentMethod();\n    this.init();\n  }\n\n  getPaymentMethod() {\n    const paymentMethods = [...this.mdDatasources.paymentMethods];\n    paymentMethods.push({\n      code: 'LICENZACAL',\n      label: 'Prelievo da deposito cauzionale'\n    });\n    const mappedMethods = new Map(\n      paymentMethods.map(method => [method.code, method.label])\n    );\n    return mappedMethods;\n  }\n\n  getPaymentMethodDatasource = () => {\n    const cleanedPayments = this.mdDatasources?.paymentMethods?.filter((method) => {\n      return method.code !== \"E-PAYMENT\" && method.code !== \"PAYPAL\";\n    }).map((method) => {\n      const { code, label } = method;\n      const paymentMethod = {\n        text: label,\n        value: code\n      };\n      return paymentMethod;\n    });\n\n    const staticPaymentMethods = [\n      { text: 'Prelievo da deposito cauzionale', value: 'LICENZACAL' },\n    ];\n\n    const paymentMethods = [...cleanedPayments, ...staticPaymentMethods];\n    return paymentMethods;\n  };\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      if (!this.isOperator) this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'orders-table',\n      endpoint: null,\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', (event) => {\n      this.totalGrossAmount = event.xhr.originalResponse.meta.totalGrossAmount;\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'orders-table-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali ordini vuoi visualizzare?',\n          datasource: this.isMasterUser ? this.getContextDatasource() : [],\n          datatext: \"text\",\n          datavalue: \"value\",\n          required: !this.isOperator,\n        },\n        owner: {\n          datavalue: 'id', \n          control: 'combo',\n          datapreload: false,\n          datamultiple: false,\n          required: !!this.isOperator,\n          label: 'Utente',\n          datatext: 'profile[0].displayName',\n          datasource: { \n            table: `${this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, \n            query: { search: 'text-search', item: 'id-in'}\n          }\n        },\n        orderNumber: {\n          label: 'Numero ordine',\n          control: 'text',\n          query: 'order-id-in',\n          required: !!this.isOperator,\n        },\n        paymentStatus: {\n          label: 'Stato del pagamento',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'CONFIRMED', text: 'Confermato' },\n            { value: 'PENDING', text: 'In attesa di pagamento' },\n            { value: 'UNSOLVED', text: 'Insoluto' }\n          ],\n          query: 'status'\n        },\n        createdAtGte: {\n          label: 'Ordine creato dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: this.getPaymentMethodDatasource(),\n          query: 'payment-method'\n        }\n      },\n      data: {\n        owner: null,\n        context: !this.isOperator ? 'USER&SUBUSERS' : null,\n        orderNumber: null,\n        paymentMethod: null,\n        paymentStatus: 'null',\n        createdAtLte: this.setDefaultDateRange(),\n        createdAtGte: this.setDefaultDateRange(this.DEFAULT_DATE_RANGE_DAYS)\n      }\n    });\n    \n    return this.searchInterface.initialize();\n  }\n\n  search() {\n    const { owner, orderNumber, context } = this.searchInterface.data;\n    this.updateValidationRules(owner, orderNumber);\n    this.tableInterface.endpoint = this.getOrdersEndpoint(owner, context, orderNumber);\n    this.searchInterface.search().then(() => {\n      if (this.isOperator) {\n        this.searchInterface.controls.owner.required = (this.searchInterface.controls.orderNumber.required = true);\n      }\n    });\n  }\n\n  setDefaultDateRange(days) {\n    const currentDate = new Date();\n\n    if (days) {\n      currentDate.setDate(currentDate.getDate() - days);\n    }\n    return currentDate.toISOString();\n  }\n\n  contextChanged() {\n    this.setOwnerValue();\n  }\n\n  setOwnerValue() {\n    if (this.isMasterUser && this.searchInterface.data.context !== 'SUBUSERS') {\n      this.searchInterface.data.owner = null;\n    }\n  }\n\n  ownerChanged() {\n    this.setContextSchema();\n    this.setContextValue();\n  }\n\n  setContextSchema() {\n    if (this.isOperator) {\n      const { owner } = this.searchInterface.data;  \n      if (!owner) {\n        this.searchInterface.data.context = null;\n      } else {\n        this.searchInterface.schema.context = Object.assign({}, this.searchInterface.schema.context, { datasource: this.getContextDatasource() });\n      }\n    }\n  }\n\n  setContextValue () {\n    if (this.isOperator && this.searchInterface.controls.owner?.control?.valueModel?.parentId) {\n      this.searchInterface.data.context = 'USER';\n    } else if (this.isOperator) {\n      this.searchInterface.data.context = 'USER&SUBUSERS';\n    }\n  }\n\n  getContextDatasource() {\n    if (this.isOperator) {\n      let datasource = [{\n        value: 'USER',\n        text: `Gli ordini dell'utente`\n      }];\n      if (!this.searchInterface.controls.owner?.control?.valueModel?.parentId) {\n        datasource = [{\n          value: 'USER&SUBUSERS',\n          text: 'Gli ordini di tutti'\n        },\n        ...datasource,\n        { \n          value: 'SUBUSERS', \n          text: `Gli ordini dei sottoutenti` \n        }];\n      }\n      return datasource;\n    } else if(this.isMasterUser) {\n      return [{ \n        value: 'USER&SUBUSERS', \n        text: `Gli ordini di tutti` \n      }, { \n        value: 'USER', \n        text: `Gli ordini del mio ${mdt.parsers.contextualize(this.api.user, 'account')}` \n      }, { \n        value: 'SUBUSERS', \n        text: `Gli ordini dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}` \n      }];\n    }\n  }\n\n  getContextSuffix() {\n    const context = this.searchInterface?.data?.context;\n    let suffix = '';\n    if (context === 'SUBUSERS' && (this.isOperator || !this.searchInterface.data.owner)) {\n      suffix = '/~subs';\n    } else if (context === 'USER&SUBUSERS') {\n      suffix = '/~all';\n    }\n    return suffix;\n  }\n\n  updateValidationRules(owner, orderNumber) {\n    if (this.isOperator) {\n      if (!owner && orderNumber) {\n        this.searchInterface.controls.owner.required = false;\n      } else if (owner && !orderNumber) {\n        this.searchInterface.controls.orderNumber.required = false;\n      }\n    }\n  }\n\n  getOrdersEndpoint(owner, context, orderNumber) {\n    if (this.isOperator && !owner && orderNumber) {\n      return 'bo/orders';\n    }\n    const contextSuffix = this.getContextSuffix();\n    const isUserSpecific = this.isOperator || (context === 'SUBUSERS' && owner);\n    const basePath = isUserSpecific ? `users/${owner}` : 'users/me';\n    return `${basePath}/orders${contextSuffix}`;\n  }\n\n  resetDateRange(days) {\n    this.searchInterface.data.createdAtLte = this.setDefaultDateRange();\n    this.searchInterface.data.createdAtGte = this.setDefaultDateRange(days);\n  }\n\n  reset() {\n    this.searchInterface.reset(false, false);\n    this.searchInterface.data.paymentStatus = 'null';\n    this.resetDateRange(this.DEFAULT_DATE_RANGE_DAYS);\n    this.tableInterface.data = null;\n    this.totalGrossAmount = null;\n    if (!this.isOperator) {\n      this.searchInterface.data.context = 'USER&SUBUSERS';\n      this.search();\n    } else {\n      this.searchInterface.data.context = null;\n    }\n  }\n  \n  copyText(text, item) {\n    return navigator.clipboard.writeText(text),\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  dialogPaymentInstructions(order) {\n    return this.dialog.open({\n      viewModelParams: { order },\n      class: 'medium payment-instructions',\n      title: order.status === 'A' ? 'Istruzioni di pagamento' : 'Salda con bonifico',\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/payment-instructions')\n    });\n  }\n\n  dialogOrderDetail(order) {\n    return this.dialog.open({\n      viewModelParams: { \n        userId: order.userId,\n        orderUuid: order.uuid,\n        orderStatuses: this.orderStatuses,\n        paymentMethods: this.getPaymentMethod(),\n        downloadOrderInvoice: this.downloadOrderInvoice.bind(this)\n      },\n      class: 'large order-detail',\n      title: `Dettaglio ordine`,\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/order-detail')\n    });\n  }\n\n  downloadOrderInvoice(order) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    const uri = `users/${order.userId}/orders/${order.uuid}/downloads/invoice.pdf`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader(\"Accept\", \"application/pdf\")\n      .withHeader(\"Content-Type\", \"application/pdf\")\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regexp = new RegExp('filename=(.+\\.pdf$)');\n        const disposition = xhr.headers.headers['content-disposition'].value;\n        const matches = disposition ? disposition.match(regexp) : null;\n        const filename = (matches && matches[1]) ? matches[1] : 'invoice.pdf';\n        const anchor = document.createElement(\"a\");\n        const blob = new Blob([xhr.response], { type: 'application/pdf' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = filename;\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show(\"Fattura scaricata correttamente\", 'success');\n      }).catch((error) => {\n        console.error(error);\n        this.toast.show('Impossibile scaricare la fattura', 'error');\n      }).finally(() => {\n        this.toast.consume();\n      })\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {Navigation} from '../app/app-navigation'\n\n@inject(Router, Api, Navigation)\nexport class Dashboard {\n  constructor(router, api, navigation) {\n    this.api = api;\n    this.router = router;\n    this.navigation = navigation;\n  }\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate() {}\n\n  attached() {\n    if (this.api.user.group === 'MASTER_USER') this.sendEnabled = true;\n  }\n}\n","import { Api } from 'services/api';\nimport { Aurelia } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { FidelityCardsModel } from '../../classes/models/fidelityCards';\n\nexport class ViewActivation {\n  statuses;\n  isPendingInit;\n  fidelityCards;\n  userPromotions;\n  fidelityCardsModel;\n  userCurrentFidelityCard;\n  templateCard = PLATFORM.moduleName('views/fidelity-cards/templates/card');\n\n  static inject = [Api, Aurelia, KaDialog, KaToast];\n  constructor(api, aurelia, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.aurelia = aurelia;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.fidelityCardsModel = new FidelityCardsModel(this.api, this.toast);\n    this.statuses = this.fidelityCardsModel.statuses;\n  }\n\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    this.getFidelityCards().then((xhr) => {\n      const response = xhr.response;\n      this.userCurrentFidelityCard = this.setUserFidelityCard(response);\n      this.fidelityCards = this.parseFidelityCards(response);\n      this.userPromotions = this.setUserPromotions();\n      this.viewActivation = this;\n      this.isPendingInit = false;\n    }).catch((error) => {\n      this.isPendingInit = false;\n      console.error('getFidelityCards', error);\n    });\n  }\n  getFidelityCards() {\n    const path = 'users/me/fidelity-cards';\n    return this.api.get(path);\n  }\n\n  // Parse functions\n  parseFidelityCards(fidelityCards) {\n    fidelityCards.forEach?.((card) => {\n      const status = card.status;\n      card.statusClass = this.statuses?.[status]?.class;\n      card.statusLabel = this.statuses?.[status]?.label;\n      if (card.activable === 'YES') {\n        card.statusDescription = `Puoi attivare la Fidelity Card ${card.title}`;\n      } else {\n        card.statusDescription = `Non puoi attivare la Fidelity Card ${card.title} ${this.userCurrentFidelityCard ? 'perchè hai già attivato una Fidelity Card più vantaggiosa' : ''}`;\n      }\n      if (card.revocable === 'YES') {\n        card.revocableMessage = `Per richiesta di recesso inviare comunicazione a <a href=\"mailto:fidelity@multidialogo.it\">fidelity@multidialogo.it</a>`;\n      }\n      switch (status) {\n        case 'GRACE-PERIOD':\n          card.statusDescription = `La Fidelity Card ${card.title} è in periodo di tolleranza, sarà possibile rinnovare entro il ${this.dateFormat(card?.gracePeriodEndAt, 'DD/MM/YY')}`;\n          break;\n        case 'ACTIVE':\n          card.statusDescription = `${card?.statusLabel} dal ${this.dateFormat(card?.activatedAt, 'DD/MM/YY')} al ${this.dateFormat(card?.expireAt, 'DD/MM/YY')}`;\n          break;\n      }\n    });\n    return fidelityCards;\n  }\n  dateFormat(data, format = null) {\n    return this.aurelia?.resources?.valueConverters?.dateFormat?.toView?.(data, format);\n  }\n\n  // Set functions\n  setUserFidelityCard(response) {\n    return response?.find?.((card) => ['ACTIVE','GRACE-PERIOD'].includes(card?.status));\n  }\n  setUserPromotions() {\n    let userPromotions = [];\n    this.fidelityCards.forEach?.((card) => {\n      if (!card?.status) {\n        const code = card.code;\n        const title = card.title;\n        if (card.promotion) {\n          card.promotion.card = { title, code };\n          userPromotions.push(card.promotion);\n        }\n      }\n    });\n    return userPromotions;\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogFidelityCardActivation {\n  disclosure;\n  isActivable;\n  isPendingInit;\n  isPendingActivation;\n  isAcknowledgementPending;\n  elementDialogHeaderH2;\n  resource = {\n    schema: {\n      acknowledgement: {\n        control: 'check'\n      }\n    },\n    data: {}\n  };\n\n  changeAcknowledgement() {\n    this.isAcknowledgementPending = true;\n    this.postDisclosureAcceptances().finally(() => {\n      this.isAcknowledgementPending = false;\n    });\n  }\n\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n  activate(params) {\n    this.params = params;\n    this.api = params.api;\n    this.card = params.card;\n    this.toast = params.toast;\n    this.dialog = params.dialog;\n    this.userFidelityCard = params.userFidelityCard;\n    this.fidelityCardsModel = params.fidelityCardsModel;\n  }\n  attached() {\n    this.elementDialogHeaderH2 = document.querySelector('ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2');\n    this.init();\n  }\n\n  // Init functions\n  init() {\n    this.isPendingInit = true;\n    this.appendElementFidelityCardTitle();\n    this.appendElementFidelityCardPrice();\n    this.getFidelityCardDisclosure().then((xhr) => {\n      this.disclosure = xhr.response;\n      this.resource.schema.acknowledgement.description = this.disclosure.acknowledgementStatement;\n    }).catch((error) => {\n      console.error('getFidelityCardDisclosure', error);\n    }).finally(() => {\n      this.isPendingInit = false;\n    });\n  }\n  appendElementFidelityCardTitle() {\n    let span = document.createElement('span');\n    span.classList.add('card-title');\n    span.innerHTML = `Informativa card <strong>${this.card.title}</strong>`;\n    this.elementDialogHeaderH2.append(span);\n  }\n  appendElementFidelityCardPrice() {\n    let div = document.createElement('div');\n    div.classList.add('new-tag');\n    if (this.card?.price === 0) div.classList.add('success');\n    div.innerHTML = this.card?.price === 0 ? 'Gratuita' : `Prezzo ${this.card?.price}€/Anno`;\n    this.elementDialogHeaderH2.append(div);\n  }\n\n  // Http functions\n  getFidelityCardDisclosure() {\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure`;\n    return this.api.client.createRequest(path)\n      .asGet()\n      .withHeader('Content-Type', 'application/json')\n      .send()\n  }\n  postDisclosureAcceptances() {\n    const disclosureAccepted = this.resource.data.acknowledgement ? 'YES' : 'NO';\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure-acceptances`;\n    return this.api.post(path, { disclosureAccepted }).then((xhr) => {\n      this.isActivable = xhr?.response?.fidelityCardUuid === this.card.id;\n    }).catch((error) => {\n      console.error('postDisclosureAcceptances', error);\n      this.api.dialogError(error);\n    });\n  }\n  fidelityCardActivation($event) {\n    $event.model.busy = this.isPendingActivation = true;\n    this.fidelityCardsModel?.activation(this.card).then(() => {\n      this.controller.ok();\n    }).finally(() => {\n      $event.model.busy = this.isPendingActivation = false;\n    });\n  }\n\n  // Useful functions\n  acceptDisclosure($event) {\n    if (this.userFidelityCard?.code && this.userFidelityCard.code !== this.card.code) {\n      return this.dialogSwitchingActivation().whenClosed((response) => {\n        if (!response.wasCancelled) return this.fidelityCardActivation($event);\n      });\n    } else return this.fidelityCardActivation($event);\n    \n  }\n\n  // Dialog functions\n  dialogSwitchingActivation() {\n    const body = `<span class=\"d-block mb-3\">Stai passando dalla <strong>Fidelity Card ${this.userFidelityCard?.name}</strong> alla <strong>Fidelity Card ${this.card.name}.</strong></span><span>Confermi di voler continuare?</span>`;\n    return this.dialog.open({ \n      body,\n      class: 'small', \n      type: 'confirm', \n      title: 'Attenzione!',\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogFidelityCardActivation {\n  static inject = [Api, DialogController, KaToast];\n  constructor(api, controller, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n  activate(params) {\n    this.params = params;\n    this.card = params.card;\n  }\n  confirm($event) {\n    $event.model.busy = true;\n    let value = this.card.autoRenewEnabled === 'YES' ? 'NO' : 'YES';\n    return this.api.patch(`users/me/fidelity-cards/${this.card.code}/auto-renew`, { value }).then(() => {\n      switch (value) {\n        case 'YES':\n          this.toast.show(`Hai attivato il rinnovo automatico`, 'success');\n          break;\n        case 'NO':\n        this.toast.show(`Hai disattivato il rinnovo automatico`, 'success');\n          break;\n      }\n      this.controller.ok();\n    }).catch((error) => {\n      console.error('patchAutoRenew', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { MdFileDownload } from 'services/md-files';\n\nexport class viewTemplateCard {\n  templateFidelityCard = PLATFORM.moduleName('views/fidelity-cards/templates/fidelity-card');\n\n  activate(model) {\n    this.model = model;\n    this.card = model.card;\n    this.parent = model.parent;\n    this.dialog = this.parent.dialog;\n    this.fidelityCardsModel = this.parent.fidelityCardsModel;\n    this.mdFileDownload = new MdFileDownload(this.parent.api, this.parent.toast);\n  }\n\n  disclosureDownload($event, card) {\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure`;\n    this.mdFileDownload.fileDownload(path, card, 'pdf', $event);\n  }\n\n  // Set functions\n  setActivationButtonMessage(card, context = null) {\n    const activationMessage = `${card.status === 'GRACE-PERIOD' ? 'Rinnova ' : !!this.parent?.userCurrentFidelityCard ? 'Passa a ' : 'Attiva '}${card.title}`;\n    if (context === 'tooltip' && card.activable === 'NO') return card.statusDescription;\n    return activationMessage;\n  }\n  setSelfRenewTooltip(card) {\n    if (card.autoRenewEnabled === 'YES') {\n      return 'La Fidelity Card si rinnoverà automaticamente alla scadenza';\n    }\n    return 'Rinnovo automatico inattivo. La Fidelity Card potrà essere rinnovata manualmente';\n  }\n\n  // Dialog functions\n  dialogCardActivation($event, card) {\n    $event.model.busy = true;\n    const userCurrentFidelityCard = this.parent?.userCurrentFidelityCard;\n    this.dialog.open({\n      title: ' ',\n      class: 'fidelity-card-activation',\n      viewModelParams: { \n        card,\n        api: this.parent.api, \n        userCurrentFidelityCard,\n        toast: this.parent.toast,\n        dialog: this.parent.dialog,\n        fidelityCardsModel: this.fidelityCardsModel\n      },\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-card-activation')\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) this.parent.init();\n      $event.model.busy = false;\n    });\n  }\n  dialogCardManagement($event, card) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Gestione rinnovo',\n      viewModelParams: { card },\n      class: 'fidelity-card-renewal-management',\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-card-renewal-management')\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) this.parent.init();\n      $event.model.busy = false;\n    });\n  }\n  dialogGracePeriodInformation(card) {\n    if (card.gracePeriod) {\n      return this.dialog.open({ \n        type: 'alert', \n        class: 'small', \n        title: 'Attenzione!', \n        body: `<p class=\"m-0\">La tua <strong>fidelity card ${card.name}</strong> é Scaduta. Hai tempo fino al <strong>${card.gracePeriod}</strong> per rinnovarla, nel frattempo continuerai a maturare punti Multicoin che potranno essere utilizzati solo al rinnovo. <strong>Terminato il periodo di tolleranza, i punti Multicoin accumulati in questo intervallo saranno azzerati.</strong></p>`\n      });\n    }\n  }\n\n  // Http functions\n  fidelityCardRenew($event, card) {\n    $event.model.busy = true;\n    this.fidelityCardsModel.renew(card).then(() => {\n      this.parent.init();\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","export class viewTemplateFidelityCard{\n  templateFidelityCard = PLATFORM.moduleName('views/fidelity-cards/templates/fidelity-card');\n  \n  activate(model) {\n    this.model = model;\n    this.card = model.card;\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\nimport { Router } from \"aurelia-router\";\nimport mdt from 'services/md-tools';\n\nexport class DialogHelpServicesAgreement {\n  mdt = mdt;\n  services = {\n    'MultiDialogo': {\n      target: \"\",\n      text: \"MultiDialogo\"\n    },\n    'MultiInvio': {\n      text: \"MultiInvio\",\n      target: \"https://termsofservice.multidialogo.it/multidialogo/multinvio/condizioni-contrattuali/\"\n    },\n    'Multinforma': {\n      text: \"Multinforma\",\n      target: 'https://termsofservice.multidialogo.it/multidialogo/multinforma/condizioni-contrattuali/'\n    }\n  }\n\n  resource = {\n    schema: {\n      service: {\n        control: 'combo',\n        label: 'Seleziona il servizio',\n        datasource: this.setDatasourceServices(),\n        datatext: 'text',\n        datavalue: 'value'\n      }\n    },\n    data: {\n      service: 'MultiDialogo',\n    }\n  }\n\n  static inject = [DialogController, Router];\n  constructor(controller, router) {\n    this.controller = controller;\n    this.router = router;\n  }\n\n  setDatasourceServices() {\n    let datasource = [];\n    for (const [key, value] of Object.entries(this.services)) {\n      datasource.push({ value: key, text: value.text, target: value.target });\n    }\n    return datasource;\n  }\n\n  openServiceAgreement() {\n    const selectedService = this.resource.data.service;\n\n    const serviceData = this.resource.schema.service.datasource.find(x => x.value === selectedService);\n\n    if (selectedService !== 'MultiDialogo') {\n      window.open(serviceData.target, '_blank');\n    } else {\n      this.router.navigateToRoute('impostazioni/agreements', { id: 'last' });\n    }\n\n    this.controller.ok();\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class Help {\n  urls = {\n    privacy: \"https://termsofservice.multidialogo.it/multidialogo/privacy-policy/\",\n    mailTo: \"mailto:assistenza@multidialogo.it\",\n    sla: \"https://termsofservice.multidialogo.it/multidialogo/sla/\",\n    knowledge: \"https://docs.multidialogo.it/s/\"\n  }\n\n  constructor(router, api, toast, dialog) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.supportTickets.reload();\n  }\n\n  supportTickets = {\n    data: null,\n    reload: () => {\n      this.api.get(`users/me/support-tickets`).then(xhr => {\n        let response = xhr.response.filter(x => x.expired === false);\n        this.supportTickets.data = response && response.length > 0 ? response[0] : null;\n      }).catch(error => {\n        console.log('Errore GET support-tickets', error);\n      });\n    },\n    request: () => {\n      this.api.post(`users/me/support-tickets`, {}).then(() => {\n        this.toast.show('Codice assistenza generato!', 'success');\n        this.supportTickets.reload();\n      }).catch(error => {\n        console.log('Errore POST support-tickets', error);\n        this.toast.show('Impossibile generare codice assistenza!', 'error');\n      });\n    }\n  };\n\n  dialogHelpServicesAgreement() {\n    return this.dialog.open({\n      title: 'Condizioni e termini contrattuali',\n      class: 'help-services-agreement small',\n      viewModel: PLATFORM.moduleName('views/help/dialogs/help-services-agreement')\n    });\n  }\n\n  openExternalLink(target) {\n    window.open(target, \"_blank\");\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { activationStrategy } from 'aurelia-router';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdUser } from 'services/md-user';\n\n@inject(Router, Api, KaToast, KaDialog, MdUser)\nexport class ViewAgreements {\n  redirect = null;\n  agreement = {\n    route: PLATFORM.moduleName('views/_agreement/agreement'),\n    view: {},\n    back: false\n  }\n\n  constructor(router, api, toast, dialog, mdUser) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdUser = mdUser;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init(this.params?.id);\n  }\n\n  init(id) {\n    if (id && id === 'last') this.agreement.back = true;\n    let url = id === 'last' ? 'accepted-user-agreements/last' : 'user-agreements/current';\n    this.allClausesAccepted = false;\n\n    // Current agreement\n    this.api.get(`users/me/${url}`).then((xhr) => {\n      const response = xhr.response;\n      this.agreement.view = (response?.constructor === Object && Object.keys(response || '')?.length === 0) ? null : response;\n      if (this.agreement.view?.clauses?.length) {\n        this.agreement.view.clauses.forEach(clause => { clause.accepted = false; });\n\n        // Clauses already accepted\n        this.api.get(`users/me/user-agreements/${this.agreement.view.uuid}/clause-acceptances`).then(xhr => {\n          this.acceptances = xhr.response;\n          if (this.acceptances?.length) {\n            this.agreement.view.clauses.forEach(clause => {\n              if (this.acceptances.find(x => x.userAgreementClauseUuid === clause.id)) clause.accepted = true;\n            });\n          }\n        }).catch(error => {\n          console.log('Clause acceptances', error);\n        });\n      }\n    }).catch(error => {\n      let status = [404, 405, 406, 407, 408, 409, 410];\n      if (status.includes(error.statusCode)) {\n        this.agreement.view = null;\n        this.redirect = localStorage.getItem(`u${this.api.user.id}-eula-href`);\n        console.log('checkAgreements - no current agreement', error, `u${this.api.user.id}-eula-href refirect href`, this.redirect);\n        this.toast.show('Condizioni di servizio accettate', 'success');\n      } else {\n        console.log('Agreements subscription', error);\n        this.toast.show('Sottoscrizione fallita', 'error');\n      }\n    })\n  }\n\n  accept(event) {\n    if (!this.acceptances) return\n    event.model.busy = true;\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Stai accettando le nostre condizioni di servizio. Continua per poter accedere alla piattaforma.'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        let promises = [];\n        this.agreement.view.clauses.forEach(clause => {\n          if (clause.accepted && !this.acceptances.find(x => x.userAgreementClauseUuid === clause.id)) {\n            promises.push(this.api.post(`users/me/user-agreements/${this.agreement.view.uuid}/clause-acceptances`, [{ userAgreementClauseUuid: clause.id }]));\n          }\n        });\n        Promise.all(promises).then(() => {\n          this.init();\n          event.model.busy = false;\n          this.mdUser.checkFlow.getCheck('checkAgreements').hasPassed = true;\n        }).catch(errors => {\n          console.log('Agreements approval promises', errors);\n        });\n      } else event.model.busy = false;\n    });\n  }\n\n  areAllClausesAccepted() {\n    console.log('agreement.view.clauses', this.agreement);\n    setTimeout(() => {\n      if (this.agreement.view.clauses.some(clause => clause.accepted === false)) {\n        return this.allClausesAccepted = false;\n      } else return this.allClausesAccepted = true;\n    }, 0);\n  }\n\n  cancel() {\n    this.router.navigateToRoute('help');\n  }\n}\n\n","import { inject, bindable } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniEmail {\n  @bindable() prefsel = null;\n  environment = environment;\n  multinvioDigitalSelfUsages;\n  isMultinvioDigitalSelfUsagesEnded = false;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n  \n  attached() {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') {\n      this.getMultinvioDigitalSelfUsages().then((xhr) => {\n        this.multinvioDigitalSelfUsages = xhr.response;\n        this.isMultinvioDigitalSelfUsagesEnded = this.multinvioDigitalSelfUsages?.usage >= this.multinvioDigitalSelfUsages?.limit;\n      }).catch((error) => {\n        console.error('current-year', error);\n      });\n    }\n  }\n\n  getMultinvioDigitalSelfUsages() {\n    return this.api.get('users/me/multinvio-digital-self-usages/current-year');\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      displayAddress: { control: 'text', label: 'Email mittente', readonly: true },\n      displayName: { control: 'text', label: 'Denominazione mittente' },\n      notificationAddress: { control: 'text', label: 'Indirizzo per notifiche' },\n      emailForwarding: {\n        certified: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con PEC' },\n        notCertified: { control: 'check', label: 'Abilita l\\'invio delle comunicazioni a tutte le caselle mail presenti in anagrafica' },\n      },\n      certifiedAddresses: { control: 'text' }\n    },\n    data: {},\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && !!x.response.requested?.sender?.email) || (!this.preferences.isCal && !!x.response.current?.sender?.email);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'email'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.hasInheritedPEC = x.response.requested && !x.response.requested.sender?.email?.certifiedAddresses?.length && !!x.response.current?.sender?.email?.certifiedAddresses?.length;\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/email`, { enableOverride: !this.preferences.isOverride }).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => { }).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/email`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  pec = {\n    selected: false,\n    endpoint: null,\n    schema: {\n      label: { label: 'Etichetta', control: 'text' },\n      address: { label: \"Indirizzo\", control: 'text' },\n      username: { label: \"Username\", control: 'text' },\n      password: { label: 'Password', control: 'password' },\n      smtpServer: { label: 'Server SMTP', control: 'text' },\n      smtpPort: { label: 'Porta SMTP', control: 'number' }\n    },\n    data: {\n      smtpPort: 465\n    },\n    reload: () => {\n      this.pec.selected = false;\n      this.pec.data = {};\n      this.preferences.reload();\n    },\n    add: () => {\n      this.pec.selected = true;\n    },\n    edit: (item) => {\n      this.pec.selected = true;\n      this.pec.data = item;\n    },\n    delete: (item) => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare l\\'indirizzo selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/me/preferences/sender/email/certified-addresses/${item.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.pec.reload();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = JSON.parse(JSON.stringify(this.pec.data));\n      let url = data.uuid ? `users/${this.prefsel}/preferences/sender/email/certified-addresses/${data.uuid}` : `users/${this.prefsel}/preferences/sender/email/certified-addresses`;\n      let method = data.uuid ? `patch` : `post`;\n      if (data && Object.entries(data).length) {\n        if (data.smtpPort) data.smtpPort = parseInt(data.smtpPort);\n        this.pec.resource.save(data, url, method).then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.pec.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  }\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\nimport {KaToast, KaDialog} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniFax {\n  @bindable() prefsel = null;\n  environment = environment;\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    console.log('PREFSEL changed', value);\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      cover: {control: 'textarea', label: 'Copertina' },\n      name: { control: 'text', label: 'Nome mittente' },\n      prefix: { control: 'combo', label: 'Prefisso', datasource: [{value: '+39', text: '+39'}], datavalue: 'value', datatext: 'text', datapreload: true },\n      number: { control: 'number', label: 'Numero di fax' }\n    },\n    data: {},\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.fax) || (!this.preferences.isCal && x.response.current?.sender?.fax);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'fax'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/fax`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        if (data.number) data.prefix = data.prefix || '+39';\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/fax`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniGenerali {\n  @bindable() prefsel = null;\n  environment = environment;\n  mdt = mdt;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    this.preferences.reload();\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    console.log('PREFSEL changed', value);\n    setTimeout(() => {\n      this.mobileNumbers.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      masterUserCreditSharing: { control: 'check', datamultiple: false, description: 'Attivo' },\n      sdi: {\n        code: { control: 'text' },\n        genericSubuserCode: { control: 'text' }\n      },\n      debtGuarantorDisplayName: { control: 'text', label: 'Garante deposito' },\n      debtGuarantorUuid: {\n        label: 'Garante deposito', \n        control: 'combo',  \n        datatext: 'profile[0].displayName',\n        datavalue: 'uuid', \n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n        query: 'parent-uuid-in'\n      },\n      enableCreditPartialUsage: { control: 'check', datamultiple: false, label: 'Usa il credito residuo per il pagamento delle spedizioni', description: 'Attivo' },\n      enableToPayQueueDutiesForSubuserAtCheckout: { control: 'check', datamultiple: false, description: 'Attivo' },\n      registerBillsAsManagementMovement: { control: 'check', datamultiple: false, label: 'Le fatture delle spedizioni verranno registrate come movimento di gestione, senza la suddivisione per costi personali' }\n    },\n    data: {},\n    checks: {\n      masterUserCreditSharing: false\n    },\n    writeEnabled: false,\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/me/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.email) || (!this.preferences.isCal && x.response.current?.sender?.email);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['payment'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.checks.masterUserCreditSharing = this.preferences.data.masterUserCreditSharing?.scopes?.includes('QUEUE-DUTIES');\n      });\n      this.writeEnabled = this.api.hasRole('MODIFY_USERS_PRIVILEDGED_PREFERENCES');\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.preferences.data;\n      if (this.preferences.checks.masterUserCreditSharing === true) {\n        if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n        if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') < 0) data.masterUserCreditSharing.scopes.push('QUEUE-DUTIES');\n      } else if (this.preferences.checks.masterUserCreditSharing === false) {\n        if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n        if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') > -1) data.masterUserCreditSharing.scopes.splice(data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES'), 1);\n      }\n      data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data.debtGuarantorDisplayName) delete data.debtGuarantorDisplayName;\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/me/preferences/payment`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  mobileNumbers = {\n    endpoint: null,\n    schema: {\n      //internationalPrefix: { control: 'number', label: 'Prefisso'},\n      internationalPrefix: { control: 'combo', label: 'Prefisso', datasource: [{value: '+39', text: '+39'}], datavalue: 'value', datatext: 'text', datapreload: true },\n      number: { control: 'number', label: 'Numero di telefono'},\n      confirmationCode: { control: 'text', label: 'Codice di sicurezza ricevuto tramite SMS'}\n    },\n    records: [],\n    optedIn: null,  // List of all mobile numbers already registred and verified\n    optedOut: null, // List of all mobile numbers already registred but not yet verified\n    uuid: null,\n    data: {\n      internationalPrefix: '+39',\n      number: null,\n      confirmationCode: null\n    },\n    reset: () => {\n      this.mobileNumbers.data.number = null;\n      this.mobileNumbers.reload();\n    },\n    reload: () => {\n      this.mobileNumbers.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences/mobile-numbers`).then(x => {\n        this.mobileNumbers.records = x.response;\n        this.mobileNumbers.optedIn = x.response.filter(x => x.status === 'opted-in');\n        this.mobileNumbers.optedOut = x.response.filter(x => x.status === 'opted-out');\n        this.mobileNumbers.uuid = (this.mobileNumbers.optedIn[0] || this.mobileNumbers.optedOut[0] || { uuid: null}).uuid;\n      });\n    },\n    request: ($event) => {\n      $event.model.busy = true;\n      // Normalize data\n      this.mobileNumbers.data.internationalPrefix = String(this.mobileNumbers.data.internationalPrefix);\n      this.mobileNumbers.data.number = String(this.mobileNumbers.data.number);\n      // Override data\n      let overrideData = Object.assign({}, this.mobileNumbers.data);\n      overrideData.number = overrideData.internationalPrefix + overrideData.number;\n      delete overrideData.internationalPrefix;\n      delete overrideData.confirmationCode;\n      // Save data through md-resource\n      this.mobileNumbers.resource.save(overrideData, `users/${this.prefsel}/preferences/mobile-numbers`).then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch(() => {\n        this.toast.show('Impossibile inviare richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    resend: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(`users/${this.prefsel}/preferences/mobile-numbers`, {number: record.number}).then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    confirm: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(`users/${this.prefsel}/preferences/mobile-numbers/${record.uuid}/opt-ins`, {confirmationCode: record.confirmationCode}).then(() => {\n        this.toast.show('Conferma inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare conferma!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    revoke: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(`users/${this.prefsel}/preferences/mobile-numbers/${record.uuid}/opt-outs`, {}).then(() => {\n        this.toast.show('Revoca inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare revoca!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    delete: ($event, record) => {\n      $event.model.busy = true;\n      this.api.delete(`users/${this.prefsel}/preferences/mobile-numbers/${record.uuid}`, {}).then(() => {\n        this.toast.show('Numero eliminato con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile eliminare il numero!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {Toolbar} from '../app/app-toolbar';\n\n@inject(Api, Toolbar)\nexport class Impostazioni {\n\n  constructor(api, toolbar) {\n    this.api = api;\n    this.modules = toolbar.items.find(x => x.settings === true).nav;\n  }\n\n  attached() {\n  }\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\nimport {KaToast, KaDialog} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniMultibox {\n  @bindable() prefsel = null;\n  environment = environment;\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      firstname: { control: 'text', label: 'Nome' },\n      lastname: { control: 'text', label: 'Cognome' },\n      companyName: { control: 'text', label: 'Nome azienda' },\n      addressee: { control: 'text', label: 'Destinatario azienda' },\n      streetAddress: { control: 'text', label: 'Indirizzo' },\n      zipCode: { control: 'text', label: 'CAP' },\n      admLvl2: { control: 'text', label: 'Provincia' },\n      admLvl3: { control: 'text', label: 'Città' },\n      envelope: {\n        packagePresentation: { control: 'combo', label: 'Proprietà buste', datasource: [{value: 'CLOSED', text: 'Chiuse'}, {value: 'OPEN', text: 'Aperte'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        recipientList: {\n          subject: { control: 'text', label: 'Oggetto foglio destinatari' }\n        }\n      },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con Multibox' }\n    },\n    data: {},\n    checks: {\n      recipientList: false\n    },\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.multibox) || (!this.preferences.isCal && x.response.current?.sender?.multibox);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'multibox'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.checks.recipientList = this.preferences.data.envelope.recipientList?.subject && this.preferences.data.envelope.recipientList?.subject.length > 0 ? true : false;\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/multibox`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      if (this.preferences.checks.recipientList === false) {\n        this.preferences.data.envelope.recipientList = {subject: null};\n      }\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/multibox`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject, bindable } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, KaToast, KaDialog, MdDatasources)\nexport class ImpostazioniMulticerta {\n  @bindable() prefsel = null;\n  environment = environment;\n  constructor(api, toast, dialog, mdDatasources) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = mdDatasources;\n  }\n  activate(params) {\n    this.params = params;\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n      this.setPostageDatasource();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      multicertaInvitation: { control: 'check', label: 'Invia automaticamente in email l\\'invito a scaricare l\\'app quando effettui una spedizione postale' },\n      deadline: {\n        acknowledgement: { control: 'combo', label: 'Utilizzare il canale alternativo solo se lo stato di consegna Multicerta non è ancora:', datasource: [{value: 'read', text: 'Letto'}, {value: 'none', text: 'Nessun canale alternativo'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        duration: { control: 'combo', label: 'Dopo quanto tempo impostare il canale alternativo?', datasource: [{value: '3600', text: '1 ora'}, {value: '7200', text: '2 ore'}, {value: '10800', text: '3 ore'}, {value: '21600', text: '6 ore'}, {value: '43200', text: '12 ore'}, {value: '86400', text: '1 giorno'}, {value: '172800', text: '2 giorni'}, {value: '259200', text: '3 giorni'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        legalAcknowledgement: { control: 'combo', label: 'Utilizzare il canale alternativo solo se lo stato di consegna Multicerta non è ancora:', datasource: [{value: 'notified', text: 'Notificato'}, {value: 'identified', text: 'Identificato (aperto)'}, {value: 'read', text: 'Letto'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        legalDuration: { control: 'combo', label: 'Dopo quanto tempo impostare il canale alternativo?', datasource: [{value: '3600', text: '1 ora'}, {value: '7200', text: '2 ore'}, {value: '10800', text: '3 ore'}, {value: '21600', text: '6 ore'}, {value: '43200', text: '12 ore'}, {value: '86400', text: '1 giorno'}, {value: '172800', text: '2 giorni'}, {value: '259200', text: '3 giorni'}], datavalue: 'value', datatext: 'text', datapreload: true }\n      },\n      postage: {\n        type: { \n          control: 'combo', \n          label: 'Affrancatura default', \n          datasource: [], \n          datavalue: 'value', \n          datatext: 'description',\n          datapreload: true \n        },\n        legalType: { \n          control: 'combo', \n          label: 'Affrancatura default',\n          datasource: [], \n          datavalue: 'value', \n          datatext: 'description', \n          datapreload: true \n        }\n      },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con Multicerta' }\n    },\n    data: {},\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.multicerta) || (!this.preferences.isCal && x.response.current?.sender?.multicerta);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'multicerta'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/multicerta`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/multicerta`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  setPostageDatasource() {\n    const datasource = structuredClone(this.mdDatasources.postalServices.postages);\n    datasource?.forEach?.((item) => {\n      switch (item.code) {\n        case 'AR':\n          item.value = 'RACCOMANDATAAR'\n          break;\n        case 'P':\n          item.value = 'PRIORITARIA'\n          break;\n        case 'P1':\n          item.value = 'PRIORITARIA1'\n          break;\n        case 'R':\n          item.value = 'RACCOMANDATA'\n          break;\n        case 'R1':\n          item.value = 'RACCOMANDATA1'\n          break;\n        case 'R1R':\n          item.value = 'RACCOMANDATA1R'\n          break;\n      }\n    });\n    this.preferences.schema.postage.type = Object.assign({}, this.preferences.schema.postage.type, { datasource });\n    this.preferences.schema.postage.legalType = Object.assign({}, this.preferences.schema.postage.type, { datasource });\n  }\n}\n","import { inject, bindable } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniNotifiche {\n  @bindable() prefsel = null;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.pushPreferences.isOverride = null;\n      this.uiPreferences.isOverride = null;\n      this.uiPreferences.reload();\n      this.emailPreferences.reload();\n      this.pushPreferences.reload();\n      this.privacyConsent.reload();\n    }, 0);\n  }\n\n  uiPreferences = {\n    endpoint: null,\n    schema: {\n      email: { \n        control: 'list', \n        datasource: { \n          model: { \n            view: 'address', \n            schema: [ { field: 'address', control: 'text', label: 'Indirizzo email' } ] \n          } \n        }, \n        label: 'Inserire gli indirizzi email sui quali ricevere le notifiche di sistema',\n        max: 3\n      }\n    },\n    data: {},\n    reload: () => {\n      this.uiPreferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.uiPreferences.isOverride === null) {\n          this.uiPreferences.isOverride = (this.uiPreferences.isCal && x.response.requested?.notification?.email?.length) || (!this.uiPreferences.isCal && x.response.current?.notification?.email?.length)\n        };\n        this.uiPreferences.data = mdt.preferences.mergeModelData(this.uiPreferences.schema, ['notification'], x.response);\n        this.uiPreferences._data = JSON.parse(JSON.stringify(this.uiPreferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      if (this.uiPreferences.data.email) {\n        this.api.patch(`users/${this.prefsel}/preferences/notification`, {email: []}).then(x => {\n          this.uiPreferences.isOverride = !this.uiPreferences.isOverride;\n        }).catch(e => {}).finally(() => {\n          this.uiPreferences.reload();\n          $event.model.busy = false;\n        });\n      }\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.uiPreferences.data;\n       data = mdt.helpers.diffObject(this.uiPreferences._data, this.uiPreferences.data);\n      if (data && Object.entries(data).length) {\n       this.uiPreferences.resource.save(data, `users/${this.prefsel}/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.uiPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  emailPreferences = {\n    endpoint: null,\n    schema: {\n      credit: {\n        enabled: { control: 'check' },\n        serviceThreshold: { control: 'number', label: 'Soglia minima servizio €' },\n        postageThreshold: { control: 'number', label: 'Soglia minima affrancatura €' },\n      },\n      dailyDigest: {\n        queue: null\n      },\n      directDebit: {\n        sdd: {\n          enabled: { control: 'check' },\n          threshold: { control: 'number', label: 'Soglia minima deposito cauzionale €' },\n        }\n      },\n      bouncedEmailsDigest: {\n        enabled: { control: 'check' },\n      }\n    },\n    data: {},\n    checks: {\n      dailyDigest: false\n    },\n    reload: () => {\n      this.api.get(`users/me/preferences`).then(x => {\n        this.emailPreferences.data = mdt.preferences.mergeModelData(this.emailPreferences.schema, ['notification'], x.response);\n        this.emailPreferences._data = JSON.parse(JSON.stringify(this.emailPreferences.data));\n        this.emailPreferences.checks.dailyDigest = this.emailPreferences.data.dailyDigest?.queue?.includes('BLOCKED');\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.emailPreferences.data;\n      if (this.emailPreferences.checks.dailyDigest === true) {\n        if (!data.dailyDigest) data.dailyDigest = { queue: []};\n        if (data.dailyDigest.queue.indexOf('BLOCKED') < 0) data.dailyDigest.queue.push('BLOCKED');\n      } else if (this.emailPreferences.checks.dailyDigest === false) {\n        if (!data.dailyDigest) data.dailyDigest = { queue: []};\n        if (data.dailyDigest.queue.indexOf('BLOCKED') > -1) data.dailyDigest.queue.splice(data.dailyDigest.queue.indexOf('BLOCKED'), 1);\n      }\n      data = mdt.helpers.diffObject(this.emailPreferences._data, this.emailPreferences.data);\n      if (data && Object.entries(data).length) {\n        if (data.credit?.postageThreshold) data.credit.postageThreshold = parseInt(data.credit.postageThreshold, 10);\n        if (data.credit?.serviceThreshold) data.credit.serviceThreshold = parseInt(data.credit.serviceThreshold, 10);\n        this.emailPreferences.resource.save(data, `users/me/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.emailPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  pushPreferences = {\n    endpoint: null,\n    schema: {\n      appPush: {\n        blocked: { control: 'check' },\n        refused: { control: 'check' },\n        delivered: { control: 'check' }\n      }\n    },\n    data: {},\n    checks: {\n      dailyDigest: false\n    },\n    reload: () => {\n      this.pushPreferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.pushPreferences.isOverride === null) this.pushPreferences.isOverride = (this.pushPreferences.isCal && x.response.requested?.notification?.appPush) || (!this.pushPreferences.isCal && x.response.current?.notification?.appPush);\n        this.pushPreferences.data = mdt.preferences.mergeModelData(this.pushPreferences.schema, ['notification'], x.response);\n        this.pushPreferences._data = JSON.parse(JSON.stringify(this.pushPreferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/notification`, {appPush: {enableOverride: !this.pushPreferences.isOverride}}).then(x => {\n        this.pushPreferences.isOverride = !this.pushPreferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.pushPreferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.pushPreferences.data;\n      data = mdt.helpers.diffObject(this.pushPreferences._data, this.pushPreferences.data);\n      if (data && Object.entries(data).length) {\n        this.pushPreferences.resource.save(data, `users/${this.prefsel}/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.pushPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  privacyConsent = {\n    data: null,\n    reload: () => {\n      this.api.get(`users/${this.prefsel}/preferences`).then(xhr => {\n        const response = xhr.response;\n        this.privacyConsent.data = response.current?.notification?.commercial;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      const data = { commercial: this.privacyConsent.data };\n      this.api.patch(`users/${this.prefsel}/preferences/notification`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.privacyConsent.reload();\n      }).catch(xhr => {\n        console.log('PATCH preferences/notification', xhr);\n        this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class PostaDialogConfirm {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\nimport { TableInterface } from 'classes/md-table';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { activationStrategy } from 'aurelia-router';\nimport { MdDatasources } from 'services/md-datasources';\nimport { inject, bindable, PLATFORM } from 'aurelia-framework';\n\n@inject(Api, MdDatasources, KaToast, KaDialog)\nexport class ImpostazioniPosta {\n  @bindable() prefsel = null;\n  envelopeLogoUuid;\n  dataset = {\n    postalOrders: {},\n    watermarks: {}\n  };\n  data = {\n    postalOrders: {},\n    watermarks: {}\n  };\n  environment = environment;\n\n  constructor(api, MdDatasources, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n    this.vmCover = PLATFORM.moduleName('views/print-backoffice/copertine');\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.envelopeLogoUuid = params?.envelopeLogoUuid;\n  }\n \n  attached() {\n    this.postalOrders.tableInterface = new TableInterface({ \n      name: 'preferences-postal-orders-table', \n      client: this.api, \n      endpoint: null, \n      query: null \n    });\n    this.postalOrders.tableInterface.initialize();\n\n    this.watermarks.tableInterface = new TableInterface({ \n      name: 'preferences-watermarks-table', \n      client: this.api, \n      endpoint: 'users/me/preferences/sender/letter/watermarks', \n      query: null \n    });\n    this.watermarks.tableInterface.initialize().then(() => { \n      this.watermarks.tableInterface.load(); \n    });\n\n    this.watermarks.tableInterface.events.addEventListener('dataLoaded', () => {\n      for (let record of this.watermarks.tableInterface.data) {\n        this.watermarks.previews[record.uuid] = '';\n        if (record.previews && record.previews[0]) {\n          this.api.get(this.watermarks.uriBuild(record.previews[0].webPath)).then(x => {\n            this.watermarks.previews[record.uuid] = x.response.fileData;\n          });\n        }\n      }\n    });\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n      this.postalOrders.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      print: {\n        frontBack: { control: 'check', label: 'Stampa Fronte/Retro' },\n        colorMode: { control: 'check', label: 'Stampa a colori' },\n        sheetFormat: { control: 'combo', label: 'Formato', datasource: [{value: 'A3'}, {value: 'A4'}], datavalue: 'value', datatext: 'value', datapreload: true },\n        weight: { control: 'combo', label: 'Grammatura', datasource: [{value: 80, text: '80 g/m²'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        staple: { control: 'check', label: 'Pinzatura' }\n      },\n      postage: {\n        code: { control: 'combo', label: 'Affrancatura', datasource: [/* array loaded from this.preferences.reload() function */], datavalue: 'code', datatext: 'description', datapreload: true },\n        vectors: [{\n          postageCode: null,\n          vector: null\n        }],\n        vectorEnablings: [{\n          vector: null,\n          enabledAt: null,\n          disabledAt: null\n        }],\n        expectReceipt: { control: 'check', label: 'Desidero ricevere una scansione digitale della cartolina di ritorno' },\n        topicOnReturnReceipt: { control: 'check', label: 'Riportare il promemoria invio nelle cartoline di ritorno' }\n      },\n      streetAddress: { control: 'text', label: 'Indirizzo' },\n      zipCode: { control: 'text', label: 'CAP' },\n      displayName: { control: 'text', label: 'Mittente' },\n      admLvl2: { control: 'text', label: 'Provincia' },\n      admLvl3: { control: 'text', label: 'Città' },\n      countryCode: { control: 'text', label: 'Nazione' },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata per posta' }\n    },\n    datasources: { vectors: [], postages: [] },\n    data: {},\n    nexive: {\n      enabled: false,\n      enabledAt: null\n    },\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.letter) || (!this.preferences.isCal && (x.response.current?.sender?.letter && !(x.response.current.sender.letter.watermarks && Object.keys(x.response.current.sender.letter).length === 1) ));\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'letter'], x.response);\n        // Adjust some of the values\n        // data.postage.vectors\n        let _prioritaria = this.preferences.data.postage.vectors.find(x => x.postageCode === 'P');\n        let _raccomandata = this.preferences.data.postage.vectors.find(x => x.postageCode === 'R');\n        let vectors = {\n          prioritaria: _prioritaria ? _prioritaria.vector.toUpperCase() : null,\n          raccomandata: _raccomandata ? _raccomandata.vector.toUpperCase() : null\n        };\n        this.preferences.data.vectors = vectors;\n        this.preferences.processPostages(false);\n        this.preferences.processVectors();\n        // other\n        this.preferences.data.postage.topicOnReturnReceipt = (this.preferences.data.postage.topicOnReturnReceipt || false) === true;\n        this.preferences.data.print.colorMode = this.preferences.data.print.colorMode === 'color';\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        \n        //console.log('nexive', nexive, this.preferences.data.postage.vectorEnablings);\n        \n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/letter`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data.vectors) {\n        data.postage.vectors = [];\n        if (data.vectors.prioritaria) data.postage.vectors.push({postageCode: 'P', vector: data.vectors.prioritaria});\n        if (data.vectors.raccomandata) data.postage.vectors.push({postageCode: 'R', vector: data.vectors.raccomandata});\n        delete(data.vectors);\n      }\n      if (data.print && typeof data.print.colorMode !== undefined) data.print.colorMode = data.print.colorMode ? 'color' : 'bw';\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/letter`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    },\n    processVectors: () => {\n      const postalServices = this.mdDatasources?.postalServices;\n      if (postalServices?.vectors) {\n        let nexive = this.preferences.data.postage.vectorEnablings.filter(x => x.vector.toUpperCase() === 'NEXIVE' && x.enabledAt);\n        let vectors = JSON.parse(JSON.stringify(this.mdDatasources.postalServices.vectors));\n        if (nexive.length === 1) {\n          this.preferences.nexive = { enabled: true, enabledAt: nexive[0].enabledAt };\n          this.preferences.datasources.vectors = vectors;\n        } else {\n          this.preferences.nexive = { enabled: false, enabledAt: null };\n          let nexiveIndex = vectors.findIndex(x => x.code === 'NEXIVE');\n          if (nexiveIndex >= 0) vectors.splice(nexiveIndex, 1);\n          this.preferences.datasources.vectors = vectors;\n        }\n      }\n    },\n    processPostages: (reset = true) => {\n      const postalServices = this.mdDatasources?.postalServices;\n      if (postalServices?.postages) {\n        const vectors = this.preferences.data.vectors;\n        let postages = [];\n        if (vectors.prioritaria) {\n          Array.prototype.push.apply(postages, this.mdDatasources.postalServices.postages.filter(x => x.vector.code === vectors.prioritaria && x.code.startsWith('P')));\n        }\n        if (vectors.raccomandata) {\n          Array.prototype.push.apply(postages, this.mdDatasources.postalServices.postages.filter(x => x.vector.code === vectors.raccomandata && (x.code.startsWith('R') || x.code.startsWith('AR'))));\n        }\n        this.preferences.datasources.postages = postages;\n        this.preferences.resource.controls['postage.code'].datasource = this.preferences.datasources.postages;\n        if (reset) this.preferences.data.postage.code = null;\n      }\n    },\n    toggleNexive: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/letter/postage/vector-enablings`, { vector: 'NEXIVE', enabled: !this.preferences.nexive.enabled }).then(x => {\n        this.preferences.reload();\n      }).catch(e => {}).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n\n  postalOrders = {\n    endpoint: null,\n    schema: {\n      statusCode: {\n        label: 'Stato',\n        control: 'combo',\n        datasource: [{\n          text: 'Inviato',\n          value: 'PENDING'\n        }, {\n          text: 'In revisione',\n          value: 'PENDING_REVISION'\n        }, {\n          text: 'In attesa di approvazione',\n          value: 'PENDING_POST_OFFICE_REVISION'\n        }, {\n          text: 'Approvato',\n          value: 'APPROVED'\n        }, {\n          text: 'Rifiutato',\n          value: 'REFUSED'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      createdAt: {\n        label: 'Data inserimento',\n        control: 'date',\n        datatype: 'datetime',\n        utc: true\n      },\n      postalAccount: {\n        label: 'Numero conto corrente',\n        control: 'number',\n        min: 12\n      },\n      postalAccountHolder: {\n        label: 'Intestatario conto corrente',\n        control: 'text'\n      }\n    },\n    data: {},\n    prefsel: null,\n    tableInterface: null,\n    toggle: () => {\n      this.postalOrders.isToggle = !!!this.postalOrders.isToggle || false;\n      if (!this.postalOrders.isToggle) {\n        this.postalOrders.prefsel = null;\n      }\n    },\n    reset: () => {\n      Object.keys(this.postalOrders.data).forEach(k => this.postalOrders.data[k] = null);\n    },\n    reload: () => {\n      this.postalOrders.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.postalOrders.tableInterface.endpoint = `users/${this.prefsel}/preferences/sender/payments/postal-orders`;\n      this.postalOrders.tableInterface.load();\n    },\n    confirm: () => {\n      if (this.api.user.id === this.prefsel) {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/impostazioni/posta-dialog-confirm'),\n        }, true).whenClosed(response => {\n          console.log(response);\n          if (!response.wasCancelled) {\n            if (response.output) {\n              this.prefsel = response.output.id;\n            }\n            this.postalOrders.data.postalAccountHolder = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : response.output.displayName;\n            this.postalOrders.prefsel = this.prefsel;\n          }\n        });\n      } else {\n        this.postalOrders.data.postalAccountHolder = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : this.prefSelector?.data?.displayName;\n        this.postalOrders.prefsel = this.prefsel;\n      }\n    },\n    send: ($event) => {\n      $event.model.busy = true;\n      this.postalOrders.resource.save(this.postalOrders.data, `users/${this.prefsel}/preferences/sender/payments/postal-orders`, 'post').then(x => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.postalOrders.tableInterface.load();\n        this.postalOrders.toggle();\n        this.postalOrders.reset();\n      }).catch(e => {\n        this.toast.show('Errore nell\\'invio della richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    delete: (record) => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare il bollettino selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${this.prefsel}/preferences/sender/payments/postal-orders/${record.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.postalOrders.tableInterface.load();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    }\n  };\n\n  watermarks = {\n    endpoint: null,\n    schema: {\n      statusCode: {\n        label: 'Stato ',\n        control: 'combo',\n        datasource: [{\n          text: 'Caricato',\n          value: 'PENDING'\n        }, {\n          text: 'In attesa di approvazione',\n          value: 'PENDING_APPROVAL'\n        }, {\n          text: 'In attesa di revisione',\n          value: 'PENDING_REVISION'\n        }, {\n          text: 'In attesa di conferma',\n          value: 'PENDING_CONFIRMATION'\n        }, {\n          text: 'Approvato',\n          value: 'APPROVED'\n        }, {\n          text: 'Rifiutato',\n          value: 'REFUSED'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      label: {\n        label: 'Titolo',\n        control: 'text'\n      },\n      createdAt: {\n        label: 'Data inserimento',\n        control: 'date',\n        datatype: 'datetime',\n        utc: true\n      },\n      default: {\n        label: 'Predefinito',\n        control: 'check'\n      },\n      text: {\n        label: 'Testo',\n        control: 'textarea'\n      },\n      colorMode: {\n        label: 'Colori',\n        control: 'combo',\n        datasource: [{\n          text: 'Colori',\n          value: 'color'\n        }, {\n          text: 'Bianco e nero',\n          value: 'bw'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      /* notificationEmail: {\n        label: 'Email notifica',\n        control: 'text'\n      }, */\n      fileUri: {\n        label: 'File',\n        control: 'file'\n      },\n      fileData: {\n        label: 'File immagine del logo',\n        control: 'file'\n      }\n    },\n    data: {},\n    previews: {},\n    tableInterface: null,\n    toggle: () => {\n      this.watermarks.isToggle = !!!this.watermarks.isToggle || false;\n    },\n    reset: () => {\n      Object.keys(this.watermarks.data).forEach(k => this.watermarks.data[k] = null);\n    },\n    send: ($event) => {\n      $event.model.busy = true;\n      this.watermarks.resource.save(this.watermarks.data, `users/me/preferences/sender/letter/watermarks`, 'post').then(x => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.watermarks.tableInterface.load();\n        this.watermarks.toggle();\n        this.watermarks.reset();\n        this.dialog.open({\n          title: 'Caricamento riuscito!',\n          class: 'small',\n          type: 'confirm',\n          body: `Il logo deve essere inviato per approvazione presso il centro stampa prima di poter essere utilizzato.<br><strong>Vuoi inviarlo adesso?</strong>`\n        }, true).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.watermarks.setStatus(x.response, 'PENDING_APPROVAL');\n          }\n        });\n      }).catch(e => {\n        this.toast.show('Errore nell\\'invio della richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    setDefault: (record) => {\n      this.api.patch(`users/me/preferences/sender/letter/watermarks/${record.uuid}`, {default: true}).then(() => {\n        this.toast.show('Record aggiornato con successo!', 'success');\n        this.watermarks.tableInterface.load();\n      }).catch(x => {\n        this.api.dialogError(x);\n      });\n    },\n    setStatus: (record, status) => {\n      this.api.patch(`users/me/preferences/sender/letter/watermarks/${record.uuid}`, {statusCode: status}).then(() => {\n        this.toast.show('Record aggiornato con successo!', 'success');\n        this.watermarks.tableInterface.load();\n        if (status === 'APPROVED') {\n          this.dialog.open({\n            title: 'Logo approvato!',\n            class: 'small',\n            type: 'confirm',\n            body: `Vuoi impostare questo logo come predefinito?`\n          }, true).whenClosed(response => {\n            if (!response.wasCancelled) {\n              this.watermarks.setDefault(record);\n            }\n          });\n        }\n        \n      }).catch(x => {\n        this.api.dialogError(x);\n      });\n    },\n    delete: (record) => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare il logo selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/me/preferences/sender/letter/watermarks/${record.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.watermarks.tableInterface.load();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    },\n    download: (record) => {\n      if (!record.fileUri) return;\n      this.toast.show('Caricamento in corso', 'loading', true);\n      this.api.get(this.watermarks.uriBuild(record.fileUri)).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${x.response.filename}`;\n        anchor.href = x.response.fileData;\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    uriBuild: (path, absolute = false) => {\n      path = path.replace(this.api.baseUrl, '');\n      path = path.replace('/api/v0.0.1/', '');\n      return absolute ? this.api.baseUrl + path : path;\n    },\n    getImage: (path) => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      this.api.get(this.watermarks.uriBuild(path)).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${x.response.filename}`;\n        anchor.href = x.response.fileData;\n        //anchor.target = '_blank';\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    }\n  };\n}\n","import { inject, bindable } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniSms {\n  @bindable() prefsel = null;\n  environment = environment;\n  dataset = {\n    smsAliases: {}\n  };\n  staticTooltipSms = {\n    subtitle: 'Alias SMS',\n    href: 'https://docs.multidialogo.it/s/article/Configurazione-Alias-invio-SMS',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  }\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.smsAliases.tableInterface = new TableInterface({ name: 'preferences-sms-aliases-table', client: this.api, endpoint: null, query: null });\n    this.smsAliases.tableInterface.initialize();\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    console.log('PREFSEL changed', value);\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n      this.smsAliases.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      type: null,\n      display: { control: 'combo', label: 'Tipo visualizzazione mittente', datasource: [{ value: 'NUMBER', text: 'Numero' }, { value: 'ALIAS', text: 'Alias' }], datavalue: 'value', datatext: 'text', datapreload: true },\n      prefix: { control: 'combo', label: 'Prefisso', datasource: [{ value: '+39', text: '+39' }], datavalue: 'value', datatext: 'text', datapreload: true },\n      numberUuid: { control: 'combo', label: 'Numero di cellulare', datasource: {}, datatext: 'number', datavalue: 'uuid', datamultiple: false, datapreload: true },\n      aliasUuid: { control: 'combo', label: 'Alias', datasource: {}, datatext: 'displayName', datavalue: 'uuid', datamultiple: false, datapreload: true }\n    },\n    data: null,\n    aliases: [],\n    reload: () => {\n      this.preferences.data = null;\n      this.preferences.schema.numberUuid.datasource = { table: `users/${this.prefsel}/preferences/mobile-numbers?status=opted-in` };\n      this.preferences.schema.aliasUuid.datasource = { table: `users/${this.prefsel}/preferences/sender/sms-aliases?statusCode-in=COMPLETED` };\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.sms) || (!this.preferences.isCal && x.response.current?.sender?.sms);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'sms'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/sms`, { enableOverride: !this.preferences.isOverride }).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => { }).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/sms`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n  smsAliases = {\n    endpoint: null,\n    schema: {\n      displayName: {\n        label: 'Mittente SMS',\n        control: 'text'\n      },\n      companyName: {\n        label: 'Azienda',\n        control: 'text'\n      },\n      vatCode: {\n        label: 'Partita IVA',\n        control: 'text'\n      },\n      fiscalCode: {\n        label: 'Codice fiscale',\n        control: 'text'\n      },\n      streetAddress: {\n        label: 'Indirizzo',\n        control: 'text'\n      },\n      zipCode: {\n        label: 'CAP',\n        control: 'text'\n      },\n      admLvl3: {\n        label: 'Città',\n        control: 'text'\n      },\n      admLvl2: {\n        label: 'Provincia',\n        control: 'text'\n      },\n      country: {\n        label: 'Nazione',\n        control: 'combo',\n        datasource: {\n          table: 'geo/countries',\n          query: {\n            search: 'text-search',\n            item: 'code'\n          }\n        },\n        datatext: 'name',\n        datavalue: 'code',\n        datapreload: false\n      },\n      email: {\n        label: 'Email',\n        control: 'text'\n      },\n      pec: {\n        label: 'PEC',\n        control: 'text'\n      },\n      phoneNumber: {\n        label: 'Telefono',\n        control: 'text'\n      },\n      requestedAt: {\n        label: 'Data richiesta',\n        control: 'date',\n        datatype: 'datetime',\n        utc: true\n      },\n      status: {\n        label: 'Stato attivazione',\n        control: 'combo',\n        datasource: [{\n          text: 'In attesa di registrazione',\n          value: 'PENDING'\n        }, {\n          text: 'Richiesta registrata',\n          value: 'REGISTERED'\n        }, {\n          text: 'Attivo',\n          value: 'COMPLETED'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      }\n    },\n    data: {},\n    tableInterface: null,\n    toggle: () => {\n      this.smsAliases.isToggle = !!!this.smsAliases.isToggle || false;\n      if (this.smsAliases.isToggle) {\n        this.smsAliases.data.companyName = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : this.prefSelector.data?.displayName || null;\n        this.smsAliases.data.displayName = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : this.prefSelector.data?.displayName || null;\n        this.smsAliases.data.country = 'Italy';\n      }\n    },\n    reset: () => {\n      Object.keys(this.smsAliases.data).forEach(k => this.smsAliases.data[k] = null);\n    },\n    reload: () => {\n      this.smsAliases.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.smsAliases.endpoint = `users/${this.prefsel}/preferences/sender/sms-aliases`;\n      this.smsAliases.tableInterface.endpoint = `users/${this.prefsel}/preferences/sender/sms-aliases`;\n      if (this.smsAliases.tableInterface && !this.smsAliases.tableInterface.isLoading) this.smsAliases.tableInterface.load();\n    },\n    send: ($event) => {\n      $event.model.busy = true;\n      this.smsAliases.resource.save().then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.smsAliases.tableInterface.load();\n        this.smsAliases.toggle();\n        this.smsAliases.reset();\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    delete: (record) => {\n      console.log('RECORD', record);\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare l\\'Alias sms selezionato selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`${this.smsAliases.endpoint}/${record.id}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.smsAliases.tableInterface.load();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    }\n  };\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog } from 'ka-components';\n\n@inject(Aurelia, Router, Api, KaDialog)\nexport class vmEmailConfirm {\n  constructor(aurelia, router, api, dialog) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.dialog = dialog;\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.api.post(`users/login`, { emailConfirmationCode: this.params.code, grantType: 'firstAccessLogin' }).then(xhr => {\n      const response = xhr.response;\n      this.api.user = null;\n      localStorage.clear();\n      sessionStorage.clear();\n      this.api.accessToken = response.token;\n      this.api.refreshToken = response.refreshToken;\n      return this.api.startUser();\n    }).catch(xhr => {\n      let response = null;\n      console.log('POST email-confirmations', xhr);\n      try { response = JSON.parse(xhr?.response) } finally {\n        return this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'large', \n          type: 'alert', \n          body: response?.detail ? response.detail : xhr?.response \n        }).whenClosed(() => {\n          return location.href = '/login';\n        });\n      }\n    });\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmLandingOfferta {\n  offer = null;\n  offerExpired = null;\n  currentDate = new Date().toISOString();\n  promoOffers = { 'email': null, 'redeemCodes': [] };\n  localStorageOffer = JSON.parse(localStorage.getItem('promo-offers')) || localStorage.setItem('promo-offers', JSON.stringify(this.promoOffers));\n  resource = {\n    controls: {},\n    schema: {\n      email: {\n        label: 'Email', \n        control: 'text',\n        placeholder: 'Inserisci un indirizzo email',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => {\n          if (control.validate)\n            control.validate().then(result => {\n              if (result.valid) resolve();\n              else reject('Control didn\\'t pass validation');\n            });\n          else if (control.input?.validate) control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => { mdt.parsers.apiError(error, this.resource.controls); }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.api.get(`promotion-offers/${this.params.code}`).then((xhr) => {\n      this.offer = xhr.response;\n    }).catch((xhr) => {\n      if (xhr.statusCode === 410) this.offerExpired = true;\n      else location.href = '/not-found';\n    });\n\n    if (this.api.isAuthenticated) {\n      this.api.get(`users/me/promotion-offer-activations/${this.params.code}`).then((xhr) => {\n        this.authUserRedeemDate = this.aurelia.resources.valueConverters.dateFormat.toView(xhr.response.redeemedAt, 'DD/MM/YYYY');\n        this.offerStatus = 'AUTH-USER-ACTIVATED';\n      }).catch(error => {\n        if (error.statusCode === 403) this.offerStatus = 'SUBUSER-WITHOUT-PERMISSIONS';\n      });\n    }\n  }\n\n  attached() {\n    this.reroute = encodeURIComponent(this.router.currentInstruction.fragment);\n    if (this.localStorageOffer?.email && this.localStorageOffer?.redeemCodes.includes(this.params.code)) this.offerStatus = 'EMAIL-ALREADY-STORED';\n  }\n\n  activateOffer() {\n    this.resource.validate().then(() => {\n      let data = { email: this.resource.data.email, redeemCode: this.params.code };\n      let endpoint = this.api.isAuthenticated ? 'users/me/promotion-offer-activations' : 'promotion-offer-activations';\n\n      this.api.post(endpoint, data).then(() => {\n        // set local storage data\n        if (data.email) this.promoOffers.email = data.email;\n        if (!this.promoOffers.redeemCodes.includes(data.redeemCode)) this.promoOffers.redeemCodes.push(data.redeemCode);\n        this.updateLocalStorage();\n\n        if (this.api.isAuthenticated) this.offerStatus = 'AUTH-USER-ACTIVATED-NOW'; \n        else this.offerStatus = 'GUEST-USER-ACTIVATED';\n      }).catch(error => {\n        // conflict case - if the submitted email is already used, overwrite promo-offers in local storage\n        if (error.statusCode === 409) {\n          if (!this.promoOffers.redeemCodes.includes(data.redeemCode) && data.email) this.promoOffers.email = data.email; \n          this.updateLocalStorage();\n          this.offerStatus = 'EMAIL-ALREADY-STORED';\n        }\n        if (error.statusCode !== 423) this.resource.error(error);\n      });\n    })\n  }\n\n  updateLocalStorage() {\n    localStorage.setItem('promo-offers', JSON.stringify(this.promoOffers));\n    this.localStorageOffer = JSON.parse(localStorage.getItem('promo-offers'));\n  }\n}","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmLandingRegistrazione {\n  mdt = mdt;\n  clients;\n  legalForms;\n  legalFormTypes;\n  legalFormSelected;\n  editableUsername = false;\n  oldSelectedCountryCode;\n  pendingAttached = true;\n\n  get phoneNumberRequired() {\n    return !this.resource.data.profile.mobilePhoneNumber;\n  }\n  get mobilePhoneNumberRequired() {\n    return !this.resource.data.profile.phoneNumber;\n  }\n  \n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.priceList = {\n      schema: {\n        definitive: {\n          label: 'Listino definitivo applicato',\n          control: 'text',\n          readonly: true,\n          required: true,\n        },\n        temporary: {\n          label: 'Listino temporaneo applicato',\n          control: 'text',\n          readonly: true,\n          required: this.prospectUuid,\n        }\n      },   \n      data: {}\n    };\n    this.resource = {\n      controls: {},\n      schema: {\n        passwordConfirm: {\n          control: 'password', \n            label: 'Conferma password',\n            validationRule: {\n              satisfies: () => { return this.resource.data.password === this.resource.data.passwordConfirm; },\n              withMessage: 'Le password non coincidono',\n            },\n            required: true\n        },\n        password: {\n          control: 'password', \n          label: 'Password',\n          min: 8,\n          required: true\n        },\n        clientUuid: {\n          label: 'Gestionale utilizzato',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          required: true\n        },\n        profile: {\n          username: {\n            control: 'text',\n            label: 'Username',\n            required: true\n          },\n          email: {\n            control: 'text', \n            label: 'Email',\n            required: true\n          },\n          pec: {\n            control: 'text', \n            label: 'PEC',\n            required: false\n          },\n          businessType: {\n            label: 'Attività',\n            control: 'combo',\n            datatext: 'label',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: true,\n            datasource: [\n              { label: 'Amministratore di condominio', code: 'BUILDING-ADMINISTRATOR' },\n              { label: 'Altro', code: 'OTHER' },\n            ],\n            required: true\n          },\n          companyLegalFormCode: {\n            label: 'Forma giuridica',\n            control: 'combo',\n            datatext: 'label',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: false,\n            datasource: [],\n            required: true\n          },\n          fiscalCode: {\n            control: 'text', \n            label: 'Codice fiscale',\n            required: false\n          },\n          vatCode: {\n            control: 'text', \n            label: 'Partita iva',\n            required: true\n          },\n          phoneNumber: {\n            control: 'text',\n            label: 'Telefono fisso'\n          },\n          mobilePhoneNumber: {\n            control: 'text',\n            label: 'Cellulare'\n          },\n          holderName: {\n            firstname: {\n              control: 'text', \n              label: 'Nome',\n              required: false\n            },\n            lastname: {\n              control: 'text', \n              label: 'Cognome',\n              required: false\n            },\n            companyName: { \n              control: 'text',\n              label: 'Denominazione',\n              required: false\n            },\n          },\n          location: {\n            streetAddress: {\n              control: 'text', \n              label: 'Indirizzo',\n              required: true\n            },\n            countryCode: { \n              label: 'Nazione', \n              control: 'combo',  \n              datatext: 'name',\n              datavalue: 'code', \n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' }},\n              required: true\n            },\n            admLvl1Uuid: {\n              label: 'Regione',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            admLvl2Uuid: {\n              label: 'Provincia',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            admLvl3Uuid: {\n              label: 'Comune',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            zipCode: {\n              label: 'CAP',\n              control: 'text',\n              required: true\n            }\n          }\n        }\n      }, \n      data: {\n        group: \"MASTER_USER\",\n        profile: {\n          businessType: 'BUILDING-ADMINISTRATOR',\n          location: {\n            countryCode: 'IT'\n          },\n        },\n        privacyConsent: {\n          commercialContact: null,\n          thirdPartyDisclosure: null\n        }\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        this.api.dialogError(error, this.resource.controls);\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.prospectUuid = this.params.prospectUuid || null;\n    this.api.logout(true); // API calls need not to be authenticated\n  }\n\n  attached() {\n    this.oldSelectedCountryCode = this.resource.data.profile.location.countryCode;\n    this.init();\n    this.getPriceLists();\n  }\n\n  async init() {\n    let promises = [\n      this.setClientUuidDatasource(),\n      this.setBusinessTypeDatasource(),\n      this.setCompanyLegalFormCodeDatasource(),\n    ];\n    if (this.prospectUuid) {\n      promises.push(this.load())\n    };\n    return Promise.all(promises).catch((error) => {\n      console.error(`Init`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.pendingAttached = false;\n      this.changeEmail();\n    });\n  }\n\n  async getPriceLists() {\n    const url = this.prospectUuid ? `price-lists/default?prospect-uuid=${this.prospectUuid}` : 'price-lists/default/';\n    return this.api.get(url).then((xhr) => {\n      let priceListResponse = xhr.response;\n      this.priceList.data.definitive = priceListResponse.definitivePriceList;\n      this.priceList.data.temporary = priceListResponse?.temporaryPriceList;\n    }).catch((error) => {\n      console.error('Error in getPriceLists(): ', url, error);\n    });\n  }\n\n  async setClientUuidDatasource() {\n    return this.api.get('clients?declarable=YES').then((xhr) => { \n      this.clients = xhr.response;\n      this.resource.schema.clientUuid.datasource = this.clients;\n    });\n  }\n\n  async setCompanyLegalFormCodeDatasource() {\n    const countryCode = this.resource.data.profile.location.countryCode;\n    const promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(`legal-forms?country-code=${countryCode}&self-sufficient-account=YES&available-for-registration=YES`)\n    ];\n    return Promise.all(promises).then((xhrs) => {\n      this.legalFormTypes = xhrs[0]?.response || null;\n      this.legalForms = xhrs[1]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        let companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n        this.resource.schema.profile.companyLegalFormCode = Object.assign({}, this.resource.schema.profile.companyLegalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    });\n  }\n\n  async setBusinessTypeDatasource() {\n    return this.api.get(`user-business-types`).then((xhr) => {\n      let businessTypes = xhr.response;\n      this.resource.schema.profile.businessType = Object.assign({}, this.resource.schema.profile.businessType, { datasource: businessTypes });\n    });\n  }\n\n  async load() {\n    return this.api.get(`user-prospects/${this.prospectUuid}`).then((xhr) => {\n      // Parse prospect data\n      const response = xhr.response;\n      this.resource.data = {\n        ...this.resource.data,\n        ...(response.clientUuid && { clientUuid: response.clientUuid }),\n      }\n      this.resource.data.privacyConsent = {\n        commercialContact: response.privacyConsent.commercialContact,\n        thirdPartyDisclosure: response.privacyConsent.thirdPartyDisclosure\n      }\n      this.assignToProfile(response);\n      this.assignToHolderName(response);\n      this.parsePhoneNumber(response);\n    }).catch((error) => {\n      console.error('GET user-prospects', error);\n      if (error.response?.source?.intents && error.response.source.intents[0].subject?.referral) {\n        this.router.navigateToRoute('login', { \n          email: error.response.source.intents[0].subject?.email, \n          source: 'prospect-registration' \n        });\n      }\n    });\n  }\n\n  assignToProfile(response) {\n    const email = response.email;\n    const zipCode = response.zipCode;\n    const vatCode = response.vatCode;\n    const prospectUuid = this.prospectUuid;\n    const fiscalCode = response.fiscalCode;\n    const countryCode = response.countryCode;\n    const admLvl1Uuid = response.admLvl1Uuid;\n    const admLvl2Uuid = response.admLvl2Uuid;\n    const admLvl3Uuid = response.admLvl3Uuid;\n    const streetAddress = response.streetAddress;\n    const legalFormCode = response.legalFormCode;\n    this.resource.data.profile = {\n      ...this.resource.data.profile,\n      email,\n      prospectUuid,\n      username: response.email,\n      ...(zipCode && { zipCode }),\n      ...(vatCode && { vatCode }),\n      ...(fiscalCode && { fiscalCode }),     \n      ...(countryCode && { countryCode }),\n      ...(admLvl1Uuid && { admLvl1Uuid }),\n      ...(admLvl2Uuid && { admLvl2Uuid }),\n      ...(admLvl3Uuid && { admLvl3Uuid }),\n      ...(streetAddress && { streetAddress }),\n      ...(legalFormCode && { companyLegalFormCode }),\n    }\n  }\n\n  assignToLocation(response) {\n    const zipCode = response.zipCode;\n    const countryCode = response.countryCode;\n    const admLvl1Uuid = response.admLvl1Uuid;\n    const admLvl2Uuid = response.admLvl2Uuid;\n    const admLvl3Uuid = response.admLvl3Uuid;\n    const streetAddress = response.streetAddress;\n    if (zipCode || countryCode || admLvl1Uuid || streetAddress) {\n      this.resource.data.profile.location = {\n        ...(zipCode && { zipCode }),  \n        ...(countryCode && { countryCode }),\n        ...(admLvl1Uuid && { admLvl1Uuid }),\n        ...(admLvl2Uuid && { admLvl2Uuid }),\n        ...(admLvl3Uuid && { admLvl3Uuid }),\n        ...(streetAddress && { streetAddress }),\n      }\n    }\n  }\n\n  assignToHolderName(response) {\n    const lastname = response.lastname;\n    const firstname = response.firstname;\n    const companyName = response.companyName;\n    if (companyName || firstname || lastname) {\n      this.resource.data.profile.holderName = {\n        ...(firstname && { firstname }),\n        ...(lastname && { lastname }),\n        ...(companyName && { companyName })\n      }\n    }\n  }\n\n  parsePhoneNumber(response) {\n    const phoneId = response.phoneId;\n    const mobilePhoneId = response.mobilePhoneId;\n    const number = response.phoneId || response.mobilePhoneId;\n    if (number) {\n      const phoneCountryPrefix = response.phoneCountryPrefix || '';\n      const mobilePhoneCountryPrefix = response.mobilePhoneCountryPrefix || '';\n      this.resource.data.profile = {\n        ...this.resource.data.profile,\n        ...(phoneId && { phoneNumber: `${phoneCountryPrefix}${number}` }),\n        ...(mobilePhoneId && { mobilePhoneNumber: `${mobilePhoneCountryPrefix}${number}` }),\n      }\n    }\n  }\n\n  changeEmail() {\n    if (!this.editableUsername) this.resource.data.profile.username = this.resource.data.profile.email;\n  }\n\n  changeUsername() {\n    this.editableUsername = true;\n  }\n\n  changeLegalForm() {\n    this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.profile.companyLegalFormCode);\n    this.resource.controls['profile.vatCode'].required = this.legalFormSelected.vatCodeNeeded === 'REQUIRED';\n    this.resource.controls['profile.fiscalCode'].required = this.legalFormSelected.fiscalCodeNeeded === 'REQUIRED';\n    this.resource.controls['profile.holderName.companyName'].required = this.legalFormSelected.companyNameNeeded === 'YES';\n    this.resource.controls['profile.holderName.firstname'].required = this.resource.controls['profile.holderName.lastname'].required = this.legalFormSelected.personNameNeeded === 'YES';\n  }\n\n  setGeo(field) {\n    let childField, lvl, countryCode, countryCodeValueModel;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    } else return; \n    countryCode = this.resource.data.profile.location.countryCode || null;\n    countryCodeValueModel = this.resource.controls['profile.location.countryCode']?.control?.valueModel;\n    if (countryCodeValueModel === undefined) return setTimeout(() => { this.setGeo(field) }, 500);\n    let readonly = true, required = false, url = null;\n    if (countryCode) {\n      url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${this.resource.data.profile.location[field]}` : '');\n    }\n    if (this.resource.data.profile.location[field]) {\n      if (countryCodeValueModel.administrativeLevels && countryCodeValueModel.administrativeLevels.find(x => x.level === lvl)) {\n        readonly = false;\n        required = true;\n      } else {\n        this.resource.data.profile.location[childField] = null;\n        this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n      }\n    } else {\n      this.resource.data.profile.location[childField] = null;\n      this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n    }\n    \n    this.resource.schema.profile.location[childField] = Object.assign({}, this.resource.schema.profile.location[childField], { readonly: readonly, datasource: { table: url, query: { search: 'text-search', item: 'uuid'} }});\n    // legacy ka-control workaround: trigger readonlyChanged\n    this.resource.controls[`profile.location.${childField}`].readonly = readonly;\n    this.resource.controls[`profile.location.${childField}`].required = required;\n\n    // Avoid redoing the call for the legal forms if not necessary\n    if (field === 'countryCode' && (this.oldSelectedCountryCode !== countryCode)) {\n      this.setCompanyLegalFormCodeDatasource();\n      this.oldSelectedCountryCode = countryCode;\n    }\n  }\n\n  dialogPrivacyConsent($event) {\n    return this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'medium', \n      type: 'alert', \n      body: 'Necessario indicare una preferenza riguardo l\\'informativa sulla <a target=\"_blank\" href=\"https://www.multidialogo.it/sicurezza/informativa\" style=\"color:#ed5a23\">privacy.</a>' \n    }, true).whenClosed(() => { $event.model.busy = false; });\n  }\n\n  async registration($event) {\n    $event.model.busy = true;\n    let data = Object.assign({}, this.resource.data);\n    data = mdt.helpers.removeEmptyAttributes(data);\n    delete data.passwordConfirm;\n\n    return this.resource.validate().then(() => {\n      if (!this.resource.data.privacyConsent.commercialContact || !this.resource.data.privacyConsent.thirdPartyDisclosure) {\n        return this.dialogPrivacyConsent($event);\n      } else {\n        return this.postAnonymousUsers($event);\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  async postAnonymousUsers($event) {\n    let data = Object.assign({}, this.resource.data);\n    data = mdt.helpers.removeEmptyAttributes(data);\n    delete data.passwordConfirm;\n\n    return this.api.post('anonymous-users', data).then(() => {\n      this.toast.show('Utente registrato con successo!', 'success');\n      this.api.login(data.profile.username, data.password).then(() => {\n      }).catch((error) => {\n        console.warn('Login failed', error);\n        this.toast.show('Autenticazione utente fallita!', 'error');\n      });\n    }).catch((error) => {\n      console.error('POST anonymous-users', error);\n      this.resource.error(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Api, KaToast, KaDialog)\nexport class MulticertaInvite {\n  endpoint = 'users/me/multicerta-invitations';\n  data = {};\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.data.mittente = this.api.user.profile.displayName;\n    this.data.email = this.api.user.profile.email;\n\n    /* Table interface */\n    this.multicertaInviteTableInterface = new TableInterface({\n      name: 'multicerta-invite-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n\n    /* Table Search */\n    this.multicertaInviteSearchInterface = new SearchInterface({\n      name: 'multicerta-invite-table-search',\n      table: this.multicertaInviteTableInterface,\n      schema: {\n        email: {\n          label:   \"Email\",\n          control: \"text\",\n          query: 'email-like'\n        }\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.multicertaInviteTableInterface.initialize().then(() => {\n      this.multicertaInviteSearchInterface.initialize().then(() => {\n        this.multicertaInviteSearchInterface.search().catch(error => { console.error('TableSearchInterface-search multicertaInvite failed', error); });\n      }).catch(error => { console.error('TableSearchInterface-initialize multicertaInvite failed', error); });\n    }).catch(error => { console.error('TableInterface-initialize multicertaInvite failed', error); });\n  }\n\n  test($event) {\n    $event.model.busy = true;\n    let data = {\n      displayName: this.data.mittente || this.api.user.profile.displayName,\n      demoRecipient: this.data.email\n    };\n    this.api.post(this.endpoint, data).then(x => {\n      this.toast.show(`Invito di prova inviato con successo all'indirizzo ${data.demoRecipient}!`, 'success');\n      this.multicertaInviteTableInterface.load();\n    }).catch(x => {\n      console.warn(x);\n      this.toast.show(`Errore nell'invio dell'invito di prova all'indirizzo ${data.demoRecipient}!`, 'error');\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  send($event) {\n    if (!this.data.file || this.data.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.data.file[0]);\n    reader.onload = () => {\n      let data = {\n        displayName: this.data.mittente || this.api.user.profile.displayName,\n        fileData: reader.result\n      };\n      this.api.post(this.endpoint, data).then(x => {\n        this.toast.show('Inviti inviati con successo!', 'success');\n        this.multicertaInviteTableInterface.load();\n        this.data.file = null;\n      }).catch(x => {\n        console.warn(x);\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            for (let parameter of response.source.parameters) {\n              if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        }\n        else errorMessages.push('Errore nell\\'invio degli inviti!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      $event.model.busy = false;\n    };\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class vmPointsTransactionHistory {\n  sourceTypes;\n  selectedUser;\n  isPendingInit;\n  contextDatasource;\n  isMdCounterVisible;\n  userCurrentFidelityCard;\n  sourceUserUuidDatasource;\n  isSelectedUserBuildingAdministartor;\n  infoTooltipStatus = '<ul class=\"points-transaction-history-info-tooltip-status\"><li>Bloccati: Presenza di un insoluto. I punti sbloccati appena effettuato il pagamento dell\\’ordine.</li><li>Da Trasferire: Movimento in attesa. I punti verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione.</li><li>Trasferiti: Complimenti! I punti sono disponibili sulla tua area Multicoin</li></ul>';\n  infoTooltipPoints = 'I punti in attesa di trasferimento verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione';\n  multicoinPoints = {\n    'totalAmount' : {\n      amount: 0,\n      class: 'total',\n      text: 'Totale maturati',\n      description: 'Il Totale dei punti Multicoin maturati quest\\'anno: la somma dei punti non trasferiti, trasferiti e bloccati'\n    },\n    'totalPending':{\n      amount: 0,\n      class: 'pending',\n      text: 'Da trasferire',\n      description: 'Totale dei punti che verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione'\n    },\n    'totalTransferred': {\n      amount: 0,\n      class: 'success',\n      text: 'Trasferiti',\n      description: 'Totale dei punti che sono stati trasferiti quest\\'anno sulla tua area Multicoin'\n    },\n    'totalBlocked': {\n      amount: 0,\n      class: 'error',\n      text: 'Bloccati',\n      description: 'Totale dei punti bloccati. Verranno sbloccati appena effettuato il pagamento dell’ordine'\n    }\n  };\n  staticTooltipFidelityCard = {\n    target: '_self',\n    title: 'Fidelity Card', \n    subtitle: 'Attivazione',\n    message: 'Vai alla sezione Fidelity Card e scopri di più!',\n    href: '/fidelity-cards/activation', \n    icon: { \n      order: 0, \n      width: 1.5, \n      height: 1.5, \n      color: '#ff0000', \n      type: 'icon', \n      weight: 'far', \n      margin: [0, 0.5, 0, 0], \n      class: 'fa-exclamation-circle', \n    }\n  };\n  staticTooltipMulticoin = {\n    subtitle: 'Multicoin e punteggio', \n    href: 'https://docs.multidialogo.it/s/article/Consultazione-punti-Multicoin-in-Multidialogo ',\n    icon: {\n      type: 'svg', \n      order: 0, \n      width: 2, \n      height: 2, \n      margin: [0, 0.3, 0, 0]\n    }\n  };\n\n\n  changeSourceUserUuid() {\n    if (this.searchInterface.data.sourceUserUuid) {\n      this.searchInterface.data.context = 'YES'\n    }\n  }\n  changeSourceUserId() {\n    this.selectedUser = null;\n    this.isSelectedUserBuildingAdministartor = false;\n    setTimeout(() => {\n      if (this.searchInterface.data.sourceUserId) {\n        this.selectedUser = this.searchInterface.controls.sourceUserId.control.valueModel;\n        this.isSelectedUserBuildingAdministartor = this.selectedUser?.profile?.[0]?.businessType === 'BUILDING-ADMINISTRATOR';\n        this.setContextDatasource();\n      } else {\n        this.searchInterface.data.context = 'null';\n      }\n    }, 800);\n  }\n  changeContext() {\n    if (this.searchInterface.data.context !== 'YES') {\n      this.searchInterface.data.sourceUserUuid = null;\n    }\n  }\n  \n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n    this.defaultSearchSettings = {\n      status: 'null',\n      context: 'null',\n      sourceType: 'null',\n      createdAtGte: this.setDateRange(),\n      createdAtLte: this.setDateRange(364)\n    };\n    this.sourceUserUuidDatasource = {\n      table: 'users/me/users?include=user-profiles&status=ACTIVE',\n      query: { search: 'text-search', item: 'id-in' }\n    };\n    this.sourceUserIdDatasource = {\n      table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER',\n      query: { search: 'text-search', item: 'id-in' }\n    };\n    this.sourceTypes = {\n      'QUEUE': 'Spedizione',\n      'FLAT-SUBSCRIPTION-MULTINVIO': 'Servizio Multinvio',\n      'FLAT-SUBSCRIPTION-MULTINFORMA': 'Servizio Multinforma',\n    };\n    this.transactionStatuses = [\n      {\n        value: 'BLOCKED',\n        text: 'Bloccati',\n        class: 'error',\n        explanation: 'Trasferimento fallito:',\n        description: 'Punti che non possono essere trasferiti verso Multicoin'\n      },\n      {\n        value: 'PENDING',\n        text: 'Da trasferire',\n        class: 'pending',\n        explanation: 'In attesa di trasferimento',\n        description: 'Punti maturati ma non ancora trasferiti su Multicoin'\n      },\n      {\n        value: 'TRANSFERRED',\n        text: 'Trasferiti',\n        class: 'success',\n        explanation: 'Trasferimento verso Multicoin',\n        description: 'Punti già trasferiti verso Multicoin'\n      },\n      {\n        value: 'ACCREDITED',\n        text: 'Trasferimento',\n        class: 'secondary',\n        explanation: 'Totale trasferito in Multicoin',\n        description: 'Punti già trasferiti verso Multicoin'\n      }\n    ];\n  }\n  activate() {\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n  }\n  attached() {\n    this.isMdCounterVisible = this.setMdCounterVisibility();\n    this.initTabs();\n  }\n\n  // Init functions\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      endpoint: this.setEndpoint(),\n      name: 'table-points-transaction-history'\n    });\n    return this.tableInterface.initialize();\n  }\n  async initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-multicoin-movements-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          control: 'date',\n          label: 'Inserito dal:',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'Al:',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        sourceType: {\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          query: 'source-in',\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Originato da',\n          datasource: this.setSourceTypesDatasource()\n        },\n        status: {\n          label: 'Stato',\n          query: 'status',\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          datasource: this.setTransactionStatusesDatasource()\n        },\n        context: {\n          required: true,        \n          datasource: [],\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Originato da',\n          query: 'source-user-not-me',\n          label: 'Quali movimenti vuoi visualizzare?'\n        }\n      },\n      data: structuredClone(this.defaultSearchSettings)\n    });\n    if (this.isOperator) {\n      this.sourceTypes['MULTICOIN-TRANSFER'] = 'Trasferimento verso Multicoin';\n      this.searchInterface.schema.sourceUserId = {\n        required: true,\n        label: 'Utenti',\n        datavalue: 'id',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: this.sourceUserIdDatasource,\n      }\n    } else {\n      this.searchInterface.schema.sourceUserUuid = {\n        control: 'combo',\n        datavalue: 'uuid',\n        datapreload: false,\n        datamultiple: false,\n        query: 'source-subuser-uuid-in',\n        datatext: 'profile[0].displayName',\n        datasource: this.sourceUserUuidDatasource,\n        label: `${mdt.parsers.contextualize(this.api.user, 'Utente')}`\n      }\n    }\n    this.setContextDatasource();\n    return this.searchInterface.initialize();\n  }\n  async initTabs() {\n    this.isPendingInit = true;\n    let promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (!this.isOperator && this.api.hasRole('LIST_USER_FIDELITY_CARDS')) {\n      promises.push(mdt.fidelityCards.userCurrentFidelityCard(this.api));\n    }\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        this.userCurrentFidelityCard = xhrs?.find?.((xhr) => xhr?.status === 'fulfilled' && xhr?.value?.response?.type === 'fidelity-card-activations')?.value?.response;\n        if (!xhr.value && xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      if (!this.isOperator) this.search();\n      else if (this.isOperator && this.searchInterface.data.sourceUserId) this.search();\n      else this.isPendingInit = false;\n    }).catch((error) => {\n      console.log('initTab', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n\n  // Get functions\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    if (this.isOperator) this.tableInterface.endpoint = this.setEndpoint(data.sourceUserId);\n    return this.searchInterface.search(data).then((response) => {\n      this.multicoinPoints.totalAmount.amount = response?.originalResponse?.meta?.totalAmount || 0;\n      this.multicoinPoints.totalPending.amount = response?.originalResponse?.meta?.totalPendingAmount || 0;\n      this.multicoinPoints.totalBlocked.amount = response?.originalResponse?.meta?.totalBlockedAmount || 0;\n      this.multicoinPoints.totalTransferred.amount = response?.originalResponse?.meta?.totalTransferredAmount || 0;\n    }).finally(() => {\n      this.isPendingInit = false;\n    });\n  }\n  async reset() {\n    await this.searchInterface.reset(true);\n    this.searchInterface.data = structuredClone(this.defaultSearchSettings);\n    this.search();\n  }\n\n  // Set functions\n  setMdCounterVisibility() {\n    const storedRecord = sessionStorage.getItem(btoa('table-multicoin-movements-search-data'));\n    return !storedRecord && !this.isOperator;\n  }\n  setEndpoint(userId) {\n    const endpoint = `users/${userId || 'me'}/multicoin-movements`;\n    return endpoint;\n  }\n  setDateRange(days = 0) {\n    const currentDate = new Date(new Date().getFullYear(), 0, 1);\n    currentDate.setDate(currentDate.getDate() + days);\n    return currentDate.toISOString();\n  }\n  setTransactionStatusesDatasource() {\n    const datasource = [{ value: 'null', text: 'Qualsiasi' }];\n    this.transactionStatuses.forEach((item) => {\n      datasource.push({ value: item.value, text: item.text });\n    });\n    return datasource;\n  }\n  setSourceTypesDatasource() {\n    const datasource = [{ value: 'null', text: 'Qualsiasi' }];\n    for (const [value, text] of Object.entries(this.sourceTypes)) {\n      datasource.push({ value, text });\n    }\n    return datasource;\n  }\n  getTransactionStatus(record, property) {\n    let recordProperty = '';\n    let recordStatus = record;\n    if (typeof record === 'object' && !Array.isArray(record) && record !== null) recordStatus = record.status;\n    if (record.hasTransferErrors === 'YES') {\n      switch (property) {\n        case 'class':\n          recordProperty = 'transfer-error ';\n          break;\n        case 'explanation':\n          return 'Tentativo di trasferimento fallito';\n        case 'description':\n          return 'Trasferimento fallito: punti maturati ma non ancora trasferiti su Multicoin a causa di un errore';\n      }\n    }\n    recordProperty += this.transactionStatuses?.find?.((status) => status.value === recordStatus)?.[property];\n    return recordProperty;\n  }\n  setContextDatasource() {\n    let datasource = [{ value: 'null', text: 'Tutti' }];\n    let user = { value: 'NO', text: `I movimenti del`};\n    let subusers = { value: 'YES', text: `I movimenti dei ` };\n    if (!this.isOperator) {\n      user.text += ` mio ${mdt.parsers.contextualize(this.api.user, 'account')}`;\n      subusers.text += `miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}`;\n    } else {\n      const displayAccount = this.isSelectedUserBuildingAdministartor ? 'lo studio' : 'l\\'utente';\n      const displaySubusers = this.isSelectedUserBuildingAdministartor ? 'condomìni' : 'sottoutenti';\n      user.text += `${displayAccount}`;\n      subusers.text += `suoi ${displaySubusers}`;\n    }\n    datasource.push(user);\n    datasource.push(subusers);\n    return this.searchInterface.schema.context = Object.assign({}, this.searchInterface.schema.context, { datasource });\n  }\n\n  // Dialogs\n  dialogReason(record) {\n    this.dialog.open({\n      type: 'alert',\n      class: 'medium',\n      body: record?.reason,\n      title: 'Dettaglio origine'\n    });\n  }\n  dialogLockedAccreditation(record) {\n    const bodyMessage = record?.reason || 'Impossibile accreditare. Contatta l\\'assistenza.';\n    this.dialog.open({\n      title: 'Dettaglio',\n      class: 'medium',\n      type: 'alert',\n      body: bodyMessage,\n    });\n  }\n  detail(record, $event) {\n    switch (true) {\n      case !!record.legacySmsQueueId:\n        this.navigateToLegacySMSreport(record, $event);\n        break;\n      case !!record.sourceQueueUuid:\n        this.navigateToQueueDetail(record);\n        break;\n      case !!record.sourceFlatServiceSubscriptionUuid:\n        this.dialogFlatServiceSubscriptionDetail(record);\n        break;\n    }\n  }\n  dialogFlatServiceSubscriptionDetail(record) {\n    const ownerId = record.sourceUserId;\n    const flatServiceUuid = record.sourceFlatServiceSubscriptionUuid;\n    return this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio servizio in abbonamento',\n      viewModelParams: { ownerId, flatServiceUuid },\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail')\n    });\n  }\n\n  // Utility functions\n  navigateToQueueDetail(record) {\n    return this.router.navigate(`spedizioni/reportistica/${record.sourceUserId}/${record.sourceQueueUuid}`);\n  }\n  navigateToLegacySMSreport(record, $event) {\n    $event.model.busy = true;\n    mdt.legacy.getCrossLoginTokenCurrent(this.api).then((xhr) => {\n      const token = xhr.response?.token;\n      return window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=mi_queue_report_detail&mi_queue_id=${record.legacySmsQueueId}`);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n  openMulticoin() {\n    return mdt?.general?.navigateToExternal('https://go.multicoin.it/');\n  }\n  toggleTransferError(record) {\n    const element = document.querySelector(`.multicoin-points-transaction-history #transaction-${record.id} .transfer-error`);\n    element.classList.toggle('open');\n    this.transferErrorDetail(record);\n  }\n  transferErrorDetail(record) {\n    const wrapperElement = document.querySelector(`.multicoin-points-transaction-history #transaction-${record.id} .transfer-error-details .wrapper`);\n    if (wrapperElement.clientHeight) {\n      wrapperElement.style.height = 0;\n    } else {\n      const wrappers = document.querySelectorAll(`.multicoin-points-transaction-history .transfer-error-details .wrapper`);\n      const growingElement = document.querySelector(`.multicoin-points-transaction-history #transaction-${record.id} .transfer-error-details .wrapper p`);\n      wrappers.forEach((wrapper) => {\n        if (wrapper.clientHeight) {\n          wrapper.style.height = 0;\n          wrapper.parentElement.previousElementSibling.classList.remove('open');\n        }\n      });\n      setTimeout(() => {\n        wrapperElement.style.height = 20 + growingElement.clientHeight + 'px';\n      }, 300)\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class NotificheAnteprima {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.notification = params.notification;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n@inject(Api, KaDialog, KaToast)\nexport class vmNotifiche {\n  mdt = mdt;\n  tabs = [\n    {\n      id: 'elencoNotificheMie',\n      label: 'Le mie notifiche',\n      vm: PLATFORM.moduleName('views/notifiche-ui/tabs/elenco-notifiche-mie')\n    },\n    {\n      id: 'elencoNotificheUtenti',\n      label: null,\n      vm: PLATFORM.moduleName('views/notifiche-ui/tabs/elenco-notifiche-utenti')\n    }\n  ];\n\n  tools = {\n    kaTabsCounter: (alerts) => {\n      // Storage\n      if (alerts) {\n        localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify({ \n          totalUnreadNotifications: alerts.totalUnreadNotificationsCount ? parseInt(alerts.totalUnreadNotificationsCount, 10) : null, \n          myUnreadNotifications: alerts.totalMineUnreadNotificationsCount ?  parseInt(alerts.totalMineUnreadNotificationsCount,10): null, \n          subusersUnreadNotifications: alerts.totalSubuserUnreadNotificationsCount ? parseInt(alerts.totalSubuserUnreadNotificationsCount, 10) : null \n        }));\n      }\n      let storage = localStorage.getItem(btoa('ui-notifications-counter')) ? JSON.parse(localStorage.getItem(btoa('ui-notifications-counter'))) : null;\n      let myUnreadNotifications = storage && storage.myUnreadNotifications && storage.myUnreadNotifications !== 'error' ? parseInt(storage.myUnreadNotifications, 10) : null;\n      let subusersUnreadNotifications = storage && storage.subusersUnreadNotifications && storage.subusersUnreadNotifications !== 'error' ? parseInt(storage.subusersUnreadNotifications, 10) : null;\n\n      // Ka tabs\n      let kaTabs = document.querySelectorAll('ka-tabs#main > nav > a');\n      if (kaTabs) {\n        for (let i = 0; i < kaTabs.length; i++) {\n          let counter = kaTabs[i].querySelector('span');\n          if (counter) counter.remove();\n          // Mine\n          if (i === 0 && myUnreadNotifications) {\n            if (!kaTabs[i].classList.contains('alert')) kaTabs[i].classList.add('alert');\n            kaTabs[i].insertAdjacentHTML('beforeend', `<span>${myUnreadNotifications}</span>`);\n          }\n          // Subusers\n          if (!this.privileges.isOperator) {\n            if (i === 1 && subusersUnreadNotifications) {\n              if (!kaTabs[i].classList.contains('alert')) kaTabs[i].classList.add('alert');\n              kaTabs[i].insertAdjacentHTML('beforeend', `<span>${subusersUnreadNotifications}</span>`);\n            }\n          }\n        } \n      }\n    },\n    getAlerts: () => {\n      let limit = 100;\n      return new Promise((resolve, reject) => {\n        this.api.get(`users/me/ui-notification-alerts?limit=${limit}`).then(xhr => {\n          let alerts = xhr.response;\n          let metaAlerts = xhr.originalResponse.meta;\n\n          // Ka tabs\n          this.tools.kaTabsCounter(metaAlerts);\n\n          // Subusers alert (if total subusers are more than ${limit})\n          if (!this.privileges.isOperator && alerts.length > 1) {\n            let total = xhr.originalResponse.meta.total;\n            if (total > limit) {\n              let offset = limit;\n              const fetchSubusers = () => {\n                this.api.get(`users/me/ui-notification-alerts?limit=${limit}&offset=${offset}`).then(y => {\n                  alerts = alerts.concat(y.response);\n                  offset += limit;\n                  if (offset < total) fetchSubusers();\n                  else {\n                    alerts = alerts.filter(x => x.legacyOwnerId !== this.api.user.id);\n                    return resolve(alerts);\n                  }\n                }).catch(error => {\n                  console.log('ERROR ui-notifications-alerts get', error);\n                  let storage = { totalUnreadNotifications: 'error', myUnreadNotifications: 'error', subusersUnreadNotifications: 'error' };\n                  localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n                  this.api.dialogError(error);\n                  return reject();\n                });\n              };\n              fetchSubusers();   \n            } else {\n              alerts = xhr.response.filter(x => x.legacyOwnerId !== this.api.user.id);\n              return resolve(alerts);\n            }\n          } else {\n            return resolve(alerts); \n          } \n        }).catch(error => {\n          console.log('ERROR ui-notifications-alerts get', error);\n          let storage = { totalUnreadNotifications: 'error', myUnreadNotifications: 'error', subusersUnreadNotifications: 'error' };\n          localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n          this.api.dialogError(error);\n          return reject();\n        });\n      });\n    },\n    getUser: (user) => {\n      return new Promise((resolve, reject) => {\n        this.api.get(`users/${user.legacyOwnerId}?include=user-profiles`).then(xhr => {\n          let user = { legacyOwnerId: xhr.response.id, ownerDisplayName: xhr.response.profile[0].displayName };\n          localStorage.setItem(btoa('ui-notifications-user'), JSON.stringify(user));\n          return resolve();\n        }).catch(() => {\n          console.log('ERROR ui-notifications-user get', error);\n          this.api.dialogError(error);\n          return reject();\n        });\n      }); \n    },\n    preview: (notification, user = null) => {\n      return new Promise((resolve, reject) => {\n        if (!notification) return reject();\n        this.dialog.open({\n          title: notification.title,\n          class: 'notificheui-anteprima',\n          viewModel: PLATFORM.moduleName('views/notifiche-ui/dialogs/notifiche-anteprima'),\n          viewModelParams: { notification }\n        }, true).whenClosed(() => {\n          let load = false;\n          if (!notification.readByMeAt) load = true;\n          if (this.privileges.isOperator && notification.userUuid !== this.api.user.uuid) load = false;\n          if (load) { this.tools.notificationsReadStatus(notification, user).then(() => {\n              return resolve(load); \n            }).catch(() => {\n              return reject();\n            })\n          } else {\n            return resolve(load);\n          }\n        });\n      });     \n    },\n    notificationsReadStatus: (notification, user) => {\n      return new Promise((resolve, reject) => {\n        let data = { read: 'YES' };\n        data.read = notification.readByMeAt ? 'NO' : 'YES';\n\n        this.api.patch(`users/${user?.legacyOwnerId || 'me'}/ui-notifications/${notification.uuid}`, data).then(() => {\n          return resolve(); \n        }).catch(error => {\n          console.log('ERROR ui-notifications patch', error);\n          this.api.dialogError(error);\n          return reject();\n        });\n      });\n    },\n    setAllAsRead: (notificationsTableInterface) => {\n      let promises = [];\n      notificationsTableInterface.data.forEach(record => {\n        promises.push(this.api.patch(`${notificationsTableInterface.endpoint}/${record.uuid}`, { read: 'YES' }));\n      });\n      return Promise.all(promises).then(() => {\n        this.toast.show('Operazione effettuata con successo!', 'success');\n      }).catch((errors) => {\n        console.error('ERRORS ui-notifications - patch', errors);\n        this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n      });\n    },\n    takeOver: (notification) => {\n      return new Promise((resolve, reject) => {\n        if (notification.assigneeUuid) {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `<strong>Questa notifica è già assegnata ad un altro utente</strong><br>Confermi di volerla prendere in carico?`}).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.api.patch(`bo/ui-notifications/bulk-assign/${notification.shareCode}`, {}).then(() => {\n              this.toast.show('Notifica presa in carico con successo!', 'success');\n              return resolve();\n            }).catch(error => {\n              console.error('ERRORS ui-notifications/bulk-assign - patch', error);\n              this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n              return reject();\n            });\n          }\n        });\n      } else {\n        this.api.patch(`bo/ui-notifications/bulk-assign/${notification.shareCode}`, {}).then(() => {\n          this.toast.show('Notifica presa in carico con successo!', 'success');\n          return resolve();\n        }).catch(error => {\n          console.error('ERRORS ui-notifications/bulk-assign - patch', error);\n          this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n          return reject();\n        });\n      }\n      });\n    },\n    notificationTooltip: (notification) => {\n      return `<div class=\"notification-tooltip\"><strong class=\"title\">${notification.title}</strong><p class=\"content\">${notification.plainTextBody}</p></div>`;\n    },\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n    this.tools.kaTabsCounter();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elencoNotificheMie: false, elencoNotificheSottoutenti: false, elencoNotificheUtenti: false  }};\n    this.privileges.isOperator = false;\n    if (this.api.hasRole('LIST_USER_UI_NOTIFICATION')) {\n      this.privileges.tabs.elencoNotificheMie = true;\n      this.privileges.tabs.elencoNotificheUtenti = this.api.user.group === 'MASTER_USER' ? true : false;\n      this.tabs.find(tab => tab.id === 'elencoNotificheUtenti').label = `Le notifiche dei miei ${this.mdt.parsers.contextualize(this.api.user, 'utenti')}`;\n    }\n    if (this.api.hasRole('LIST_ANY_USER_UI_NOTIFICATION')) {\n      this.privileges.isOperator = this.privileges.tabs.elencoNotificheUtenti = true;\n      this.tabs.find(tab => tab.id === 'elencoNotificheUtenti').label = `Le notifiche degli utenti`;      \n    }\n  }\n}\n","import {Aurelia, inject, observable} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmElencoNotificheMie {\n  mdt = mdt;\n  pending = true;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    \n    // INIT notifications TableInterface\n    this.myNotificationsTableInterface = new TableInterface({\n      name: 'myNotificationsTableInterface',\n      client: this.api,\n      endpoint: `users/me/ui-notifications`\n    });\n    this.myNotificationsTableInterface.initialize().catch(error => { console.log('myNotificationsTableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.myNotificationsSearchInterface = new SearchInterface({\n      name: 'myNotificationsSearchInterface',\n      table: this.myNotificationsTableInterface,\n      schema: {\n        readBy: {\n          control: 'combo',  \n          label: 'Stato di lettura della notifica', \n          datasource: [{ value: 'null', text: 'Tutte le notifiche' }, { value: 'NOT-ME', text: 'Da leggere' }],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          query: 'read-by'\n        },\n        templateCode: {\n          control: 'combo',  \n          label: 'Addebitabile a', \n          datasource: null,\n          datavalue: 'code', \n          datatext: 'label', \n          datapreload: false,\n          datamultiple: false,\n          query: 'template-code'\n        }\n      },\n      data: {\n        readBy: 'NOT-ME',\n        templateCode: 'null'\n      }\n    });\n    this.myNotificationsSearchInterface.initialize().then(() => {\n      this.getTemplates().then(() => { this.setTemplate(); });\n    }).catch(error => { \n      console.log('ERROR searchInterface initialization failed', error);\n    });\n  }\n\n  readByChanged() {\n    this.pending = true;\n    this.getNotifications();\n  }\n\n  getTemplates() {\n    return this.api.get('system-notification-templates?channel=ui').then(xhr => {\n      this.templates = xhr.response;\n      this.myNotificationsSearchInterface.schema.templateCode.datasource = this.templates;\n    }).catch(error => {\n      console.log('ERROR system-notification-templates get', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  setTemplate(templateCode) {\n    this.pending = true;\n    if (templateCode) {\n      this.myNotificationsSearchInterface.data.templateCode = templateCode === 'all-templates' ? null : templateCode;\n    } else {\n      templateCode = this.myNotificationsSearchInterface.data.templateCode;\n    }\n\n    // Select templates\n    setTimeout(() => {\n      let oldSelectedTemplate = document.querySelector('.templates > .selected');\n      oldSelectedTemplate?.classList.remove('selected');\n      let newSelectedTemplate = document.getElementById(templateCode || 'all-templates');\n      newSelectedTemplate?.classList.add(\"selected\");\n    }, 0);\n\n    this.getNotifications();\n  }\n\n  getNotifications() {\n    return this.myNotificationsSearchInterface.search().catch(error => {\n      console.log('ERROR searchInterface search', error);\n      this.toast.show('Errore durante il caricamento delle notifiche!', 'error');\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  preview(notification, $event) {\n    if (!notification.readByMeAt) $event.model.busy = true;\n    this.tools.preview(notification).then(load => {\n      this.pending = true;\n      $event.model.busy = false;\n      if (load) {\n        this.tools.getAlerts().then(() => {\n          this.getNotifications();\n        }).catch(() => { \n          this.pending = false;\n         });\n      } else {\n        this.pending = false;\n      }\n    }).catch(() => { \n      $event.model.busy = false;\n    });\n  }\n\n  notificationsReadStatus(notification) {\n    this.pending = true;\n    this.tools.notificationsReadStatus(notification).then(() => {\n      this.tools.getAlerts().then(() => {\n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  setAllAsRead(myNotificationsTableInterface) {\n    this.pending = true;\n    this.tools.setAllAsRead(myNotificationsTableInterface).finally(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  takeOver(notification, $event) {\n    this.pending = true;\n    $event.model.busy = true;\n    this.tools.takeOver(notification).then(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications().then(() => {\n          $event.model.busy = false;\n        }).catch(() => { \n          this.pending = false;\n          $event.model.busy = false;\n        });\n      }).catch(() => { \n        this.pending = false;\n        $event.model.busy = false;\n      });\n    }).catch(() => { \n      this.pending = false;\n      $event.model.busy = false;\n    });\n  }\n}\n","import {Aurelia, inject, observable} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmElencoNotificheUtenti {\n  mdt = mdt;\n  pending = null;\n  subusers = null;\n  _subusers = null;\n  @observable() searchSubuser = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n\n    // INIT notifications TableInterface\n    this.userNotificationsTableInterface = new TableInterface({\n      name: 'userNotificationsTableInterface',\n      client: this.api,\n      endpoint: null\n    });\n    this.userNotificationsTableInterface.initialize().catch(error => { console.log('userNotificationsTableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.userNotificationsSearchInterface = new SearchInterface({\n      name: 'userNotificationsSearchInterface',\n      table: this.userNotificationsTableInterface,\n      schema: {\n        readBy: {\n          control: 'combo',  \n          label: 'Stato di lettura della notifica', \n          datasource: [{ value: 'null', text: 'Tutte le notifiche' }, { value: 'NOT-ME', text: 'Da leggere' }],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          query: 'read-by'\n        },\n        user: {\n          label: 'Utente',\n          control: 'combo',\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' }},\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        }\n      },\n      data: {\n        readBy: 'NOT-ME',\n        user: null\n      }\n    });\n    this.userNotificationsSearchInterface.initialize().then(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || (this.privileges.isOperator ? { legacyOwnerId: null, ownerDisplayName: null } : null);\n        this.searchSubuser = localStorage.getItem(btoa('ui-notifications-subuser')) ? JSON.parse(localStorage.getItem(btoa('ui-notifications-subuser'))).searchSubuser : null;\n        if (!this.privileges.isOperator && this.user) this.setSubuser();\n        else this.pending = false;\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  searchSubuserChanged(value) {\n    let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n    oldSelectedSubuser?.classList.remove('selected');\n    this._subusers = value ? this.subusers.filter(x => x.ownerDisplayName.toLowerCase().includes(value.toLowerCase())) : this.subusers;\n    localStorage.setItem(btoa('ui-notifications-subuser'), JSON.stringify({ searchSubuser: value || null }));\n\n    if (this._subusers.filter(x => x?.legacyOwnerId === this.user?.legacyOwnerId).length) {\n      setTimeout(() => {\n        let newSelectedSubuser = this.user?.legacyOwnerId ? document.getElementById(this.user.legacyOwnerId) : null;\n        newSelectedSubuser?.classList.add(\"selected\");\n      }, 0);\n    }\n  }\n\n  searchUser() {\n    if (this.userNotificationsSearchInterface.data.user) {\n      this.user = { legacyOwnerId: this.userNotificationsSearchInterface.data.user, ownerDisplayName: null };\n      this.tools.getUser(this.user).then(() => {\n        this.pending = true;\n        this.getNotifications();\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || null;\n      }).catch(() => { \n        this.pending = false;\n      });\n    } else {\n      this.pending = true;\n      setTimeout(() => {\n        this.user = { legacyOwnerId: null, ownerDisplayName: null };\n        localStorage.setItem(btoa('ui-notifications-user'), JSON.stringify(this.user));\n        this.userNotificationsTableInterface.data = [];\n        this.pending = false;\n      }, 200);\n    }\n  }\n\n  setSubuser(user) {\n    // Select subuser\n    setTimeout(() => {\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      let newSelectedSubuser = null;\n      if (user) newSelectedSubuser = document.getElementById(user.legacyOwnerId);\n      else if (this.user) newSelectedSubuser = document.getElementById(this.user.legacyOwnerId);\n      oldSelectedSubuser?.classList.remove('selected');\n      newSelectedSubuser?.classList.add(\"selected\");\n    }, 0);\n\n    if (user) {\n      this.tools.getUser(user).then(() => {\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || null;\n        this.getNotifications();\n      });\n    } else {\n      this.getNotifications();\n    }\n  }\n\n  readByChanged() {\n    this.pending = true;\n    this.getNotifications();\n  }\n\n  getNotifications() {\n    if (!this.user || !this.user.legacyOwnerId) return this.pending = false;\n    this.userNotificationsTableInterface.endpoint = `users/${this.user.legacyOwnerId}/ui-notifications`;\n    return this.userNotificationsSearchInterface.search().catch(error => {\n      console.log('ERROR searchInterface search', error);\n      this.toast.show('Errore durante il caricamento delle notifiche!', 'error');\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  preview(notification, $event) {\n    if (!notification.readByMeAt) $event.model.busy = true;\n    this.tools.preview(notification, this.user).then(load => {\n      this.pending = true;\n      $event.model.busy = false;\n      if (load) {\n        this.tools.getAlerts().then(alerts => {\n          this.subusers = [...alerts];\n          this.getNotifications();\n        }).catch(() => { \n          this.pending = false;\n         });\n      } else {\n        this.pending = false;\n      }\n    }).catch(() => { \n      $event.model.busy = false;\n    });\n  }\n\n  notificationsReadStatus(notification) {\n    this.pending = true;\n    this.tools.notificationsReadStatus(notification, this.user).then(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  setAllAsRead(userNotificationsTableInterface) {\n    this.pending = true;\n    this.tools.setAllAsRead(userNotificationsTableInterface).finally(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.getNotifications(); \n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  takeOver(notification, $event) {\n    this.pending = true;\n    $event.model.busy = true;\n    this.tools.takeOver(notification).then(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications().then(() => {\n          $event.model.busy = false;\n        }).catch(() => { \n          this.pending = false;\n          $event.model.busy = false;\n        });\n      }).catch(() => { \n        this.pending = false;\n        $event.model.busy = false;\n      });\n    }).catch(() => { \n      this.pending = false;\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdFileViewer, MdFileDownload } from 'services/md-files';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast, MdFileViewer)\nexport class viewCopertine {\n  isSubuser;\n  isOperator;\n  isMasterUser;\n  isPrintOperator;\n  IsUserSearchFieldVisible;\n  searchInterfaceData = {\n    status: 'null',\n    target: 'null'\n  };\n  coverStatuses = {\n    \"PENDING\": { \n      text: 'In attesa', \n      class: 'pending' \n    },\n    \"REFUSED\": { \n      text: 'Rifiutata', \n      class: 'error' \n    },\n    \"APPROVED\": { \n      text: 'Approvata', \n      class: 'success' \n    }\n  };\n\n  constructor(router, api, kaDialog, kaToast) {\n    this.router = router;\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.mdFileDownload = new MdFileDownload(api, kaToast);\n    this.mdFileViewer = new MdFileViewer(api, kaDialog, kaToast);\n  }\n\n  activate(model) {\n    this.model = model;\n    this.setPrivileges();\n    this.setIsUserSearchFieldVisible();\n  }\n\n  attached() {\n    this.initView();\n  }\n\n  // Init methods\n  initView() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.getCovers();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-interface-covers'\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'covers-table-search',\n      table: this.tableInterface,\n      schema: {\n        target: {\n          required: true,\n          control: 'combo',\n          query: 'associated-users',\n          label: 'Quali copertine visualizzare?',\n          datasource: [\n            { text: 'Tutte', value: 'null' },\n            { text: 'Associate al mio Studio', value: 'SELF' },\n            { text: 'Associate ai miei condomini', value: 'SUBUSERS' }\n          ]\n        },\n        user: {\n          datavalue: 'id',\n          control: 'combo',\n          datapreload: false,\n          datamultiple: false,\n          datatext: 'profile[0].displayName',\n          label: this.setSearchInterfaceUserLabel(),\n          datasource: {\n            table: this.setSearchInterfaceUserEndpoint(),\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        label: {\n          query: 'label',\n          control: 'text',\n          label: 'Titolo copertina'\n        },\n        status: {\n          query: 'status',\n          control: 'combo',\n          label: 'Stato omologazione',\n          datasource: this.setSearchInterfaceSchemaStatusDatasource()\n        },\n        createdAtGte: {\n          control: 'date',\n          query: 'created-at-gte',\n          label: 'Copertina inserita dal'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        }\n      },\n      data: structuredClone({\n        ...this.searchInterfaceData,\n        ...(this.isSubuser && { target: 'SELF' })\n      })\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Get methods\n  getCovers() {\n    this.setTableInterfaceCoversEndpoint();\n    return this.searchInterface.search();\n  }\n  resetCovers() {\n    this.searchInterface.reset(false, false);\n    this.searchInterface.data.status = this.searchInterfaceData.status;\n    this.searchInterface.data.target = this.isSubuser ? 'SELF' : this.searchInterfaceData.target;\n    return this.getCovers();\n  }\n\n  // Change methods\n  changeSearchInterfaceDataTarget() {\n    this.setIsUserSearchFieldVisible();\n    if (['SELF','null'].includes(this.searchInterface.data.target)) this.searchInterface.data.user = null;\n  }\n  changeSearchInterfaceDataUser() {\n    if (this.searchInterface.data.target !== 'SELF' && this.searchInterface.data.user && (this.isOperator || !this.isPrintOperator)) {\n      this.searchInterface.data.target = this.searchInterface.data.user;\n    } else if (!this.searchInterface.data.user && !this.isOperator && !this.isPrintOperator) {\n      this.searchInterface.data.target = 'SUBUSERS';\n    }\n  }\n\n  // Set methods\n  setIsUserSearchFieldVisible() {\n    this.IsUserSearchFieldVisible = !this.isSubuser && (this.isOperator || this.isPrintOperator || !['null', 'SELF'].includes(this.searchInterface?.data?.target));\n  }\n  setPrivileges() {\n    const userGroup = this.api.user.group;\n    switch (userGroup) {\n      case 'PRINT_BACKOFFICE':\n        this.isPrintOperator = true;\n        break;\n      case 'EXECUTIVE_OPERATOR':\n        this.isOperator = true;\n        break;\n      case 'BACKOFFICE':\n        this.isOperator = true;\n        break;\n      case 'BASIC_USER':\n        this.isSubuser = true;\n        break;\n      case 'MASTER_USER':\n        this.isMasterUser = true;\n        break;\n    }\n  }\n  setSearchInterfaceUserLabel() {\n    let label = 'Utente';\n    if (!this.isOperator && !this.isPrintOperator) {\n      label = mdt.parsers.contextualize(this.api.user, 'Utente');\n    }\n    return label;\n  }\n  setSearchInterfaceUserEndpoint() {\n    const baseUrl = this.isOperator || this.isPrintOperator ? 'bo/users' : 'users/me/users';\n    return `${baseUrl}?status=ACTIVE&include=user-profiles`;\n  }\n  setTableInterfaceCoversEndpoint() {\n    let baseUrl = 'users/me';\n    if (this.isOperator || this.isPrintOperator) {\n      baseUrl = this.searchInterface.data.user ? `users/${this.searchInterface.data.user}` : 'bo/users';\n    }\n    this.tableInterface.endpoint = `${baseUrl}/preferences/sender/letter-covers`;\n  }\n  setSearchInterfaceSchemaStatusDatasource() {\n    const datasource = [{ text: 'Qualsiasi', value: 'null' }];\n    for (const [key, value] of Object.entries(this.coverStatuses)) {\n      datasource.push({ text: value.text, value: key });\n    }\n    return datasource;\n  }\n\n  // Dialog methods\n  dialogManageCover($event, record) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Dati copertina',\n      class: 'medium manage-cover',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/manage-cover'),\n      viewModelParams: { cover: record }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.getCovers();\n      }\n    });\n  }\n  dialogAddCover($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Aggiungi nuova copertina',\n      class: 'medium add-cover',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/add-cover'),\n      viewModelParams: { user: this.api.user }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.toast.show('Copertina aggiunta con successo', 'success');\n        this.getCovers();\n      }\n    });\n  }\n  dialogUserAssociationsWithTheCover(record, $event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica associazione',\n      class: 'user-associations-with-the-cover medium',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/user-associations-with-the-cover'),\n      viewModelParams: { cover: record }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.getCovers();\n      }\n    });\n  }\n  dialogDeleteCover(recordUuid) {\n    this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'small', \n      type: 'confirm', \n      body: 'Se sicuro di voler cancellare questa copertina?' }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.deleteCover(recordUuid).then(() => {\n          this.toast.show(`Copertina eliminata con successo!`, 'success');\n          this.getCovers();\n        }).catch((error) => {\n          console.error(\"error deleting cover\", error);\n          this.toast.show(`Errore durante l'eliminazione`, 'error');\n        });\n      }\n    });\n  }\n\n  // Features\n  deleteCover(recordUuid) {\n    return this.api.delete(`users/me/preferences/sender/letter-covers/${recordUuid}`);\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogAddCover {\n  mdt = mdt;\n\n  static inject = [Api, DialogController];\n  selectedSubuserProfiles;\n  staticTooltipCover = {\n    title: 'Copertina',\n    href: 'https://docs.multidialogo.it/s/article/LE-COPERTINE-SU-MULTIDIALOGO',\n    icon: { type: 'svg', order: 1, width: 2, height: 2, margin:[0, 0, 0, 0.3] }\n  };\n\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n    this.resource = this.initResource();\n  }\n  activate(params) {\n    this.params = params;\n    this.user = params.user;\n  }\n\n  // Init methods\n  initResource() {\n    return {\n      controls: {},\n      schema: {\n        label: {\n          required: true,\n          control: 'text',\n          label: 'Titolo copertina',\n          placeholder: 'Denominazione generica della copertina'\n        },\n        fileData: {\n          required: true,\n          control: 'file',\n          label: 'Copertina',\n          placeholder: 'File PDF di 4 pagine in formato A4',\n          validationRule: {\n            satisfies: () => { return this.resource.data?.fileData?.[0]?.type === 'application/pdf'; },\n            withMessage: 'Caricare un file PDF.',\n          },\n        },\n        weight: {\n          readonly: true,\n          control: 'combo',\n          label: 'Grammatura',\n          datasource: [{ text: 'carta 80 gr' , value: 80 }]\n        },\n        colorMode: {\n          required: true,\n          label: 'Stampa',\n          control: 'combo',\n          datasource: [\n            { text: 'a colori' , value: 'COLOR' },\n            { text: 'in bianco e nero' , value: 'BW' }\n          ]\n        },\n        associations: {\n          target: {\n            required: true,\n            control: 'combo',\n            label: 'Associa la copertina a',\n            datasource: [\n              { text: 'Il mio Studio' , value: 'SELF' },\n              { text: 'I miei Condomini' , value: 'SUBUSERS' },\n            ]\n          },\n          items: {\n            datavalue: 'id',\n            control: 'combo',\n            datamultiple: true,\n            datapreload: false,\n            datatext: 'profile[0].displayName',\n            datasource: {\n              table: 'users/me/users?status=ACTIVE&include=user-profiles',\n              query: { search: 'text-search', item: 'id-in' },\n            },\n            label: `Associa ad uno o più ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} *`,\n            validationRule: {\n              satisfies: () => { return this.setResourceSchemaItemsValidationRule(); },\n              withMessage: `Aggiungere almeno un ${this.mdt.parsers.contextualize(this.api.user, 'utente')}`,\n            },\n          },\n          presets: {\n            datasource: [],\n            control: 'combo',\n            datamultiple: true,\n            label: `Configura come predefinita: puoi selezionare solo i ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} associati`\n          }\n        }\n      },\n      data: {\n        weight: 80,\n        colorMode: 'BW',\n        associations: {\n          presets: [],\n          target: 'SELF',\n        }\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach((control) => {\n          control.validator.errors = [];\n          control.element.classList.remove('error');\n          promises.push(new Promise((resolve, reject) => { \n            control.validate().then((result) => { \n              if (result.valid) resolve(); \n              else reject('Control didn\\'t pass validation'); \n            }); \n          }));\n        });\n        return Promise.all(promises);\n      }\n    }\n  }\n\n  // Change methos\n  changeAssociationsTarget() {\n    if (this.resource.data.associations.target === 'SELF') this.selectedSubuserProfiles = [];\n    this.setResourceSchemaPresetsDatasource();\n    this.resource.data.associations.items = [];\n\n  }\n  changeAssociationsItems() {\n    this.selectedSubuserProfiles = [];\n    this.resource?.controls?.['associations.items']?.control?.valueModel?.forEach((record) => {\n      let item = { \n        ...record, \n        profile: record.profile[0] \n      }\n      this.selectedSubuserProfiles.push(item);\n    });\n    this.resource.data.associations.presets = [];\n    return this.setResourceSchemaPresetsDatasource();\n  }\n\n  // Set methods\n  setResourceSchemaItemsValidationRule() {\n    return (this.resource.data?.associations?.target === 'SUBUSERS' && this.resource.data?.associations?.items?.length) || this.resource.data?.associations?.target === 'SELF';\n  }\n  setResourceSchemaPresetsDatasource() {\n    let datasource = [];\n    this.selectedSubuserProfiles.forEach((record) => {\n      const item = { \n        text: record.profile.displayName, \n        value: record.uuid \n      };\n      datasource.push(item);\n    });\n    if (this.resource.data.associations.target === 'SELF' && !datasource.length) datasource.push({ text: 'Il mio Studio', value: 'SELF' });\n    this.resource.schema.associations.presets = Object.assign({}, this.resource.schema.associations.presets, { datasource });\n  }\n  setFileData() {\n    return new Promise((resolve, reject) => {\n      const reader = new FileReader();\n      reader.readAsDataURL(this.resource.data?.fileData?.[0]);\n      reader.onloadend = () => {\n        const fileData = reader.result;\n        resolve(fileData);\n      };\n      reader.onerror = reject;\n    });\n  }\n  setPayload(fileData) {\n    const associatedSubusers = [];\n    let payload = structuredClone(this.resource.data);\n    switch (payload.associations.target) {\n      case 'SUBUSERS':\n        this.selectedSubuserProfiles?.forEach((record) => {\n          const item = { \n            userUuid: record.uuid,\n            default: this.resource.data.associations?.presets?.includes(record.uuid) ? 'YES' : 'NO'\n          };\n          associatedSubusers.push(item);\n        });\n        payload.associations.items = associatedSubusers;\n        break;\n      case 'SELF':\n        payload.associations.default = payload.associations.presets?.includes('SELF') ? 'YES' : 'NO';  \n        delete payload.associations.items;\n        break;\n    } \n    payload.fileData = fileData;\n    delete payload.associations.presets;\n    return payload;\n  }\n\n  // Post methods\n  postCover($event, payload) {\n    $event.model.busy = true;\n    return this.api.post(`users/${this.user.id}/preferences/sender/letter-covers`, payload).then(() => {\n      this.controller.ok();\n    }).catch((error) => {\n      console.log('postCover', error);\n      this.api.dialogError(error, this.resource.controls);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  // Features\n  addCover($event) {\n    this.resource.validate().then(() => {\n      this.setFileData().then((fileData) => {\n        const payload = this.setPayload(fileData);\n        this.postCover($event, payload);\n      });\n    }).catch((error) => {\n      console.log('addCover', error);\n      this.api.dialogError(error, this.resource.controls);\n    })\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdFileViewer } from 'services/md-files';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogManageCover {\n  static inject = [Api, DialogController, KaToast, KaDialog];\n  constructor(api, controller, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.controller = controller;\n    this.mdFileViewer = new MdFileViewer(this.api, this.dialog, this.toast);\n  }\n\n  activate(params) {\n    this.params = params;\n    this.cover = params.cover;\n    this.initResource();\n  }\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        label: {\n          readonly: true,\n          control: 'text',\n          label: 'Titolo'        \n        },\n        cover: {\n          readonly: true,\n          control: 'text',\n          label: 'Autore'        \n        },\n        refusalReason: {\n          control: 'text',\n          label: 'Motivazione del rifiuto *'\n        },\n        weight: {\n          readonly: true,\n          control: 'combo',\n          label: 'Grammatura',\n          datasource: [{ text: 'carta 80 gr' , value: 80 }]\n        },\n        color: {\n          readonly: true,\n          control: 'combo',\n          label: 'Stampa',\n          datasource: [\n            { text: 'bianco e nero' , value: 'BW' },\n            { text: 'a colori' , value: 'COLOR' }\n          ]\n        },\n        status: {\n          required: true,\n          control: 'combo',\n          label: 'Omologa copertina',\n          datasource: [\n            { text: 'Rifiuta' , value: 'REFUSED' },\n            { text: 'Approva' , value: 'APPROVED' }\n          ]\n        }\n      },\n      data: {\n        label: this.cover.label,\n        weight: this.cover.weight,\n        color: this.cover.colorMode,\n        status: this.setCoverStatus(),\n        cover: this.cover.authorDisplayName\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          control.validator.errors = [];\n          control.element.classList.remove('error');\n          promises.push(new Promise((resolve, reject) => { \n            control.validate().then((result) => { \n              if (result.valid) resolve(); \n              else reject('Control didn\\'t pass validation'); \n            }); \n          }));\n        });\n        return Promise.all(promises);\n      }\n    }\n  }\n  setCoverStatus() {\n    return ['REFUSED', 'APPROVED'].includes(this.cover.status) ? this.cover.status : 'APPROVED';\n  }\n  setPayload() {\n    return {\n      status: this.resource.data.status,\n      ...(this.resource.data.status === 'REFUSED' && { refusalReason: this.resource.data.refusalReason })\n    }\n  }\n  patchLetterCover() {\n    const payload = this.setPayload();\n    return this.api.patch(`users/me/preferences/sender/letter-covers/${this.cover.uuid}`, payload);\n  }\n  manageCover() {\n    this.patchLetterCover().then(() => {\n      this.controller.ok();\n      this.toast.show(`Copertina omologata con successo!`, 'success');\n    }).catch((error) => {\n      console.error('manageCover', error);\n      this.toast.show('Errore in fase di omologazione', 'error');\n      this.api.dialogError(error, this.resource.controls);\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast } from 'ka-components'\nimport { DialogController, DialogService } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class DialogUserAssociationsWithTheCover {\n  resource;\n  mdt = mdt;\n  currentItems = {};\n\n  static inject = [Api, DialogController, KaToast, DialogService];\n  constructor(api, controller, toast, dialogService) {\n    this.api = api;\n    this.mdt = mdt;\n    this.toast = toast;\n    this.controller = controller;\n    this.dialogService = dialogService;\n  }\n  activate(params) {\n    this.cover = params.cover;\n    this.initResource();\n    this.initTableInterface();\n    this.initSearchInterface();\n  }\n\n  // Init\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        target: {\n          required: true,\n          control: 'combo',\n          label: 'Associa la copertina a',\n          datasource: [\n            { text: 'Il mio Studio' , value: 'SELF' },\n            { text: 'I miei Condomini' , value: 'SUBUSERS' }\n          ]\n        },\n        default: {\n          control: 'check',\n          label: 'Imposta come',\n          description: 'Predefinita per lo Studio'\n        }\n      },\n      data: {\n        target: this.cover.associations.target,\n        default: this.cover.associations.default === 'YES'\n      }\n    }\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-associable-users',\n      endpoint: `users/me/preferences/sender/letter-covers/${this.cover.uuid}/associable-users`\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response?.forEach((record, index) => {\n        response[index].isDefault = this.normalizeItemDefault(record.isDefault);\n        response[index].isAssociated = this.normalizeItemAssociation(record.isAssociated);\n        if (!this.currentItems[record.uuid]) this.currentItems[record.uuid] = response[index];\n      });\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-search-associable-users',\n      table: this.tableInterface,\n      schema: {\n        items: {\n          control: 'text',\n          query: 'text-search',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente')\n        },\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Normalize methods\n  normalizeItemDefault(itemDeafault) {\n    return itemDeafault === 'YES';\n  }\n  normalizeItemAssociation(itemAssociation) {\n    return itemAssociation === 'YES';\n  }\n\n  // Change methods\n  changeTarget() {\n    if (this.resource.data.target === 'SUBUSERS') {\n      this.searchInterface.search();\n    }\n  }\n\n  setPayload() {\n    const target = this.resource.data.target;\n    const payload = { target };\n    switch (payload.target) {\n      case 'SELF':\n        payload.default = this.resource.data.default ? 'YES' : 'NO';\n        break;\n      case 'SUBUSERS':\n        payload.items = []\n        Object.values(this.currentItems)?.forEach((record) => {\n          if (record.isAssociated) {\n            payload.items.push({\n              userUuid: record.uuid,\n              default: record.isDefault ? 'YES' : 'NO'\n            });\n          }\n        });\n        break;\n    }   \n    return payload;\n  }\n\n  // Features\n  saveUserAssociationsWithCover() {\n    const payload = this.setPayload();\n    const endpoint = `users/me/preferences/sender/letter-covers/${this.cover.uuid}/associations/current`;\n    return this.api.put(endpoint, payload).then(() => {\n      this.controller.ok();\n      this.toast.show(`Modifica salvata con successo`, 'success');\n    }).catch((error) => {\n      console.log(endpoint, error);\n      this.toast.show('Errore durante il salvataggio', 'error');\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmAutorizzazioni {\n  tabs = [\n    {\n      id: 'mav',\n      label: 'MAV BANCARI',\n      vm: PLATFORM.moduleName('views/riscossioni/autorizzazioni/tabs/mav')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    const mav = this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']);\n    this.privileges = { tabs: { mav } };\n\n    if (this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isBankOperator = true;\n    } \n    else if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isOperator = true;\n    }\n    else if (this.api.hasRole('LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isUser = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogMavApproval {\n  mdt = mdt;\n  resource = {\n    controls: {},\n    schema: {\n      status: {\n        label: 'Stato richiesta',\n        control: 'combo',\n        datasource: [\n          { value: 'PENDING-ACTIVATION', text: 'Approva' },\n          { value: 'REFUSED', text: 'Rifiuta' },\n          { value: 'ACTIVE', text: 'Conferma' }\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        datamultiple: false,\n        required: true\n      },\n      refusalReason: {\n        label: 'Motivazione del rifiuto',\n        control: 'text',\n        required: true\n      },\n      trusteeServiceCode: {\n        label: 'Codice servizio',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {\n      status: 'PENDING-ACTIVATION',\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.request = params.request;\n    if (this.request.status === 'PENDING-ACTIVATION') {\n      this.resource.schema.status.datasource = [\n        { value: 'ACTIVE', text: 'Conferma' },\n        { value: 'REFUSED', text: 'Rifiuta' }\n      ];\n      this.resource.data.status = 'ACTIVE';\n    } else if (this.request.status === 'ACTIVE') {\n      this.resource.schema.status.datasource = [{ value: 'REFUSED', text: 'Rifiuta' }];\n\n      this.resource.data.status = 'REFUSED';\n    } else {\n      this.resource.schema.status.datasource = [\n        { value: 'PENDING-ACTIVATION', text: 'Approva' },\n        { value: 'REFUSED', text: 'Rifiuta' }\n      ];\n      this.resource.data.status = 'PENDING-ACTIVATION';\n    }\n\n    if (this.request?.trustee?.serviceCode) {\n      this.resource.data.trusteeServiceCode = this.request.trustee.serviceCode;\n      this.resource.schema.trusteeServiceCode.readonly = true;\n    }\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      if (this.resource.data.status === 'ACTIVE') {\n        if (this.resource.data.refusalReason) delete this.resource.data.refusalReason;\n        if (this.request.trustee.serviceCode) delete this.resource.data.trusteeServiceCode;\n      }\n      else if (this.resource.data.status === 'REFUSED') {\n        if (this.resource.data.trusteeServiceCode) delete this.resource.data.trusteeServiceCode;\n      }\n\n      this.api.patch(`bo/users/${this.request.owner.id}/billing-profiles/${this.request.billingProfileUuid}/mav-order-self-printing-authorizations/${this.request.uuid}`, this.resource.data).then(() => {\n        this.controller.ok(this.resource.data.status);\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      setTimeout(() => { $event.model.busy = false; }, 300);\n    });\n  }\n}\n","import {inject, observable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogCreateRequest {\n  mdt = mdt;\n  pending = false;\n  \n  resource = {\n    controls: {},\n    schema: {\n      context: {\n        control: 'combo',\n        label: 'Chi è il proprietario del profilo di fatturazione?',\n        datasource: [],\n        datavalue: 'value',\n        datatext: 'text',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      },\n      subuser: { \n        control: 'combo', \n        label: null,\n        datasource: { table: 'users/me/users?include=user-profiles&status=ACTIVE', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'id', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      billingProfile: {\n        control: 'combo', \n        label: 'Seleziona un profilo di fatturazione',\n        datasource: [],\n        datavalue: 'uuid', \n        datatext: 'identifier',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    }\n  }\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate() {\n    this.pending = true;\n    this.resource.schema.context.datasource = [\n      { value: 'USER', text: 'Me stesso'},\n      { value: 'SUBUSER', text: `Un mio ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}` }\n    ];\n    this.resource.schema.subuser.label = `Seleziona un ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}`;\n    this.resource.data.context = 'USER';\n  }\n\n  setUserId(mode = null) {\n    let userId = this.resource.data?.context === 'USER' ? 'me' : this.resource.data?.context === 'SUBUSER' ? this.resource.data.subuser : null;\n    if (mode !== 'soft') {\n      this.pending = true;\n      return this.userIdChanged(userId);\n    } else return userId;\n  }\n\n  userIdChanged(userId) {\n    this.resource.data.billingProfile = null;\n    this.resource.schema.billingProfile.datasource = [];\n    if (userId === 'me') {\n      this.resource.data.subuser = null;\n      this.getBillingProfiles(userId);\n    } else if (this.resource.data?.subuser) {\n      this.getBillingProfiles(userId);\n    } else if (!this.resource.data?.subuser) {\n      setTimeout(() => { this.pending = false; }, 600);\n    }\n  }\n\n  subuserChanged(userId = null) {\n    if (this.resource.data?.context === 'SUBUSER' && this.resource.data.subuser) {\n      this.pending = true;\n      this.setUserId();\n    }\n  }\n\n  getBillingProfiles(userId) {\n    this.api.get(`users/${userId}/billing-profiles`).then(xhr => {\n      let billingProfiles = xhr.response;\n      billingProfiles.forEach(profile => {\n        profile.identifier = `${profile.label} - IBAN: ${profile.payments?.banking?.iban || 'mancante'}`\n      });\n      this.resource.schema.billingProfile.datasource = billingProfiles;\n      this.pending = false;\n    }).catch(error => {\n      console.log('ERROR - billing-profiles - GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  send($event, userId = null) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      userId = this.setUserId('soft');\n      this.isBuildingAdminCreatingMavRequest($event, userId);\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  isBuildingAdminCreatingMavRequest($event, userId) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({ \n        title: 'Attenzione!', \n        class: 'small', \n        type: 'confirm', \n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`}).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest($event, userId);\n        else $event.model.busy = false;\n      });\n    } else {\n      this.sendMavAuthorizationRequest($event, userId);\n    }\n  }\n\n  sendMavAuthorizationRequest($event, userId) {\n    return this.api.post(`users/${userId}/billing-profiles/${this.resource.data.billingProfile}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.controller.ok();\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { MavRequest } from 'classes/mavRequest';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { Aurelia, inject } from 'aurelia-framework';\nimport environment from '../../../../environment';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmMav {\n  mdt = mdt;\n  environment = environment;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.mavRequestModel = new MavRequest(this.privileges.isOperator || this.privileges.isBankOperator);\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-mav-autorizzazioni-table',\n      client: this.api,\n      endpoint: 'bo/users/billing-profiles/mav-order-self-printing-authorizations'\n    });\n    this.tableInterface.initialize();\n\n    this.searchInterface = new SearchInterface({\n      name: 'tab-mav-richieste-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Richiesta inviata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        trusteeDisplayName: {\n          label: 'Richiedente',\n          control: 'text',\n          query: 'trustee-text-search'\n        },\n        trusteeServiceCode: {\n          label: 'Codice servizio',\n          control: 'text',\n          query: 'service-code-in'\n        },\n        trusteeSubServiceCode: {\n          label: 'Codice sottoservizio',\n          control: 'text',\n          query: 'sub-service-code-in'\n        },\n        ownerDisplayName: {\n          label: 'Proprietario del conto',\n          control: 'text',\n          query: 'owner-text-search'\n        },\n        status: {\n          control: 'combo',\n          datatext: 'text',\n          query: 'status-in',\n          datavalue: 'status',\n          label: 'Stato richiesta',\n          datasource: this.mavRequestModel.setDatasourceMavAuthorizationStatus([], this.privileges.isBankOperator ? ['PENDING-DOCUMENT-INTERNAL-APPROVAL'] : [])\n        }\n      },\n      data: {\n        createdAtGte: null,\n        createdAtLte: null,\n        ...(this.privileges.isBankOperator && { status: 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD' })\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.search();\n    });\n  }\n  \n  // MAV request creation\n  isMAVrequestCreatable() {\n    return this.privileges.isUser && this.api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION');\n  }\n  dialogMAVRequestCreation() {\n    return this.dialog.open({\n      title: `Richiedi autorizzazione stampa MAV`,\n      class: 'small mav-create-request',\n      viewModel: PLATFORM.moduleName('views/riscossioni/autorizzazioni/dialogs/mav-create-request'),\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n          this.searchInterface.search();\n        });\n      }\n    });\n  }\n \n  // MAV requests CSV download\n  isMAVrequestsCSVDownloadable() {\n    return this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']);\n  }\n  MAVrequestsCSVDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let query = null;\n    let limit = this.tableInterface.limit;\n    let offset = this.tableInterface.offset !== 0 ? `&offset=${this.tableInterface.offset}` : '';\n    if (this.searchInterface?.table?._query) query = `${decodeURIComponent(decodeURIComponent(this.searchInterface.table._query))}`;\n    let path = 'bo/users/billing-profiles/mav-order-self-printing-authorizations.csv'\n    let uri = `${path}${query ? '?'+query+'&limit='+limit : '?limit='+limit}${offset}`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/csv')\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        let regexp = new RegExp('filename=(.+\\.csv$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        \n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: 'text/csv' });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n      }).catch((error) => {\n        console.error('mav-order-self-printing-authorizations/mine.csv', error);\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'small', \n          type: 'alert', \n          body: '<strong>Errore nel download del file!</strong><br><p class=\"m-0 mt-3\">Riprova o contatta l\\'assistenza.</p>'\n        });\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  // MAV document collection\n  IsMAVcollectionDownloadDisabled(status) {\n    return ['PENDING-DOCUMENT-INTERNAL-APPROVAL'].includes(status);\n  }\n  MAVcollectionDownload(request) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let uri = `bo/users/${request.owner.id}/billing-profiles/${request.billingProfileUuid}/mav-order-self-printing-authorizations/${request.uuid}/document-downloads`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/zip')\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        let regexp = new RegExp('filename=(.+\\.zip$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        \n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: \"application/zip\" });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.searchInterface.search();\n      }).catch((error) => {\n        console.log('document-downloads', error);\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'small', \n          type: 'alert', \n          body: '<strong>Errore nel download del file!</strong><br><p class=\"m-0 mt-3\">Il download non è possibile se tutti i documenti necessari alla richiesta stampa in proprio MAV non sono stati approvati internamente.</p>'\n        });\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  // MAV Request approval\n  IsMAVrequestApprovalDisabled(status) {\n    return ['PENDING-DOCUMENT-DOWNLOAD','REFUSED','DELETED'].includes(status);\n  }\n  MAVrequestApproval(request) {\n    return this.dialog.open({\n      viewModelParams: { request },\n      class: 'small documenti-approval',\n      title: `Gestione richiesta di autorizzazione`,\n      viewModel: PLATFORM.moduleName('views/riscossioni/autorizzazioni/dialogs/mav-approval'),\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.searchInterface.search();\n        const output = response.output;\n        const MAVrequestApprovalStatus = this.setMAVrequestApprovalStatus(output);\n        const toastContext = ['PENDING-ACTIVATION','ACTIVE'].includes(output) ? 'success' : 'error';\n        this.toast.show(`Hai ${MAVrequestApprovalStatus} la richiesta di autorizzazione!`, toastContext);\n      }\n    });\n  }\n  setMAVrequestApprovalStatus(output) {\n    return output === 'PENDING-ACTIVATION' ? 'approvato' : output === 'ACTIVE' ? 'attivato' : 'rifiutato';\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletionDisabled(request) {\n    if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return request.status !== 'ACTIVE';\n    else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return !request.subServiceCode;\n  }\n  dialogDeleteMAVRequest($event, request) {\n    return this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>`}).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n            this.operatorDeleteMAVRequest($event, request.uuid);\n          } \n          else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n            this.userDeleteMAVRequest($event, request);\n          }\n        }\n      });\n  }\n  operatorDeleteMAVRequest($event, requestUuid) {\n    $event.model.busy = true;\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${requestUuid}`).then(() => {\n      this.searchInterface.search();\n      this.toast.show('Richiesta dismessa con successo!', 'success');\n    }).catch((error) => {\n      console.error('bo/users/mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n  userDeleteMAVRequest($event, request) {\n    $event.model.busy = true;\n    return this.api.delete(`users/${request.owner.id}/mav-order-self-printing-authorizations/${request.uuid}`).then(() => {\n      this.searchInterface.search();\n      this.toast.show('Richiesta dismessa con successo!', 'success');\n    }).catch((error) => {\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogDownloadReceipts {\n  constructor(api, controller){\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmTracciatiEsitoPagamento {\n  tabs = [\n    {\n      id: 'mav',\n      label: 'MAV BANCARI',\n      vm: PLATFORM.moduleName('views/riscossioni/pagamento/tabs/mav')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { mav: false }};\n\n    if (this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION'])) {\n      this.privileges.tabs.richieste = true;\n      if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) this.privileges.isOperator = true;\n    }\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, KaToast, KaDialog)\nexport class vmTracciatiEsito {\n  endpoint = 'mav-payment-order-receipts/mine';\n  selectedArray;\n\n  select = {\n    recordsSelected: {},\n    allRecordsSelected: false,\n    someRecordsSelected: false,\n    someRecords: (record) => {\n      this.select.recordsSelected[record.uuid] = !this.select.recordsSelected[record.uuid];\n      this.select.someRecordsSelected = Object.values(this.select.recordsSelected).some((record) => record === true);\n      this.select.allRecordsSelected = this.visibleRecordsUuids?.every?.((uuid) => this.select.recordsSelected?.[uuid] === true);\n      this.selectedArray = Object.keys(this.select.recordsSelected)?.filter?.((key) => this.select.recordsSelected?.[key] === true);\n    },\n    allRecords: () => {\n      this.select.allRecordsSelected = !this.select.allRecordsSelected;\n      this.select.someRecordsSelected = this.select.allRecordsSelected;\n      this.visibleRecordsUuids.forEach((uuid) => {\n        this.select.recordsSelected[uuid] = this.select.allRecordsSelected;\n      });\n      this.selectedArray = Object.keys(this.select.recordsSelected)?.filter?.((key) => this.select.recordsSelected?.[key] === true);\n    }\n  }\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n  \n  init() {\n    this.tableInterface = new TableInterface({\n      name: 'tracciati-esito-mav-table',\n      client: this.api,\n      endpoint: this.endpoint\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.visibleRecordsUuids = [];\n      response.forEach((record) => {\n        this.visibleRecordsUuids.push(record.uuid);\n        if (this.select.recordsSelected[record.uuid] !== true) {\n          this.select.recordsSelected[record.uuid] = false;\n        }\n      });\n      this.select.allRecordsSelected = this.visibleRecordsUuids?.every?.((uuid) => this.select.recordsSelected?.[uuid] === true);\n      return response;\n    };\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error); });\n\n    this.searchInterface = new SearchInterface({\n      name: 'tracciati-esito-mav-search',\n      table: this.tableInterface,\n      schema: {\n        iban: {\n          label: 'IBAN',\n          control: 'text',\n          query: 'iban-code'\n        },\n        billingProfileOwnerDisplayName: {\n          label: 'Intestatari',\n          control: 'combo',\n          datasource: { table: 'users/me/users?include=user-profiles', query: { search: 'text-search', item: 'uuid-in'} },\n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: true,\n          description: 'Seleziona uno o più intestatari',\n          query: 'owner-uuid-in'\n        },\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        accounted: {\n          label: 'Stato contabilizzazione',\n          control: 'combo',\n          datasource: [{ value: 'YES', text: 'Contabilizzati' }, { value: 'NO', text: 'Non contabilizzati' }],\n          query: 'accounted'\n\n        },\n        downloaded: {\n          label: '',\n          control: 'check',\n          label: 'Tracciati',\n          query: 'downloaded',\n          description: 'Escludi i tracciati scaricati'\n        },\n        showDisabled: {\n          control: 'check',\n          query: \"show-disabled\",\n          label: 'Autorizzazioni',\n          description: 'Mostra le autorizzazioni dismesse'\n        }\n      },\n      data: {\n        createdAtGte: null,\n        createdAtLte: null,\n        downloaded: true\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  search() {\n    const data = structuredClone(this.searchInterface.data);\n    if(data.accounted === true) data.accounted = 'NO';\n    if(data.downloaded === true) data.downloaded = 'NO';\n    if (data.showDisabled === true) data.showDisabled = \"YES\";\n    this.searchInterface.search(data);\n  }\n\n  download(file) {\n    this.toast.show('Caricamento in corso', 'loading');\n    let uri = `mav-payment-order-receipts/downloads/${file.uuid}`;\n\n    this.api.client.createRequest(uri)\n    .asGet()\n    .withHeader('Accept', 'text/plain')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.txt$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: \"text/plain\" });\n      let url = URL.createObjectURL(blob);\n\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }).catch(xhr => {\n      this.toast.show(`Impossibile scaricare il file!`, 'error');\n      console.log('ERROR - mav-payment-order-receipts download - GET', xhr);\n    });\n  }\n\n  accountFor(record) {\n    let data = {'accounted': (record.accounted === 'YES') ? 'NO' : 'YES'};\n    this.api.patch(`mav-payment-order-receipts/${record.uuid}`, data).then(() => {\n      this.toast.show(`Operazione effettuata con successo!`, 'success');\n      this.tableInterface.load();\n    });\n  }\n\n  resetSelectedCbis() {\n    this.select.recordsSelected = {};\n    this.select.someRecordsSelected = false;\n    this.select.allRecordsSelected = false;\n  }\n\n  exportSelectedCbis() {\n    let data = { receiptUuidIn: null };\n    data.receiptUuidIn = this.selectedArray;\n\n    if (this.searchInterface.data.accounted === 'YES') {\n      this.downloadSelectedCbis(false, data.receiptUuidIn);\n    } else {\n      this.dialog.open({\n        title: `Attenzione!`,\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/riscossioni/pagamento/dialogs/account-for-receipts'),\n        viewModelParams: {}\n      }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.downloadSelectedCbis(response.output, data.receiptUuidIn);\n        }\n      });\n    }\n  }\n\n  downloadSelectedCbis(markReceiptsAsAccountedOnSuccess, receiptUuidIn) {\n    let data = { markReceiptsAsAccountedOnSuccess, receiptUuidIn };\n    this.api.client.createRequest('mav-payment-order-receipts/merged-downloads/')\n    .asPost()\n    .withContent(data)\n    .withHeader('Accept', 'text/plain')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.txt$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: \"text/plain\" });\n      let url = URL.createObjectURL(blob);\n\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      \n      this.search();\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }).catch(xhr => {\n      this.toast.show(`Impossibile scaricare il documento!`, 'error');\n      console.log('ERROR - mav-payment-order-receipts - downlaod merged file of selected cbis - POST', xhr);\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmAbbonamenti {\n  mdt = mdt;\n  isPendingInitTabs;\n  flatServiceProducts;\n  userCurrentFidelityCard;\n  showMigrationsTab = null;\n  isGetFlatServiceTypesPending;\n  tabs = [\n    {\n      id: 'gestione',\n      label: 'Gestione servizi',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-gestione')\n    },\n    {\n      id: 'attivabili',\n      label: 'Servizi attivabili',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-attivabili')\n    },\n    {\n      id: 'volture',\n      label: 'volture',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/volture')\n    },\n    {\n      id: 'attivi',\n      label: 'Servizi attivi',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-attivi')\n    }\n  ];\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.tools = this.setTools();\n  }\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n  init() {\n    this.privileges = this.setPrivileges();\n    let promises = [this.showOrHideMigrationsTab(),this.getFlatServiceProducts()];\n    if (this.params.id) promises.push(this.getUser);\n    if (!this.privileges.isOperator && this.privileges.isMaster) {\n      promises.push(this.getLastServiceContractSubscribed());\n      if (this.api.hasRole('LIST_USER_FIDELITY_CARDS')) {\n        promises.push(mdt.fidelityCards.userCurrentFidelityCard(this.api));\n      }\n    }\n    return Promise.allSettled(promises).then((xhrs) => {\n      this.flatServiceProducts = xhrs?.find?.((xhr) => xhr?.status === 'fulfilled' && xhr?.value?.response?.[0]?.type === 'products')?.value?.response;\n      this.userCurrentFidelityCard = xhrs?.find?.((xhr) => xhr?.status === 'fulfilled' && xhr?.value?.response?.type === 'fidelity-card-activations')?.value?.response;\n      this.setPrivilegesTabs();\n      this.isPendingInitTabs = true;\n    });\n  }\n  async showOrHideMigrationsTab() {\n    return Promise.all([\n      this.api.get(`users/${this.api.user.id}/flat-services-activations?acknowledged=NO&limit=0`),\n      this.api.get(`users/${this.api.user.id}/subusers/flat-services-activations?acknowledged=NO&limit=0`)\n    ]).then((responses) => {\n      const [mineResponse, subusersResponse] = responses;\n      const mineHasElements = mineResponse.response.length > 0;\n      const subusersHasElements = subusersResponse.response.length > 0;\n      this.showMigrationsTab = (mineHasElements || subusersHasElements);\n    }).catch((error) => {\n      console.error('Failure to check presence of at least one element in either response', error);\n    });\n  }\n\n  // Set functions\n  setPrivileges() {\n    const privileges = {\n      isOperator: this.api.hasRole('LIST_ANY_USER'),\n      isMaster: this.api.user.group === 'MASTER_USER',\n      isBasicUser: this.api.user.group === 'BASIC_USER'\n    };\n    return privileges;\n  }\n  setPrivilegesTabs() {\n    this.privileges.tabs = {};\n    this.privileges.tabs = { attivi: false, attivabili: false, gestione: false, volture: false };\n    if (this.api.hasRole(['LIST_USER_FLAT_SERVICE_SUBSCRIPTIONS', 'LIST_ANY_USER_FLAT_SERVICE_SUBSCRIPTION'])) {\n      this.privileges.tabs.attivi = true;\n      if (this.privileges.isMaster && this.showMigrationsTab) {\n        this.privileges.tabs.volture = true;\n      }\n    }\n    if (!this.privileges.isOperator && this.api.hasRole(['CREATE_USER_FLAT_SERVICE_SUBSCRIPTIONS'])) {\n      this.privileges.tabs.attivabili = true;\n    }\n    if (this.api.hasRole(['LIST_ANY_FLAT_SERVICE'])) {\n      this.privileges.tabs.gestione = true;\n    }\n  }\n  setTools() {\n    return {\n      getFlatServiceTypes: (productCode) => {\n        let endpoint = 'flat-service-types';\n        this.isGetFlatServiceTypesPending = true;\n        if (productCode) endpoint += `?product-code-in=${productCode}`;\n        return this.api.get(endpoint).catch(() => {\n          console.error('getFlatServiceTypes', error);\n        }).finally(() => {\n          this.isGetFlatServiceTypesPending = false;\n        });\n      },\n      enabledUntil: (date) => {\n        return !mdt?.helpers?.isDateGreaterThan?.(new Date(), new Date(date));\n      },\n      copyText: (text, context = 'Testo') => {\n        if (!text) return;\n        navigator.clipboard.writeText(text);\n        this.toast.show(`${context} copiato con successo!`, 'success');\n      },\n      dialogCashbackSubscriptionRequired: ($event, action = 'activation') => {\n        return this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required'),\n          viewModelParams: { action }\n        }, true).whenClosed(() => {\n          $event.model.busy = false;\n        });\n      },\n      dialogFidelityCardRequired: ($event) => {\n        return this.dialog.open({\n          title: 'Attenzione!',\n          class: 'abbonamenti-fidelity-card-required',\n          viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required'),\n        }, true).whenClosed(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  }\n\n  // Get functions\n  getFlatServiceProducts() {\n    return this.api.get('products').catch((error) => {\n      console.error('getFlatServiceProducts', error);\n    });\n  }\n  getUser() {\n    return this.api.get(`users/${this.params.id}?include=user-profiles`).then((xhr) => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      resolve(this.requestedUserData = response);\n    }).catch((error) => {\n      console.error('GET users', error);\n    });\n  }\n  getLastServiceContractSubscribed() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.privileges.lastAcceptedServiceContract = {\n        ...response,\n        isCashbackContractNeverBeenSigned: false\n      };\n    }).catch((error) => {\n      console.error('getLastServiceContractSubscribed', error);\n      if (error.statusCode === 404) {\n        return this.getLastMultinvioContractSubscribed();\n      } else {\n        this.privileges.lastAcceptedServiceContract = null;\n      }\n    });\n  }\n  getLastMultinvioContractSubscribed() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      if (response?.rescindedAt) {\n        this.privileges.lastAcceptedServiceContract = {\n          ...response,\n          isCashbackContractNeverBeenSigned: false\n        };\n      } else {\n        this.privileges.lastAcceptedServiceContract = { isCashbackContractNeverBeenSigned: true };\n      }    \n    }).catch((error) => {\n      console.error('getLastMultinvioContractSubscribed', error);\n      this.privileges.lastAcceptedServiceContract = (error.statusCode === 404) ? { isCashbackContractNeverBeenSigned: true } : null;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface, TableSelectionInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Api, MdDatasources, KaToast, KaDialog)\nexport class ServiceDialogAbbonamentiAttivazioneSottoutenti {\n  service;\n  mdt = mdt;\n  activations;\n  isServicePayableBy;\n  activationSummary = [];\n  pendingBillingProfiles;\n  pendingActivation = false;\n  failedActivationsCount = 0;\n  successfulActivationsCount = 0;\n  userBillingProfileDatasource = [];\n  recordBillingProfilePending = false;\n  resourcePayment = {\n    schema: {\n      payment: {\n        label: 'Metodo di pagamento',\n        control: 'combo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'code',\n        datatext: 'label'\n      }\n    },\n    data: {}\n  }\n  resourceBillingProfile = {\n    controls: {},\n    schema: {\n      billingProfile: {\n        label: 'Profilo di fatturazione',\n        control: 'combo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'value',\n        datatext: 'text'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, MdDatasources, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n  }\n  activate(params) {\n    this.params = params;\n    this.service = params.service;\n    this.isServicePayableBy = params.payable;\n  }\n  attached() {\n    this.initServiceDialog();\n  }\n\n  // Init\n  initServiceDialog() {\n    this.setResourcePaymentDatasource();\n    this.setResourcePaymentData(this.resourcePayment.schema.payment.datasource);\n    // Payment methods\n    this.resourcePayment.schema.payment.datasource = this.mdDatasources.paymentMethods.filter(paymentMethod => this.service.paymentMethods.includes(paymentMethod.code));\n    if (this.resourcePayment.schema.payment.datasource.length) this.resourcePayment.data.payment = this.resourcePayment.schema.payment.datasource[0].code;\n    // I make this call at the beginning because if the Master does not have a billing profile he must make one\n    return this.setUserBillingProfile().then(() => {\n      this.initTableInterface();\n      this.initTableSelectionInterface();\n      this.initSearchInterface().then(() => {\n        return this.searchInterface.reset();\n      })\n    })\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      limit: 100, \n      client: this.api,\n      endpoint: 'users/me/users',\n      name: 'activable-flat-subusers-table',\n      query: `without-subscriptions-with-type-code=${this.service.type}&include=user-profiles&status=ACTIVE`\n    });\n\n    this.tableInterface.parseResponse = (records) => {\n      if (records.length) {\n        this.pendingBillingProfiles = true;\n        records.forEach((record, index) => {\n          record._selection = {};\n          record._resource = structuredClone(this.resourceBillingProfile);\n\n          // Checks if it is the last record to end the loading state\n          const isLastRecord = records.length === (index + 1);\n\n          // if the service is payable by MASTER. User billing profiles only.\n          if (this.isServicePayableBy === 'MASTER') {\n            record._selection.isDisabled = false;\n            record._resource.schema.billingProfile.datasource = this.userBillingProfileDatasource;\n            record._resource.data.billingProfile = (this.userBillingProfileDatasource.find(x => x.default === true) || { value: null }).value;\n            if (isLastRecord) this.pendingBillingProfiles = false;\n          } \n          \n          // if the service is payable by SUBUSER. Subuser billing profiles only.\n          else {\n            let promises = [];\n            promises.push(this.setSubusersBillingProfiles(record));\n\n            // Checks if it is the last record to end the loading state\n            const isLastRecord = records.length === (index + 1);\n            if (isLastRecord) this.getAllSubuserBillingProfiles(promises);\n          }\n        });\n      }\n      return records;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'activable-flat-subusers-table-search',\n      table: this.tableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          label: `Denominazione, ID, CF o IVA del ${this.mdt.parsers.contextualize(this.api.user, 'utente')}`,\n          query: 'text-search'\n        }\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n  initTableSelectionInterface() {\n    return this.tableSelectionInterface = new TableSelectionInterface({ table: this.tableInterface });\n  }\n\n  // Get\n  getBillingProfiles(userId = 'me') {\n    return this.api.get(`users/${userId}/billing-profiles`);\n  }\n  getAllSubuserBillingProfiles(promises) {\n    Promise.any(promises).then(() => {\n      this.pendingBillingProfiles = false;\n    }).catch((xhrs) => {\n      console.log('getAllSubuserBillingProfiles', xhrs);\n    });\n  }\n  \n  // Set\n  setResourcePaymentDatasource() {\n    const usablePaymentMethods = this.mdDatasources.paymentMethods.filter((paymentMethod) => this.service.paymentMethods.includes(paymentMethod.code));\n    this.resourcePayment.schema.payment.datasource = usablePaymentMethods;\n  }\n  setResourcePaymentData(usablePaymentMethods) {\n    if (usablePaymentMethods.length) {\n      this.resourcePayment.data.payment = usablePaymentMethods[0].code;\n    }\n  }\n  dialogMissingBillingProfile() {\n    this.dialog.open({ \n      title: 'Attenzione!', \n      class: ',medium', \n      type: 'alert', \n      body: 'È necessario impostare un profilo di fatturazione' \n    }).whenClosed(() => {\n      // if it does not have a billing profile I send it to the billing view\n      location.href = '/gestione/profilo/me/fatturazione';\n    });\n  }\n  setUserBillingProfile() {\n    return new Promise((resolve, reject) => {\n      if (this.isServicePayableBy === 'MASTER') {\n        this.getBillingProfiles().then((xhr) => {\n          const response = xhr.response;\n          if (!response.length) {\n            this.dialogMissingBillingProfile();\n          } else {\n            response.forEach((billingProfile) => {\n              this.userBillingProfileDatasource.push(this.setBillingProfileDatasourceItem(billingProfile));\n            });\n          }\n          return resolve();\n        }).catch((error) => { \n          console.error(error);\n          this.api.dialogError(error);\n          this.controller.cancel();\n          return reject();\n        });\n      } else resolve();\n    });\n  }\n  setBillingProfileDatasourceItem(billingProfile) {\n    return { \n      value: billingProfile.uuid,\n      default: !!billingProfile.default,\n      text: `${billingProfile.name || billingProfile.label || billingProfile.lasttName || billingProfile.firstName} - ${billingProfile.taxCode || billingProfile.fiscalCode || billingProfile.vatCode}${billingProfile.default ? ' (predefinito)' : ''}`\n    }\n  }\n  setEachSubuserBillingProfile(response) {\n    let datasource = [];\n    response.forEach((billingProfile) => {\n      datasource.push(this.setBillingProfileDatasourceItem(billingProfile));\n    });\n    return datasource;\n  }\n  setSubusersBillingProfiles(record) {  \n    return this.getBillingProfiles(record.id).then((xhr) => {\n      const response = xhr.response;\n      if (response.length) {\n        record._selection.isDisabled = false;\n        record._resource.schema.billingProfile.datasource = this.setEachSubuserBillingProfile(response);\n        const defaultBillingProfileUuid = response.find((billingProfile) => billingProfile.default)?.uuid;\n        record._resource.data.billingProfile = defaultBillingProfileUuid || null;\n      } else {\n        record._selection.isDisabled = true;\n        record._resource.schema.billingProfile.datasource = [{ value: 'NONE', text: 'Nessun profilo di fatturazione disponibile' }];\n        record._resource.data.billingProfile = 'NONE';\n      }\n    }).catch((error) => {\n      console.log(`${record.id}/billing-profiles`, error);\n      record._selection.isDisabled = true;\n    });\n  }\n  setFailedActivationDetail(xhr, record) {\n    let error = JSON.stringify(xhr);\n    // Change the names of the fields, on which there is an error on the server side, before showing them to the user (WRIKE:830139458)\n    error = error.replace(/paymentMethod/g, 'Problemi con il metodo di pagamento scelto');\n    try { \n      return record._failedActivationXhr = JSON.parse(error); \n    } catch {\n      return 'Dettaglio errore non disponibile';\n    };\n  }\n  setFlatServicesActivationsPayload(record) {\n    const payload = {\n      flatServiceUuid: this.service.id,\n      paymentMethod: this.resourcePayment.data.payment,\n      payeeBillingProfileUuid: record._resource.data.billingProfile,\n      payeeUserUuid: this.isServicePayableBy === 'MASTER' ? this.api.user.uuid : record.uuid\n    }\n    if (this.service.autoRenewable === true && (payload.paymentMethod === 'SDD' || payload.paymentMethod === 'ON-SIGHT')) {\n      payload.autoRenew = 'ENABLED';\n    }\n    return payload;\n  }\n  setActivationSummary() {\n    this.activations.forEach((newActivation) => {\n      if (!this.activationSummary.length || this.activationSummary.every((item) => item.uuid !== newActivation.uuid)) {\n        this.activationSummary.push(newActivation);\n      }\n    });\n  }\n  setFailedActivationsCount() {\n    this.failedActivationsCount = this.activationSummary.filter((record) => record._selection.feedback.status === 'error')?.length;\n  };\n  setSuccessfulActivationsCount() {\n    this.successfulActivationsCount = this.activationSummary.filter((record) => record._selection.feedback.status === 'success')?.length;\n  };\n\n  // Utility\n  activateSelectedRecords() {\n    if (!this.pendingActivation) {\n      let promises = [];\n      this.activations = [];\n      this.pendingActivation = true;\n\n      this.tableSelectionInterface.selectedRecords.forEach((record) => {\n        record._selection.feedback = {};\n        record._selection.isDisabled = true;\n        record._selection.isSelected = false;\n        const payload = this.setFlatServicesActivationsPayload(record)\n\n        promises.push(this.api.post(`users/${record.id}/flat-services-activations`, payload).then(() => {\n          record._selection.feedback.status = 'success';\n        }).catch((error) => {\n          console.log(`${record.id}/flat-services-activations`, error);\n          record._selection.feedback.status = 'error';\n          this.setFailedActivationDetail(error, record);\n        }).finally(() => {\n          this.activations.push(record);\n        }));\n      });\n\n      return Promise.all(promises).finally(() => { \n        this.pendingActivation = false;\n        this.setActivationSummary();\n        this.setFailedActivationsCount();\n        this.setSuccessfulActivationsCount();\n      });\n    }\n  }\n  showFailedActivationDetail(record) { \n    if (record._failedActivationXhr) return this.api.dialogError(record._failedActivationXhr);\n  }\n  exportActivationsReport() {\n    let csv = [`id servizio;id ${this.mdt.parsers.contextualize(this.api.user, 'utente')};denominazione;cf/iva;tipo pagamento;id account fatturazione;id profilo fatturazione;stato attivazione;messaggio errore`];\n    this.activationSummary.forEach((record) => {\n      csv.push([\n        `\"${this.service.id}\"`,\n        `\"${record.id}\"`,\n        `\"${record.profile?.[0].displayName}\"`,\n        `\"${record.profile?.[0].fiscalCode || record.profile[0].vatCode}\"`,\n        `\"${this.resourcePayment.data.payment}\"`,\n        `\"${this.isServicePayableBy === 'MASTER' ? this.api.user.uuid : record.uuid}\"`,\n        `\"${record._resource.data.billingProfile}\"`,\n        `\"${record._selection.feedback.status === 'error' ? 'Non attivato' : 'Attivato'}\"`,\n        `\"${record._failedActivationXhr ? this.parseFailedActivationDetailMessage(record._failedActivationXhr) : ''}\"`\n      ].join(';').trim());\n    });\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = 'report-attivazione-abbonamenti.csv';\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n  }\n  parseFailedActivationDetailMessage(xhr) {\n    let errorDetail;\n    try { \n      return errorDetail = JSON.parse(xhr?.response)?.detail;\n    } catch { \n      return errorDetail = 'Dettaglio errore non disponibile';\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {MdDatasources} from 'services/md-datasources';\n\n@inject(Api, MdDatasources)\nexport class ServiceDialogAbbonamentiAttivazione {\n  schema = {\n    payment: {\n      label: 'Metodo di pagamento',\n      control: 'combo',\n      datasource: [],\n      datapreload: true,\n      datamultiple: false,\n      datavalue: 'code',\n      datatext: 'label'\n    },\n    billing: {\n      label: 'Profilo di fatturazione',\n      control: 'combo',\n      datasource: [],\n      datapreload: true,\n      datamultiple: false,\n      datavalue: 'value',\n      datatext: 'text'\n    }\n  };\n  data = {};\n  error = null;\n  \n  constructor(api, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.payeeUserId = params.payableByUserId;\n\n    // Payment methods\n    this.schema.payment.datasource = this.mdDatasources.paymentMethods.filter(x => params.service.paymentMethods.includes(x.code));\n    if (this.schema.payment.datasource.length) this.data.payment = this.schema.payment.datasource[0].code;\n\n    // Get billing profiles\n    this.api.get(`users/${this.payeeUserId}/billing-profiles`).then((xhr) => {\n      const response = xhr.response;\n      if (!response.length) throw new Error('Zero length');\n      let billingDatasource = [];\n      response.forEach((value) => {\n        billingDatasource.push({ value: value.uuid, text: `${value.name || value.label || value.lasttName || value.firstName} - ${value.taxCode || value.fiscalCode || value.vatCode}${value.default ? ' (predefinito)' : ''}`});\n        if (value.default) this.data.billing = value.uuid;\n      });\n      this.schema.billing.datasource = billingDatasource;\n    }).catch(() => {\n      this.error = { message: 'Nessun profilo di fatturazione trovato da associare al pagamento del servizio' };\n    });\n    \n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, MdDatasources)\nexport class ServiceDialogAbbonamentiAutorinnovo {\n  updateDatasourcePending;\n  resource = {\n    controls: {},\n    schema: {\n      autoRenewPaymentMethod: {\n        control: 'combo',\n        label: 'Metodo di pagamento dell\\'autorinnovo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'code',\n        datatext: 'label'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.autoRenew === 'DISABLED') this.updateDatasource();\n  }\n\n  updateDatasource() {\n    this.updateDatasourcePending = true;\n    this.api.get(`users/${this.params.ownerId || 'me'}/flat-services-activations/${this.params.id}`).then((xhr) => {\n      let response = xhr.response;\n      if (response.allowedAutoRenewPaymentMethods?.length) {\n        const filteredPaymentMethods = this.mdDatasources.paymentMethods.filter(method => response.allowedAutoRenewPaymentMethods.includes(method.code));\n        if (filteredPaymentMethods.length) {\n          this.resource.schema.autoRenewPaymentMethod = Object.assign({}, this.resource.schema.autoRenewPaymentMethod, { datasource: filteredPaymentMethods });\n          this.resource.data.autoRenewPaymentMethod = this.resource.schema.autoRenewPaymentMethod.datasource[0]?.code;\n        }\n      }\n    }).catch((error) => {\n      console.log('GET flat-services-activations', error);\n    }).finally(() => {\n      this.updateDatasourcePending = false;\n    });\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Router, DialogController)\nexport class ServiceDialogAbbonamentiCashbackContractSubscriptionRequired {\n  constructor(router, dialogController) {\n    this.router = router;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  goToCashbackContracts() {\n    this.router.navigateToRoute('cashback/contracts');\n    this.controller.cancel();\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, DialogController, MdDatasources)\nexport class ServiceDialogAbbonamentiDetail {\n  ownerId;\n  resource;\n  mdt = mdt;\n  flatService;\n  pendingInit;  \n  paymentMethods;\n  flatServiceUuid;\n  statuses = {\n    'ACTIVE' : 'Attivo',\n    'PENDING' : 'In attesa di pagamento',\n    'SUSPENDED' : 'Sospeso',\n    'EXPIRED' : 'Scaduto',\n    'TERMINATED' : 'Terminato'\n  }\n\n  constructor(api, dialogController, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n    this.controller = dialogController;\n    this.paymentMethods = this.mdDatasources.paymentMethods;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.ownerId = this.params.ownerId;\n    this.flatServiceUuid = this.params.flatServiceUuid;\n\n    this.init();\n  }\n\n  setStatusDatasource() {\n    const datasource = []\n    for (const [key, value] of Object.entries(this.statuses)) {\n      datasource.push({ value: key, text: value });\n    }\n    return datasource;\n  }\n\n  setPaymentMethodDatasource() {\n    const datasource = [];\n    this.paymentMethods.forEach((method) => {\n      datasource.push({ text: method.label, value: method.code });\n    });\n    return datasource;\n  }\n\n  async init() {\n    this.resource = {\n      controls: {},\n      schema: {\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          readonly: true\n        },\n        flatServiceProductCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' },\n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          readonly: true\n        },\n        flatServiceType: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          readonly: true\n        },\n        flatServiceTitle: {\n          control: 'text',\n          label: 'Titolo',\n          readonly: true\n        },\n        flatServiceDescription: {\n          control: 'text',\n          label: 'Descrizione',\n          readonly: true\n        },\n        orderId: {\n          control: 'number',\n          label: 'Id ordine',\n          readonly: true\n        },\n        ownerDisplayName: {\n          control: 'text',\n          label: 'Nome proprietario',\n          readonly: true\n        },\n        ownerId: {\n          control: 'number',\n          label: 'Id proprietario',\n          readonly: true\n        },\n        ownerFiscalCode: {\n          control: 'text',\n          label: 'Codice fiscale proprietario',\n          readonly: true\n        },\n        ownerParentDisplayName: {\n          control: 'text',\n          label: `${mdt.parsers.contextualize(this.api.user, 'Account')}`,\n          readonly: true\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato attivazione',\n          datasource: this.setStatusDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          readonly: true\n        },\n        statusReason: {\n          control: 'text',\n          label: 'Motivo',\n          readonly: true\n        },\n        paymentMethod: {\n          control: 'combo',\n          label: 'Metodi di pagamento',\n          datasource: this.setPaymentMethodDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          readonly: true\n        },\n        activatedAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          readonly: true\n        },\n        expireAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          readonly: true\n        },\n        autoRenew: {\n          control: 'combo', \n          label: 'Autorinnovo', \n          datasource: [\n            { value: 'ENABLED', text: 'Attivo' }, \n            { value: 'DISABLED', text: 'Disabilitato'}\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          readonly: true\n        },\n        autoRenewable: {\n          control: 'check',  \n          label: 'Rinnovo del servizio', \n          description: 'Con possibilità di autorinnovo',\n          readonly: true,\n        },\n        flatServicePrice: {\n          control: 'number',\n          label: 'Prezzo in €',\n          readonly: true\n        },\n        flatServiceCashbackAmount: {\n          control: 'number',\n          label: 'Cashback in €',\n          readonly: true,\n        },\n        flatServiceMulticoinPoint: {\n          control: 'number',\n          label: 'Punti Multicoin',\n          readonly: true,\n        },\n        payeeDisplayName: {\n          control: 'text',\n          label: 'Fatturazione a',\n          readonly: true\n        }\n      },\n      data: {}\n    }\n\n    this.pendingInit = true;\n    await this.getFlatService().finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  async getFlatService() {\n    const url = `users/${this.ownerId}/flat-services-activations/${this.flatServiceUuid}`;\n    return this.api.get(url).then((xhr) => {\n      let response = xhr.response;\n      this.setResourceData(response);\n    }).catch((error) => {\n      console.error('GET flat-services-activations', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  setResourceData(response) {\n    Object.keys(response).forEach((key) => {\n      const dataProperty = {};\n      dataProperty[key] = response[key];\n      if (dataProperty[key] === 'NO') dataProperty[key] = false;\n      if (dataProperty[key] === 'YES') dataProperty[key] = true;\n      this.resource.data = {\n        ...this.resource.data,\n        ...((response[key] || response[key] === 0) && dataProperty)\n      }\n    });\n  }\n}\n","import moment from 'moment';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, KaDialog, KaToast, DialogController, MdDatasources)\nexport class ServiceDialogAbbonamentiEditor {\n  service;\n  pendingInit;\n  paymentMethods;\n  payers = [\n    { value: 'MASTER', text: 'Utenti' }, \n    { value: 'SUBUSER', text: 'Sottoutenti' }, \n    { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }\n  ];\n\n  constructor(api, kaDialog, kaToast, dialogController, MdDatasources) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n    this.paymentMethods = this.getPaymentMethods(MdDatasources);\n  }\n\n  getPaymentMethods(MdDatasources) {\n    MdDatasources?.paymentMethods.forEach((method) => { method.readonly = method.availableByDefault; });\n    return MdDatasources?.paymentMethods;\n  }\n\n  // Control type (label: Piano) related to productCode (label: Prodotto)\n  changeProductCode(value) {\n    if (!this.params?.uuid) {\n      if (this.resource.controls?.type) {\n        this.resource.data.type = null;\n        this.resource.controls.type.comboItems = null;\n        this.resource.controls.type.comboItemsSource = null;\n      }\n      this.resource.controls.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n    }\n  }\n\n  \n  changeActivableByPrivilegedUserOnly() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid) {\n      const payableByDatasource = [ ...this.payers ];\n      if (data.activableByPrivilegedUserOnly === 'SPONSOR') {\n        payableByDatasource.push({ value: 'SPONSOR', text: 'Offerta dallo Sponsor' });\n        this.resource.schema.payableBy = Object.assign({}, this.resource.schema.payableBy, { datasource: payableByDatasource });\n        if (data.paymentMethods.every((method) => method !== 'ON-SIGHT')) data.paymentMethods.push('ON-SIGHT');\n        data.payableBy = 'SPONSOR';\n      } else {\n        if (data.payableBy === 'SPONSOR') data.payableBy = null;\n        if (data.paymentMethods.some((method) => method === 'ON-SIGHT')) {\n          const item = data.paymentMethods.find((method) => method === 'ON-SIGHT');\n          const index = data.paymentMethods.indexOf(item);\n          data.paymentMethods.splice(index, 1);\n        }\n      }\n    };\n    return this.resource.data = data;\n  }\n\n  changeSubscriptionExpireAt() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid && data.subscriptionExpireAt && !data.endAt) {\n      data.endAt = data.subscriptionExpireAt;\n    }\n    return this.resource.data = data;\n  }\n\n  changePaymentMethods() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid) {\n      const isFreeCharge = data.paymentMethods.includes('FREE-CHARGE');\n      if (isFreeCharge) {\n        data.vatAmount = data.price = 0;\n        data.activableByPrivilegedUserOnly = 'YES';\n        data.paymentMethods = ['MIGRATION', 'FREE-CHARGE'];\n      }\n      this.resource.controls.price.control.readonly = isFreeCharge;\n      this.resource.controls.price.control.schema.readonly = isFreeCharge\n      this.resource.controls.vatAmount.control.readonly = isFreeCharge;\n      this.resource.controls.activableByPrivilegedUserOnly.control.readonly = isFreeCharge;\n    }\n    return this.resource.data = data;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n\n  getDefaultPaymentMethods() {\n    return this.paymentMethods.filter(method => method?.availableByDefault).map(method => method?.code);\n  }\n\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        productCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' },\n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        type: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        activableByPrivilegedUserOnly: {\n          control: 'combo',  \n          label: 'Attivabile da', \n          datasource: [\n            { value: 'NO', text: 'Proprietario account' }, \n            { value: 'YES', text: 'Solo utente privilegiato' }, \n            { value: \"SPONSOR\", text: 'Sponsor' }\n          ],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        sponsorUuid: {\n          control: 'combo', \n          label: 'Sponsor', \n          datasource: { table: 'bo/users?include=user-profiles&user-group-in=SPONSOR' }, \n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        activableOn: {\n          control: 'combo',  \n          label: 'Sottoscrivibile da', \n          datasource: this.payers,\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        allowableBusinessTypes: {\n          control: 'combo',\n          label: 'Vincola a specifiche attività',\n          datasource: [],\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: true,\n          datapreload: true,\n          required: false,\n          readonly: this.params ? true : false\n        },\n        subscriptionExpiryType: {\n          control: 'combo',\n          label: 'Tipologia scadenza sottoscrizione',\n          datasource: [\n            { value: 'DAYS', text: 'Durata in giorni' },\n            { value: 'DATE', text: 'Scadenza fissa' }\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        duration: {\n          control: 'number',\n          label: 'Durata gg. sottoscrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        subscriptionExpireAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        autoRenewable: {\n          control: 'check',  \n          label: 'Rinnovo del servizio', \n          description: 'Con possibilità di autorinnovo',\n          readonly: this.params ? true : false,\n        },\n        price: {\n          control: 'number',\n          label: 'Prezzo in €',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        vatAmount: {\n          control: 'number',\n          label: 'IVA in €',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        payableBy: {\n          control: 'combo',  \n          label: 'Addebitabile a',\n          datasource: [\n            { value: 'MASTER', text: 'Utenti' },\n            { value: 'SUBUSER', text: 'Sottoutenti' }, \n            { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }\n          ],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        paymentMethods: {\n          control: 'combo',  \n          label: 'Metodi di pagamento',\n          datasource: this.paymentMethods,\n          datavalue: 'code', \n          datatext: 'label', \n          datapreload: true,\n          datamultiple: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        startAt: {\n          control: 'datetime',\n          label: 'Inizio periodo di validità',\n          required: this.params ? false : true\n        },\n        endAt: {\n          control: 'datetime',\n          label: 'Termine periodo di validità',\n          placeholder: 'Illimitato',\n          required: false\n        },\n        promotionNeeded: {\n          control: 'combo', \n          label: 'Promozione', \n          datasource: [\n            { value: 'YES', text: 'Necessaria per l\\'attivazione' }, \n            { value: 'NO', text: 'Non necessaria per l\\'attivazione'}\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          required: this.params ? false : true\n        },\n        createPortabilityPromotionOnActivation: {\n          control: 'check',  \n          label: 'Promozione di portabilità', \n          description: 'Crea promozione di portabilità',\n        },\n        associatedPromoCodes: {\n          control: 'combo', \n          label: 'Promozioni associate', \n          datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' } }, \n          datavalue: 'code', \n          datatext: 'code', \n          datapreload: false,\n          datamultiple: true,\n          required: this.params ? false : true\n        },\n        cashbackAmount: {\n          control: 'number',\n          label: 'Cashback in €',\n          readonly: this.params ? true : false\n        },\n        multicoinPoint: {\n          control: 'number',\n          label: 'Punti Multicoin',\n          readonly: this.params ? true : false,\n        }\n      },\n      data: {\n        price: 20,\n        duration: 0,\n        vatAmount: 0,\n        vault: 'EUR',\n        multicoinPoint: 0,\n        autoRenewable: false,\n        subscriptionExpiryType: 'DATE',\n        startAt: this.params ? null : moment().utc().format(),\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          if (!control) return;\n          promises.push(new Promise((resolve, reject) => {\n            console.log(control);\n            if (control.validate)\n              control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n            else if (control.input?.validate)\n              control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n          }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      }\n    }\n  }\n\n  async init() {\n    this.pendingInit = true;\n    this.initResource();\n    this.resource.data.paymentMethods = this.getDefaultPaymentMethods();\n    let promises = [this.setAllowableBusinessTypesDatasource()];\n    if (this.params?.uuid) promises.push(this.getFlatService());\n    await Promise.all(promises).then((xhrs) => {\n      const flatService = xhrs[1] ? xhrs[1][0] : null;\n      if (flatService) {\n        this.flatService = flatService;\n        this.flatServiceDataParse();\n      }\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  setAllowableBusinessTypesDatasource() {\n    return this.api.get(`user-business-types?public=YES`).then((xhr) => {\n      let response = xhr.response;\n      return this.resource.schema.allowableBusinessTypes = Object.assign({}, this.resource.schema.allowableBusinessTypes, { datasource: response });\n    }).catch((error) => {\n      console.error('SetAllowableBusinessTypesDatasource failed', error);\n      return this.api.dialogError(error);\n    });\n  }\n\n  getFlatService() {\n    return this.api.get(`bo/flat-services?uuid-in=${this.params.uuid}`).then((xhr) => {\n      let response = xhr.response;\n      return response;\n    }).catch((error) => {\n      console.error('GetFlatService failed', error); \n      return this.api.dialogError(error);\n    });\n  }\n\n  flatServiceDataParse() {\n    const flatService = { ...this.flatService };\n    let data = {\n      code: flatService.code,\n      type: flatService.type,\n      productCode: flatService.productCode,\n      title: flatService.title,\n      subscriptionExpiryType: flatService.subscriptionExpireAt ? 'DATE' : 'DAYS',\n      subscriptionExpireAt: flatService?.subscriptionExpireAt || null,\n      activableByPrivilegedUserOnly: flatService?.sponsorUuid ? 'SPONSOR' : flatService.activableByPrivilegedUserOnly,\n      activableOn: flatService?.activableOnUser && flatService?.activableOnSubuser ? 'PARENT-OR-SUBUSER' : !flatService?.activableOnSubuser ? 'MASTER' : 'SUBUSER',\n      duration: flatService.duration,\n      autoRenewable: flatService.autoRenewable,\n      price: flatService.price,\n      vatAmount: flatService.vatAmount,\n      payableBy: flatService?.payableBySponsor ? 'SPONSOR' : flatService?.payableByUser && flatService?.payableBySubuser ? 'PARENT-OR-SUBUSER' : !flatService?.payableBySubuser ? 'MASTER' : 'SUBUSER',\n      paymentMethods: flatService.paymentMethods,\n      startAt: flatService.startAt,\n      endAt: flatService.endAt || null,\n      promotionNeeded: flatService.promotionNeeded,\n      createPortabilityPromotionOnActivation: flatService.createPortabilityPromotionOnActivation === 'YES' ? true : false\n    };\n    if (flatService.description) data.description = flatService.description;\n    if (flatService.sponsorUuid) data.sponsorUuid = flatService.sponsorUuid;\n    if (flatService.cashbackAmount) data.cashbackAmount = flatService.cashbackAmount;\n    if (flatService.multicoinPoint) data.multicoinPoint = flatService.multicoinPoint;\n    if (flatService.allowableBusinessTypes) data.allowableBusinessTypes = flatService.allowableBusinessTypes;\n    if (flatService.associatedPromoCodes) data.associatedPromoCodes = flatService.associatedPromoCodes.length ? Array.from(flatService.associatedPromoCodes) : [];\n    return this.resource.data = data;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      let endpoint = 'bo/flat-services';\n      let data = structuredClone(this.resource.data);\n\n      if (this.params) {\n        endpoint = `bo/flat-services/${this.params.uuid}`;\n        data = {\n          startAt: this.resource.data.startAt,\n          endAt: this.resource.data.endAt || null,\n          promotionNeeded: this.resource.data.promotionNeeded,\n          createPortabilityPromotionOnActivation: this.resource.data.createPortabilityPromotionOnActivation\n        }\n        if (this.flatService.startAt === data.startAt) delete data.startAt;\n        if (this.flatService.endAt === data.endAt) delete data.endAt;\n\n        this.api.patch(endpoint, data).then(() => {\n          if (!this.resource.data.associatedPromoCodes) this.resource.data.associatedPromoCodes = [];\n          let addedPromoCode = this.flatService.associatedPromoCodes ? this.resource.data.associatedPromoCodes.filter(x => !this.flatService.associatedPromoCodes.includes(x)) : this.resource.data.associatedPromoCodes;\n          let removedPromoCode = this.flatService.associatedPromoCodes ? this.flatService.associatedPromoCodes.filter(x => !this.resource.data.associatedPromoCodes.includes(x)) : [];\n\n          this.api.get(`bo/promotions?code-in=${addedPromoCode.concat(removedPromoCode).toString()}`).then(xhr => {\n            let promises = [];\n            xhr.response.forEach(promo => {\n              if (addedPromoCode.includes(promo.code)) promises.push(this.api.post(`bo/promotions/${promo.uuid}/flat-services`, { flatServiceUuid: this.params.uuid }));\n              else if (removedPromoCode.includes(promo.code)) promises.push(this.api.delete(`bo/promotions/${promo.uuid}/flat-services/${this.params.uuid}`));\n            });\n            Promise.all(promises).then(() => {\n              this.toast.show('Servizio modificato con successo!', 'success'); \n              this.controller.ok();\n            })\n          }).catch(error => { \n            console.error('Activation of promotions failed', error); \n            this.resource.error(error);\n          })\n        }).catch(error => { \n          console.error('Edit service failed', error); \n          this.resource.error(error);\n        })\n      } else {\n        if (this.resource.data.activableByPrivilegedUserOnly === 'SPONSOR') data.activableByPrivilegedUserOnly = 'NO';\n        data.createPortabilityPromotionOnActivation = this.resource.data.createPortabilityPromotionOnActivation === true ? 'YES' : 'NO';\n        data.activableOnUser = ['MASTER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.activableOn);\n        data.activableOnSubuser = ['SUBUSER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.activableOn);\n        data.payableByUser = ['MASTER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.payableBy);\n        data.payableBySubuser = ['SUBUSER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.payableBy);\n        data.payableBySponsor = ['SPONSOR'].includes(this.resource.data.payableBy);\n\n        // Transform string into number\n        if (data.price) data.price = +this.resource.data.price;\n        if (data.duration) data.duration = +this.resource.data.duration;\n        if (data.vatAmount) data.vatAmount = +this.resource.data.vatAmount;\n        if (data.multicoinPoint) data.multicoinPoint = +this.resource.data.multicoinPoint;\n\n        if (data.subscriptionExpiryType === 'DAYS') delete data.subscriptionExpireAt\n        if (data.subscriptionExpiryType === 'DATE') delete data.duration\n        delete data.subscriptionExpiryType\n        \n        delete data.payableBy;\n        delete data.activableOn;\n        if (!this.resource.data.SponsorUuid) delete data.SponsorUuid;\n\n        this.api.post(endpoint, data).then(() => { \n          this.toast.show('Servizio creato con successo!', 'success'); \n          this.controller.ok(); \n        }).catch(error => { \n          console.error('Create service failed', error);\n          this.resource.error(error);\n        });\n      }\n    });\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Router, DialogController)\nexport class ServiceDialogFidelityCardActivationSubscriptionRecommended {\n  constructor(router, dialogController) {\n    this.router = router;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  goToFidelityCardsActivation() {\n    this.router.navigateToRoute('fidelity-cards/activation');\n    this.controller.cancel();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ServiceDialogLog {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.logs = params.operationLog;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaToast)\nexport class ServiceDialogModifyServiceExpiration {\n  resource = {\n    controls: {},\n    schema: {\n      applyStatusAt: {\n        label: 'Data scadenza',\n        control: 'date',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.resource.data.applyStatusAt = params.service?.expireAt || null;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.patch(`users/${this.params.service.ownerId || 'me'}/flat-services-activations/${this.params.service.id}`, { status: 'EXPIRED', applyStatusAt: this.resource.data.applyStatusAt, statusReason: 'Scadenza modificata da un operatore' }).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport { DateTime } from 'luxon';\n\n@inject(Api, KaToast)\nexport class ServiceDialogAbbonamentiStatoServizio {\n  resource = {\n    controls: {},\n    schema: {\n      statusReason: {\n        label: 'Messaggio per il cliente',\n        control: 'textarea',\n        required: true\n      },\n      applyStatusAt: {\n        label: 'A partire da quando?',\n        control: 'datetime',\n        required: true\n      },\n      confirm: {\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?',\n        control: 'check',\n        required: true\n      }\n    },\n    data: {\n      applyStatusAt: DateTime.now().toUTC().set({seconds: 0, milliseconds: 0}).toISO({ suppressMilliseconds: true })\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  /* Messages */\n  messages =  {\n    ACTIVE: 'Riattiva una sottoscrizione a un servizio in stato di temporanea sospensione.',\n    TERMINATED: 'Chiude definitivamente una sottoscrizione ad un servizio, per riattivare il servizio sarà necessario avviare una nuova sottoscrizione.',\n    SUSPENDED: 'Sospende temporaneamente una sottoscrizione a un servizio. Non sarà comunque possible attivarne un\\'altro della stessa tipologia fino alla scandenza.'\n  }\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.message = this.messages[this.params.status];\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      let data = {\n        status: this.params.status,\n        statusReason: this.resource.data.statusReason,\n        applyStatusAt: this.resource.data.applyStatusAt\n      };\n      if (this.params.status !== 'SUSPENDED') delete data.applyStatusAt;\n      this.api.patch(`users/${ this.params.service.ownerId || 'me' }/flat-services-activations/${this.params.service.id}`, data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiAttivabili {\n  mdt = mdt;\n  searchedData;\n  endpoint = null;\n  staticTooltipServices = {\n    subtitle: 'Servizi attivabili',\n    href: 'https://docs.multidialogo.it/s/article/Gestione',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  }\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    this.requestedUserData = model.requestedUserData;\n    this.lastAcceptedServiceContract = this.privileges.lastAcceptedServiceContract;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  async init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-attivabili-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-attivabili-search',\n      table: this.tableInterface,\n      schema: {\n        activable: {\n          control: 'combo',\n          label: 'Quali servizi attivabili visualizzare?',\n          datasource: [\n            { value: 'MASTER', text: 'I miei servizi attivabili' },\n            { value: 'SUBUSER', text: 'I servizi attivabili dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          required: true\n        },\n        payable: {\n          control: 'combo',\n          label: 'Fatturazione',\n          datasource: [\n            { value: 'MASTER', text: 'Fatturazione ' + this.mdt.parsers.contextualize(this.api.user, 'all\\'account') },\n            { value: 'SUBUSER', text: 'Fatturazione ' + this.mdt.parsers.contextualize(this.api.user, 'all\\'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          required: true,\n          query: 'payable-by'\n        },\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'code-in'\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        payable: 'SUBUSER',\n        activable: 'SUBUSER',\n        multicoinPoint: 'null'\n      }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n      return this.search().finally(() => {\n        this.parent.isPendingInitTabs = false;\n      });\n    });\n  }\n\n  setEndpoint() {\n    let endpoint;\n    const baseUrl = `users/${this.requestedUserData?.id || 'me'}`;\n    const suffixUrl = `${this.searchInterface?.data?.activable === 'SUBUSER' ? 'subusers-activable-flat-services' : 'activable-flat-services'}`;\n\n    if (this.requestedUserData) {\n      endpoint = `${baseUrl}/activable-flat-services`;\n    } else {\n      endpoint = `${baseUrl}/${suffixUrl}`;\n    }\n    if (this.lastAcceptedServiceContract?.rescindedAt) this.tableInterface.query = 'has-cashback=NO';\n    return endpoint;\n  }\n\n  async search() {\n    this.endpoint = this.tableInterface.endpoint = this.setEndpoint();\n    if (this.requestedUserData && !this.searchInterface.data.payable) this.searchInterface.data.payable = 'MASTER';\n    if (!this.requestedUserData && this.searchInterface.data.activable === 'MASTER') this.searchInterface.data.payable = 'MASTER';\n\n    return this.searchInterface.search().then(() => {\n      this.searchedData = { ...this.searchInterface.data };\n    });\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    if (this.requestedUserData) this.searchInterface.data.payable = 'MASTER';\n    else this.searchInterface.data.activable = this.searchInterface.data.payable = 'SUBUSER';\n    this.search();\n  }\n\n  activateService($event, service) {\n    if ($event.model) $event.model.busy = true;\n    let activateOnUserId, payableByUserId, payableByUserUuid;\n    const isServiceCashbackGracePeriod = this.lastAcceptedServiceContract?.gracePeriodEndAt ? true : false;\n    const isCashbackContractNeverBeenSigned = this.lastAcceptedServiceContract?.isCashbackContractNeverBeenSigned;\n\n    if (service.multicoinPoint && !this.parent.userCurrentFidelityCard) {\n      this.tools.dialogFidelityCardRequired($event);\n    } else if (this.requestedUserData) {\n      activateOnUserId = this.requestedUserData.id;\n      payableByUserId = this.searchedData.payable === 'MASTER' ? this.requestedUserData.parentId : this.requestedUserData.id;\n      payableByUserUuid = this.searchedData.payable === 'MASTER' ? this.requestedUserData.parentUuid : this.requestedUserData.uuid;\n    } else if (this.searchedData.activable === 'MASTER') {\n      activateOnUserId = payableByUserId = this.api.user.id;\n      payableByUserUuid = this.api.user.uuid;\n    } else if (this.searchedData.activable === 'SUBUSER') {\n      if ((isCashbackContractNeverBeenSigned || isServiceCashbackGracePeriod) && service.cashbackAmount) {\n        return this.tools.dialogCashbackSubscriptionRequired($event);\n      } else {\n        return this.openDialogSubuserServiceActivation($event, service);\n      }\n    }\n\n    if (activateOnUserId && payableByUserId && payableByUserUuid) {\n      if ((isCashbackContractNeverBeenSigned || isServiceCashbackGracePeriod) && service.cashbackAmount) {\n        return this.tools.dialogCashbackSubscriptionRequired($event);\n      } else {\n        return this.openDialogUserServiceActivation($event, service, payableByUserId, payableByUserUuid, activateOnUserId);\n      }\n    }\n  }\n\n  openDialogSubuserServiceActivation($event, service) {\n    return this.dialog.open({\n      title: 'Attivazione servizio in abbonamento',\n      class: 'abbonamenti-attivazione-sottoutenti',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti'),\n      viewModelParams: { service, payable: this.searchedData.payable }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.parent.tabs.find((tab) => tab.id === 'attivi').controller.search();\n        this.tableInterface.load();\n      }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  openDialogUserServiceActivation($event, service, payableByUserId, payableByUserUuid, activateOnUserId) {\n    return this.dialog.open({\n      title: 'Attivazione servizio in abbonamento',\n      class: 'small abbonamenti-attivazione',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-attivazione'),\n      viewModelParams: { service, payableByUserId }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled && response.output) {\n        let data = {\n          flatServiceUuid: service.id,\n          payeeUserUuid: payableByUserUuid,\n          payeeBillingProfileUuid: response.output.billing,\n          paymentMethod: response.output.payment\n        }\n\n        if (service.autoRenewable === true && data.paymentMethod === 'SDD') data.autoRenew = 'ENABLED';\n        this.api.post(`users/${activateOnUserId}/flat-services-activations`, data).then(() => {\n          this.toast.show('Servizio attivato con successo!', 'success');\n          this.parent.tabs.find(tab => tab.id === 'attivi').controller.search();\n          this.tableInterface.load();\n        }).catch((error) => {\n          this.api.dialogError(error);\n        }).finally(() => {\n          if ($event.model) $event.model.busy = false;\n        });\n      } else if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { HttpClient } from 'aurelia-http-client';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiAttivi {\n  mdt = mdt;\n  statuses = {\n    'ACTIVE': 'Attivo',\n    'PENDING': 'In attesa di pagamento',\n    'SUSPENDED': 'Sospeso',\n    'EXPIRED': 'Scaduto',\n    'TERMINATED': 'Terminato'\n  }\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.tools = model.tools;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.requestedUserData = model.requestedUserData;\n    this.lastAcceptedServiceContract = this.privileges.lastAcceptedServiceContract;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  setStatusDatasource() {\n    const datasource = [{ value: 'null', text: 'Tutti' }]\n    for (const [key, value] of Object.entries(this.statuses)) {\n      datasource.push({ value: key, text: value });\n    }\n    return datasource;\n  }\n\n  async init() {\n    await this.initTableInterface();\n    await this.initSearchInterface();\n    this.searchActiveUsersChange();\n\n    this.productCodeChanged(this.searchInterface.data.productCode);\n\n    if (!this.privileges.isOperator || (this.privileges.isOperator && this.searchInterface.data.user && this.searchInterface.data.context)) {\n      this.search();\n    }\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-attivi-table',\n      client: this.api,\n      endpoint: null\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      response.forEach((service) => {\n        this.isServiceAutoRenewDisabled(service);\n      });\n\n      return response;\n    };\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-attivi-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali servizi attivi visualizzare?',\n          datasource: [\n            { value: 'USER', text: (this.privileges.isOperator ? 'I servizi attivi dell\\'utente' : 'I miei servizi attivi') },\n            { value: 'SUB-USER', text: (this.privileges.isOperator ? 'I servizi attivi dei sottoutenti' : 'I servizi attivi dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti')) }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.privileges.isOperator\n        },\n        user_active: {\n          control: 'check',\n          label: ' ',\n          description: `Includi solo ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} attivi`\n        },\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'flat-service-code-in'\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato attivazione',\n          datasource: this.setStatusDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'status-in'\n        },\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        cashbackAmount: {\n          label: 'Cashback',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con cashback' },\n            { value: 'NO', text: 'Servizi senza cashback' }\n          ],\n          query: 'has-cashback'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        status: 'ACTIVE',\n        user_active: true,\n        cashbackAmount: 'null',\n        multicoinPoint: 'null',\n        context: !this.privileges.isOperator ? 'SUB-USER' : null\n      }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n    });\n  }\n\n  searchActiveUsersChange() {\n    return this.searchInterface.schema.user.datasource.table = `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?${this.searchInterface.data.user_active ? 'status=ACTIVE&' : ''}include=user-profiles`;\n  }\n\n  search() {\n    this.updateTableInterfaceEndpoint();\n    this.updateTableInterfaceQuery();\n    this.searchInterface.search();\n  }\n\n  updateTableInterfaceEndpoint() {\n    // Base endpoint\n    let endpoint = 'users';\n    // users/(me|{id})\n    if (this.requestedUserData) endpoint += `/${this.requestedUserData.id}`;\n    else if (this.searchInterface.data.context === 'USER' && !this.privileges.isOperator) endpoint += '/me';\n    else if (this.searchInterface.data.context === 'USER' && this.privileges.isOperator) endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user) endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) endpoint += '/me';\n    // users/(me|{id})/(subusers?)\n    if (this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) endpoint += '/subusers';\n    // users/(me|{id})/(subusers?)/flat-services-activations\n    endpoint += '/flat-services-activations';\n    return this.tableInterface.endpoint = endpoint;\n  }\n  updateTableInterfaceQuery() {\n    const isOperatorActiveSubusersWorthy = this.privileges.isOperator && this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user_active;\n    const isUserActiveSubusersWorthy = !this.privileges.isOperator && this.searchInterface.data.context === 'SUB-USER' && !this.searchInterface.data.user && this.searchInterface.data.user_active;\n    const queryParams = [];\n    if (this.privileges.isMaster) queryParams.push('acknowledged=YES');\n    if (isOperatorActiveSubusersWorthy || isUserActiveSubusersWorthy) queryParams.push('owner-status-in=ACTIVE');\n    return this.tableInterface.query = queryParams.join('&') || null;\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.searchInterface.data.status = 'ACTIVE';\n    if (!this.privileges.isOperator && !this.requestedUserData) this.searchInterface.data.context = 'SUB-USER';\n    if (!this.privileges.isOperator) this.search();\n  }\n\n  showLogs(item) {\n    this.dialog.open({\n      title: 'Elenco log',\n      class: 'large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-log'),\n      viewModelParams: item\n    }, true);\n  }\n\n  showBankTransfer(item) {\n    const legacyApi = new HttpClient();\n    legacyApi.configure(client => {\n      client.withBaseUrl(`${ENVIRONMENT.APP_URL_LEGACY}api/`);\n      client.withHeader('Accept', 'application/json');\n      client.withHeader('Authorization', this.api.accessToken);\n    });\n    legacyApi.get(`getPaymentDetail.php?order-id=${item.orderId}`).then(xhr => {\n      let response = JSON.parse(xhr.response);\n      this.dialog.open({\n        title: 'Dettagli per il pagamento mezzo bonifico',\n        type: 'alert',\n        class: 'small',\n        body: `Per completare l'attivazione del servizio è necessario effettuare il versamento di <strong>${response.totalAmount}€</strong> sul conto corrente:<br><br>\n        BENEFICIARIO: ${response.creditorCompany}<br>\n        IBAN: ${response.creditorIban}<br>\n        CAUSALE: ${response.reason}<br>\n        IMPORTO: ${response.totalAmount}<br><br>\n        Il tuo ordine sarà confermato non appena riceveremo il bonifico. L'operazione potrebbe richiedere qualche giorno.`\n      }, true);\n    });\n\n  }\n\n  editExpiration($event, item) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica scadenza servizio',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-scadenza'),\n      viewModelParams: { service: item }\n    }, true).whenClosed(() => {\n      this.search();\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  editStatus($event, action, item) {\n    let data = null;\n    if (action === 'sospendi') data = { status: 'SUSPENDED' };\n    if (action === 'riattiva') data = { status: 'ACTIVE' };\n    if (action === 'termina') data = { status: 'TERMINATED' };\n    if (data) {\n      $event.model.busy = true;\n      this.dialog.open({\n        title: `${action.charAt(0).toUpperCase() + action.slice(1)} servizio`,\n        class: 'small abbonamenti-stato-servizio',\n        viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio'),\n        viewModelParams: { service: item, status: data.status }\n      }, true).whenClosed(() => {\n        this.search();\n        $event.model.busy = false;\n      });\n    }\n  }\n\n  dialogAutoRenew($event, service) {\n    this.dialog.open({\n      viewModelParams: service,\n      class: 'small abbonamenti-autorinnovo',\n      title: (service.autoRenew === 'ENABLED' ? 'Disattiva autorinnovo' : 'Attiva autorinnovo'),\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        let data = { autoRenew: service.autoRenew === 'ENABLED' ? 'DISABLED' : 'ENABLED' };\n        if (service.autoRenew === 'DISABLED') data.autoRenewPaymentMethod = response.output.autoRenewPaymentMethod;\n\n        this.api.patch(`users/${service.ownerId || 'me'}/flat-services-activations/${service.id}`, data).then(() => {\n          this.toast.show(`Autorinnovo ${service.autoRenew === 'DISABLED' ? 'attivato' : 'disattivato'} con successo!`, 'success');\n          this.search();\n        }).catch(error => {\n          this.api.dialogError(error);\n        }).finally(() => { $event.model.busy = false; });\n      }\n      $event.model.busy = false;\n    });\n  }\n\n  editRenewal($event, service) {\n    $event.model.busy = true;\n    if (service.autoRenew === 'DISABLED' && (this.lastAcceptedServiceContract?.gracePeriodEndAt || this.lastAcceptedServiceContract?.rescindedAt) && service.flatServiceCashbackAmount) {\n      this.tools.dialogCashbackSubscriptionRequired($event, 'autoRenew');\n    } else {\n      this.dialogAutoRenew($event, service);\n    }\n  }\n\n  renew($event, item) {\n    $event.model.busy = true;\n    let data = {\n      autoRenew: item.autoRenew,\n      flatServiceUuid: item.flatServiceUuid,\n      payeeUserUuid: item.payeeUserUuid,\n      payeeBillingProfileUuid: item.payeeBillingProfileUuid,\n      paymentMethod: item.paymentMethod\n    }\n    this.api.post(`users/${item.ownerId || 'me'}/flat-services-activations/${item.id}/renewals`, data).then(() => {\n      this.toast.show(`Servizio rinnovato con successo!`, 'success');\n      this.search();\n    }).catch(x => {\n      this.api.dialogError(x);\n    }).finally(() => { $event.model.busy = false; });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  csvDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n\n    // Uri build\n    let query = '';\n    if (this.searchInterface?.table?._query) query = `?${decodeURIComponent(this.searchInterface.table._query)}`;\n    let path = `${this.tableInterface.endpoint}.csv`;\n    let uri = `${path}${query}`;\n\n    this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/csv')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        // Filename\n        let regexp = new RegExp('filename=(.+\\.csv$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n\n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: 'text/csv' });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n      }).catch(xhr => {\n        console.log('ERROR - flat-services-activations.csv download - GET', xhr);\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  isServiceAutoRenewDisabled(service) {\n    service.isAutoRenewDisabled = false; //this should be setted to false by default otherwise all buttons will be disabled because isAutoRenewDisabled = undefined;\n    const currentDate = new Date();\n\n    //I apply this check only in case of autoRenew === 'ENABLED'\n    if (service?.autoRenew === 'ENABLED') {\n      const expireAt = new Date(service?.expireAt); //expireAt date should be parsed as Date object otherwise addition / substraction ops on date couldn't be done;\n      const condition = expireAt.setDate(expireAt.getDate() - 30); //condition = the epic asked that button should be disabled if expireAt is lower tha 30 days\n      service.isAutoRenewDisabled = condition < currentDate; //so if expireAt - 30 days > today it means that expireAt is greater than 30 days so btn will not be disabled\n    }\n\n    return service;\n  }\n\n  /* dialogServiceDetail(service) {\n    this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio abbonamento',\n      viewModelParams: { ownerId: service.ownerId, flatServiceUuid: service.id },\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail'),\n    });\n  } */\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiGestione {\n  mdt = mdt;\n  endpointServices = 'bo/flat-services';\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTabs();\n  }\n\n  initTabs() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-gestione-table',\n      client: this.api,\n      endpoint: this.endpointServices,\n      query: null\n    });\n    this.tableInterface.initialize();\n\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'code-in'\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n        activableOn: {\n          control: 'combo',\n          label: 'Sottoscrivibile da',\n          datasource: [{ value: 'MASTER', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }, { value: '', text: 'Utenti e Sottoutenti' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          query: 'activable-on'\n        },\n        payableBy: {\n          control: 'combo',\n          label: 'Addebitabile a',\n          datasource: [{ value: 'SPONSOR', text: 'Sponsor' }, { value: 'MASTER', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }, { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          query: 'payable-by'\n        },\n        cashbackAmount: {\n          label: 'Cashback',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con cashback' },\n            { value: 'NO', text: 'Servizi senza cashback' }\n          ],\n          query: 'has-cashback'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        cashbackAmount: 'null',\n        multicoinPoint: 'null',\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n      this.searchInterface.search().finally(() => {\n        this.parent.isPendingInitTabs = false;\n      });\n    });\n  }\n\n  createService() {\n    if (!this.api.hasRole('CREATE_FLAT_SERVICES')) return;\n    this.dialog.open({\n      title: 'Crea nuovo servizio in abbonamento',\n      class: 'abbonamenti-editor large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-editor')\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n    });\n  }\n\n  editService($event, service) {\n    if (!this.api.hasRole('MODIFY_FLAT_SERVICES')) return;\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Servizio in abbonamento',\n      class: 'abbonamenti-editor large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-editor'),\n      viewModelParams: { uuid: service.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface, TableSelectionInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmVolture {\n  mdt = mdt;\n  isInitializing = true;\n  isLoading = false;\n  context = null;\n  contextUser = {};\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.requestedUserData = model.requestedUserData;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initTableSelectionInterface();\n    this.initSearchInterface();\n    this.productCodeChanged(this.searchInterface.data.productCode);\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'volture-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: (this.privileges.isMaster ? 'acknowledged=NO' : null)\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initTableSelectionInterface() {\n    this.tableSelectionInterface = new TableSelectionInterface({\n      table: this.tableInterface\n    });\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'volture-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali volture visualizzare?',\n          datasource: [\n            { value: 'USER', text: (this.privileges.isOperator ? 'Le volture dell\\'utente' : 'Le mie volture')},\n            { value: 'SUB-USER', text: (this.privileges.isOperator ? 'Le volture dei sottoutenti' : 'Le volture dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti'))}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.privileges.isOperator\n        },\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'flat-service-code-in'\n        },\n        productCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' }, \n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          query: 'product-code-in'\n        },\n        type: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          query: 'type-in'\n        }\n      },\n      data: {\n        context: !this.privileges.isOperator ? 'SUB-USER' : null,\n        sdd: 'null'\n      }\n    });\n    \n    return this.searchInterface.initialize().then(() => {\n      if (!this.privileges.isOperator) this.search();\n      else if (this.privileges.isOperator && this.searchInterface.data.user && this.searchInterface.data.context) this.search();\n    });\n  }\n\n  productCodeChanged(value) {\n    // Control \"type\" related to \"productCode\"\n    if (this.searchInterface.controls?.type) {\n      this.searchInterface.data.type = null;\n      this.searchInterface.controls.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n      this.searchInterface.controls.type.comboItemsSource = null;\n      this.searchInterface.controls.type.comboItems = null;\n    } else {\n      this.searchInterface.schema.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n    }\n  }\n\n  search() {\n    this.tableInterface.endpoint = this.buildEndpoint();\n    this.searchInterface.search();\n  }\n\n  buildEndpoint() {\n    // Endpoint\n    this.endpoint = 'users';\n    // users/(me|{id})\n    if (this.requestedUserData) this.endpoint += `/${this.requestedUserData.id}`;\n    else if (this.searchInterface.data.context === 'USER' && !this.privileges.isOperator) this.endpoint += '/me';\n    else if (this.searchInterface.data.context === 'USER' && this.privileges.isOperator) this.endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user) this.endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) this.endpoint += '/me';\n    // users/(me|{id})/(subusers?)\n    if (this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) this.endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) this.endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) this.endpoint += '/subusers';\n    // users/(me|{id})/(subusers?)/flat-services-activations\n    this.endpoint += '/flat-services-activations';\n    return this.endpoint;\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.searchInterface.data.status = 'null';\n    if (!this.privileges.isOperator && !this.requestedUserData) this.searchInterface.data.context = 'SUB-USER';\n    if (!this.privileges.isOperator) this.search();\n  }\n\n  confirmSelectedServices($event) {\n    $event.model.busy = true;\n    \n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Alla data di scadenza, i servizi volturati cesseranno istantaneamente. Confermata la voltura, potrai gestire in seguito l'autorinnovo dei servizi appena volturati nella sezione <em>Servizi attivi</em>.`\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        let promises = [];\n        this.tableSelectionInterface.selectedRecords.forEach((record) => {\n          record._selection.isSelected = false;\n          record._selection.feedback = { status: 'In corso' };\n          let data = { acknowledged: \"YES\" };\n\n          promises.push(\n            // the patch wants the flat service activation UUID but its inside the id, here's the reason for the record.id\n            this.api.patch(`users/${record.ownerId}/flat-services-activations/${record.id}`, data).then(() => {\n              record._selection.feedback = { status: 'Completato' };\n            }).catch((error) => {\n              console.error(error);\n              let parsedError = JSON.parse(error.response);\n              record._selection.feedback = { status: 'Errore', message: parsedError.source?.permissions[0]?.messages[0] || parsedError.detail };\n            })\n          );\n        });\n        Promise.all(promises).finally(() => {\n          this.search();\n        });\n      }\n    });\n\n    return $event.model.busy = false;\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\n\nimport mdt from 'services/md-tools';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport moment from 'moment';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class viewCrediti {\n  mdt = mdt;\n  environment = ENVIRONMENT;\n  userId = 'me';\n  currentBalance = null;\n  selectedParentIsMaster = false;\n  migrationMessages = {\n    'MIGRATED-TO-SUBUSER': (item) => `Credito trasferito su condominio ${item.reason.migrationReceiverDisplayName}`,\n    'MIGRATED-FROM-MASTER': () => `Credito trasferito da utente Master`,\n    'MIGRATED-TO-MASTER': () => `Credito trasferito verso utente Master`,\n    'MIGRATED-FROM-SUBUSER': (item) => `Credito trasferito da condominio ${item.reason.migrationReceiverDisplayName}`\n  };\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_CREDIT_TRANSACTION');\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Credit table interface\n    this.creditTableInterface = new TableInterface({\n      name: 'credit-transactions-table',\n      client: this.api,\n      endpoint: null,\n      query: 'sort=-createdAt'\n    });\n\n    // Credit search interface\n    this.creditSearchInterface = new SearchInterface({\n      name: 'credit-transactions-table-search',\n      table: this.creditTableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali movimenti visualizzare?',\n          datasource: [\n            { value: 'me', text: 'I miei movimenti' },\n            { value: 'subusers', text: 'Di un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          required: false\n        },\n        userId: {\n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: (this.isOperator ? 'bo/users' : 'users/me/users') + '?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        parent: { \n          control: 'combo',\n          label: 'Utente',\n          datasource: { table: `bo/users?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datatext: 'profile[0].displayName',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        child: {\n          control: 'combo', \n          label: 'Eventuale sottoutente',\n          datasource: { table:'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        orderId: {\n          label: 'ID ordine',\n          control: 'text',\n          query: 'reason-order-id',\n          required: false\n        },\n        type: {\n          label: 'Tipologia', \n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Tutti'},\n            { value: 'CREDIT', text: 'Entrata'},\n            { value: 'DEBIT', text: 'Uscita'}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'sign',\n          required: false\n        },\n        dateStart: {\n          label: 'Creato dal', \n          control: 'date',\n          query: 'created-at-gte',\n          required: false\n        },\n        dateEnd: {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte',\n          required: false\n        }\n      },\n      data: {\n        type: 'null',\n        dateStart: moment().utc().startOf('month').toISOString(),\n        dateEnd: moment().utc().endOf('month').toISOString()\n      }\n    });\n\n    // Initialize interfaces\n    this.creditTableInterface.initialize().then(() => {\n      this.creditSearchInterface.initialize().then(() => {\n        if (this.isOperator && this.params.user) {\n          this.creditSearchInterface.data.parent = this.params.user;\n          this.creditSearchInterface.data.child = null;\n        }\n        else if (!this.isOperator && this.params.user) {\n          this.creditSearchInterface.data.userId = this.params.user;\n        }\n        // Ricerca in fase di avvio\n        if (this.creditSearchInterface.data.orderId) this.ricerca();\n        else if (this.isOperator && this.creditSearchInterface.data.parent) this.ricerca();\n        else if (!this.isOperator && this.creditSearchInterface.data.context === 'me') this.ricerca();\n        else if (!this.isOperator && this.creditSearchInterface.data.userId) this.ricerca();\n      }).catch(error => { console.log('credit-transactions-search initialize failed', error); });\n    }).catch(error => { console.log('credit-transactions-table initialize failed', error); });\n  }\n\n  setParent() {\n    if (this.creditSearchInterface.controls.parent?.objectValue?.group === 'MASTER_USER') {\n      this.selectedParentIsMaster = true;\n      this.creditSearchInterface.schema.userId.datasource.table = `bo/users?include=user-profiles`+ (this.creditSearchInterface?.data?.parent ? `&parent-uuid-in=${this.creditSearchInterface.data.parent}`: '');\n    } else {\n      this.selectedParentIsMaster = false;\n    }\n    console.log(this.selectedParentIsMaster);\n  }\n\n  ricerca() {\n    // Handle userId\n    if (this.creditSearchInterface.data.context === 'me') {\n      this.userId = 'me';\n    } else if (this.creditSearchInterface.data.userId) {\n      this.userId = this.creditSearchInterface.data.userId;\n    } else if (this.creditSearchInterface.data.child) {\n      this.userId = this.creditSearchInterface.data.child;\n    } else if (this.creditSearchInterface.data.parent) {\n      this.userId = this.creditSearchInterface.data.parent;\n    }\n    // Handle required\n    if (!this.isOperator) {\n      (this.creditSearchInterface.controls.context || this.creditSearchInterface.schema.context).required = !this.creditSearchInterface.data.orderId;\n      this.creditSearchInterface.schema.userId.required = !this.creditSearchInterface.data.orderId && this.creditSearchInterface.data.context !== 'me';\n    } else {\n      this.creditSearchInterface.schema.parent.required = !this.creditSearchInterface.data.orderId;\n    }\n    // Validate\n    this.creditSearchInterface.validate().then(() => {\n      this.creditTableInterface.endpoint = `users/${this.userId}/credit-transactions`;\n      this.userProfile = null;\n      // Search\n      this.creditSearchInterface.search().then(xhr => {\n        // Credit amount\n        this.currentBalance = { filteredNoVatSubjectAmount: xhr.originalResponse.meta.filteredNoVatSubjectAmount, filteredVatSubjectAmount: xhr.originalResponse.meta.filteredVatSubjectAmount, noVatSubjectAmount:  xhr.originalResponse.meta.noVatSubjectAmount, vatSubjectAmount: xhr.originalResponse.meta.vatSubjectAmount };\n        // User profile\n        if (this.userId !== 'me') {\n          let endpoint = this.isOperator ? 'bo/users' : 'users/me/users';\n          this.api.get(`${endpoint}?include=user-profiles&id-in=${this.userId}`).then(xhr => {\n            this.userProfile = xhr.response[0].profile[0];\n            if (this.userProfile.parent && xhr.response[0].parentId) this.userProfile.parent.id = xhr.response[0].parentId;\n            this.userProfile.credit = this.currentBalance;\n          });\n        }\n      }).catch(error => { console.log('credit-transactions-search failed', error); });\n    });\n  }\n\n  ripristina() {\n    this.creditSearchInterface.reset(true).then(() => { this.userId = null; });\n  }\n\n  creditMovement(context) {\n    // Roles\n    if (context === 'transaction' && !this.api.hasRole('CREATE_ANY_USER_CREDIT_TRANSACTION')) return;\n    else if (context === 'transfer' && !this.api.hasRole('CREATE_SUB_USER_CREDIT_TRANSFER')) return;\n\n    if (this.userProfile) {\n      this.dialog.open({\n        title: context === 'transaction' ? 'Movimento credito' : 'Trasferimento credito',\n        class: 'medium',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-credit-movement'),\n        viewModelParams: { context: context, user: this.userProfile }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) this.ricerca();\n      });\n    }\n  }\n\n  getMigrationMessage(item) {\n    if (!item.reason?.migrationVerse) return '';\n\n    const messageTemplate = this.migrationMessages[item.reason.migrationVerse]\n    return messageTemplate ? messageTemplate(item) : '';\n  }\n\n  export() {\n    let records = this.creditTableInterface.data.map(x => {\n      return {\n        \"Data\": this.aurelia.resources.valueConverters.dateFormat.toView(x.createdAt).replace(/\\s/, '-'),\n        \"Account\": this.userProfile ? this.userProfile.displayName : this.api.user.profile.displayName, \n        \"Tipo\": x.sign === 'CREDIT' ? 'Ricarica' : 'Addebito',\n        \"Riferimento\": x.reason?.migrationVerse ? 'TRASFERIMENTO CREDITO' : 'MOVIMENTO CREDITO',\n        \"Importo servizio\": x.amount?.vatSubject,\n        \"Importo affrancatura (esente da IVA)\": x.amount?.noVatSubject\n      }\n    });\n    let csv = [Object.keys(records[0]).join(';')];\n    for (let record of records) {\n      let values = [];\n      for (let k of Object.keys(record)) {\n        let value = record[k];\n        values.push(value);\n      }\n      csv.push(values.join(';'));\n    }\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = `${this.api.user.id}-esportazione-movimenti-credito.csv`;\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\n\nimport mdt from 'services/md-tools';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport moment from 'moment';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewDeposito {\n  mdt = mdt;\n  environment = ENVIRONMENT;\n  currentBalance = null;\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_BAILMENT_DEPOSIT_TRANSACTION');\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Bailment table interface\n    this.bailmentTableInterface = new TableInterface({\n      name: 'bailment-deposit-transactions-table',\n      client: this.api,\n      endpoint: `users/me/bailment-deposit-transactions`,\n      query: null\n    });\n\n    // Bailment search interface\n    this.bailmentSearchInterface = new SearchInterface({\n      name: 'bailment-deposit-transactions-search',\n      table: this.bailmentTableInterface,\n      schema: {\n        userId: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.isOperator\n        },\n        orderId: {\n          label: 'ID ordine',\n          control: 'text',\n          query: 'order-id-in'\n        },\n        type: {\n          label: 'Tipologia', \n          control: 'combo',\n          datasource: [\n            { value: 'CREDIT', text: 'Entrata'},\n            { value: 'DEBIT', text: 'Uscita'}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'transaction-type'\n        },\n        dateStart: {\n          label: 'Creato dal', \n          control: 'date',\n          query: 'created-at-gte'\n        },\n        dateEnd: {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        }\n      },\n      data: {\n        dateStart: moment().utc().startOf('month').toISOString(),\n        dateEnd: moment().utc().endOf('month').toISOString()\n      }\n    });\n    // Initialize interfaces\n    this.bailmentTableInterface.initialize().then(() => {\n      this.bailmentSearchInterface.initialize().then(() => {\n        if (this.params.user) this.bailmentSearchInterface.data.userId = this.params.user; \n        if (!this.isOperator || this.bailmentSearchInterface.data.userId) this.ricerca();\n      }).catch(error => { console.log('bailment-deposit-transactions-search intialize failed', error); });\n    }).catch(error => { console.log('bailment-deposit-transactions-table initialize failed', error); });\n  }\n\n  ricerca() {\n    if (this.isOperator) {\n      this.userId = this.params.user || this.bailmentSearchInterface.data.userId || null;\n      if (this.userId) this.bailmentTableInterface.endpoint = `users/${this.userId}/bailment-deposit-transactions`;\n    }\n    this.bailmentSearchInterface.search().then(xhr => { \n      this.currentBalance = xhr.originalResponse.meta.currentBalance;\n    }).catch(error => { console.log('bailment-deposit-transactions-search failed', error); });\n  }\n\n  ripristina() {\n    this.bailmentSearchInterface.reset(true).then(() => {\n      this.userId = null;\n      if (!this.isOperator || this.bailmentSearchInterface.data.userId) this.ricerca();\n      else {\n        this.init();\n        this.bailmentSearchInterface.data.userId = null;\n      }\n    });\n  }\n\n  depositTransaction() {\n    if (this.userId) {\n      this.dialog.open({\n        title: 'Ricarica credito Sms/Fax/Posta',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-deposit-transaction'),\n        viewModelParams: { userId: this.userId, userProfile: this.bailmentSearchInterface.controls.userId.objectValue.profile[0] }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) this.ricerca();\n      });\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogCreditMovement {\n  mdt = mdt;\n  resource = {\n    controls: {},\n    schema: {\n      amount: {\n        vatSubject: {\n          label: 'Importo servizio',\n          control: 'number',\n          required: true,\n          min: 0\n        },\n        noVatSubject: {\n          label: 'Importo affrancatura',\n          control: 'number',\n          required: true,\n          min: 0\n        }\n      },\n      sign: {\n        label: 'Tipologia del movimento',\n        control: 'combo',\n        datasource: [\n          { value: 'CREDIT', text: 'Ricarica'},\n          { value: 'DEBIT', text: 'Addebito'}\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        required: true\n      },\n      reason: {\n        description: {\n          label: 'Causale',\n          control: 'text',\n          required: true\n        },\n      }\n    },\n    data: {\n      amount: { vatSubject: 0, noVatSubject: 0 },\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params.context === 'transfer') {\n      // Modify datasource of sign\n      let signTransaction = { value: 'null', text: `Addebito. Trasferimento da ${this.mdt.parsers.contextualize(this.api.user, 'utente')} ${this.params.user.displayName} a ${this.params.user.parent.displayName}`};\n      this.resource.schema.sign.datasource.push(signTransaction);\n\n      // Modify reason\n      this.resource.schema.reason = { label: 'Causale', control: 'text', required: true }\n\n      // Master user credit\n      this.api.get(`users/${this.params.user.parent.id}/credit-transactions`).then(xhr => {\n        this.masterUser = { noVatSubjectAmount:  xhr.originalResponse.meta.noVatSubjectAmount, vatSubjectAmount: xhr.originalResponse.meta.vatSubjectAmount };\n      });\n    }\n    this.resource.data.sign = this.params.context === 'transaction' ? 'CREDIT' : 'null';\n  }\n\n  save() {\n    // Transaction\n    if (this.params.context === 'transaction') {\n      this.resource.validate().then(() => {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-transaction-confirm'),\n        }, true).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.api.post(`bo/users/${this.params.user.id}/credit-transactions`, this.resource.data).then(() => {\n              this.toast.show(`Movimento inserito con successo!`, 'success');\n              this.params.dialog.ok();\n            }).catch(error => {\n              console.error();\n              this.resource.error(error);\n            });\n          }\n        });\n      });\n    } \n    // Transfer\n    else if (this.params.context === 'transfer') {\n      this.resource.validate().then(() => {\n        delete this.resource.data.sign;\n        this.api.post(`users/${this.params.user.id}/credit-transfer`, this.resource.data).then(() => {\n          this.toast.show(`Trasferimento inserito con successo!`, 'success');\n          this.params.dialog.ok();\n        }).catch(error => {\n          console.error();\n          this.resource.error(error);\n        });\n      });\n    }\n  } \n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogDepositTransaction {\n  resource = {\n    controls: {},\n    schema: {\n      value: {\n        label: 'Importo da movimentare',\n        control: 'number',\n        required: true\n      },\n      type: {\n        label: 'Tipologia del movimento',\n        control: 'combo',\n        datasource: [\n          { value: 'CREDIT', text: 'Entrata'},\n          { value: 'DEBIT', text: 'Uscita'}\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        required: true\n      },\n      note: {\n        label: 'Causale',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {\n      value: 0,\n      type: 'CREDIT',\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-transaction-confirm'),\n        viewModelParams: { cause: 'DEPOSIT' }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.post(`bo/users/${this.params.userId}/bailment-deposit-transactions`, this.resource.data).then(() => {\n            this.toast.show(`Movimento inserito con successo!`, 'success');\n            this.params.dialog.ok();\n          }).catch(error => {\n            console.error();\n            this.resource.error(error);\n          });\n        }\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class DialogTransactionConfirm {\n  check = {\n    schema: {\n      confirm: {\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?',\n        control: 'check',\n      }\n    },\n    data: {}\n  };\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n@inject(Api, KaDialog, KaToast, DialogController)\n\nexport class ServiceDialogListiniPianificazione {\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId;\n  }\n\n  attached() {\n    this.api.get('bo/price-lists').then(xhr => {\n      this.pricelists = xhr.response;\n      this.pricelists[0].label = this.pricelists[0].label + ' - Predefinito';\n      this.init();\n    }).catch(error => {\n      console.log('ERROR - bo/ pricelists - GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  init() {\n    this.resource = {\n      controls: {},\n      schema: {\n        code: {\n          label: 'Listino',\n          control: 'combo',\n          datasource: this.pricelists,\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          required: true\n        },\n        startAt: {\n          label: 'Data inizio intervallo',\n          control: 'date'\n        },\n        endAt: {\n          label: 'Data fine intervallo',\n          control: 'date',\n          placeholder: 'Indefinita',\n        }\n      }, \n      data: {\n        code: this.pricelists[0].code,\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          console.log(control);\n          promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      }\n    }\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.userId}/price-list-schedules`, this.resource.data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.controller.ok();\n      }).catch(error => {\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmPromozioni {\n  tabs = [\n    {\n      id: 'elenco',\n      label: 'Listini utente',\n      vm: PLATFORM.moduleName('views/servizi/listini/tabs/listini-elenco')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elenco: true }};\n    this.privileges.isOperator = this.privileges.isParent;\n    if (this.api.hasRole('LIST_ANY_USER_PRICE_LIST_SCHEDULE')) this.privileges.isOperator = true;\n    else if (this.api.hasRole('LIST_SUB_USER_PRICE_LIST_SCHEDULES')) this.privileges.isParent = true;\n  }\n}\n","import { Aurelia, inject, observable } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmListiniElenco {\n  mdt = mdt;\n  pricelists = null;\n  pricelistDefault = null;\n  pricelistsPending = false;\n  subusers = null;\n  allSubusers = null;\n  @observable() searchSubusers = null;\n\n  searchSubusersChanged(value) {\n    this.data.searchSubusers = value;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n    this.subusers = value ? this.allSubusers.filter(x => x.profile[0].displayName.toLowerCase().includes(value.toLowerCase())) : this.allSubusers;\n\n    // DOM\n    let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n    oldSelectedSubuser?.classList.remove('selected');\n\n    if (!value) this.data.selectedSubuser = null;\n    if (value && this.data.selectedSubuser?.id && this.subusers.find(x => x.id === this.data.selectedSubuser.id)) {\n      // DOM\n      setTimeout(() => {\n        let newSelectedSubuser = document.getElementById(this.data.selectedSubuser.id);\n        newSelectedSubuser?.classList.add(\"selected\");\n      }, 0);\n    }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    this.legacyLink = `https://${ENVIRONMENT.APP_DEBUG === 'true' ? 'beta.multidialogo.it' : ENVIRONMENT.APP_DEBUG === 'false' ? 'go.multidialogo.it' : ''}/scriba/utenti/box_listino_mi.html?price-list-code=`\n  }\n\n  attached() {\n    this.schema = {\n      context: {\n        label: 'Quali listini visualizzare?',\n        control: 'combo',\n        datasource: [{ value: 'ME', text: 'I miei listini' }, { value: 'SUBUSERS', text: `I listini dei miei ${this.mdt.parsers.contextualize(this.api.user, 'utenti')}` }],\n        datavalue: 'value',\n        datatext: 'text',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      },\n      user: {\n        label: 'Utente',\n        control: 'combo',\n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' }},\n        datavalue: 'id',\n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: false\n      }\n    }\n    this.data = JSON.parse(sessionStorage.getItem(btoa('price-lists'))) || { context: !this.privileges.isOperator ? 'ME' : null, user: this.params.id, selectedUser: null, selectedSubuser: null, searchSubusers: null };\n    if (this.privileges.isParent) this.getSubusers();\n  }\n\n  setContext() {\n    if (this.data.context === 'ME') {\n      this.data.selectedSubuser = null;\n      this.data.searchSubusers = null;\n\n      // DOM\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      oldSelectedSubuser?.classList.remove('selected');\n\n      this.getPriceLists();\n    } else if (this.data.context === 'SUBUSERS' && !this.data.selectedSubuser) this.pricelists = null;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n  }\n\n  getUser() {\n    if (this.privileges.isOperator) {\n      if (this.data.user) {\n        this.api.get(`users/${this.data.user}?include=user-profiles`).then(xhr => {\n          this.data.selectedUser = { id: xhr.response.id, group: xhr.response.group, businessType: { profile: { businessType: xhr.response.profile[0].businessType }}, displayName: xhr.response.profile[0].displayName };\n          sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n          this.getPriceLists();\n        });\n      } else { \n        this.data.selectedUser = null;\n        sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n      }\n    }\n  }\n\n  getSubusers() {\n    this.api.get('users/me/users?include=user-profiles&status=ACTIVE').then(xhr => {\n      this.allSubusers = this.subusers = xhr.response;\n      this.searchSubusers = this.data.searchSubusers;\n      if (this.data.selectedSubuser) this.selectSubuser(null);\n    }).catch(error => {\n      console.log('ERROR - subusers - GET', error);\n    });\n  }\n\n  selectSubuser(subuser) {\n    if (subuser) {\n      this.data.selectedSubuser = { id: subuser.id, displayName: subuser.profile[0].displayName };\n    }\n    else subuser = this.data.selectedSubuser;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n    \n    // DOM\n    setTimeout(() => {\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      let newSelectedSubuser = document.getElementById(subuser?.id);\n      oldSelectedSubuser?.classList.remove('selected');\n      newSelectedSubuser?.classList.add(\"selected\");\n    }, 0)\n\n    this.getPriceLists();\n  }\n\n  getPriceLists() {\n    this.pricelistsPending = true;\n    let user = null;\n    let url = `price-list-schedules`;\n    if (this.privileges.isOperator) {\n      user = `users/${this.data.selectedUser.id}`;\n      this.api.get(`bo/${user}/${url}`).then(xhr => {\n        this.pricelists = xhr.response;\n        this.pricelists.forEach(pricelist => { pricelist.createdAt = this.aurelia.resources.valueConverters.dateFormat.toView(pricelist.createdAt, 'DD/MM/YYYY'); });\n        this.pricelistDefault = xhr.originalResponse.meta.priceListDefault;\n        this.pricelistsPending = false;\n      }).catch(error => {\n        this.api.dialogError(error);\n        this.pricelistsPending = false;\n        console.log('ERROR - bo/ price-list-schedules - GET', error);\n      });\n    } else {\n      if (this.api.user?.id || this.data.selectedSubuser?.id) {\n        user = `users/${this.data.context === 'ME' ? this.api.user.id :  this.data.selectedSubuser.id}`;\n        this.api.get(`${user}/${url}/current`).then(xhr => {\n          this.pricelists = [];\n          this.pricelists.push(xhr.response);\n          this.api.get(`${user}/${url}/next`).then(xhr => {\n            this.pricelists.push(xhr.response);\n          }).catch(error => {\n            console.log('ERROR - promise price-list-schedules/next - GET', error);\n          }).finally(() => {\n            this.pricelistsPending = false;\n          });\n        }).catch(error => {\n          console.log('ERROR - price-list-schedules/current - GET', error);\n          this.pricelistsPending = false;\n        });\n      }\n    }\n  }\n\n  newPricelistSchedule() {\n    this.dialog.open({\n      title: 'Pianifica nuovo intervallo',\n      class: 'listini-pianificazione schedule medium',\n      viewModel: PLATFORM.moduleName('views/servizi/listini/dialogs/listini-pianificazione'),\n      viewModelParams: { userId: this.data.selectedSubuser?.id || this.data.selectedUser?.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.getPriceLists();\n    }); \n  }\n\n  subusersPricelistSchedule() {\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `Confermi di voler applicare questa pianificazione su tutti i ${this.mdt.parsers.contextualize(this.data.selectedUser.businessType, 'utenti')} dell'utente <strong>${this.data.selectedUser.displayName}?</strong>`}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.post(`bo/users/${this.data.selectedUser?.id || 'me'}/bulk-subusers-price-list-schedules`, {}).then(() => {\n          this.toast.show(`Pianificazioni sottoutenti aggiornate con successo!`, 'success');\n        }).catch(error => {\n          console.log('ERROR bulk-subusers-price-list-schedules POST', error);\n          this.api.dialogError(error);\n        })\n      }\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmPromozioniAggiungi {\n  mdt = mdt;\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) { \n    this.params = params;\n  }\n\n  attached() {\n    // Table Interface\n    this.tableInterface = new TableInterface({ \n      name: 'promozioni-attivabili-table', \n      client: this.api, \n      endpoint: 'bo/promotions', query: null \n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.response = response;\n      this.response.forEach(element => { element.controls = {}; });\n      return this.response;\n    };\n\n    // Search Interface\n    this.searchInterface = new SearchInterface({\n      name: 'promozioni-attivabili-table-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          control: 'text',\n          label: 'Codice',\n          query: 'code-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n        expireAt: {\n          control: 'date',\n          placeholder: 'Illimitata'\n        }\n      },\n      data: {}\n    });\n\n    // Initialize & Search\n    this.tableInterface.initialize().then(() => { \n      this.searchInterface.initialize().then(() => { \n        this.searchInterface.search(); \n      });\n    });\n  }\n\n  addPromotion(event, promotion) {\n    event.model.busy = true;\n    let data = { promotionUuid: promotion.uuid, expireAt: promotion.expireAt || null };\n    this.api.post(`bo/users/${this.params.user.id}/promotion-activations`, data).then(() => {\n      this.toast.show(`Promozione assegnata con successo!`, 'success');\n      this.params.dialog.ok();\n    }).catch(xhr => {\n      console.error('Errore. Impossibile assegnare promozione', xhr);\n      let errorPayload = mdt.parsers.apiError(xhr, promotion.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }).finally(() => { event.model.busy = false; });\n  }\n\n  copyText(text, context = 'Testo') {\n    if (!text) return;\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${context} copiato con successo!`, 'success');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogCreatePromotion {\n  activableOn = 'Utenti';\n  payableBy = 'Utenti';\n  resource = {\n    controls: {},\n    schema: {\n      code: {\n        control: 'text',\n        label: 'Codice',\n        required: true\n      },\n      description: {\n        control: 'text',\n        label: 'Descrizione',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        promises.push(new Promise((resolve, reject) => {\n          console.log(control);\n          if (control.validate)\n            control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n          else if (control.input?.validate)\n            control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) { \n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post('bo/promotions', this.resource.data).then(() => {\n        this.toast.show('Promozione creata con successo', 'success'); \n        this.params.dialog.ok(); \n      }).catch(error => { console.log('Promotion creation promise failed'); this.resource.error(error); });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DateTime } from 'luxon';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogEditPromotion {\n  resource = {\n    controls: {},\n    schema: {\n      expireAt: {\n        control: 'date',\n        label: 'Scadenza promozione',\n        placeholder: 'Illimitata',\n        validationRule: {\n          satisfies: () => {\n            if (!this.resource.data.expireAt) return true;\n            if (DateTime.fromISO(this.resource.data.expireAt).isValid) {\n              return DateTime.now() < DateTime.fromISO(this.resource.data.expireAt);\n            } else return false;\n          },\n          withMessage: 'La scadenza non pùo essere inferiore ad oggi',\n        },\n      },\n      notes: {\n        control: 'text',\n        label: 'Motivazione'\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  activate(params) { \n    this.params = params;\n    this.resource.data.expireAt = this.params.promotion.expireAt || null;\n  }\n\n  save() {\n    let data = {...this.resource.data};\n    if (this.params.type === 'TERMINATE') data.expireAt = 'NOW';\n    \n    this.resource.validate().then(() => {\n      this.api.patch(`bo/users/${this.params.userId}/promotion-activations/${this.params.promotion.uuid}`, data).then(() => {\n        this.toast.show('Promozione creata con successo', 'success'); \n        this.params.dialog.ok(); \n      }).catch(xhr => { \n        console.log('Error - PATCH promotion-activations', xhr); \n        this.resource.error(xhr); \n      });\n    });\n  }\n}\n","import { PLATFORM, inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmPromozioni {\n  tabs = [\n    {\n      id: 'assegnate',\n      label: 'Assegnazione promozioni',\n      vm: PLATFORM.moduleName('views/servizi/promozioni/tabs/promozioni-assegnate')\n    }, {\n      id: 'gestione',\n      label: 'Gestione promozioni',\n      vm: PLATFORM.moduleName('views/servizi/promozioni/tabs/promozioni-gestione')\n    }\n  ];\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { assegnate: true, gestione: false }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_ASSOCIATED_PROMOTION');\n\n    if (this.api.hasRole('LIST_PROMOTIONS')) {\n      this.privileges.tabs.gestione = true;\n    }\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmPromozioniAssegnate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-promozioni-assegnate-table',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-promozioni-assegnate-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali promozioni assegnate visualizzare?',\n          datasource: [\n            { value: 'me', text: 'Le promozioni assegnate a me' },\n            { value: 'subusers', text: 'Le promozioni assegnate a un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users' }?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato',\n          datasource: [{ text: 'Attiva', value: 'ACTIVE' }, { text: 'Terminata', value: 'EXPIRED' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          query: 'status'\n        }\n      },\n      data: {\n        status: 'ACTIVE'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      if (this.searchInterface.data.context === 'me') this.search();\n      else if (this.searchInterface.data.user) this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  reset() {\n    this.selectedUserId = null;\n    this.selectedUserData = null;\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n  }\n\n  search() {\n    if (this.searchInterface.data.context === 'me') { this.selectedUserId = 'me'; }\n    else if (this.searchInterface.data.user) this.selectedUserId = this.searchInterface.data.user;\n    else {\n      this.selectedUserId = null;\n      this.selectedUserData = null;\n    }\n\n    this.tableInterface.endpoint = `users/${this.selectedUserId}/promotion-activations`;\n    this.searchInterface.search().then(() => {\n      this.getUserProfile();\n    });\n  }\n\n  getUserProfile() {\n    this.api.get(`users/${this.selectedUserId}?include=user-profiles`).then(xhr => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      this.selectedUserData = response;\n    }).catch(xhr => {\n      console.log('Error GET users', xhr);\n    });\n  }\n\n  addPromotion() {\n    this.dialog.open({\n      title: 'Assegna una promozione a',\n      class: 'large add-promotion',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-assegna'),\n      viewModelParams: { user: this.selectedUserData }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n    });\n  }\n  \n  endsPromotion($event, promotion) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Termina promozione',\n      class: 'edit-promotion small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-modifica'),\n      viewModelParams: { type: 'TERMINATE', userId: this.selectedUserId, promotion }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n      $event.model.busy = false; \n    });\n  }\n\n  editPromotion($event, promotion) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica promozione',\n      class: 'edit-promotion small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-modifica'),\n      viewModelParams: { type: 'EDIT', userId: this.selectedUserId, promotion }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n      $event.model.busy = false; \n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmPromozioniGestione {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-promozioni-gestione-table',\n      client: this.api,\n      endpoint: 'bo/promotions',\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-promozioni-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          control: 'text',\n          label: 'Codice',\n          query: 'code-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  createPromotion() {\n    if (!this.api.hasRole('CREATE_PROMOTIONS')) return;\n    this.dialog.open({\n      title: 'Crea una nuova promozione',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-crea'),\n      viewModelParams: {}\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmRicariche {\n  tabs = [\n    {\n      id: 'ricariche',\n      label: 'Ricariche',\n      vm: PLATFORM.moduleName('views/servizi/ricariche/tabs/ricariche-elenco')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elenco: true }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_SHOP_CATALOG_REFILL_PACKAGE');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmRicaricheElenco {\n  mdt = mdt;\n\n  users = {\n    selected: null,\n    fetched: null\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-ricariche-elenco-table',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.initialize().then(() => { this.tableInterface.limit = 100; }).catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-ricariche-elenco-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali ricariche visualizzare?',\n          datasource: [\n            { value: 'me', text: 'Le ricariche aquistabili da me' },\n            { value: 'subusers', text: 'Le ricariche aquistabili da un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users' }?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        types: {\n          control: 'combo',\n          label: 'Tipologia',\n          datasource: [{ code: 'null', title: 'Tutte' }],\n          datavalue: 'code',\n          datatext: 'title',\n          datapreload: true,\n          datamultiple: false,\n          required: true,\n          query: 'type-code'\n        },\n        visible: {\n          control: 'combo',\n          label: 'Pacchetti visualizzabili',\n          datasource: [{ value: 'null', text: 'Tutti' }, { value: 'YES', text: 'Visibili all\\'utente' }],\n          datapreload: true,\n          query: 'visible'\n        }\n      },\n      data: {\n        context: !this.privileges.isOperator ? 'me' : null,\n        types: 'null',\n        visible: !this.api.hasRole('LIST_INVISIBLE_SHOP_CATALOG_REFILL_PACKAGES') ? 'YES' : 'null'\n      }\n    });\n    this.searchInterface.initialize().then(() => {}).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  userChange() {\n    let userId = null;\n    if (this.searchInterface.data.context === 'me') { \n      userId = this.api.user.id;\n      this.searchInterface.data.user = null;\n    } else if (this.searchInterface.data.user) {\n      userId = this.searchInterface.data.user;\n    } else return;\n\n    if (!this.users[userId]) {\n      this.users[userId] = {\n        id: userId,\n        displayName: null,\n        packageTypes: [],\n        packages: [],\n        cart: JSON.parse(localStorage.getItem(`cart-${userId}`)) || {\n          quantity: 0,\n          amount: { net: 0, vat: 0 },\n          packages: {}\n        }\n      };\n      if (userId === this.api.user.id) {\n        this.users[userId].displayName = this.api.user.profile.displayName;\n      } else {\n        setTimeout(() => { this.users[userId].displayName = this.searchInterface.controls.user.objectValue.profile[0].displayName; }, 500);\n      }\n    }\n\n    this.users.selected = this.users[userId];\n    this.api.get(`users/${userId}/shop/catalog/refill-package-types`).then(xhr => {\n      this.users.selected.packageTypes = xhr.response.filter(x => x.packageCount > 0);\n      this.resetTypesDatasource();\n    });\n  }\n\n  typesChange() {\n    if (!this.searchInterface.data.types) this.searchInterface.data.types = 'null';\n    if (this.users.selected) this.search();\n  }\n\n  resetTypesDatasource() {\n    let datasource = [{ code: 'null', title: 'Tutte' }];\n    this.users.selected.packageTypes.forEach(type => {\n      datasource.push({ code: type.code, title: type.title });\n    });\n    this.searchInterface.controls.types.schemaChanged(Object.assign(this.searchInterface.schema.types, { datasource: datasource }));\n    this.searchInterface.data.types = 'null';\n  }\n\n  search() {\n    this.tableInterface.endpoint = `users/${this.users.selected.id}/shop/catalog/refill-packages`;\n    this.searchInterface.search().then(() => {\n      this.users.selected.packages = [];\n      this.users.selected.packageTypes.forEach(type => {\n        let packages = this.tableInterface.data.filter(x => x.typeCode === type.code);\n        this.users.selected.packages.push(Object.assign({ packages: packages }, type));\n      });\n      this.users.fetched = this.users[this.users.selected.id];\n      this.updateCart();\n    }).catch(error => {\n      console.log('Search error', error);\n    });\n  }\n\n  addToCart(pkg) {\n    this.users.fetched.cart.packages[pkg.code] = 1;\n    this.updateCart();\n  }\n\n  setQuantity(pkg, quantity) {\n    quantity = parseInt(this.users.fetched.cart.packages[pkg.code], 10) + parseInt(quantity, 10);\n    quantity = quantity > 0 ? quantity : 1;\n    this.users.fetched.cart.packages[pkg.code] = quantity;\n    this.updateCart();\n  }\n\n  removeFromCart(pkg) {\n    this.users.fetched.cart.packages[pkg.code] = 0;\n    this.updateCart();\n  }\n\n  getCartPayload() {\n    return Object.entries(this.users.fetched.cart.packages).filter(x => x[1] > 0).map(x => { return { code: x[0], quantity: x[1], type: 'REFILL-PACKAGE' } });\n  }\n\n  emptyCart() {\n    this.users.fetched.cart = {\n      quantity: 0,\n      amount: { net: 0, vat: 0 },\n      packages: {}\n    };\n    this.updateCart();\n  }\n\n  updateCart() {\n    let cartbar = document.querySelector('.cartbar');\n    let data = this.getCartPayload();\n    if (data.length) {\n\n      this.api.post(`users/${this.users.fetched.id}/shop/cart-cost-forecast`, data).then(xhr => {\n        setTimeout(() => { \n          this.users.fetched.cart.quantity = xhr.response.totalBasketItems;\n          this.users.fetched.cart.amount.net = xhr.response.totalBasketNetAmount;\n          this.users.fetched.cart.amount.vat = xhr.response.totalBasketVat;\n          localStorage.setItem(`cart-${this.users.fetched.id}`, JSON.stringify(this.users.fetched.cart));\n        }, 500);\n      }).catch(error => {\n        this.api.dialogError(error);\n        let storageCart = JSON.parse(localStorage.getItem(`cart-${this.users.fetched.id}`));\n        if (storageCart) {\n          this.users.fetched.cart = storageCart;\n        } else {\n          this.emptyCart();\n        }\n      }).finally(() => {\n        if (!(this.getCartPayload()).length) return;\n        if (cartbar.classList.contains('filled')) cartbar.classList.add('added');\n        else setTimeout(() => { cartbar.classList.add('filled'); }, 500);\n        setTimeout(() => { cartbar.classList.remove('added'); }, 1000);\n      });\n    } else {\n      localStorage.removeItem(`cart-${this.users.fetched.id}`);\n      cartbar.classList.remove('filled');\n    }\n  }\n\n  checkout(event) {\n    let data = this.getCartPayload();\n    if (!data.length) return;\n    event.model.busy = true;\n    this.api.post(`users/${this.users.fetched.id}/shop/cart/items`, data).then(() => {\n      this.gotoLegacy();\n    }).catch(error => {\n      this.api.dialogError(error);\n      console.error('Errore. Pacchetti non aggiunti al carrello', error);\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n\n  gotoLegacy() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=cart&requiredUser=${this.users.fetched.id}`, '_blank');\n      this.emptyCart();\n    }).catch(error => { console.error(error)}).finally(() => { this.toast.consume(); });\n  }\n}\n\n","import { Api } from 'services/api';\nimport { Aurelia } from 'aurelia-framework';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogBankTransfer {\n  prececkout = null;\n\n  static inject = [Api, Aurelia, KaToast, DialogController];\n  constructor(api, aurelia, toast, controller) {\n    this.api = api;\n    this.aurelia = aurelia;\n    this.toast = toast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.getPrececkout();\n  }\n\n  getPrececkout() {\n    this.api.get(`users/${this.params.queue.owner.id}/queues/${this.params.queue.uuid}/pre-checkout/current`).then(xhr => {\n      this.prececkout = xhr.response;\n      this.email = {\n        address: this.prececkout.paymentCoors.customerCareEmail,\n        subject: `Pagamento spedizione con causale ${this.prececkout.paymentCoors.confirmationShortCode}`,\n        body: `Comunico di aver eseguito il pagamento tramite bonifico tradizionale per la spedizione relativa a ${this.prececkout.paymentCoors.payeeDisplayName} del ${this.aurelia.resources.valueConverters.dateFormat.toView(this.prececkout.createdAt, 'DD/MM/YYYY HH:mm')}.\\n\\nIn allegato la distinta di  pagamento.\\n\\nSi prega di non modificare il contenuto dell'email.`\n      }\n      this.email.mailto = encodeURI(`mailto:${this.email.address}?subject=${this.email.subject}&body=${this.email.body}`);\n      this.customerCareConfirmation = this.prececkout.paymentCoors.customerCareConfirmation.replace(/SLA\\./, '<a href=\"https://termsofservice.multidialogo.it/multidialogo/sla\" target=\"blank_\">SLA.</a>');\n    }).catch(xhr => {\n      console.error('Error - GET pre-checkout/current', xhr);\n      this.api.dialogError(xhr);\n    });\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport {inject} from \"aurelia-framework\";\n\n\n@inject(Api, KaToast )\nexport class DialogLegacyHistory {\n  archiveLabel;\n\n  constructor(api, toast ) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  resource = {\n    schema: {\n      archive: {\n        control: 'combo',\n        label: 'Canali',\n        datasource: [\n          { value: 'mailing_archive', text: 'Email/PEC' },\n          { value: 'mi_archive', text: 'Posta/Multicerta' },\n        ],\n        datatext: 'text',\n        datavalue: 'value'\n      }\n    },\n    data: {\n      archive: 'mailing_archive',\n    }\n  }\n\n  toLegacyArchive() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n      const token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=${this.resource.data.archive}`);\n    }).catch((error) => { console.error(error) }).finally(() => { this.toast.consume(); });\n  }\n\n  setArchiveLabel() {\n    this.archiveLabel = this.resource.schema.archive.datasource.find(item => item.value === this.resource.data.archive)?.text;\n  }\n\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogMessageCostDetail {\n  costVoices\n  \n  activate(params) {\n    this.costVoices = params.message.costVoices;\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogMessageStatusTransitionsHistory {\n  message;\n  isLoading;\n  messageStatuses = {};\n\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.message = params.message;\n    this.queueMessages = params.queueMessages;\n\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.isLoading = true;\n    this.getMessageStatuses().then((xhr) => {\n      this.setMessageStatuses(xhr.response);\n    }).catch((error) => {\n      console.error('getMessageStatuses', error);\n      this.controller.cancel();\n      this.api.dialogError(xhr);\n    }).finally(() => {\n      this.isLoading = false;\n    });\n  }\n\n  getMessageStatuses() {\n    return this.api.get(`queue-message-status-codes`);\n  }\n\n  setMessageStatuses(response) {\n    response.forEach((status) => { \n      this.messageStatuses[status.code] = status;\n    });\n    return response;\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogQueueCostDetail {\n  costVoices;\n\n  activate(params) {\n    this.costVoices = params.record.costVoices;\n    this.record = params.record;\n  }\n}\n","import { Api } from 'services/api';\nimport { observable } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogMessageStatuses {\n  sendCodes;\n  @observable() sendCodeErrors;\n\n  sendCodeErrorsChanged(value) {\n    let parsedValue;\n    try {\n      parsedValue = JSON.parse(value);\n    } finally {\n      this.sendCodes = parsedValue;\n      console.log(parsedValue);\n    }\n  }\n\n  static inject = [Api, DialogController, KaToast, KaDialog];\n  constructor(api, controller, kaToast, KaDialog) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = KaDialog;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.sendCodes = params.sendCodes;\n  }\n\n  csvDownload($event) {\n    const data = { queuesSendCodes: this.sendCodes };\n    const uri = `users/${this.api.user.id}/queue-outlines/download.csv`;\n    $event.model.busy = true;\n\n    this.api.client.createRequest(uri)\n      .asPost()\n      .withContent(data)\n      .withHeader('Accept', 'application/csv')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        let regex;\n        let filename;\n        const contentDisposition = xhr.headers.headers['content-disposition']?.value;\n        const xQueuesSendCodesErrors = xhr.headers.headers['x-queues-sendcodes-errors']?.value;\n\n        // Filename\n        regex = new RegExp('(?<=filename=)(.*)(?=.csv)');\n        filename = contentDisposition.match(regex);\n\n        // Errors\n        this.sendCodeErrors = xQueuesSendCodesErrors;\n\n        const anchor = document.createElement('a');\n        const blob = new Blob([xhr.response], { type: 'text/csv' });\n        const url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = filename[0];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show('Csv scaricato con successo!', 'success');\n        if (!this.sendCodeErrors) this.controller.ok();\n      }).catch((error) => {\n        console.error('queue-outlines/download.csv - GET', error);\n        this.controller.cancel();\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'small', \n          type: 'alert', \n          body: '<p class=\"m-0\">Non è stato possibile generare il file CSV.<strong class=\"d-block\">Riprova o contatta l\\'assistenza MultiDialogo</strong></p>'\n        });\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components'\nimport { MdFileViewer } from 'services/md-files';\nimport { TableInterface } from 'classes/md-table';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogReportAttachments {\n  queueUuid;\n  endpoint;\n  errorInit;\n  pendingInit;\n  messageUuid;\n  attachments;\n  globalCover;\n  queueOwnerId;\n  globalStaple;\n  fastDelivery;\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, kaDialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = kaDialog;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.queueUuid = params.queueUuid;\n    this.messageUuid = params.messageUuid;\n    this.queueOwnerId = params.queueOwnerId;\n    this.messageChannel = params.messageChannel;\n    this.mdFileViewer = new MdFileViewer(this.api, this.dialog, this.toast);\n    this.endpoint = `users/${this.queueOwnerId}/queues/${this.queueUuid}/messages/${this.messageUuid}/file-attachments`;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.pendingInit = true;\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-report-attachments',\n      endpoint: this.endpoint\n    });\n    this.tableInterface.initialize().then(() => {\n      this.tableInterface.load().then((xhr) => {\n        this.globalCover = xhr.originalResponse.meta.globalCover;\n        this.globalStaple = xhr.originalResponse.meta.globalStaple;\n        this.fastDelivery = xhr.originalResponse.meta.fastDelivery;\n      }).catch(() => {\n        this.errorInit = true;\n      }).finally(() => {\n        this.pendingInit = false;\n      });\n    });\n  }\n\n  downloadFile(slug, attachment, event) {\n    if (event) event.model.busy = true;\n    const uri = `${this.endpoint}/${attachment.uuid}/${slug}`;\n    const filename = attachment.filename.substring(0, attachment.filename.lastIndexOf('.')) || attachment.filename;\n    const download = `${filename}${slug === 'signed-download' ? '-signed' : ''}`;\n\n    return this.api.client.createRequest(uri)\n        .asGet()\n        .withHeader(\"Accept\", \"application/pdf\")\n        .withHeader(\"Content-Type\", \"application/pdf\")\n        .withResponseType('blob')\n        .send()\n        .then((xhr) => {\n          const anchor = document.createElement(\"a\");\n          const blob = new Blob([xhr.response], { type: 'application/pdf' });\n          const url = URL.createObjectURL(blob);\n\n          anchor.href = url;\n          anchor.download = download;\n          document.body.appendChild(anchor);\n          anchor.click();\n          document.body.removeChild(anchor);\n          this.toast.show('Documento scaricato con successo!', 'success');\n        }).catch((error) => {\n          console.error(uri , error);\n          this.toast.show('Impossibile scaricare il file!', 'error');\n        }).finally(() => {\n          if (event) event.model.busy = false;\n        });\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogReportMultiboxDetail {\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.multibox = params.multibox;\n  }\n}\n","import {Api} from 'services/api';\nimport {KaToast} from 'ka-components'\nimport {DialogController, DialogService} from 'aurelia-dialog';\nimport {SearchInterface, TableInterface} from 'classes/md-table';\n\nexport class DialogReportQueueResend {\n  selectableRecipients = {};\n  numberSelected = 0;\n  errorSearch;\n  allPageSelected;\n  allSelected;\n  pendingSearch;\n\n\n  static inject = [Api, DialogController, KaToast, DialogService];\n  constructor(api, controller, toast, dialogService) {\n    this.api = api;\n    this.toast = toast;\n    this.controller = controller;\n    this.dialogService = dialogService;\n  }\n\n  activate(params) {\n    this.queueOwner = params.queue.owner.id;\n    this.queueUuid = params.queue.uuid;\n  }\n\n  async attached() {\n    await this.setDefaults();\n    this.init();\n  }\n\n  async setDefaults() {\n    this.selectableRecipients = { ...await this.getDeafaultSelectableRecipients()};\n    this.numberSelected = this.getSelectedsCount();\n    this.allSelected = true;\n    this.allPageSelected = true;\n  }\n\n  async getDeafaultSelectableRecipients () {\n    const allUuidsMap = new Map();\n    let selectableRecipients = {};\n    this.allUuids = await this.getAllUuid();\n    this.allUuids.forEach(uuid => allUuidsMap.set(uuid, true));\n    return selectableRecipients = Object.fromEntries(allUuidsMap);\n  }\n\n  async init() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      endpoint: `users/${this.queueOwner}/queue-outlines/${this.queueUuid}/recipients`,\n      name: `report-queue-resend-table-${this.queueUuid}`\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', (event) => {\n      this.handlePageSelection();\n    });\n\n    this.searchInterface = new SearchInterface({\n      name: `report-queue-resend-table-search-${this.queueUuid}`,\n      table: this.tableInterface,\n      schema: {\n        textSearch: {\n          control: 'text',\n          label: 'Ricerca destinatario',\n          query: 'text-search-like'\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale',\n          datatext: 'text',\n          datavalue: 'value',\n          datapreload: false,\n          datamultiple: true,\n          query: 'channel-in',\n          datasource: [\n            { text: 'PEC', value: 'pec' },\n            { text: 'Posta', value: 'sendposta' },\n            { text: 'Email', value: 'sendemail' },\n            { text: 'Multibox', value: 'multibox' },\n            { text: 'Multicerta', value: 'multicerta' },\n          ]\n        }\n      },\n      data: {}\n    });\n\n    await this.tableInterface.initialize();\n    await this.searchInterface.initialize();\n    this.search();\n  }\n\n  search() {\n    this.pendingSearch = true;\n    return this.searchInterface.search().then(() => {\n      this.errorSearch = false;\n    }).catch(() => {\n      this.errorSearch = true;\n    }).finally(() => {\n      this.pendingSearch = false;\n    });\n  }\n\n  getAllUuid() {\n    return this.api.get(`users/${this.queueOwner}/queue-outlines/${this.queueUuid}/recipients`).then((xhr) => {\n      const response = xhr.response;\n      return response.map(recipient => recipient.uuid);\n    }).catch((error) => {\n      console.error('GET all recipients uuid', error);\n      return [];\n    });\n  }\n\n  getSelectedsCount = () => Object.values(this.selectableRecipients).filter(value => value).length;\n\n  getSelectedsKeys = () => Object.keys(this.selectableRecipients).filter(key => this.selectableRecipients[key]);\n \n  switchAllSelectedButton = () => this.allSelected = !this.allSelected;\n\n  selectAll(select) {\n    Object.keys(this.selectableRecipients).forEach(key => {\n      this.selectableRecipients[key] = select;\n    });\n    this.numberSelected = this.getSelectedsCount();\n    this.allPageSelected = select;\n    this.switchAllSelectedButton();\n  }\n\n  togglePageSelection($event) {\n    this.tableInterface.data.map(record => {\n      this.selectableRecipients[record.uuid] = $event.target.checked;\n    });\n    this.numberSelected = this.getSelectedsCount();\n  }\n\n  handlePageSelection() {\n    this.allPageSelected = this.tableInterface.data.some(item => !!this.selectableRecipients[item.uuid]);\n  }\n\n  toggleRecipientSelection = () => {\n    this.numberSelected = this.getSelectedsCount();\n    this.handlePageSelection();\n  };\n\n  createNewDraft() {\n\n    let recipientsUuid = [...this.getSelectedsKeys()];\n\n    const data = { recipientsUuid };\n    const endpoint = `users/${this.queueOwner}/queue-outlines/${this.queueUuid}/copy`;\n\n    return this.api.post(endpoint, data).then((xhr) => {\n      const response = xhr.response;\n      const newDraftUuid = response.uuid;\n      this.openCopiedQueueInSenderUi(this.queueOwner, newDraftUuid);\n    }).then(() => {\n      this.controller.ok();\n    }).catch((error) => {\n      console.error('Draft creation failed:', error);\n      this.toast.show(`Errore durante la creazione della bozza!`, 'error');\n    });\n  }\n\n  updateCounter() {\n    return this.api.get(`users/me/queue-drafts-outlines/~all?limit=1&statusCode-in=ACTIVE`).then((xhr) => {\n      localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: xhr.originalResponse.meta.total }));\n    });\n  }\n\n  openCopiedQueueInSenderUi(owner, queueUuid) {\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      const token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${owner}&draft=${queueUuid}&ts=${token}#/recipients` },\n        lock: true\n      }).whenClosed(() => {\n        this.updateCounter();\n      });\n    }).catch(error => {\n      console.error('cross-login-tokens/current', error);\n      this.updateCounter();\n      this.toast.show(`Errore durante l'apertura della bozza!`, 'error');\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { DialogService } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService)\nexport class ViewPending {\n  mdt = mdt;\n  context = null;\n  select = {\n    recordsSelected: {},\n    someRecordsSelected: false,\n    allRecordsSelected: false,\n    someRecords: (record) => {\n      this.select.recordsSelected[record.id] = !this.select.recordsSelected[record.id];\n      this.select.allRecordsSelected = Object.values(this.select.recordsSelected).every(x => x === true);\n      this.select.someRecordsSelected = Object.values(this.select.recordsSelected).some(x => x === true);\n    },\n    allRecords: () => {\n      this.select.allRecordsSelected = !this.select.allRecordsSelected;\n      this.select.someRecordsSelected = this.select.allRecordsSelected;\n      Object.keys(this.select.recordsSelected).forEach((key) => {\n        this.select.recordsSelected[key] = this.select.allRecordsSelected ? true : false;\n      });\n    },\n    parseRecordsSelected: (stack, records) => {\n      Object.keys(stack).forEach(key => {\n        if (!records.find(x => x.id === key)) {\n          delete stack[key];\n          delete stack.__observers__[key];\n        }\n      });\n      return stack;\n    }\n  }\n\n  constructor(router, api, toast, dialog, dialogService) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.dialogService = dialogService;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.updateCounter();\n    let sessionContext = JSON.parse(sessionStorage.getItem(btoa('queue-drafts-table-search-data')))?.context || 'USER';\n    this.context = sessionContext === 'USER' ? '' : (sessionContext === 'SUBUSERS' ? '~subs' : '~all');\n\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'queue-drafts-table',\n      client: this.api,\n      endpoint: null,\n      query: 'statusCode-in=ACTIVE'\n    });\n    this.tableInterface.initialize().catch(error => {\n      return console.log('tableInterface initialization failed', error);\n    });\n\n    // Queues Search interface\n    this.searchInterface = new SearchInterface({\n      name: 'queue-drafts-table-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: [\n            {\n              value: 'USER&SUBUSERS',\n              text: `Tutte`,\n            },\n            {\n              value: 'USER',\n              text: `Le spedizioni del mio ${mdt.parsers.contextualize(this.api.user, 'account')}`,\n            },\n            {\n              value: 'SUBUSERS',\n              text: `Le spedizioni dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}`,\n            }\n          ]\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'search-recipients-text'\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: {\n            table: 'users/me/users?include=user-profiles',\n            query: { search: 'text-search', item: 'id-in' }\n          },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        payment_method: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: [\n            { value: 'SDD', text: 'SDD' },\n            { value: null, text: 'Qualsiasi' },\n          ],\n          query: 'payment-method'\n        },\n        send_code: {\n          label: 'Codice spedizione',\n          control: 'text',\n          query: 'sendcode'\n        },\n        short_confirmation_code: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        topic: {\n          label: 'Promemoria',\n          control: 'text',\n          query: 'topic'\n        }\n      },\n      data: {\n        context: 'USER&SUBUSERS'\n      }\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      // I remove from the recordsSelected the records that are not actually displayed\n      this.select.recordsSelected = this.select.parseRecordsSelected(this.select.recordsSelected, response);\n      this.select.someRecordsSelected = this.select.allRecordsSelected = false;\n      return response;\n    };\n\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.totalGrossGte = 0;\n      return this.search();\n    }).catch(error => {\n      return console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  async search() {\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n\n  setEndpoint() {\n    let contextSuffix = this.searchInterface?.data?.context === 'USER' ? '' :\n      this.searchInterface?.data?.context === 'SUBUSERS' && !this.searchInterface.data.owner ? '~subs' :\n        this.searchInterface?.data?.context === 'SUBUSERS' && this.searchInterface.data.owner ? '' : '~all';\n\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' ? null : this.searchInterface.data.owner;\n    let endpoint = `users/${this.searchInterface.data.owner || 'me'}/queue-drafts-outlines/${contextSuffix}`;\n    return this.tableInterface.endpoint = endpoint;\n  }\n\n  updateCounter() {\n    return this.api.get(`users/me/queue-drafts-outlines/~all?limit=1&statusCode-in=ACTIVE`).then((xhr) => {\n      localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: xhr.originalResponse.meta.total }));\n    });\n  }\n\n  reset() {\n    this.searchInterface.reset();\n    this.searchInterface.data.context = 'USER&SUBUSERS';\n    this.search();\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  // !IMPORTANT this permanently deletes the queue and returns to its draft\n  editDraft(record) {\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      let token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${record.owner.userId}&draft=${record.id}&ts=${token}#/recipients` },\n        lock: true\n      }).whenClosed(() => {\n        this.updateCounter().then(() => { this.search(); });\n      });\n    }).catch(error => {\n      console.error('cross-login-tokens/current', error);\n      this.toast.show(`Errore durante l'apertura della bozza!`, 'error');\n    })\n  }\n\n  deleteDraft(record) {\n    this.dialog.open({\n      title: 'Elimina bozza',\n      class: 'large',\n      type: 'confirm',\n      body: '<p class=\"m-0 p-0\">La bozze verrà eliminata.<br><strong>Vuoi procedere?</strong></p>'\n    })\n      .whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${record.owner.userId}/queue-drafts/${record.id}`).then(() => {\n            this.updateCounter().then(() => { this.search(); });\n            this.toast.show('Bozza eliminata con successo!', 'success');\n          }).catch(error => {\n            console.error('Error DELETE queue-drafts', error);\n            this.api.dialogError(error);\n          });\n        }\n      });\n  }\n\n  deleteSelectedDrafts($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Elimina bozze',\n      class: 'large',\n      type: 'confirm',\n      body: '<p class=\"m-0 p-0\">Le bozze selezionate verranno eliminate.<br><strong>Vuoi procedere?</strong></p>'\n    })\n      .whenClosed(response => {\n        if (!response.wasCancelled) {\n          let promises = [];\n          let selectedDrafts = Object.entries(this.select.recordsSelected).filter(x => x[1] === true);\n          selectedDrafts.forEach(selected => {\n            let draft = this.tableInterface.data.find(x => x.id === selected[0]) || null;\n            if (draft) promises.push(this.api.delete(`users/${draft.owner.userId}/queue-drafts/${draft.id}`));\n          });\n\n          Promise.all(promises).then(() => {\n            this.toast.show('Bozze eliminate con successo!', 'success');\n            this.updateCounter().then(() => { this.search().finally(() => { $event.model.busy = false; }); });\n          }).catch(error => {\n            console.error('Error DELETE queue-drafts', error);\n            $event.model.busy = false;\n            this.toast.show('Errore in fase di eliminazione bozze!', 'error');\n          });\n        } else $event.model.busy = false;\n      })\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, MdDatasources)\nexport class ViewPending {\n  mdt = mdt;\n  isOperator;\n  contextPath;\n  pendingSearch;\n  paymentMethods;\n  contextDatasource;\n  possiblyRequiredFields = ['shortConfirmationCode', 'shipment', 'owner'];\n\n  constructor(router, api, toast, dialog, dialogService, mdDatasources) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.dialogService = dialogService;\n    this.mdDatasources = mdDatasources;\n    this.isOperator = this.api.hasRole('LIST_ANY_QUEUE');\n  }\n\n  activate(params) {\n    this.params = params;\n    this.paymentMethods = this.setPaymentMethod();\n  }\n\n  attached() {\n    this.setContextPath();\n    this.init();\n  }\n\n  setContextPath() {\n    let sessionContext = JSON.parse(sessionStorage.getItem(btoa('pending-queues-table-search-data')))?.context || 'USER';\n    this.contextPath = sessionContext === 'USER' ? '' : (sessionContext === 'SUBUSERS' ? '~subs' : '~all');\n  }\n\n  setPaymentMethod() {\n    const map = new Map();\n    map.set('CREDIT', { label: 'Credito MultiDialogo' });\n    const paymentMethods = this.mdDatasources.paymentMethods;\n    paymentMethods?.forEach((method) => {\n      if (method.code === 'E-PAYMENT') method.label = 'PayPal';\n      map.set(method.code, method); \n    });\n    return Object.fromEntries(map.entries());\n  }\n\n  changeContext(search = this.pendingSearch === undefined) {\n    let path = '~all';\n    const context = this.searchInterface?.data?.context;\n    if (!this.isOperator && !context) this.searchInterface.data.context = 'USER&SUBUSERS';\n    else if (this.isOperator || context === 'USER') path = '';\n    else if (context === 'SUBUSERS') path = '~subs';\n    this.contextPath = path;\n    if (search) this.search();\n  }\n\n  setEndpoint() {\n    const owner = this.searchInterface?.data?.owner;\n    let endpoint = `users/me/queue-outlines/${this.contextPath}`;\n    if (owner) endpoint = `users/${owner}/queue-outlines`;\n    else if (this.isOperator && !owner) endpoint = `bo/queue-outlines`;\n    return endpoint;\n  }\n\n  setContextDatasource() {\n    const datasource = [];\n    const utenti = mdt.parsers.contextualize(this.api.user, 'utenti');\n    const account = mdt.parsers.contextualize(this.api.user, 'account');\n    const _datasource = {\n      'USER': { text: `Le spedizioni del mio ${account}` },\n      'SUBUSERS': { text: `Le spedizioni dei miei ${utenti}` },\n      'USER&SUBUSERS': { text: `Tutte` }\n    }\n    Object.entries(_datasource).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.text });\n    });\n    return datasource\n  }\n\n  setPaymentMethodDatasource() {\n    const datasource = [{ text: 'Qualsiasi', value: 'null' }];\n    const paymentMethods = this.mdDatasources.paymentMethods;\n    paymentMethods.forEach((method) => {\n      const IsPaymentMethodAllowed = ['SDD', 'E-PAYMENT', 'BANK-TRANSFER'].includes(method.code);\n      if (IsPaymentMethodAllowed) datasource.push({ text: method.label, value: method.code });\n    });\n    return datasource;\n  }\n\n  init() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'pending-queues-table',\n      client: this.api,\n      query: 'status=ACCEPTANCE'\n    });\n    this.tableInterface.initialize();\n\n    // Queues Search interface\n    this.searchInterface = new SearchInterface({\n      name: 'pending-queues-table-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: this.setContextDatasource()\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        owner: {\n          control: 'combo',\n          label: this.isOperator ? 'Utente' : mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: {\n            table: `${this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`,\n            query: { search: 'text-search', item: 'id-in' }\n          },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: this.setPaymentMethodDatasource(),\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          control: 'text',\n          label: 'Codice di conferma pagamento',\n          query: 'short-confirmation-code'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n      },\n      data: {\n        owner: null,\n        shipment: null,\n        paymentMethod: 'null',\n        shortConfirmationCode: null\n      }\n    });\n\n    this.searchInterface.data = {\n      ...this.searchInterface.data,\n      ...(this.isOperator && { createdAtLte: this.setDefaultDateRange() }),\n      ...(this.isOperator && { createdAtGte: this.setDefaultDateRange(30) }),\n      ...(!this.isOperator && { context: this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER' })\n    }\n\n    this.searchInterface.initialize()\n      .then(() => { \n        if (this.isOperator && this.isSearchEnabled()) setTimeout(() => { this.changeContext(true) }, 500);\n        else this.params['text-search-like'] && this.reset();\n      }\n    );\n  }\n\n  isOrderAmountShowable(record) {\n    const { orderAmount, grossAmount } = record.costVoices?.total ?? {};\n    return grossAmount && orderAmount && orderAmount !== grossAmount;\n  }\n\n  reset() {\n    this.possiblyRequiredFields.forEach((field) => {\n      this.searchInterface.controls[field].required = false;\n    });\n    if (this.searchInterface?.controls?.context?.required) this.searchInterface.controls.context.required = false;\n    return this.searchInterface.reset(false, false).then(() => {\n      this.searchInterface.data.paymentMethod = 'null';\n      if (this.isOperator) {\n        this.searchInterface.data.createdAtLte = this.setDefaultDateRange();\n        this.searchInterface.data.createdAtGte = this.setDefaultDateRange(30);\n      } else {\n        this.searchInterface.data.context = this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER';\n        if (this.params['text-search-like']) {\n          this.searchInterface.data.shipment = this.params['text-search-like'];\n          let url = window.location.toString();\n          const regex = new RegExp('[&|?]text-search-like=[a-z|0-9|-]{36}');\n          url = url.replace(regex, '');\n          window.history.pushState({}, \"\", url);\n          delete this.params['text-search-like'];\n          this.searchInterface.controls.context.required = true;\n        }\n      }\n      this.changeContext(!this.isOperator);\n    });\n  }\n\n  search() { \n    if (this.isOperator) this.handlePossiblyRequiredFields();\n\n    this.pendingSearch = true;\n    this.tableInterface.endpoint = this.setEndpoint();\n\n    return this.searchInterface.search()\n      .then(() => { if (!this.isOperator) this.badgeUpdate(); })\n      .finally(() => { this.pendingSearch = false; });\n  }\n\n  \n  isSearchEnabled() {\n    return this.possiblyRequiredFields.some((field) => this.searchInterface.data[field]);\n  }\n\n  dialogPossiblyRequiredFields() {\n    const body = 'Seleziona un utente o inserisci un codice spedizione o un codice di conferma pagamento';\n    this.dialog.open({ type: 'alert', class: 'small', title: 'Attenzione!', body });\n  }\n\n  handlePossiblyRequiredFields() {\n    const searchEnabled = this.isSearchEnabled();  \n    const isRequired = !searchEnabled;\n\n    this.possiblyRequiredFields.forEach((field) => { this.searchInterface.controls[field].required = isRequired; });\n    if (!searchEnabled) this.dialogPossiblyRequiredFields();\n  }\n\n  async badgeUpdate() {\n    const xhr = await this.api.get(`users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1`);\n    return localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: xhr.originalResponse.meta.total }));\n  }\n\n  userConfirmOrder(record, $event) {\n    if ($event) $event.model.busy = true;\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      let token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${record.owner.id}&ts=${token}#/costs/${record.owner.id}/${record.uuid}` },\n        lock: true\n      }).whenClosed(() => {\n        if ($event) $event.model.busy = false;\n        this.search();\n      });\n    }).catch((xhr) => {\n      console.error('cross-login-tokens/current', xhr);\n      if ($event) $event.model.busy = false;\n    }).finally(() => {\n      if ($event) setTimeout(() => { $event.model.busy = false; }, 5000);\n    });\n  }\n\n  backofficeConfirmOrder($event, record) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Sei sicuro di voler confermare l'ordine?`\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        const data = { status: \"PAYMENT-CONFIRMED\" };\n        this.api.patch(`bo/users/${record.owner.id}/orders/queues/${record.uuid}/current`, data).then(() => {\n          this.search();\n          this.toast.show(`Ordine confermato con successo!`, 'success');\n        }).catch(xhr => {\n          console.log('Error - PATCH orders/queues', xhr);\n          this.toast.show(`Errore durante l'apertura della spedizione!`, 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else $event.model.busy = false;\n    });\n  }\n\n  bankTranferCheck(record, reason) {\n    let prefix = '';\n\n    return this.api.get(`users/me/queue-outlines/${record.uuid}`).then((xhr) => {\n      if (xhr.response?.paymentMethod === 'BANK-TRANSFER' ) {\n        prefix = `<p class=\"m-0 p-0 mb-3\"><strong style=\"color: #ed5a23\">Attenzione!</strong> Hai impostato il pagamento tramite bonifico per questa spedizione. Ti ricordiamo di annullare qualsiasi pagamento.</p>`;\n      }\n      if (reason === 'edit') return this.editQueue(record, prefix);\n      if (reason === 'delete') return this.abortQueue(record, prefix);\n    }).catch((error) => {\n      this.api.dialogError(error);\n    });\n  }\n\n  // !IMPORTANT this only changes the status of the queue\n  abortQueue(record, prefix) {\n    const messageHtml = `${prefix}<p class=\"m-0 p-0\">La spedizione sarà cancellata <strong>definitivamente</strong>. Sei sicuro di voler procedere alla cancellazione?</p>`\n    this.dialog.open({\n      title: 'Cancella spedizione',\n      class: 'small',\n      type: 'confirm',\n      body: messageHtml\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        const payload = { status: 'ABORTED-BY-USER' };\n        this.api.patch(`users/${record.owner.id}/queues/${record.uuid}`, payload).then(() => {\n          this.search();\n          this.toast.show('Spedizione eliminata con successo!', 'success');\n        }).catch(error => {\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  // !IMPORTANT this permanently deletes the queue and returns to its draft\n  editQueue(record, prefix) {\n    const messageHtml = `${prefix}<p class=\"m-0 p-0\">La seguente operazione <strong>farà tornare la spedizione allo stato di bozza, cancellando l'attuale spedizione in attesa di pagamento.</strong> Desideri procedere?</p>`;\n    this.dialog.open({\n      title: 'Modifica spedizione',\n      class: 'medium',\n      type: 'confirm',\n      body: messageHtml\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/${record.owner.id}/queues/${record.uuid}`).then(() => {\n          this.search();\n          this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n            let token = xhr.response.token;\n            this.dialogService.open({\n              viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n              model: { iframe: `/senderui/?owner=${record.owner.id}&draft=${record.draftUuid}&ts=${token}#/recipients` },\n              lock: true\n            });\n          }).catch(error => {\n            throw error;\n          })\n        }).catch(error => {\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  bankTransferData(queue) {\n    this.dialog.open({\n      title: `Pagamento`,\n      class: 'medium bank-transfer-data',\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/bank-transfer-data'),\n      viewModelParams: { queue }\n    }, true);\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  setDefaultDateRange(days) {\n    // If \"days\"(integer), subtracts days from today's date.\n    const currentDate = new Date();\n\n    if (days) {\n      currentDate.setDate(currentDate.getDate() - days);\n    }\n    return currentDate.toISOString();\n  }\n\n  dialogDeletePayment(record) {\n    this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: '<p class=\"m-0\">Prima di continuare, assicurarsi di non avere aperta, in un\\'altra tab o in un altro dispositivo, una sessione di pagamento PayPal relativa a questa spedizione.<br><strong>Confermi di voler procedere?</strong></p>'\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.deleteOrder(record);\n      }\n    });\n  }\n\n  // !IMPORTANT this only deletes the order and not the queue\n  deleteOrder(record) {\n    if (!record.loading) {\n      record.loading = true;\n      const queueUuid = record.uuid;\n      const queueOwnerId = record.owner?.id;\n      this.api.delete(`users/${queueOwnerId}/orders/queues/${queueUuid}/current`).then(() => {\n        this.search().finally(() => {\n          record.loading = false;\n        });      \n      }).catch((error) => {\n        console.log('Delete payment ', error);\n        record.loading = false;\n        this.api.dialogError(error);\n      });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { QueueMessages } from 'classes/queueMessages';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { MdDatasources } from '../../../services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, MdDatasources, QueueMessages, QueueProperties)\nexport class ViewReportDetail {\n  queue;\n  sender;\n  vector;\n  statusGroup;\n  previousRoute;\n  postages = {};\n  emailForwarding;\n  usedChannels = [];\n  messageStatuses = {};\n  isEmailForwardingUsed;\n  canQueueBeDiscontinued;\n  isGoBackButtonShowable;\n  urlPosteItaliane = 'https://www.poste.it/cerca/index.html#/risultati-spedizioni/';\n\n  get hasNotificationEmail() { \n    return this.sender.emailNotificationAddresses?.length > 0; \n  }\n  \n  constructor(router, api, toast, dialog, MdDatasources, queueMessages, queueProperties) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n    this.queueMessages = queueMessages;\n    this.queueProperties = queueProperties;\n  } \n  activate(params, navigationInstruction) {\n    this.previousRoute = navigationInstruction.previousInstruction?.fragment;\n    this.params = params;\n  }\n  attached() {\n    const promises = [this.getQueueOutlines(), this.getSender(), this.initMessages(), this.getPostages()];\n    Promise.allSettled(promises).finally(() => {\n      this.isGoBackButtonShowable = true;\n    });\n  }\n\n  // Init\n  async initMessagesInterface() {\n    this.messagesTableInterface = new TableInterface({\n      client: this.api,\n      name: `table-report-detail-queue-${this.params.queueUuid}-messages`,\n      endpoint: `users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}/messages`\n    });\n\n    this.messagesSearchInterface = new SearchInterface({\n      name: `search-queue-${this.params.queueUuid}-report-detail`,\n      table: this.messagesTableInterface,\n      schema: {\n        textSearch: {\n          control: 'text',\n          label: 'Ricerca destinatario',\n          query: 'label-text-search'\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale',\n          datatext: 'text',\n          datavalue: 'value',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.setChannelDatasource(),\n          query: 'channel'\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [],\n          query: 'processing-status'\n        },\n      },\n      data: {}\n    });\n\n    await this.messagesTableInterface.initialize();\n    await this.messagesSearchInterface.initialize();\n    return this.messagesSearchInterface.reset(true);\n  }\n  initMessages() {\n    this.initMessagesInterface().then(() => {\n      this.queueMessages.setQueueMessageStatusCodes(this.api).then(() => {\n        this.messagesSearchInterface.schema.status = Object.assign({}, this.messagesSearchInterface.schema.status, { datasource: this.queueMessages.queueMessageStatusCodes });\n        return this.messagesSearchInterface.search();\n      });\n    }).catch((error) => {\n      console.log('initMessages', error);\n      this.api.dialogError(error);\n    });\n  }\n  reinitializeAfterDeliveryInterruption() {\n    this.queue = null;\n    this.isGoBackButtonShowable = false;\n    const promises = [this.getQueueOutlines(), this.initMessages(), this.getPostages()];\n    return Promise.allSettled(promises).then(() => {\n      this.toast.show(`Consegna interrotta con successo!`, 'success');\n    }).finally(() => {\n      this.isGoBackButtonShowable = true;\n    });\n  }\n\n  // Get\n  getQueueOutlines() {\n    return this.api.get(`users/${this.params.queueOwnerId}/queue-outlines/${this.params.queueUuid}`).then((xhr) => {\n      const response = xhr.response;\n      this.usedChannels = response.usedChannels;\n      this.statusGroup = response.statusGroup;\n      this.queue = response;\n\n      this.setIsEmailForwardingUsed();\n      this.setCanQueueBeDiscontinued();\n    }).catch((error) => {\n      console.error('GET queue-outlines', error);\n    });\n  }\n  getSender() {\n    return this.api.get(`users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}/sender`).then((xhr) => {\n      const response = xhr.response;\n      this.sender = response;\n    }).catch((xhr) => {\n      console.error('GET sender', xhr);\n    });\n  }\n  getPostages() {\n    const postalService = this.mdDatasources?.postalServices;\n\n    if (postalService.vectors) {\n      this.vectors = Object.fromEntries(postalService.vectors.map(vector => [vector.code, vector.name]));\n    }\n    if (postalService.postages) {\n      this.postages =  Object.fromEntries(postalService.postages.map(postage => [postage.code, postage.description]));\n      this.postages = {\n        ...this.postages,\n        'MB': 'Multibox',\n        'P1': 'Prioritaria 1: Consegnata entro 4 giorni lavorativi'\n      }\n    }\n  }\n\n  // Set\n  setChannelDatasource() {\n    let datasource = Object.values(this.queueProperties.channels).map(({ value, text }) => ({ value, text }));\n    return datasource;\n  }\n  setMessageDialogInterruptDelivery() {\n    let message = '<p class=\"m-0\">L\\'invio o la consegna di ogni messaggio sarà irreversibilmente interrotta.</p>';\n    if (this.isSomeChannelIncluded(['sendposta', 'multibox', 'multicerta'])) {\n      message += '<p class=\"m-0 mt-3\"><strong>È possibile che vengano addebitati costi di stampa. Un resoconto dettagliato dei costi applicati sarà inviato al tuo indirizzo email.</strong></p>';\n    }\n    return message;\n  }\n\n  // Dialogs\n  dialogMessageStatusTransitionsHistory(message, queueMessages) {\n    this.dialog.open({\n      title: 'Storico/Cronologia dei passaggi di stato',\n      class: 'message-status-transitions-history',\n      viewModelParams: { message, queueMessages },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/message-status-transitions-history')\n    }, true);\n  }\n  dialogMessageCostDetail(message) {   \n    this.dialog.open({\n      title: 'Dettaglio costi messaggio',\n      class: 'small message-cost-detail',\n      viewModelParams: { message },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/message-cost-detail')\n    }, true);\n  }\n  dialogAttachments(message) {\n    const messageUuid = message.uuid;\n    const queueUuid = this.params.queueUuid;\n    const queueOwnerId = this.params.queueOwnerId;\n    const messageChannel = message.channel;\n    this.dialog.open({\n      class: 'medium report-attachments',\n      title: 'Elenco allegati',\n      viewModelParams: { queueOwnerId, queueUuid, messageUuid, messageChannel},\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-attachments')\n    }, true);\n  }\n  dialogQueueResend(queue) {\n    this.dialog.open({\n      class: 'report-queue-resend',\n      title: 'Reinvia spedizione',\n      viewModelParams: { queue },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-queue-resend')\n    }, true);\n  }\n  dialogMultibox(multibox) {\n    this.dialog.open({\n      class: 'small report-multibox-detail',\n      title: 'Dettaglio Multibox',\n      viewModelParams: { multibox },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-multibox-detail')\n    }, true);\n  }\n  dialogInterruptDelivery($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      type: 'confirm',\n      title: 'Attenzione!',\n      class: 'small interrupt-delivery',\n      body: this.setMessageDialogInterruptDelivery()\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        return this.interruptDelivery().then(() => {\n          this.queueProperties.uuidQueueToUpdate = this.queue.uuid;        \n          this.reinitializeAfterDeliveryInterruption();\n        }).catch((error) => {\n          console.error('interruptDelivery', error);\n          this.api.dialogError(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      $event.model.busy = false;\n    });\n  }\n\n  // Downloads\n  downloadReceipt3A(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let path = `users/me/queues/${this.params.queueUuid}/messages/${record.uuid}/certificate-download`;\n\n    this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', 'application/pdf')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'application/pdf' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = `${record.legacyId}-ricevuta-3A`;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }).catch(xhr => {\n      console.error('ERROR - certificate-download GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n  downloadCertificatesTSD(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let path = `users/me/queues/${this.params.queueUuid}/messages/${record.uuid}/timestamps-download`;\n\n    this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', 'application/zip')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'application/zip' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = `${record.legacyId}-certficati-TSD`;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }).catch(xhr => {\n      console.error('ERROR - timestamps-download GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n  downloadDeliveryReceipt(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let path = `users/${this.queue.owner.id}/queues/${this.params.queueUuid}/messages/${record.uuid}/delivery-receipts/current/download`;\n\n    this.api.client.createRequest(path)\n      .asGet()\n      .withHeader('Accept', 'application/pdf')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        let url;\n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: 'application/pdf' });\n        url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = `cartolina-di-ritorno-${record.uuid}`;\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n      }).catch(xhr => {\n      console.error('ERROR - deliveryReceipt-download GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n  downloadQueueSchedule() {\n    const uri = `users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}.pdf`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader(\"Accept\", \"application/pdf\")\n      .withHeader(\"Content-Type\", \"application/pdf\")\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regexp = new RegExp('filename=(.+\\.pdf$)');\n        const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        const anchor = document.createElement(\"a\");\n        const blob = new Blob([xhr.response], { type: 'application/pdf' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show(\"Distinta scaricata correttamente\", 'success');\n      }).catch((error) => {\n        console.error(\"impossibile scaricare il pdf\", error);\n        this.toast.show('impossibile scaricare la distinta', 'error');\n      });\n  }\n  downloadLogMessages($event) {\n    $event.model.busy = true;\n\n    const uri = `users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}/message-log/current.txt`;\n    this.toast.show('Caricamento in corso', 'loading');\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'text/plain')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        const regexp = new RegExp('filename=(.+\\.txt$)');\n        const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        const anchor = document.createElement('a');\n        const blob = new Blob([xhr.response], { type: 'text/plain' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n\n        this.toast.show(`Documento scaricato con successo!`, 'success');\n\n      }).catch((error) => {\n        this.toast.show(`Impossibile scaricare il file!`, 'error');\n        console.error('ERROR - log-messages download - GET', error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n  }\n\n  // Features\n  interruptDelivery() {\n    const data = { status: 'DISCONTINUED' };\n    return this.api.patch(`users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}`, data);\n  }\n\n  // Utilities\n  navigateTo(context, uuid) {\n    let url;\n    switch (context) {\n      case 'queue-detail':\n        url = `spedizioni/reportistica/${this.params.queueOwnerId}/${uuid}`;\n        break;\n      case 'envelope-logo':\n        url = `impostazioni/posta?ka-tab-t=loghi&envelopeLogoUuid=${uuid}`;\n        break;\n      case 'back':\n        if (this.previousRoute === '/spedizioni/reportistica/') {\n          const routePaths = {\n            'ARCHIVE': 'archiviate',\n            'PENDING': 'inviate',\n            'COMPLETED': 'inviate',\n            'ABANDONED': 'annullate'\n          }\n          const context = routePaths[this.statusGroup];\n          const param = context ? `/?ka-tab-main=${context}` : '';\n          url = `spedizioni/reportistica${param}`;\n        }\n        break;\n    }\n    if (url) this.router.navigate(url);\n    return this.router.navigateBack();\n  }\n  shouldShowCostLink(cost) { \n    return cost !== '0,00' \n  }\n  setIsEmailForwardingUsed() { \n    return this.isEmailForwardingUsed = this.queue?.emailForwardingUsed === 'YES'; \n  }\n  isSomeChannelIncluded(channels) {\n    return this.queue?.usedChannels?.some(channel => channels.includes(channel)) ?? false;\n  }\n  setCanQueueBeDiscontinued() {\n    return this.canQueueBeDiscontinued = this.queue?.queueDeliveryCanBeDiscontinued === 'YES'; \n  }\n  canDownloadReceipt(record) { \n    return record.deliveryReceiptAvailable === 'YES' && this.api.hasRole(['DOWNLOAD_POSTAL_DELIVERY_RECEIPT_FILE', 'DOWNLOAD_ANY_POSTAL_DELIVERY_RECEIPT_FILE']); \n  }\n  parseDeadlineEvents(deadlineEvents) {\n    return deadlineEvents === 'RECEIVED-READ' ? 'Not. di lettura' : deadlineEvents === 'RECEIVED-OPENED' ? 'Not. di apertura' : 'Notifica';\n  }\n}\n","import mdt from 'services/md-tools';\nimport { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\nimport { QueueProperties } from '../../../classes/queueProperties';\n\n\n@inject(Api, Router, KaToast, KaDialog, QueueProperties)\nexport class vmReport {\n  mdt = mdt;\n  privileges;\n  tabs = [\n    {\n      id: 'inviate',\n      label: 'Inviate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/sent')\n    },\n    {\n      id: 'annullate',\n      label: 'Annullate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/canceled')\n    },\n    {\n      id: 'archiviate',\n      label: 'Archiviate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/archived')\n    }\n  ];\n\n  constructor(api, router, toast, dialog, queueProperties) {\n    this.api = api;\n    this.toast = toast;\n    this.router = router;\n    this.dialog = dialog;\n    this.queueProperties = queueProperties;\n    this.tools = {\n      isDateLowerThan: (queue) => {\n        return queue.createdAt < '2025-06-03T20:00:00Z';\n      },\n      isLegacyQueueDetail: (queue, privileges) => {\n        // return this.tools.isDateLowerThan(queue) && privileges.isOperator;\n        // legacy restored for users: https://www.wrike.com/open.htm?id=4430658655;\n        return this.tools.isDateLowerThan(queue);\n      },\n      displayPaymentMethods: (record) => {\n        return record.partialCreditPayment && record.paymentMethod ? `CREDIT/${record.paymentMethod}` : `${!record.paymentMethod ? 'N/A' : record.paymentMethod}`;\n      },\n      copyText: (text, item) => {\n        if(text) return navigator.clipboard.writeText(text),\n        this.toast.show(`${item} copiato con successo!`, 'success');\n      },\n      getUserData: (id) => {\n        return this.api.get(`users/${id}?include=user-profiles,user-roles`).catch((error) => {\n          console.error(`GET - users`, error);\n          this.toast.show('Errore durante il caricamento dei dati!', 'error');\n        });\n      },\n      setDefaultDateRange: (days) => {\n        // If \"days\"(integer), subtracts days from today's date.\n        const currentDate = new Date();\n\n        if (days) {\n          currentDate.setDate(currentDate.getDate() - days);\n        }\n        return currentDate.toISOString();\n      },\n      setChannelDatasource: () => {\n        const channels = structuredClone(this.queueProperties.channels);\n        const datasource = channels.map((channel) => ({\n          text: channel.text,\n          value: channel.value.toLowerCase()\n        }));\n        return datasource;\n      },\n      setStatusDatasource: (values) => {\n        const statuses = this.queueProperties?.statuses;\n        const datasource = [{ text: 'Tutti', value: 'null' }];\n        values.forEach((value) => {\n          // if you are looking for a status\n          let status = statuses.filter((status) => status.value === value)?.[0];\n          // if you are looking for grouped statuses (multiple states with the same group)\n          if (!status) {\n            let  groupedStatuses = statuses.filter((status) => status.group === value);\n            let groupedValues = groupedStatuses.reduce((accumulator, current) => {\n              return `${accumulator.value},${current.value}`;\n            });\n            status = { text: groupedStatuses[0].group, value: groupedValues };\n          }\n          datasource.push(Object.assign({}, status));\n        });\n        return datasource;\n      },\n      setContextDatasource: (userData) => {\n        const datasource = [{ value: 'USER', text: `Le spedizioni del mio ${mdt.parsers.contextualize(userData, 'account')}` }];\n        if ((!this.privileges.isOperator && this.api.user.group === 'MASTER_USER') || (this.privileges.isOperator && userData?.group === 'MASTER_USER')) {\n          if (!this.privileges.isOperator && this.api.user.group === 'MASTER_USER') {\n            datasource.unshift({ value: 'USER&SUBUSERS', text: `Tutte` });\n          }\n          datasource.push({ value: 'SUBUSERS', text: `Le spedizioni dei miei ${mdt.parsers.contextualize(userData, 'utenti')}` });\n        } return datasource;\n      },\n      setDefault: (searchInterface, dataProperties) => {\n        searchInterface.data.context = this.privileges.isOperator ? 'null' : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER';\n        dataProperties.forEach((property) => {\n          const key = Object.keys(property)[0];\n          const value = Object.values(property)[0];\n          searchInterface.data[key] = value;\n        });\n      },\n      downloadWorkOrderList: (queue) => {\n        this.toast.show('Caricamento in corso', 'loading', true);\n        const uri = `users/${queue.owner.id}/queues/${queue.uuid}.pdf`;\n\n        return this.api.client.createRequest(uri)\n          .asGet()\n          .withHeader(\"Accept\", \"application/pdf\")\n          .withHeader(\"Content-Type\", \"application/pdf\")\n          .withResponseType('blob')\n          .send()\n          .then((xhr) => {\n            const regexp = new RegExp('filename=(.+\\.pdf$)');\n            const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n            const anchor = document.createElement(\"a\");\n            const blob = new Blob([xhr.response], { type: 'application/pdf' });\n            const url = URL.createObjectURL(blob);\n\n            anchor.href = url;\n            anchor.download = matches[1];\n            document.body.appendChild(anchor);\n            anchor.click();\n            document.body.removeChild(anchor);\n            this.toast.show(\"Distinta scaricata correttamente\", 'success');\n          }).catch((error) => {\n            console.log(\"impossibile scaricare il pdf\", error);\n            this.toast.show('impossibile scaricare la distinta', 'error');\n          }).finally(() => {\n            this.toast.consume();\n          })\n      },\n      openDialogQueueCsvDownload: (selected) => {\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'queue-csv-download small',\n          viewModelParams: { sendCodes: selected },\n          viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-csv-download')\n        });\n      },\n      setSelectable: (response, oldRecords) => {\n        let data = response ? structuredClone(response) : [];\n        const newRecords = data.reduce((accumulator, value) => ({ ...accumulator, [value.sendCode]: false }), {});\n        return Object.assign({}, newRecords, oldRecords);\n      },\n      setSelected: (selectable) => {\n        let selected = [];\n        for (const [key, value] of Object.entries(selectable)) {\n          if (value) {\n            selected.push(key);\n          }\n        }\n        return selected;\n      },\n      setPageSelection: (response, selected) => {\n        let data = response ? structuredClone(response) : [];\n        const dataSendCodes = data.map((queue) => { return queue['sendCode']; });\n        return !!dataSendCodes.length ? dataSendCodes?.every((sendCode) => selected.includes(sendCode)) : false;\n      },\n      navigateTo: (queueOwnerId, queueUuid, direction, islegacyDetail = false) => {\n        if (islegacyDetail) {\n          this.tools.navigateToLegacyReportDetail(queueUuid);\n        }\n        let url = `spedizioni/reportistica/${queueOwnerId}/${queueUuid}`;\n        if (direction) {\n          this.queueProperties.uuidQueueToUpdate = queueUuid;\n          url = `spedizioni/reportistica/?ka-tab-main=${direction}`;\n        }\n        return this.router.navigate(url);\n      },\n      navigateToLegacyReportDetail: (queueUuid) => {\n        this.toast.show('Caricamento in corso', 'loading', true);\n        return this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n          let token = xhr.response.token;\n          window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=multisend_report_detail&uuid=${queueUuid}`);\n        }).catch((error) => {\n          console.error('navigateToLegacyReport', error);\n        }).finally(() => {\n          this.toast.consume();\n        });\n      }\n    };\n    this.privileges = {\n      tabs: { inviate: false, annullate: false, archiviate: false },\n      isOperator: this.api.hasRole('LIST_ANY_QUEUE')\n    };\n  }\n  activate(params) {\n    this.params = params;\n    this.params.queueMessages = this.queueMessages;\n    this.params.queueProperties = this.queueProperties;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    if (this.privileges.isOperator) return this.getClients();\n    return this.privilege();\n  }\n  privilege() {\n    if (this.api.hasRole('LIST_QUEUE')) {\n      this.privileges.tabs.inviate = this.privileges.tabs.annullate = this.privileges.tabs.archiviate = true;\n    }\n    this.pendingInit = false;\n  }\n  openDialogLegacyHistory() {\n    return this.dialog.open({\n      title: 'Storico spedizioni',\n      class: 'legacy-history small',\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/legacy-history')\n    });\n  }\n  toLegacy() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=mi_report&multiqueue_uuid=${this.params.queueUuid}`);\n    }).catch((error) => { console.error(error) }).finally(() => { this.toast.consume(); });\n  }\n  getClients() {\n    return this.api.get('clients?declarable=YES').then((xhr) => {\n      const response = xhr.response;\n      this.params.clients = response;\n    }).catch((error) => {\n      console.error('clients?declarable=YES', error);\n    }).finally(() => {\n      return this.privilege();\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { QueueMessages } from 'classes/queueMessages';\nimport { inject, observable } from 'aurelia-framework';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, QueueProperties, QueueMessages)\nexport class ViewArchived {\n  mdt = mdt;\n  userData;\n  statusMessages;\n\n  // Selection\n  pageSelection = false\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  })\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.tools.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.tools.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n\n  constructor(router, api, toast, dialog, dialogService, queueProperties, queueMessages) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n    this.dialogService = dialogService;\n    this.queueMessages = queueMessages;\n    this.queueProperties = queueProperties;\n  }\n  activate(model) {\n    this.tabs = model.tabs;\n    this.tools = model.tools;\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n  attached() {\n    this.initTableInterface();\n    this.initSearchInterface();\n  }\n\n  // Init\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'table-archived-queues',\n      client: this.api,\n      endpoint: null,\n      query: 'directory=ARCHIVE'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.tools.setSelectable(response, this.selectable);\n      this.selected = this.tools.setSelected(this.selectable);\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-archived-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.tools.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`,\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.params.clients,\n          query: 'client-uuid'\n        },\n        channel: {\n          control: 'combo',\n          label: \"Canale d'invio\",\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.tools.setChannelDatasource(),\n          query: 'channel'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        status: {\n          label: 'Stato spedizione',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.tools.setStatusDatasource(['COMPLETED', 'Annullata'], 'group'),\n          query: 'status-in'\n        }\n      },\n      data: {\n        totalGrossGte: 0,\n        paymentMethod: 'null',\n        status: 'null',\n        context: this.privileges.isOperator ? 'null' : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Get\n  search() {\n    const isSearchDisabled = this.privileges.isOperator && !this.searchInterface.data.owner && !this.searchInterface.data.shipment;\n    if (isSearchDisabled) {\n      this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n      return;\n    }\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  reset() {\n    this.searchInterface.reset();\n    this.tools.setDefault(this.searchInterface, [{ paymentMethod: 'null' }, { totalGrossGte: 0 }, { status: 'null'}]);\n    this.search();\n  }\n\n  // Set\n  setContextSuffix() {\n    let contextSuffix = '';\n\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.privileges.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.privileges.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.privileges.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n\n    return this.tableInterface.endpoint = endpoint;\n  }\n  setContext() {\n    if (this.privileges.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.tools.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.tools.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n\n  // Utility\n  vmSentReload() {\n    let vmSent = this.tabs.find(x => x.id === 'inviate').controller.currentViewModel;\n    return vmSent.search();\n  }\n  vmCanceledReload() {\n    let vmCanceled = this.tabs.find(x => x.id === 'annullate').controller.currentViewModel;\n    return vmCanceled.search();\n  }\n  unarchive(queue) {\n    let data = { directory: null };\n    this.api.patch(`users/me/queues/${queue.uuid}`, data).then(() => {\n      this.search();\n      this.vmCanceledReload();\n      this.vmSentReload();\n      this.toast.show('Spedizione disarchiviata con successo', 'success');\n    }).catch(error => {\n      console.log('Error queues/ PATCH', error);\n      this.api.dialogError(error);\n    })\n  }\n}\n\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject, observable } from 'aurelia-framework';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, QueueProperties)\nexport class ViewCanceled {\n  mdt = mdt;\n  userData;\n\n  // Selection\n  pageSelection = false\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  })\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.tools.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.tools.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n\n  constructor(router, api, toast, dialog, dialogService, queueProperties) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.dialogService = dialogService;\n    this.queueProperties = queueProperties;\n  }\n  activate(model) {\n    this.tabs = model.tabs;\n    this.tools = model.tools;\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n  attached() {\n    this.initTableInterface();\n    this.initSearchInterface();\n  }\n\n  // Init\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'table-cancelled-queues',\n      client: this.api,\n      endpoint: null,\n      query: 'status=ABANDONED'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.tools.setSelectable(response, this.selectable);\n      this.selected = this.tools.setSelected(this.selectable);\n      return response;\n    };\n    this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-cancelled-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.tools.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`,\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        channel: {\n          control: 'combo',\n          label: \"Canale d'invio\",\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.tools.setChannelDatasource(),\n          query: 'channel'\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.params.clients,\n          query: 'client-uuid'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        abandonedStatus: {\n          label: 'Stato spedizione',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.tools.setStatusDatasource(['ABORTED-BY-USER', 'DISPATCH-ERROR']),\n          query: 'abandoned-status'\n        }\n      },\n      data: {\n        totalGrossGte: 0,\n        paymentMethod: 'null',\n        abandonedStatus: 'null',\n        context: this.privileges.isOperator ? 'null' : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    //setDefaultDateRange(var) -> var is the amount of days to substract if needed\n    this.searchInterface.data = {\n      ...this.searchInterface.data, \n      ...((this.privileges.isOperator && !this.searchInterface.data.createdAtLte) && { createdAtLte: this.tools.setDefaultDateRange() }), \n      ...((this.privileges.isOperator && !this.searchInterface.data.createdAtGte) && { createdAtGte: this.tools.setDefaultDateRange(30) }) \n    }\n    return this.searchInterface.initialize();\n  }\n\n  // Get\n  search() {\n    const isSearchDisabled = this.privileges.isOperator && !this.searchInterface.data.owner && !this.searchInterface.data.shipment;\n    if (isSearchDisabled) {\n      this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n      return;\n    }\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  reset() {\n    this.searchInterface.reset();\n    this.tools.setDefault(this.searchInterface, [{ paymentMethod: 'null' }, { totalGrossGte: 0 }, { status: 'null' }]);\n    this.search();\n  }\n\n  // Set\n  setContext() {\n    if (this.privileges.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.tools.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.tools.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n  setContextSuffix() {\n    let contextSuffix = '';\n\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.privileges.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.privileges.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.privileges.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n\n    return this.tableInterface.endpoint = endpoint;\n  }\n\n  // Utility\n  vmArchiveReload() {\n    let vmArchived = this.tabs.find(x => x.id === 'archiviate').controller.currentViewModel;\n    return vmArchived.search();\n  }\n  archive(queue) {\n    let data = { directory: \"ARCHIVE\" };\n    this.api.patch(`users/me/queues/${queue.uuid}`, data).then(() => {\n      this.search();\n      this.vmArchiveReload();\n      this.toast.show('Spedizione archiviata con successo', 'success');\n    }).catch(error => {\n      console.log('Error queues/ PATCH', error);\n      this.api.dialogError(error);\n    })\n  }\n}\n\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { QueueMessages } from 'classes/queueMessages';\nimport { inject, observable } from 'aurelia-framework';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, QueueMessages, QueueProperties)\nexport class ViewSent {\n  mdt = mdt;\n  userData;\n  loadingId;\n\n  // Selection\n  pageSelection = false\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  })\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.tools.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.tools.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n  \n  constructor(router, api, toast, dialog, dialogService, queueMessages, queueProperties) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n    this.dialogService = dialogService;\n    this.queueMessages = queueMessages;\n    this.queueProperties = queueProperties;\n  }\n  activate(model) {\n    this.tabs = model.tabs;\n    this.tools = model.tools;\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n  attached() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      if (!this.isOperator && this.params['text-search-like']) this.reset();\n      return !this.privileges.isOperator && this.search();\n    });\n  }\n\n  // Init\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      endpoint: null,\n      client: this.api,\n      isLoading: false,\n      name: 'table-sent-queues',\n      query: 'status-in=COMPLETED,PENDING,DISCONTINUED'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.tools.setSelectable(response, this.selectable);\n      this.selected = this.tools.setSelected(this.selectable);\n      this.updateWaitingQueuesStorage();\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-sent-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.tools.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles&status=ACTIVE`,\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.params.clients,\n          query: 'client-uuid'\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale d\\'invio',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.tools.setChannelDatasource(),\n          query: 'channel'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        ownerStatusIn: {\n          label: `Stato ${mdt.parsers.contextualize(this.api.user, 'sottoutente')}`,\n          control: 'combo',\n          datasource: [\n            { text: 'Attivi', value: 'ACTIVE'},\n            { text: 'Attivi, non attivi e archiviati', value: 'ACTIVE,NOT-ACTIVE,ARCHIVED'}\n          ],\n          query: 'owner-status-in'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        status: {\n          label: 'Stato spedizione',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.tools.setStatusDatasource(['COMPLETED', 'PENDING', 'DISCONTINUED']),\n          query: 'status-in'\n        },\n      },\n      data: {\n        status: 'null',\n        paymentMethod: 'null',\n        context: this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    this.searchInterface.data = {\n      ...this.searchInterface.data, \n      ...((this.privileges.isOperator && !this.searchInterface.data.createdAtLte) && { createdAtLte: this.tools.setDefaultDateRange() }), \n      ...((this.privileges.isOperator && !this.searchInterface.data.createdAtGte) && { createdAtGte: this.tools.setDefaultDateRange(30) }) \n    }   \n    return this.searchInterface.initialize();\n  }\n\n  // Get\n  search() {\n    if (this.isSearchDisabled()) {\n      return new Promise((resolve) => {\n        this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n        resolve();\n      });\n    }\n    this.setEndpoint();\n    return this.searchInterface.search().then(() => {\n      const queue = this.tableInterface.data.find((record) => record.uuid === this.queueProperties.uuidQueueToUpdate);\n      if (queue) this.updateQueueMessages(queue);\n      else this.queueProperties.uuidQueueToUpdate = null;\n    });\n  }\n  reset() {\n    if (this.searchInterface?.controls?.context?.required) this.searchInterface.controls.context.required = false;\n    return this.searchInterface.reset(false, false).then(() => {\n      const dataDefaultProperties = [\n        { status: 'null' }, \n        { paymentMethod: 'null' },\n        { createdAtLte: this.tools.setDefaultDateRange() },\n        { createdAtGte: this.tools.setDefaultDateRange(30) },\n        { context: this.privileges.isOperator ? null : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER' },\n        { shipment: (!this.privileges.isOperator && this.params['text-search-like']) ? this.params['text-search-like'] : null }\n      ];\n      this.tools.setDefault(this.searchInterface, dataDefaultProperties);\n      if (this.params['text-search-like']) {\n        let url = window.location.toString();\n        const regex = new RegExp('[&|?]text-search-like=[a-z|0-9|-]{36}');\n        url = url.replace(regex, '');\n        window.history.pushState({}, \"\", url);\n        delete this.params['text-search-like'];\n        this.searchInterface.controls.context.required = true;\n      } else {\n        this.search().finally(() => {\n          this.searchInterface.controls.context.required = true;\n        });\n      }\n    });\n  }\n\n  // Set\n  setContextSuffix() {\n    let contextSuffix = '';\n\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.privileges.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n    if (this.searchInterface?.data?.context !== 'SUBUSERS') this.searchInterface.data.ownerStatusIn = null;\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.privileges.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.privileges.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n    return this.tableInterface.endpoint = endpoint;\n  }\n  setContext() {\n    if (this.privileges.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.tools.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.tools.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n\n  // Dialogs\n  dialogQueueCostDetail(record) {\n    this.dialog.open({\n      title: 'Dettaglio costi spedizione',\n      class: 'small queue-cost-detail',\n      viewModelParams: { record },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-cost-detail')\n    }, true);\n  }\n\n  // Features\n  archive(queue) {\n    let data = { directory: \"ARCHIVE\" };\n    this.api.patch(`users/me/queues/${queue.uuid}`, data).then(() => {\n      this.search();\n      this.vmArchiveReload();\n      this.toast.show('Spedizione archiviata con successo', 'success');\n    }).catch(error => {\n      console.error('Error queues/ PATCH', error);\n      this.api.dialogError(error);\n    })\n  }\n  vmArchiveReload() {\n    let vmArchived = this.tabs.find(x => x.id === 'archiviate').controller.currentViewModel;\n    return vmArchived.search();\n  }\n  updateWaitingQueuesStorage() {\n    if (!this.api.hasRole('LIST_ANY_QUEUE')) {\n      return this.api.get(`users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1`).then((xhr) => {\n        return localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: xhr.originalResponse.meta.total }));\n      });\n    }\n  }\n\n  // Utilities\n  isSearchDisabled() {\n    return this.privileges.isOperator && !this.searchInterface.data.owner && !this.searchInterface.data.shipment;\n  }\n  shouldShowCostLink(cost) { \n    return cost !== '0,00' \n  }\n  updateQueueMessages(record, $event) {\n    if (record && !record.loading) {\n      record.loading = true;\n      this.queueProperties.update(this.api.client, record).then((xhr) => {\n        Object.assign(record, xhr.response);\n        if ($event) this.toast.show('Stato spedizione aggiornato!', 'success');\n      }).catch((error) => {\n        console.error('GET queue-outlines ', error);\n        if ($event) this.toast.show('Errore aggiornamento stato spedizione!', 'error');\n      }).finally(() => {\n        record.loading = false;\n        this.queueProperties.uuidQueueToUpdate = null;\n      });\n    }\n  }\n}\n\n","var charenc = {\n  // UTF-8 encoding\n  utf8: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n    }\n  },\n\n  // Binary encoding\n  bin: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      for (var bytes = [], i = 0; i < str.length; i++)\n        bytes.push(str.charCodeAt(i) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      for (var str = [], i = 0; i < bytes.length; i++)\n        str.push(String.fromCharCode(bytes[i]));\n      return str.join('');\n    }\n  }\n};\n\nmodule.exports = charenc;\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../../modules/es7.array.flat-map');\nmodule.exports = require('../../modules/_core').Array.flatMap;\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","'use strict';\nrequire('../../modules/es6.promise');\nrequire('../../modules/es7.promise.finally');\nmodule.exports = require('../../modules/_core').Promise['finally'];\n","require('../../modules/es7.string.pad-end');\nmodule.exports = require('../../modules/_core').String.padEnd;\n","require('../../modules/es7.string.pad-start');\nmodule.exports = require('../../modules/_core').String.padStart;\n","require('../../modules/es7.string.trim-right');\nmodule.exports = require('../../modules/_core').String.trimRight;\n","require('../../modules/es7.string.trim-left');\nmodule.exports = require('../../modules/_core').String.trimLeft;\n","require('../../modules/es7.symbol.async-iterator');\nmodule.exports = require('../../modules/_wks-ext').f('asyncIterator');\n","require('../modules/es7.global');\nmodule.exports = require('../modules/_core').global;\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.G, { global: require('./_global') });\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n  if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n  return +it;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n  ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? at(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n  var O = toObject(this);\n  var len = toLength(O.length);\n  var to = toAbsoluteIndex(target, len);\n  var from = toAbsoluteIndex(start, len);\n  var end = arguments.length > 2 ? arguments[2] : undefined;\n  var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n  var inc = 1;\n  if (from < to && to < from + count) {\n    inc = -1;\n    from += count - 1;\n    to += count - 1;\n  }\n  while (count-- > 0) {\n    if (from in O) O[to] = O[from];\n    else delete O[to];\n    to += inc;\n    from += inc;\n  } return O;\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n  var O = toObject(this);\n  var length = toLength(O.length);\n  var aLen = arguments.length;\n  var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n  var end = aLen > 2 ? arguments[2] : undefined;\n  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n  while (endPos > index) O[index++] = value;\n  return O;\n};\n","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  var create = $create || asc;\n  return function ($this, callbackfn, that) {\n    var O = toObject($this);\n    var self = IObject(O);\n    var f = ctx(callbackfn, that, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n    var val, res;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      val = self[index];\n      res = f(val, index, O);\n      if (TYPE) {\n        if (IS_MAP) result[index] = res;   // map\n        else if (res) switch (TYPE) {\n          case 3: return true;             // some\n          case 5: return val;              // find\n          case 6: return index;            // findIndex\n          case 2: result.push(val);        // filter\n        } else if (IS_EVERY) return false; // every\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n  };\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n  aFunction(callbackfn);\n  var O = toObject(that);\n  var self = IObject(O);\n  var length = toLength(O.length);\n  var index = isRight ? length - 1 : 0;\n  var i = isRight ? -1 : 1;\n  if (aLen < 2) for (;;) {\n    if (index in self) {\n      memo = self[index];\n      index += i;\n      break;\n    }\n    index += i;\n    if (isRight ? index < 0 : length <= index) {\n      throw TypeError('Reduce of empty array with no initial value');\n    }\n  }\n  for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n    memo = callbackfn(memo, self[index], index, O);\n  }\n  return memo;\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n  var C;\n  if (isArray(original)) {\n    C = original.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n  return new (speciesConstructor(original))(length);\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n  if (!(len in factories)) {\n    for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n    // eslint-disable-next-line no-new-func\n    factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n  } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n  var fn = aFunction(this);\n  var partArgs = arraySlice.call(arguments, 1);\n  var bound = function (/* args... */) {\n    var args = partArgs.concat(arraySlice.call(arguments));\n    return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n  };\n  if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n  return bound;\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n  // fast case\n  var index = fastKey(key);\n  var entry;\n  if (index !== 'F') return that._i[index];\n  // frozen object case\n  for (entry = that._f; entry; entry = entry.n) {\n    if (entry.k == key) return entry;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;         // collection type\n      that._i = create(null); // index\n      that._f = undefined;    // first entry\n      that._l = undefined;    // last entry\n      that[SIZE] = 0;         // size\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear() {\n        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n          entry.r = true;\n          if (entry.p) entry.p = entry.p.n = undefined;\n          delete data[entry.i];\n        }\n        that._f = that._l = undefined;\n        that[SIZE] = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function (key) {\n        var that = validate(this, NAME);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.n;\n          var prev = entry.p;\n          delete that._i[entry.i];\n          entry.r = true;\n          if (prev) prev.n = next;\n          if (next) next.p = prev;\n          if (that._f == entry) that._f = next;\n          if (that._l == entry) that._l = prev;\n          that[SIZE]--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        validate(this, NAME);\n        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n        var entry;\n        while (entry = entry ? entry.n : this._f) {\n          f(entry.v, entry.k, this);\n          // revert to the last existing entry\n          while (entry && entry.r) entry = entry.p;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(validate(this, NAME), key);\n      }\n    });\n    if (DESCRIPTORS) dP(C.prototype, 'size', {\n      get: function () {\n        return validate(this, NAME)[SIZE];\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var entry = getEntry(that, key);\n    var prev, index;\n    // change existing entry\n    if (entry) {\n      entry.v = value;\n    // create new entry\n    } else {\n      that._l = entry = {\n        i: index = fastKey(key, true), // <- index\n        k: key,                        // <- key\n        v: value,                      // <- value\n        p: prev = that._l,             // <- previous entry\n        n: undefined,                  // <- next entry\n        r: false                       // <- removed\n      };\n      if (!that._f) that._f = entry;\n      if (prev) prev.n = entry;\n      that[SIZE]++;\n      // add to index\n      if (index !== 'F') that._i[index] = entry;\n    } return that;\n  },\n  getEntry: getEntry,\n  setStrong: function (C, NAME, IS_MAP) {\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    $iterDefine(C, NAME, function (iterated, kind) {\n      this._t = validate(iterated, NAME); // target\n      this._k = kind;                     // kind\n      this._l = undefined;                // previous\n    }, function () {\n      var that = this;\n      var kind = that._k;\n      var entry = that._l;\n      // revert to the last existing entry\n      while (entry && entry.r) entry = entry.p;\n      // get next entry\n      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n        // or finish the iteration\n        that._t = undefined;\n        return step(1);\n      }\n      // return step by kind\n      if (kind == 'keys') return step(0, entry.k);\n      if (kind == 'values') return step(0, entry.v);\n      return step(0, [entry.k, entry.v]);\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(NAME);\n  }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n  return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n  this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n  return arrayFind(store.a, function (it) {\n    return it[0] === key;\n  });\n};\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.a.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = arrayFindIndex(this.a, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.a.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;      // collection type\n      that._i = id++;      // collection id\n      that._l = undefined; // leak store for uncaught frozen objects\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n        return data && $has(data, this._i) && delete data[this._i];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n        return data && $has(data, this._i);\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var data = getWeak(anObject(key), true);\n    if (data === true) uncaughtFrozenStore(that).set(key, value);\n    else data[that._i] = value;\n    return that;\n  },\n  ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n  var Base = global[NAME];\n  var C = Base;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var proto = C && C.prototype;\n  var O = {};\n  var fixMethod = function (KEY) {\n    var fn = proto[KEY];\n    redefine(proto, KEY,\n      KEY == 'delete' ? function (a) {\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'has' ? function has(a) {\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'get' ? function get(a) {\n        return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n        : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n    );\n  };\n  if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n    new C().entries().next();\n  }))) {\n    // create collection constructor\n    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n    redefineAll(C.prototype, methods);\n    meta.NEED = true;\n  } else {\n    var instance = new C();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~  Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new C();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n    if (!ACCEPT_ITERABLES) {\n      C = wrapper(function (target, iterable) {\n        anInstance(target, C, NAME);\n        var that = inheritIfRequired(new Base(), target, C);\n        if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n        return that;\n      });\n      C.prototype = proto;\n      proto.constructor = C;\n    }\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n    // weak collections should not contains .clear method\n    if (IS_WEAK && proto.clear) delete proto.clear;\n  }\n\n  setToStringTag(C, NAME);\n\n  O[NAME] = C;\n  $export($export.G + $export.W + $export.F * (C != Base), O);\n\n  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n  return C;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n  return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n  return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n  $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n  if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n  var d = this;\n  var y = d.getUTCFullYear();\n  var m = d.getUTCMilliseconds();\n  var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n  return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n    '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n    'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n    ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n  if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n  return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n  var key, own, out, exp;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    // export native or passed\n    out = (own ? target : source)[key];\n    // bind timers to global for call from export context\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // extend global\n    if (target) redefine(target, key, out, type & $export.U);\n    // export\n    if (exports[key] != out) hide(exports, key, exp);\n    if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n  }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n  var re = /./;\n  try {\n    '/./'[KEY](re);\n  } catch (e) {\n    try {\n      re[MATCH] = false;\n      return !'/./'[KEY](re);\n    } catch (f) { /* empty */ }\n  } return true;\n};\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  // #replace needs built-in support for named groups.\n  // #match works fine because it just return the exec results, even if it has\n  // a \"grops\" property.\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n  // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n  var SYMBOL = wks(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n    re.exec = function () { execCalled = true; return null; };\n    if (KEY === 'split') {\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n    }\n    re[SYMBOL]('');\n    return !execCalled;\n  }) : undefined;\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var fns = exec(\n      defined,\n      SYMBOL,\n      ''[KEY],\n      function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n        if (regexp.exec === regexpExec) {\n          if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n            // The native String method already delegates to @@method (this\n            // polyfilled function), leasing to infinite recursion.\n            // We avoid it by directly calling the native @@method method.\n            return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n          }\n          return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n        }\n        return { done: false };\n      }\n    );\n    var strfn = fns[0];\n    var rxfn = fns[1];\n\n    redefine(String.prototype, KEY, strfn);\n    hide(RegExp.prototype, SYMBOL, length == 2\n      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n      // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n      ? function (string, arg) { return rxfn.call(string, this, arg); }\n      // 21.2.5.6 RegExp.prototype[@@match](string)\n      // 21.2.5.9 RegExp.prototype[@@search](string)\n      : function (string) { return rxfn.call(string, this); }\n    );\n  }\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n  var targetIndex = start;\n  var sourceIndex = 0;\n  var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n  var element, spreadable;\n\n  while (sourceIndex < sourceLen) {\n    if (sourceIndex in source) {\n      element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n      spreadable = false;\n      if (isObject(element)) {\n        spreadable = element[IS_CONCAT_SPREADABLE];\n        spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n      }\n\n      if (spreadable && depth > 0) {\n        targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n      } else {\n        if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n        target[targetIndex] = element;\n      }\n\n      targetIndex++;\n    }\n    sourceIndex++;\n  }\n  return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n  var S = target.constructor;\n  var P;\n  if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n    setPrototypeOf(that, P);\n  } return that;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n  // Old FF bug\n  || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n  // Tor Browser bug\n  || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n  return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n  return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n  var $abs = Math.abs(x);\n  var $sign = sign(x);\n  var a, result;\n  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n  a = (1 + EPSILON32 / EPSILON) * $abs;\n  result = a - (a - $abs);\n  // eslint-disable-next-line no-self-compare\n  if (result > MAX32 || result != result) return $sign * Infinity;\n  return $sign * result;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n  return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n  // eslint-disable-next-line no-self-compare\n  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || isEnum.call(O, key)) {\n        result.push(isEntries ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n  var keys = gOPN.f(anObject(it));\n  var getSymbols = gOPS.f;\n  return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n  var string = $trim(String(str), 3);\n  var result = $parseFloat(string);\n  return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n  var string = $trim(String(str), 3);\n  return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","module.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) redefine(target, key, src[key], safe);\n  return target;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n  return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n  var isFunction = typeof val == 'function';\n  if (isFunction) has(val, 'name') || hide(val, 'name', key);\n  if (O[key] === val) return;\n  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if (O === global) {\n    O[key] = val;\n  } else if (!safe) {\n    delete O[key];\n    hide(O, key, val);\n  } else if (O[key]) {\n    O[key] = val;\n  } else {\n    hide(O, key, val);\n  }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (typeof exec === 'function') {\n    var result = exec.call(R, S);\n    if (typeof result !== 'object') {\n      throw new TypeError('RegExp exec method returned something other than an Object or null');\n    }\n    return result;\n  }\n  if (classof(R) !== 'RegExp') {\n    throw new TypeError('RegExp#exec called on incompatible receiver');\n  }\n  return builtinExec.call(R, S);\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/,\n      re2 = /b*/g;\n  nativeExec.call(re1, 'a');\n  nativeExec.call(re2, 'a');\n  return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n  patchedExec = function exec(str) {\n    var re = this;\n    var lastIndex, reCopy, match, i;\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n    match = nativeExec.call(re, str);\n\n    if (UPDATES_LAST_INDEX_WRONG && match) {\n      re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      // eslint-disable-next-line no-loop-func\n      nativeReplace.call(match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n  // eslint-disable-next-line no-self-compare\n  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call\n    arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n  });\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n  if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n  return String(defined(that));\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n  var S = String(defined(string));\n  var p1 = '<' + tag;\n  if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n  var O = {};\n  O[NAME] = exec(createHTML);\n  $export($export.P + $export.F * fails(function () {\n    var test = ''[NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  }), 'String', O);\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n  var S = String(defined(that));\n  var stringLength = S.length;\n  var fillStr = fillString === undefined ? ' ' : String(fillString);\n  var intMaxLength = toLength(maxLength);\n  if (intMaxLength <= stringLength || fillStr == '') return S;\n  var fillLen = intMaxLength - stringLength;\n  var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n  if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n  return left ? stringFiller + S : S + stringFiller;\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n  var str = String(defined(this));\n  var res = '';\n  var n = toInteger(count);\n  if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n  return res;\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n  var exp = {};\n  var FORCE = fails(function () {\n    return !!spaces[KEY]() || non[KEY]() != non;\n  });\n  var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n  if (ALIAS) exp[ALIAS] = fn;\n  $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n  string = String(defined(string));\n  if (TYPE & 1) string = string.replace(ltrim, '');\n  if (TYPE & 2) string = string.replace(rtrim, '');\n  return string;\n};\n\nmodule.exports = exporter;\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n  '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (require('./_cof')(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n  if (it === undefined) return 0;\n  var number = toInteger(it);\n  var length = toLength(number);\n  if (number !== length) throw RangeError('Wrong length!');\n  return length;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nif (require('./_descriptors')) {\n  var LIBRARY = require('./_library');\n  var global = require('./_global');\n  var fails = require('./_fails');\n  var $export = require('./_export');\n  var $typed = require('./_typed');\n  var $buffer = require('./_typed-buffer');\n  var ctx = require('./_ctx');\n  var anInstance = require('./_an-instance');\n  var propertyDesc = require('./_property-desc');\n  var hide = require('./_hide');\n  var redefineAll = require('./_redefine-all');\n  var toInteger = require('./_to-integer');\n  var toLength = require('./_to-length');\n  var toIndex = require('./_to-index');\n  var toAbsoluteIndex = require('./_to-absolute-index');\n  var toPrimitive = require('./_to-primitive');\n  var has = require('./_has');\n  var classof = require('./_classof');\n  var isObject = require('./_is-object');\n  var toObject = require('./_to-object');\n  var isArrayIter = require('./_is-array-iter');\n  var create = require('./_object-create');\n  var getPrototypeOf = require('./_object-gpo');\n  var gOPN = require('./_object-gopn').f;\n  var getIterFn = require('./core.get-iterator-method');\n  var uid = require('./_uid');\n  var wks = require('./_wks');\n  var createArrayMethod = require('./_array-methods');\n  var createArrayIncludes = require('./_array-includes');\n  var speciesConstructor = require('./_species-constructor');\n  var ArrayIterators = require('./es6.array.iterator');\n  var Iterators = require('./_iterators');\n  var $iterDetect = require('./_iter-detect');\n  var setSpecies = require('./_set-species');\n  var arrayFill = require('./_array-fill');\n  var arrayCopyWithin = require('./_array-copy-within');\n  var $DP = require('./_object-dp');\n  var $GOPD = require('./_object-gopd');\n  var dP = $DP.f;\n  var gOPD = $GOPD.f;\n  var RangeError = global.RangeError;\n  var TypeError = global.TypeError;\n  var Uint8Array = global.Uint8Array;\n  var ARRAY_BUFFER = 'ArrayBuffer';\n  var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n  var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n  var PROTOTYPE = 'prototype';\n  var ArrayProto = Array[PROTOTYPE];\n  var $ArrayBuffer = $buffer.ArrayBuffer;\n  var $DataView = $buffer.DataView;\n  var arrayForEach = createArrayMethod(0);\n  var arrayFilter = createArrayMethod(2);\n  var arraySome = createArrayMethod(3);\n  var arrayEvery = createArrayMethod(4);\n  var arrayFind = createArrayMethod(5);\n  var arrayFindIndex = createArrayMethod(6);\n  var arrayIncludes = createArrayIncludes(true);\n  var arrayIndexOf = createArrayIncludes(false);\n  var arrayValues = ArrayIterators.values;\n  var arrayKeys = ArrayIterators.keys;\n  var arrayEntries = ArrayIterators.entries;\n  var arrayLastIndexOf = ArrayProto.lastIndexOf;\n  var arrayReduce = ArrayProto.reduce;\n  var arrayReduceRight = ArrayProto.reduceRight;\n  var arrayJoin = ArrayProto.join;\n  var arraySort = ArrayProto.sort;\n  var arraySlice = ArrayProto.slice;\n  var arrayToString = ArrayProto.toString;\n  var arrayToLocaleString = ArrayProto.toLocaleString;\n  var ITERATOR = wks('iterator');\n  var TAG = wks('toStringTag');\n  var TYPED_CONSTRUCTOR = uid('typed_constructor');\n  var DEF_CONSTRUCTOR = uid('def_constructor');\n  var ALL_CONSTRUCTORS = $typed.CONSTR;\n  var TYPED_ARRAY = $typed.TYPED;\n  var VIEW = $typed.VIEW;\n  var WRONG_LENGTH = 'Wrong length!';\n\n  var $map = createArrayMethod(1, function (O, length) {\n    return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n  });\n\n  var LITTLE_ENDIAN = fails(function () {\n    // eslint-disable-next-line no-undef\n    return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n  });\n\n  var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n    new Uint8Array(1).set({});\n  });\n\n  var toOffset = function (it, BYTES) {\n    var offset = toInteger(it);\n    if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n    return offset;\n  };\n\n  var validate = function (it) {\n    if (isObject(it) && TYPED_ARRAY in it) return it;\n    throw TypeError(it + ' is not a typed array!');\n  };\n\n  var allocate = function (C, length) {\n    if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n      throw TypeError('It is not a typed array constructor!');\n    } return new C(length);\n  };\n\n  var speciesFromList = function (O, list) {\n    return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n  };\n\n  var fromList = function (C, list) {\n    var index = 0;\n    var length = list.length;\n    var result = allocate(C, length);\n    while (length > index) result[index] = list[index++];\n    return result;\n  };\n\n  var addGetter = function (it, key, internal) {\n    dP(it, key, { get: function () { return this._d[internal]; } });\n  };\n\n  var $from = function from(source /* , mapfn, thisArg */) {\n    var O = toObject(source);\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var iterFn = getIterFn(O);\n    var i, length, values, result, step, iterator;\n    if (iterFn != undefined && !isArrayIter(iterFn)) {\n      for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n        values.push(step.value);\n      } O = values;\n    }\n    if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n    for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n      result[i] = mapping ? mapfn(O[i], i) : O[i];\n    }\n    return result;\n  };\n\n  var $of = function of(/* ...items */) {\n    var index = 0;\n    var length = arguments.length;\n    var result = allocate(this, length);\n    while (length > index) result[index] = arguments[index++];\n    return result;\n  };\n\n  // iOS Safari 6.x fails here\n  var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n  var $toLocaleString = function toLocaleString() {\n    return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n  };\n\n  var proto = {\n    copyWithin: function copyWithin(target, start /* , end */) {\n      return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    every: function every(callbackfn /* , thisArg */) {\n      return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n      return arrayFill.apply(validate(this), arguments);\n    },\n    filter: function filter(callbackfn /* , thisArg */) {\n      return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n        arguments.length > 1 ? arguments[1] : undefined));\n    },\n    find: function find(predicate /* , thisArg */) {\n      return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    findIndex: function findIndex(predicate /* , thisArg */) {\n      return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    forEach: function forEach(callbackfn /* , thisArg */) {\n      arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    indexOf: function indexOf(searchElement /* , fromIndex */) {\n      return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    includes: function includes(searchElement /* , fromIndex */) {\n      return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    join: function join(separator) { // eslint-disable-line no-unused-vars\n      return arrayJoin.apply(validate(this), arguments);\n    },\n    lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n      return arrayLastIndexOf.apply(validate(this), arguments);\n    },\n    map: function map(mapfn /* , thisArg */) {\n      return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n      return arrayReduce.apply(validate(this), arguments);\n    },\n    reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n      return arrayReduceRight.apply(validate(this), arguments);\n    },\n    reverse: function reverse() {\n      var that = this;\n      var length = validate(that).length;\n      var middle = Math.floor(length / 2);\n      var index = 0;\n      var value;\n      while (index < middle) {\n        value = that[index];\n        that[index++] = that[--length];\n        that[length] = value;\n      } return that;\n    },\n    some: function some(callbackfn /* , thisArg */) {\n      return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    sort: function sort(comparefn) {\n      return arraySort.call(validate(this), comparefn);\n    },\n    subarray: function subarray(begin, end) {\n      var O = validate(this);\n      var length = O.length;\n      var $begin = toAbsoluteIndex(begin, length);\n      return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n        O.buffer,\n        O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n        toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n      );\n    }\n  };\n\n  var $slice = function slice(start, end) {\n    return speciesFromList(this, arraySlice.call(validate(this), start, end));\n  };\n\n  var $set = function set(arrayLike /* , offset */) {\n    validate(this);\n    var offset = toOffset(arguments[1], 1);\n    var length = this.length;\n    var src = toObject(arrayLike);\n    var len = toLength(src.length);\n    var index = 0;\n    if (len + offset > length) throw RangeError(WRONG_LENGTH);\n    while (index < len) this[offset + index] = src[index++];\n  };\n\n  var $iterators = {\n    entries: function entries() {\n      return arrayEntries.call(validate(this));\n    },\n    keys: function keys() {\n      return arrayKeys.call(validate(this));\n    },\n    values: function values() {\n      return arrayValues.call(validate(this));\n    }\n  };\n\n  var isTAIndex = function (target, key) {\n    return isObject(target)\n      && target[TYPED_ARRAY]\n      && typeof key != 'symbol'\n      && key in target\n      && String(+key) == String(key);\n  };\n  var $getDesc = function getOwnPropertyDescriptor(target, key) {\n    return isTAIndex(target, key = toPrimitive(key, true))\n      ? propertyDesc(2, target[key])\n      : gOPD(target, key);\n  };\n  var $setDesc = function defineProperty(target, key, desc) {\n    if (isTAIndex(target, key = toPrimitive(key, true))\n      && isObject(desc)\n      && has(desc, 'value')\n      && !has(desc, 'get')\n      && !has(desc, 'set')\n      // TODO: add validation descriptor w/o calling accessors\n      && !desc.configurable\n      && (!has(desc, 'writable') || desc.writable)\n      && (!has(desc, 'enumerable') || desc.enumerable)\n    ) {\n      target[key] = desc.value;\n      return target;\n    } return dP(target, key, desc);\n  };\n\n  if (!ALL_CONSTRUCTORS) {\n    $GOPD.f = $getDesc;\n    $DP.f = $setDesc;\n  }\n\n  $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n    getOwnPropertyDescriptor: $getDesc,\n    defineProperty: $setDesc\n  });\n\n  if (fails(function () { arrayToString.call({}); })) {\n    arrayToString = arrayToLocaleString = function toString() {\n      return arrayJoin.call(this);\n    };\n  }\n\n  var $TypedArrayPrototype$ = redefineAll({}, proto);\n  redefineAll($TypedArrayPrototype$, $iterators);\n  hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n  redefineAll($TypedArrayPrototype$, {\n    slice: $slice,\n    set: $set,\n    constructor: function () { /* noop */ },\n    toString: arrayToString,\n    toLocaleString: $toLocaleString\n  });\n  addGetter($TypedArrayPrototype$, 'buffer', 'b');\n  addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n  addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n  addGetter($TypedArrayPrototype$, 'length', 'e');\n  dP($TypedArrayPrototype$, TAG, {\n    get: function () { return this[TYPED_ARRAY]; }\n  });\n\n  // eslint-disable-next-line max-statements\n  module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n    CLAMPED = !!CLAMPED;\n    var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n    var GETTER = 'get' + KEY;\n    var SETTER = 'set' + KEY;\n    var TypedArray = global[NAME];\n    var Base = TypedArray || {};\n    var TAC = TypedArray && getPrototypeOf(TypedArray);\n    var FORCED = !TypedArray || !$typed.ABV;\n    var O = {};\n    var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n    var getter = function (that, index) {\n      var data = that._d;\n      return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n    };\n    var setter = function (that, index, value) {\n      var data = that._d;\n      if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n      data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n    };\n    var addElement = function (that, index) {\n      dP(that, index, {\n        get: function () {\n          return getter(this, index);\n        },\n        set: function (value) {\n          return setter(this, index, value);\n        },\n        enumerable: true\n      });\n    };\n    if (FORCED) {\n      TypedArray = wrapper(function (that, data, $offset, $length) {\n        anInstance(that, TypedArray, NAME, '_d');\n        var index = 0;\n        var offset = 0;\n        var buffer, byteLength, length, klass;\n        if (!isObject(data)) {\n          length = toIndex(data);\n          byteLength = length * BYTES;\n          buffer = new $ArrayBuffer(byteLength);\n        } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n          buffer = data;\n          offset = toOffset($offset, BYTES);\n          var $len = data.byteLength;\n          if ($length === undefined) {\n            if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n            byteLength = $len - offset;\n            if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n          } else {\n            byteLength = toLength($length) * BYTES;\n            if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n          }\n          length = byteLength / BYTES;\n        } else if (TYPED_ARRAY in data) {\n          return fromList(TypedArray, data);\n        } else {\n          return $from.call(TypedArray, data);\n        }\n        hide(that, '_d', {\n          b: buffer,\n          o: offset,\n          l: byteLength,\n          e: length,\n          v: new $DataView(buffer)\n        });\n        while (index < length) addElement(that, index++);\n      });\n      TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n      hide(TypedArrayPrototype, 'constructor', TypedArray);\n    } else if (!fails(function () {\n      TypedArray(1);\n    }) || !fails(function () {\n      new TypedArray(-1); // eslint-disable-line no-new\n    }) || !$iterDetect(function (iter) {\n      new TypedArray(); // eslint-disable-line no-new\n      new TypedArray(null); // eslint-disable-line no-new\n      new TypedArray(1.5); // eslint-disable-line no-new\n      new TypedArray(iter); // eslint-disable-line no-new\n    }, true)) {\n      TypedArray = wrapper(function (that, data, $offset, $length) {\n        anInstance(that, TypedArray, NAME);\n        var klass;\n        // `ws` module bug, temporarily remove validation length for Uint8Array\n        // https://github.com/websockets/ws/pull/645\n        if (!isObject(data)) return new Base(toIndex(data));\n        if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n          return $length !== undefined\n            ? new Base(data, toOffset($offset, BYTES), $length)\n            : $offset !== undefined\n              ? new Base(data, toOffset($offset, BYTES))\n              : new Base(data);\n        }\n        if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n        return $from.call(TypedArray, data);\n      });\n      arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n        if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n      });\n      TypedArray[PROTOTYPE] = TypedArrayPrototype;\n      if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n    }\n    var $nativeIterator = TypedArrayPrototype[ITERATOR];\n    var CORRECT_ITER_NAME = !!$nativeIterator\n      && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n    var $iterator = $iterators.values;\n    hide(TypedArray, TYPED_CONSTRUCTOR, true);\n    hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n    hide(TypedArrayPrototype, VIEW, true);\n    hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n    if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n      dP(TypedArrayPrototype, TAG, {\n        get: function () { return NAME; }\n      });\n    }\n\n    O[NAME] = TypedArray;\n\n    $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n    $export($export.S, NAME, {\n      BYTES_PER_ELEMENT: BYTES\n    });\n\n    $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n      from: $from,\n      of: $of\n    });\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n    $export($export.P, NAME, proto);\n\n    setSpecies(NAME);\n\n    $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n    $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n    if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n    $export($export.P + $export.F * fails(function () {\n      new TypedArray(1).slice();\n    }), NAME, { slice: $slice });\n\n    $export($export.P + $export.F * (fails(function () {\n      return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n    }) || !fails(function () {\n      TypedArrayPrototype.toLocaleString.call([1, 2]);\n    })), NAME, { toLocaleString: $toLocaleString });\n\n    Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n    if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n  };\n} else module.exports = function () { /* empty */ };\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n  var buffer = new Array(nBytes);\n  var eLen = nBytes * 8 - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n  var i = 0;\n  var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n  var e, m, c;\n  value = abs(value);\n  // eslint-disable-next-line no-self-compare\n  if (value != value || value === Infinity) {\n    // eslint-disable-next-line no-self-compare\n    m = value != value ? 1 : 0;\n    e = eMax;\n  } else {\n    e = floor(log(value) / LN2);\n    if (value * (c = pow(2, -e)) < 1) {\n      e--;\n      c *= 2;\n    }\n    if (e + eBias >= 1) {\n      value += rt / c;\n    } else {\n      value += rt * pow(2, 1 - eBias);\n    }\n    if (value * c >= 2) {\n      e++;\n      c /= 2;\n    }\n    if (e + eBias >= eMax) {\n      m = 0;\n      e = eMax;\n    } else if (e + eBias >= 1) {\n      m = (value * c - 1) * pow(2, mLen);\n      e = e + eBias;\n    } else {\n      m = value * pow(2, eBias - 1) * pow(2, mLen);\n      e = 0;\n    }\n  }\n  for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n  e = e << mLen | m;\n  eLen += mLen;\n  for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n  buffer[--i] |= s * 128;\n  return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n  var eLen = nBytes * 8 - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var nBits = eLen - 7;\n  var i = nBytes - 1;\n  var s = buffer[i--];\n  var e = s & 127;\n  var m;\n  s >>= 7;\n  for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n  m = e & (1 << -nBits) - 1;\n  e >>= -nBits;\n  nBits += mLen;\n  for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n  if (e === 0) {\n    e = 1 - eBias;\n  } else if (e === eMax) {\n    return m ? NaN : s ? -Infinity : Infinity;\n  } else {\n    m = m + pow(2, mLen);\n    e = e - eBias;\n  } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n  return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n  return [it & 0xff];\n}\nfunction packI16(it) {\n  return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n  return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n  return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n  return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n  dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n  var numIndex = +index;\n  var intIndex = toIndex(numIndex);\n  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n  var store = view[$BUFFER]._b;\n  var start = intIndex + view[$OFFSET];\n  var pack = store.slice(start, start + bytes);\n  return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n  var numIndex = +index;\n  var intIndex = toIndex(numIndex);\n  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n  var store = view[$BUFFER]._b;\n  var start = intIndex + view[$OFFSET];\n  var pack = conversion(+value);\n  for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n  $ArrayBuffer = function ArrayBuffer(length) {\n    anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n    var byteLength = toIndex(length);\n    this._b = arrayFill.call(new Array(byteLength), 0);\n    this[$LENGTH] = byteLength;\n  };\n\n  $DataView = function DataView(buffer, byteOffset, byteLength) {\n    anInstance(this, $DataView, DATA_VIEW);\n    anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n    var bufferLength = buffer[$LENGTH];\n    var offset = toInteger(byteOffset);\n    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n    this[$BUFFER] = buffer;\n    this[$OFFSET] = offset;\n    this[$LENGTH] = byteLength;\n  };\n\n  if (DESCRIPTORS) {\n    addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n    addGetter($DataView, BUFFER, '_b');\n    addGetter($DataView, BYTE_LENGTH, '_l');\n    addGetter($DataView, BYTE_OFFSET, '_o');\n  }\n\n  redefineAll($DataView[PROTOTYPE], {\n    getInt8: function getInt8(byteOffset) {\n      return get(this, 1, byteOffset)[0] << 24 >> 24;\n    },\n    getUint8: function getUint8(byteOffset) {\n      return get(this, 1, byteOffset)[0];\n    },\n    getInt16: function getInt16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments[1]);\n      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n    },\n    getUint16: function getUint16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments[1]);\n      return bytes[1] << 8 | bytes[0];\n    },\n    getInt32: function getInt32(byteOffset /* , littleEndian */) {\n      return unpackI32(get(this, 4, byteOffset, arguments[1]));\n    },\n    getUint32: function getUint32(byteOffset /* , littleEndian */) {\n      return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n    },\n    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n    },\n    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n    },\n    setInt8: function setInt8(byteOffset, value) {\n      set(this, 1, byteOffset, packI8, value);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      set(this, 1, byteOffset, packI8, value);\n    },\n    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packI16, value, arguments[2]);\n    },\n    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packI16, value, arguments[2]);\n    },\n    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packI32, value, arguments[2]);\n    },\n    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packI32, value, arguments[2]);\n    },\n    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packF32, value, arguments[2]);\n    },\n    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n      set(this, 8, byteOffset, packF64, value, arguments[2]);\n    }\n  });\n} else {\n  if (!fails(function () {\n    $ArrayBuffer(1);\n  }) || !fails(function () {\n    new $ArrayBuffer(-1); // eslint-disable-line no-new\n  }) || fails(function () {\n    new $ArrayBuffer(); // eslint-disable-line no-new\n    new $ArrayBuffer(1.5); // eslint-disable-line no-new\n    new $ArrayBuffer(NaN); // eslint-disable-line no-new\n    return $ArrayBuffer.name != ARRAY_BUFFER;\n  })) {\n    $ArrayBuffer = function ArrayBuffer(length) {\n      anInstance(this, $ArrayBuffer);\n      return new BaseBuffer(toIndex(length));\n    };\n    var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n    for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n      if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n    }\n    if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n  }\n  // iOS Safari 7.x bug\n  var view = new $DataView(new $ArrayBuffer(2));\n  var $setInt8 = $DataView[PROTOTYPE].setInt8;\n  view.setInt8(0, 2147483648);\n  view.setInt8(1, 2147483649);\n  if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n    setInt8: function setInt8(byteOffset, value) {\n      $setInt8.call(this, byteOffset, value << 24 >> 24);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      $setInt8.call(this, byteOffset, value << 24 >> 24);\n    }\n  }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n  'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n  if (Typed = global[TypedArrayConstructors[i++]]) {\n    hide(Typed.prototype, TYPED, true);\n    hide(Typed.prototype, VIEW, true);\n  } else CONSTR = false;\n}\n\nmodule.exports = {\n  ABV: ABV,\n  CONSTR: CONSTR,\n  TYPED: TYPED,\n  VIEW: VIEW\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n  return it;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n  // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n  every: function every(callbackfn /* , thisArg */) {\n    return $every(this, callbackfn, arguments[1]);\n  }\n});\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n  // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  findIndex: function findIndex(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  find: function find(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n  // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n  forEach: function forEach(callbackfn /* , thisArg */) {\n    return $forEach(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n    return NEGATIVE_ZERO\n      // convert -0 to +0\n      ? $native.apply(this, arguments) || 0\n      : $indexOf(this, searchElement, arguments[1]);\n  }\n});\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n  join: function join(separator) {\n    return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n  lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n    // convert -0 to +0\n    if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n    var O = toIObject(this);\n    var length = toLength(O.length);\n    var index = length - 1;\n    if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n    if (index < 0) index = length + index;\n    for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n    return -1;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n  // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n  function F() { /* empty */ }\n  return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n  // 22.1.2.3 Array.of( ...items)\n  of: function of(/* ...args */) {\n    var index = 0;\n    var aLen = arguments.length;\n    var result = new (typeof this == 'function' ? this : Array)(aLen);\n    while (aLen > index) createProperty(result, index, arguments[index++]);\n    result.length = aLen;\n    return result;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n  // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n  reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n    return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n  // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n  reduce: function reduce(callbackfn /* , initialValue */) {\n    return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n  if (html) arraySlice.call(html);\n}), 'Array', {\n  slice: function slice(begin, end) {\n    var len = toLength(this.length);\n    var klass = cof(this);\n    end = end === undefined ? len : end;\n    if (klass == 'Array') return arraySlice.call(this, begin, end);\n    var start = toAbsoluteIndex(begin, len);\n    var upTo = toAbsoluteIndex(end, len);\n    var size = toLength(upTo - start);\n    var cloned = new Array(size);\n    var i = 0;\n    for (; i < size; i++) cloned[i] = klass == 'String'\n      ? this.charAt(start + i)\n      : this[start + i];\n    return cloned;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n  // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n  some: function some(callbackfn /* , thisArg */) {\n    return $some(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n  // IE8-\n  test.sort(undefined);\n}) || !fails(function () {\n  // V8 bug\n  test.sort(null);\n  // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n  // 22.1.3.25 Array.prototype.sort(comparefn)\n  sort: function sort(comparefn) {\n    return comparefn === undefined\n      ? $sort.call(toObject(this))\n      : $sort.call(toObject(this), aFunction(comparefn));\n  }\n});\n","require('./_set-species')('Array');\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n  toISOString: toISOString\n});\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n  return new Date(NaN).toJSON() !== null\n    || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n  // eslint-disable-next-line no-unused-vars\n  toJSON: function toJSON(key) {\n    var O = toObject(this);\n    var pv = toPrimitive(O);\n    return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n  }\n});\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n  require('./_redefine')(DateProto, TO_STRING, function toString() {\n    var value = getTime.call(this);\n    // eslint-disable-next-line no-self-compare\n    return value === value ? $toString.call(this) : INVALID_DATE;\n  });\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n  if (typeof this != 'function' || !isObject(O)) return false;\n  if (!isObject(this.prototype)) return O instanceof this;\n  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n  while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n  return false;\n} });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n  configurable: true,\n  get: function () {\n    try {\n      return ('' + this).match(nameRE)[1];\n    } catch (e) {\n      return '';\n    }\n  }\n});\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.1.3.6 Map.prototype.get(key)\n  get: function get(key) {\n    var entry = strong.getEntry(validate(this, MAP), key);\n    return entry && entry.v;\n  },\n  // 23.1.3.9 Map.prototype.set(key, value)\n  set: function set(key, value) {\n    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n  }\n}, strong, true);\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n  && Math.floor($acosh(Number.MAX_VALUE)) == 710\n  // Tor Browser bug: Math.acosh(Infinity) -> NaN\n  && $acosh(Infinity) == Infinity\n), 'Math', {\n  acosh: function acosh(x) {\n    return (x = +x) < 1 ? NaN : x > 94906265.62425156\n      ? Math.log(x) + Math.LN2\n      : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n  }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n  return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n  atanh: function atanh(x) {\n    return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n  }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n  cbrt: function cbrt(x) {\n    return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n  }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  clz32: function clz32(x) {\n    return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n  }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n  cosh: function cosh(x) {\n    return (exp(x = +x) + exp(-x)) / 2;\n  }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n  hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n    var sum = 0;\n    var i = 0;\n    var aLen = arguments.length;\n    var larg = 0;\n    var arg, div;\n    while (i < aLen) {\n      arg = abs(arguments[i++]);\n      if (larg < arg) {\n        div = larg / arg;\n        sum = sum * div * div + 1;\n        larg = arg;\n      } else if (arg > 0) {\n        div = arg / larg;\n        sum += div * div;\n      } else sum += arg;\n    }\n    return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n  }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n  return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n  imul: function imul(x, y) {\n    var UINT16 = 0xffff;\n    var xn = +x;\n    var yn = +y;\n    var xl = UINT16 & xn;\n    var yl = UINT16 & yn;\n    return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n  }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log10: function log10(x) {\n    return Math.log(x) * Math.LOG10E;\n  }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log2: function log2(x) {\n    return Math.log(x) / Math.LN2;\n  }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n  return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n  sinh: function sinh(x) {\n    return Math.abs(x = +x) < 1\n      ? (expm1(x) - expm1(-x)) / 2\n      : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n  }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n  tanh: function tanh(x) {\n    var a = expm1(x = +x);\n    var b = expm1(-x);\n    return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n  }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  trunc: function trunc(it) {\n    return (it > 0 ? Math.floor : Math.ceil)(it);\n  }\n});\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, false);\n  if (typeof it == 'string' && it.length > 2) {\n    it = TRIM ? it.trim() : $trim(it, 3);\n    var first = it.charCodeAt(0);\n    var third, radix, maxCode;\n    if (first === 43 || first === 45) {\n      third = it.charCodeAt(2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (it.charCodeAt(1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n        default: return +it;\n      }\n      for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n        code = digits.charCodeAt(i);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if (code < 48 || code > maxCode) return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n  $Number = function Number(value) {\n    var it = arguments.length < 1 ? 0 : value;\n    var that = this;\n    return that instanceof $Number\n      // check on 1..constructor(foo) case\n      && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n        ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n  };\n  for (var keys = require('./_descriptors') ? gOPN(Base) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES6 (in case, if modules with ES6 Number statics required before):\n    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n  ).split(','), j = 0, key; keys.length > j; j++) {\n    if (has(Base, key = keys[j]) && !has($Number, key)) {\n      dP($Number, key, gOPD(Base, key));\n    }\n  }\n  $Number.prototype = proto;\n  proto.constructor = $Number;\n  require('./_redefine')(global, NUMBER, $Number);\n}\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n  isFinite: function isFinite(it) {\n    return typeof it == 'number' && _isFinite(it);\n  }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n  isNaN: function isNaN(number) {\n    // eslint-disable-next-line no-self-compare\n    return number != number;\n  }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n  isSafeInteger: function isSafeInteger(number) {\n    return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n  }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n  var i = -1;\n  var c2 = c;\n  while (++i < 6) {\n    c2 += n * data[i];\n    data[i] = c2 % 1e7;\n    c2 = floor(c2 / 1e7);\n  }\n};\nvar divide = function (n) {\n  var i = 6;\n  var c = 0;\n  while (--i >= 0) {\n    c += data[i];\n    data[i] = floor(c / n);\n    c = (c % n) * 1e7;\n  }\n};\nvar numToString = function () {\n  var i = 6;\n  var s = '';\n  while (--i >= 0) {\n    if (s !== '' || i === 0 || data[i] !== 0) {\n      var t = String(data[i]);\n      s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n    }\n  } return s;\n};\nvar pow = function (x, n, acc) {\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n  var n = 0;\n  var x2 = x;\n  while (x2 >= 4096) {\n    n += 12;\n    x2 /= 4096;\n  }\n  while (x2 >= 2) {\n    n += 1;\n    x2 /= 2;\n  } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n  0.00008.toFixed(3) !== '0.000' ||\n  0.9.toFixed(0) !== '1' ||\n  1.255.toFixed(2) !== '1.25' ||\n  1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n  // V8 ~ Android 4.3-\n  $toFixed.call({});\n})), 'Number', {\n  toFixed: function toFixed(fractionDigits) {\n    var x = aNumberValue(this, ERROR);\n    var f = toInteger(fractionDigits);\n    var s = '';\n    var m = ZERO;\n    var e, z, j, k;\n    if (f < 0 || f > 20) throw RangeError(ERROR);\n    // eslint-disable-next-line no-self-compare\n    if (x != x) return 'NaN';\n    if (x <= -1e21 || x >= 1e21) return String(x);\n    if (x < 0) {\n      s = '-';\n      x = -x;\n    }\n    if (x > 1e-21) {\n      e = log(x * pow(2, 69, 1)) - 69;\n      z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if (e > 0) {\n        multiply(0, z);\n        j = f;\n        while (j >= 7) {\n          multiply(1e7, 0);\n          j -= 7;\n        }\n        multiply(pow(10, j, 1), 0);\n        j = e - 1;\n        while (j >= 23) {\n          divide(1 << 23);\n          j -= 23;\n        }\n        divide(1 << j);\n        multiply(1, 1);\n        divide(2);\n        m = numToString();\n      } else {\n        multiply(0, z);\n        multiply(1 << -e, 0);\n        m = numToString() + repeat.call(ZERO, f);\n      }\n    }\n    if (f > 0) {\n      k = m.length;\n      m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n    } else {\n      m = s + m;\n    } return m;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n  // IE7-\n  return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n  // V8 ~ Android 4.3-\n  $toPrecision.call({});\n})), 'Number', {\n  toPrecision: function toPrecision(precision) {\n    var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n    return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n  }\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n  return function freeze(it) {\n    return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n  };\n});\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n  return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n  return function isExtensible(it) {\n    return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n  };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n  return function isFrozen(it) {\n    return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n  };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n  return function isSealed(it) {\n    return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n  };\n});\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n  return function preventExtensions(it) {\n    return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n  };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n  return function seal(it) {\n    return $seal && isObject(it) ? $seal(meta(it)) : it;\n  };\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n  require('./_redefine')(Object.prototype, 'toString', function toString() {\n    return '[object ' + classof(this) + ']';\n  }, true);\n}\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n  rApply(function () { /* empty */ });\n}), 'Reflect', {\n  apply: function apply(target, thisArgument, argumentsList) {\n    var T = aFunction(target);\n    var L = anObject(argumentsList);\n    return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n  }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n  function F() { /* empty */ }\n  return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n  rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n  construct: function construct(Target, args /* , newTarget */) {\n    aFunction(Target);\n    anObject(args);\n    var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n    if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n    if (Target == newTarget) {\n      // w/o altered newTarget, optimization for 0-4 arguments\n      switch (args.length) {\n        case 0: return new Target();\n        case 1: return new Target(args[0]);\n        case 2: return new Target(args[0], args[1]);\n        case 3: return new Target(args[0], args[1], args[2]);\n        case 4: return new Target(args[0], args[1], args[2], args[3]);\n      }\n      // w/o altered newTarget, lot of arguments case\n      var $args = [null];\n      $args.push.apply($args, args);\n      return new (bind.apply(Target, $args))();\n    }\n    // with altered newTarget, not support built-in constructors\n    var proto = newTarget.prototype;\n    var instance = create(isObject(proto) ? proto : Object.prototype);\n    var result = Function.apply.call(Target, instance, args);\n    return isObject(result) ? result : instance;\n  }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n  // eslint-disable-next-line no-undef\n  Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n  defineProperty: function defineProperty(target, propertyKey, attributes) {\n    anObject(target);\n    propertyKey = toPrimitive(propertyKey, true);\n    anObject(attributes);\n    try {\n      dP.f(target, propertyKey, attributes);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  deleteProperty: function deleteProperty(target, propertyKey) {\n    var desc = gOPD(anObject(target), propertyKey);\n    return desc && !desc.configurable ? false : delete target[propertyKey];\n  }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n  this._t = anObject(iterated); // target\n  this._i = 0;                  // next index\n  var keys = this._k = [];      // keys\n  var key;\n  for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n  var that = this;\n  var keys = that._k;\n  var key;\n  do {\n    if (that._i >= keys.length) return { value: undefined, done: true };\n  } while (!((key = keys[that._i++]) in that._t));\n  return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n  enumerate: function enumerate(target) {\n    return new Enumerate(target);\n  }\n});\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n    return gOPD.f(anObject(target), propertyKey);\n  }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getPrototypeOf: function getPrototypeOf(target) {\n    return getProto(anObject(target));\n  }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n  var receiver = arguments.length < 3 ? target : arguments[2];\n  var desc, proto;\n  if (anObject(target) === receiver) return target[propertyKey];\n  if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n    ? desc.value\n    : desc.get !== undefined\n      ? desc.get.call(receiver)\n      : undefined;\n  if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n  has: function has(target, propertyKey) {\n    return propertyKey in target;\n  }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n  isExtensible: function isExtensible(target) {\n    anObject(target);\n    return $isExtensible ? $isExtensible(target) : true;\n  }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n  preventExtensions: function preventExtensions(target) {\n    anObject(target);\n    try {\n      if ($preventExtensions) $preventExtensions(target);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n  setPrototypeOf: function setPrototypeOf(target, proto) {\n    setProto.check(target, proto);\n    try {\n      setProto.set(target, proto);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n  var receiver = arguments.length < 4 ? target : arguments[3];\n  var ownDesc = gOPD.f(anObject(target), propertyKey);\n  var existingDescriptor, proto;\n  if (!ownDesc) {\n    if (isObject(proto = getPrototypeOf(target))) {\n      return set(proto, propertyKey, V, receiver);\n    }\n    ownDesc = createDesc(0);\n  }\n  if (has(ownDesc, 'value')) {\n    if (ownDesc.writable === false || !isObject(receiver)) return false;\n    if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n      if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n      existingDescriptor.value = V;\n      dP.f(receiver, propertyKey, existingDescriptor);\n    } else dP.f(receiver, propertyKey, createDesc(0, V));\n    return true;\n  }\n  return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n  re2[require('./_wks')('match')] = false;\n  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n  return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n  $RegExp = function RegExp(p, f) {\n    var tiRE = this instanceof $RegExp;\n    var piRE = isRegExp(p);\n    var fiU = f === undefined;\n    return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n      : inheritIfRequired(CORRECT_NEW\n        ? new Base(piRE && !fiU ? p.source : p, f)\n        : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n      , tiRE ? this : proto, $RegExp);\n  };\n  var proxy = function (key) {\n    key in $RegExp || dP($RegExp, key, {\n      configurable: true,\n      get: function () { return Base[key]; },\n      set: function (it) { Base[key] = it; }\n    });\n  };\n  for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n  proto.constructor = $RegExp;\n  $RegExp.prototype = proto;\n  require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n  target: 'RegExp',\n  proto: true,\n  forced: regexpExec !== /./.exec\n}, {\n  exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n  configurable: true,\n  get: require('./_flags')\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = defined(this);\n      var fn = regexp == undefined ? undefined : regexp[MATCH];\n      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n    function (regexp) {\n      var res = maybeCallNative($match, regexp, this);\n      if (res.done) return res.value;\n      var rx = anObject(regexp);\n      var S = String(this);\n      if (!rx.global) return regExpExec(rx, S);\n      var fullUnicode = rx.unicode;\n      rx.lastIndex = 0;\n      var A = [];\n      var n = 0;\n      var result;\n      while ((result = regExpExec(rx, S)) !== null) {\n        var matchStr = String(result[0]);\n        A[n] = matchStr;\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n        n++;\n      }\n      return n === 0 ? null : A;\n    }\n  ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = defined(this);\n      var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n      return fn !== undefined\n        ? fn.call(searchValue, O, replaceValue)\n        : $replace.call(String(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n    function (regexp, replaceValue) {\n      var res = maybeCallNative($replace, regexp, this, replaceValue);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var functionalReplace = typeof replaceValue === 'function';\n      if (!functionalReplace) replaceValue = String(replaceValue);\n      var global = rx.global;\n      if (global) {\n        var fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n      var results = [];\n      while (true) {\n        var result = regExpExec(rx, S);\n        if (result === null) break;\n        results.push(result);\n        if (!global) break;\n        var matchStr = String(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n        var matched = String(result[0]);\n        var position = max(min(toInteger(result.index), S.length), 0);\n        var captures = [];\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = [matched].concat(captures, position, S);\n          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n          var replacement = String(replaceValue.apply(undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n      return accumulatedResult + S.slice(nextSourcePosition);\n    }\n  ];\n\n    // https://tc39.github.io/ecma262/#sec-getsubstitution\n  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n    var tailPos = position + matched.length;\n    var m = captures.length;\n    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n    if (namedCaptures !== undefined) {\n      namedCaptures = toObject(namedCaptures);\n      symbols = SUBSTITUTION_SYMBOLS;\n    }\n    return $replace.call(replacement, symbols, function (match, ch) {\n      var capture;\n      switch (ch.charAt(0)) {\n        case '$': return '$';\n        case '&': return matched;\n        case '`': return str.slice(0, position);\n        case \"'\": return str.slice(tailPos);\n        case '<':\n          capture = namedCaptures[ch.slice(1, -1)];\n          break;\n        default: // \\d\\d?\n          var n = +ch;\n          if (n === 0) return match;\n          if (n > m) {\n            var f = floor(n / 10);\n            if (f === 0) return match;\n            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n            return match;\n          }\n          capture = captures[n - 1];\n      }\n      return capture === undefined ? '' : capture;\n    });\n  }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n  return [\n    // `String.prototype.search` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.search\n    function search(regexp) {\n      var O = defined(this);\n      var fn = regexp == undefined ? undefined : regexp[SEARCH];\n      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n    },\n    // `RegExp.prototype[@@search]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n    function (regexp) {\n      var res = maybeCallNative($search, regexp, this);\n      if (res.done) return res.value;\n      var rx = anObject(regexp);\n      var S = String(this);\n      var previousLastIndex = rx.lastIndex;\n      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n      var result = regExpExec(rx, S);\n      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n      return result === null ? -1 : result.index;\n    }\n  ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n  var internalSplit;\n  if (\n    'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n    'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n    'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n    '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n    '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n    ''[$SPLIT](/.?/)[LENGTH]\n  ) {\n    // based on es5-shim implementation, need to rework it\n    internalSplit = function (separator, limit) {\n      var string = String(this);\n      if (separator === undefined && limit === 0) return [];\n      // If `separator` is not a regex, use native split\n      if (!isRegExp(separator)) return $split.call(string, separator, limit);\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var match, lastIndex, lastLength;\n      while (match = regexpExec.call(separatorCopy, string)) {\n        lastIndex = separatorCopy[LAST_INDEX];\n        if (lastIndex > lastLastIndex) {\n          output.push(string.slice(lastLastIndex, match.index));\n          if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n          lastLength = match[0][LENGTH];\n          lastLastIndex = lastIndex;\n          if (output[LENGTH] >= splitLimit) break;\n        }\n        if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n      }\n      if (lastLastIndex === string[LENGTH]) {\n        if (lastLength || !separatorCopy.test('')) output.push('');\n      } else output.push(string.slice(lastLastIndex));\n      return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n    };\n  // Chakra, V8\n  } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n    };\n  } else {\n    internalSplit = $split;\n  }\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = defined(this);\n      var splitter = separator == undefined ? undefined : separator[SPLIT];\n      return splitter !== undefined\n        ? splitter.call(separator, O, limit)\n        : internalSplit.call(String(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (regexp, limit) {\n      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var C = speciesConstructor(rx, RegExp);\n\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (SUPPORTS_Y ? 'y' : 'g');\n\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = SUPPORTS_Y ? q : 0;\n        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n        var e;\n        if (\n          z === null ||\n          (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          A.push(S.slice(p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            A.push(z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      A.push(S.slice(p));\n      return A;\n    }\n  ];\n});\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n  require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n  define(function toString() {\n    var R = anObject(this);\n    return '/'.concat(R.source, '/',\n      'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n  });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n  define(function toString() {\n    return $toString.call(this);\n  });\n}\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n  return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.2.3.1 Set.prototype.add(value)\n  add: function add(value) {\n    return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n  }\n}, strong);\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n  return function anchor(name) {\n    return createHTML(this, 'a', 'name', name);\n  };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n  return function big() {\n    return createHTML(this, 'big', '', '');\n  };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n  return function blink() {\n    return createHTML(this, 'blink', '', '');\n  };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n  return function bold() {\n    return createHTML(this, 'b', '', '');\n  };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n  // 21.1.3.3 String.prototype.codePointAt(pos)\n  codePointAt: function codePointAt(pos) {\n    return $at(this, pos);\n  }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n    var that = context(this, searchString, ENDS_WITH);\n    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n    var len = toLength(that.length);\n    var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n    var search = String(searchString);\n    return $endsWith\n      ? $endsWith.call(that, search, end)\n      : that.slice(end - search.length, end) === search;\n  }\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n  return function fixed() {\n    return createHTML(this, 'tt', '', '');\n  };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n  return function fontcolor(color) {\n    return createHTML(this, 'font', 'color', color);\n  };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n  return function fontsize(size) {\n    return createHTML(this, 'font', 'size', size);\n  };\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n  // 21.1.2.2 String.fromCodePoint(...codePoints)\n  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n    var res = [];\n    var aLen = arguments.length;\n    var i = 0;\n    var code;\n    while (aLen > i) {\n      code = +arguments[i++];\n      if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n      res.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n      );\n    } return res.join('');\n  }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~context(this, searchString, INCLUDES)\n      .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n  return function italics() {\n    return createHTML(this, 'i', '', '');\n  };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n  return function link(url) {\n    return createHTML(this, 'a', 'href', url);\n  };\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n  // 21.1.2.4 String.raw(callSite, ...substitutions)\n  raw: function raw(callSite) {\n    var tpl = toIObject(callSite.raw);\n    var len = toLength(tpl.length);\n    var aLen = arguments.length;\n    var res = [];\n    var i = 0;\n    while (len > i) {\n      res.push(String(tpl[i++]));\n      if (i < aLen) res.push(String(arguments[i]));\n    } return res.join('');\n  }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n  // 21.1.3.13 String.prototype.repeat(count)\n  repeat: require('./_string-repeat')\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n  return function small() {\n    return createHTML(this, 'small', '', '');\n  };\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = context(this, searchString, STARTS_WITH);\n    var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return $startsWith\n      ? $startsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n  return function strike() {\n    return createHTML(this, 'strike', '', '');\n  };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n  return function sub() {\n    return createHTML(this, 'sub', '', '');\n  };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n  return function sup() {\n    return createHTML(this, 'sup', '', '');\n  };\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n  return function trim() {\n    return $trim(this, 3);\n  };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n  // 24.1.3.1 ArrayBuffer.isView(arg)\n  isView: function isView(it) {\n    return $isView && $isView(it) || isObject(it) && VIEW in it;\n  }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n  return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n  // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n  slice: function slice(start, end) {\n    if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n    var len = anObject(this).byteLength;\n    var first = toAbsoluteIndex(start, len);\n    var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n    var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n    var viewS = new $DataView(this);\n    var viewT = new $DataView(result);\n    var index = 0;\n    while (first < fin) {\n      viewT.setUint8(index++, viewS.getUint8(first++));\n    } return result;\n  }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n  DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n  return function Float32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n  return function Float64Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int16', 2, function (init) {\n  return function Int16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n  return function Int32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n  return function Int8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n  return function Uint16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n  return function Uint32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n  return function Uint8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n  return function Uint8ClampedArray(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n}, true);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n  return function WeakMap() {\n    return get(this, arguments.length > 0 ? arguments[0] : undefined);\n  };\n};\n\nvar methods = {\n  // 23.3.3.3 WeakMap.prototype.get(key)\n  get: function get(key) {\n    if (isObject(key)) {\n      var data = getWeak(key);\n      if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n      return data ? data[this._i] : undefined;\n    }\n  },\n  // 23.3.3.5 WeakMap.prototype.set(key, value)\n  set: function set(key, value) {\n    return weak.def(validate(this, WEAK_MAP), key, value);\n  }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n  assign(InternalMap.prototype, methods);\n  meta.NEED = true;\n  each(['delete', 'has', 'get', 'set'], function (key) {\n    var proto = $WeakMap.prototype;\n    var method = proto[key];\n    redefine(proto, key, function (a, b) {\n      // store frozen objects on internal weakmap shim\n      if (isObject(a) && !isExtensible(a)) {\n        if (!this._f) this._f = new InternalMap();\n        var result = this._f[key](a, b);\n        return key == 'set' ? this : result;\n      // store all the rest on native weakmap\n      } return method.call(this, a, b);\n    });\n  });\n}\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n  return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.4.3.1 WeakSet.prototype.add(value)\n  add: function add(value) {\n    return weak.def(validate(this, WEAK_SET), value, true);\n  }\n}, weak, false, true);\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar aFunction = require('./_a-function');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n  flatMap: function flatMap(callbackfn /* , thisArg */) {\n    var O = toObject(this);\n    var sourceLen, A;\n    aFunction(callbackfn);\n    sourceLen = toLength(O.length);\n    A = arraySpeciesCreate(O, 0);\n    flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n    return A;\n  }\n});\n\nrequire('./_add-to-unscopables')('flatMap');\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n    var O = toIObject(object);\n    var getDesc = gOPD.f;\n    var keys = ownKeys(O);\n    var result = {};\n    var i = 0;\n    var key, desc;\n    while (keys.length > i) {\n      desc = getDesc(O, key = keys[i++]);\n      if (desc !== undefined) createProperty(result, key, desc);\n    }\n    return result;\n  }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n  values: function values(it) {\n    return $values(it);\n  }\n});\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n  }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n  padStart: function padStart(maxLength /* , fillString = ' ' */) {\n    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n  }\n});\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function ($trim) {\n  return function trimLeft() {\n    return $trim(this, 1);\n  };\n}, 'trimStart');\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function ($trim) {\n  return function trimRight() {\n    return $trim(this, 2);\n  };\n}, 'trimEnd');\n","require('./_wks-define')('asyncIterator');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n  CSSRuleList: true, // TODO: Not spec compliant, should be false.\n  CSSStyleDeclaration: false,\n  CSSValueList: false,\n  ClientRectList: false,\n  DOMRectList: false,\n  DOMStringList: false,\n  DOMTokenList: true,\n  DataTransferItemList: false,\n  FileList: false,\n  HTMLAllCollection: false,\n  HTMLCollection: false,\n  HTMLFormElement: false,\n  HTMLSelectElement: false,\n  MediaList: true, // TODO: Not spec compliant, should be false.\n  MimeTypeArray: false,\n  NamedNodeMap: false,\n  NodeList: true,\n  PaintRequestList: false,\n  Plugin: false,\n  PluginArray: false,\n  SVGLengthList: false,\n  SVGNumberList: false,\n  SVGPathSegList: false,\n  SVGPointList: false,\n  SVGStringList: false,\n  SVGTransformList: false,\n  SourceBufferList: false,\n  StyleSheetList: true, // TODO: Not spec compliant, should be false.\n  TextTrackCueList: false,\n  TextTrackList: false,\n  TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n  var NAME = collections[i];\n  var explicit = DOMIterables[NAME];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  var key;\n  if (proto) {\n    if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n    if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n    Iterators[NAME] = ArrayValues;\n    if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n  }\n}\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n  setImmediate: $task.set,\n  clearImmediate: $task.clear\n});\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n  return function (fn, time /* , ...args */) {\n    var boundArgs = arguments.length > 2;\n    var args = boundArgs ? slice.call(arguments, 2) : false;\n    return set(boundArgs ? function () {\n      // eslint-disable-next-line no-new-func\n      (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n    } : fn, time);\n  };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n  setTimeout: wrap(global.setTimeout),\n  setInterval: wrap(global.setInterval)\n});\n","require('../modules/web.timers');\nrequire('../modules/web.immediate');\nrequire('../modules/web.dom.iterable');\nmodule.exports = require('../modules/_core');\n","(function() {\n  var base64map\n      = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n  crypt = {\n    // Bit-wise rotation left\n    rotl: function(n, b) {\n      return (n << b) | (n >>> (32 - b));\n    },\n\n    // Bit-wise rotation right\n    rotr: function(n, b) {\n      return (n << (32 - b)) | (n >>> b);\n    },\n\n    // Swap big-endian to little-endian and vice versa\n    endian: function(n) {\n      // If number given, swap endian\n      if (n.constructor == Number) {\n        return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n      }\n\n      // Else, assume array and swap all items\n      for (var i = 0; i < n.length; i++)\n        n[i] = crypt.endian(n[i]);\n      return n;\n    },\n\n    // Generate an array of any length of random bytes\n    randomBytes: function(n) {\n      for (var bytes = []; n > 0; n--)\n        bytes.push(Math.floor(Math.random() * 256));\n      return bytes;\n    },\n\n    // Convert a byte array to big-endian 32-bit words\n    bytesToWords: function(bytes) {\n      for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n        words[b >>> 5] |= bytes[i] << (24 - b % 32);\n      return words;\n    },\n\n    // Convert big-endian 32-bit words to a byte array\n    wordsToBytes: function(words) {\n      for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n        bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a hex string\n    bytesToHex: function(bytes) {\n      for (var hex = [], i = 0; i < bytes.length; i++) {\n        hex.push((bytes[i] >>> 4).toString(16));\n        hex.push((bytes[i] & 0xF).toString(16));\n      }\n      return hex.join('');\n    },\n\n    // Convert a hex string to a byte array\n    hexToBytes: function(hex) {\n      for (var bytes = [], c = 0; c < hex.length; c += 2)\n        bytes.push(parseInt(hex.substr(c, 2), 16));\n      return bytes;\n    },\n\n    // Convert a byte array to a base-64 string\n    bytesToBase64: function(bytes) {\n      for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n        var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n        for (var j = 0; j < 4; j++)\n          if (i * 8 + j * 6 <= bytes.length * 8)\n            base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n          else\n            base64.push('=');\n      }\n      return base64.join('');\n    },\n\n    // Convert a base-64 string to a byte array\n    base64ToBytes: function(base64) {\n      // Remove non-base-64 characters\n      base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n      for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n          imod4 = ++i % 4) {\n        if (imod4 == 0) continue;\n        bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n            & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n            | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n      }\n      return bytes;\n    }\n  };\n\n  module.exports = crypt;\n})();\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n\\n/*!\\n * Pikaday\\n * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/\\n */\\n\\n.pika-single {\\n    z-index: 9999;\\n    display: block;\\n    position: relative;\\n    color: #333;\\n    background: #fff;\\n    border: 1px solid #ccc;\\n    border-bottom-color: #bbb;\\n    font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n/*\\nclear child float (pika-lendar), using the famous micro clearfix hack\\nhttp://nicolasgallagher.com/micro-clearfix-hack/\\n*/\\n.pika-single:before,\\n.pika-single:after {\\n    content: \\\" \\\";\\n    display: table;\\n}\\n.pika-single:after { clear: both }\\n\\n.pika-single.is-hidden {\\n    display: none;\\n}\\n\\n.pika-single.is-bound {\\n    position: absolute;\\n    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);\\n}\\n\\n.pika-lendar {\\n    float: left;\\n    width: 240px;\\n    margin: 8px;\\n}\\n\\n.pika-title {\\n    position: relative;\\n    text-align: center;\\n}\\n\\n.pika-label {\\n    display: inline-block;\\n    position: relative;\\n    z-index: 9999;\\n    overflow: hidden;\\n    margin: 0;\\n    padding: 5px 3px;\\n    font-size: 14px;\\n    line-height: 20px;\\n    font-weight: bold;\\n    background-color: #fff;\\n}\\n.pika-title select {\\n    cursor: pointer;\\n    position: absolute;\\n    z-index: 9998;\\n    margin: 0;\\n    left: 0;\\n    top: 5px;\\n    opacity: 0;\\n}\\n\\n.pika-prev,\\n.pika-next {\\n    display: block;\\n    cursor: pointer;\\n    position: relative;\\n    outline: none;\\n    border: 0;\\n    padding: 0;\\n    width: 20px;\\n    height: 30px;\\n    /* hide text using text-indent trick, using width value (it's enough) */\\n    text-indent: 20px;\\n    white-space: nowrap;\\n    overflow: hidden;\\n    background-color: transparent;\\n    background-position: center center;\\n    background-repeat: no-repeat;\\n    background-size: 75% 75%;\\n    opacity: .5;\\n}\\n\\n.pika-prev:hover,\\n.pika-next:hover {\\n    opacity: 1;\\n}\\n\\n.pika-prev,\\n.is-rtl .pika-next {\\n    float: left;\\n    background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n}\\n\\n.pika-next,\\n.is-rtl .pika-prev {\\n    float: right;\\n    background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\n}\\n\\n.pika-prev.is-disabled,\\n.pika-next.is-disabled {\\n    cursor: default;\\n    opacity: .2;\\n}\\n\\n.pika-select {\\n    display: inline-block;\\n}\\n\\n.pika-table {\\n    width: 100%;\\n    border-collapse: collapse;\\n    border-spacing: 0;\\n    border: 0;\\n}\\n\\n.pika-table th,\\n.pika-table td {\\n    width: 14.285714285714286%;\\n    padding: 0;\\n}\\n\\n.pika-table th {\\n    color: #999;\\n    font-size: 12px;\\n    line-height: 25px;\\n    font-weight: bold;\\n    text-align: center;\\n}\\n\\n.pika-button {\\n    cursor: pointer;\\n    display: block;\\n    box-sizing: border-box;\\n    -moz-box-sizing: border-box;\\n    outline: none;\\n    border: 0;\\n    margin: 0;\\n    width: 100%;\\n    padding: 5px;\\n    color: #666;\\n    font-size: 12px;\\n    line-height: 15px;\\n    text-align: right;\\n    background: #f5f5f5;\\n    height: initial;\\n}\\n\\n.pika-week {\\n    font-size: 11px;\\n    color: #999;\\n}\\n\\n.is-today .pika-button {\\n    color: #33aaff;\\n    font-weight: bold;\\n}\\n\\n.is-selected .pika-button,\\n.has-event .pika-button {\\n    color: #fff;\\n    font-weight: bold;\\n    background: #33aaff;\\n    box-shadow: inset 0 1px 3px #178fe5;\\n    border-radius: 3px;\\n}\\n\\n.has-event .pika-button {\\n    background: #005da9;\\n    box-shadow: inset 0 1px 3px #0076c9;\\n}\\n\\n.is-disabled .pika-button,\\n.is-inrange .pika-button {\\n    background: #D5E9F7;\\n}\\n\\n.is-startrange .pika-button {\\n    color: #fff;\\n    background: #6CB31D;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n.is-endrange .pika-button {\\n    color: #fff;\\n    background: #33aaff;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n.is-disabled .pika-button {\\n    pointer-events: none;\\n    cursor: default;\\n    color: #999;\\n    opacity: .3;\\n}\\n\\n.is-outside-current-month .pika-button {\\n    color: #999;\\n    opacity: .3;\\n}\\n\\n.is-selection-disabled {\\n    pointer-events: none;\\n    cursor: default;\\n}\\n\\n.pika-button:hover,\\n.pika-row.pick-whole-week:hover .pika-button {\\n    color: #fff;\\n    background: #ff8000;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n/* styling for abbr */\\n.pika-table abbr {\\n    border-bottom: none;\\n    cursor: help;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/ka-components/node_modules/pikaday/css/pikaday.css\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;;AAEhB;;;EAGE;;AAEF;IACI,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,WAAW;IACX,gBAAgB;IAChB,sBAAsB;IACtB,yBAAyB;IACzB,2DAA2D;AAC/D;;AAEA;;;CAGC;AACD;;IAEI,YAAY;IACZ,cAAc;AAClB;AACA,qBAAqB,YAAY;;AAEjC;IACI,aAAa;AACjB;;AAEA;IACI,kBAAkB;IAClB,0CAA0C;AAC9C;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,WAAW;AACf;;AAEA;IACI,kBAAkB;IAClB,kBAAkB;AACtB;;AAEA;IACI,qBAAqB;IACrB,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;AAC1B;AACA;IACI,eAAe;IACf,kBAAkB;IAClB,aAAa;IACb,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;AACd;;AAEA;;IAEI,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,aAAa;IACb,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;IACZ,uEAAuE;IACvE,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,6BAA6B;IAC7B,kCAAkC;IAClC,4BAA4B;IAC5B,wBAAwB;IACxB,WAAW;AACf;;AAEA;;IAEI,UAAU;AACd;;AAEA;;IAEI,WAAW;IACX,yDAA2O;AAC/O;;AAEA;;IAEI,YAAY;IACZ,yDAA2O;AAC/O;;AAEA;;IAEI,eAAe;IACf,WAAW;AACf;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,WAAW;IACX,yBAAyB;IACzB,iBAAiB;IACjB,SAAS;AACb;;AAEA;;IAEI,0BAA0B;IAC1B,UAAU;AACd;;AAEA;IACI,WAAW;IACX,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,eAAe;IACf,cAAc;IACd,sBAAsB;IACtB,2BAA2B;IAC3B,aAAa;IACb,SAAS;IACT,SAAS;IACT,WAAW;IACX,YAAY;IACZ,WAAW;IACX,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,WAAW;AACf;;AAEA;IACI,cAAc;IACd,iBAAiB;AACrB;;AAEA;;IAEI,WAAW;IACX,iBAAiB;IACjB,mBAAmB;IACnB,mCAAmC;IACnC,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;IACnB,mCAAmC;AACvC;;AAEA;;IAEI,mBAAmB;AACvB;;AAEA;IACI,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,oBAAoB;IACpB,eAAe;IACf,WAAW;IACX,WAAW;AACf;;AAEA;IACI,WAAW;IACX,WAAW;AACf;;AAEA;IACI,oBAAoB;IACpB,eAAe;AACnB;;AAEA;;IAEI,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA,qBAAqB;AACrB;IACI,mBAAmB;IACnB,YAAY;AAChB\",\"sourcesContent\":[\"@charset \\\"UTF-8\\\";\\n\\n/*!\\n * Pikaday\\n * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/\\n */\\n\\n.pika-single {\\n    z-index: 9999;\\n    display: block;\\n    position: relative;\\n    color: #333;\\n    background: #fff;\\n    border: 1px solid #ccc;\\n    border-bottom-color: #bbb;\\n    font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n/*\\nclear child float (pika-lendar), using the famous micro clearfix hack\\nhttp://nicolasgallagher.com/micro-clearfix-hack/\\n*/\\n.pika-single:before,\\n.pika-single:after {\\n    content: \\\" \\\";\\n    display: table;\\n}\\n.pika-single:after { clear: both }\\n\\n.pika-single.is-hidden {\\n    display: none;\\n}\\n\\n.pika-single.is-bound {\\n    position: absolute;\\n    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);\\n}\\n\\n.pika-lendar {\\n    float: left;\\n    width: 240px;\\n    margin: 8px;\\n}\\n\\n.pika-title {\\n    position: relative;\\n    text-align: center;\\n}\\n\\n.pika-label {\\n    display: inline-block;\\n    position: relative;\\n    z-index: 9999;\\n    overflow: hidden;\\n    margin: 0;\\n    padding: 5px 3px;\\n    font-size: 14px;\\n    line-height: 20px;\\n    font-weight: bold;\\n    background-color: #fff;\\n}\\n.pika-title select {\\n    cursor: pointer;\\n    position: absolute;\\n    z-index: 9998;\\n    margin: 0;\\n    left: 0;\\n    top: 5px;\\n    opacity: 0;\\n}\\n\\n.pika-prev,\\n.pika-next {\\n    display: block;\\n    cursor: pointer;\\n    position: relative;\\n    outline: none;\\n    border: 0;\\n    padding: 0;\\n    width: 20px;\\n    height: 30px;\\n    /* hide text using text-indent trick, using width value (it's enough) */\\n    text-indent: 20px;\\n    white-space: nowrap;\\n    overflow: hidden;\\n    background-color: transparent;\\n    background-position: center center;\\n    background-repeat: no-repeat;\\n    background-size: 75% 75%;\\n    opacity: .5;\\n}\\n\\n.pika-prev:hover,\\n.pika-next:hover {\\n    opacity: 1;\\n}\\n\\n.pika-prev,\\n.is-rtl .pika-next {\\n    float: left;\\n    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');\\n}\\n\\n.pika-next,\\n.is-rtl .pika-prev {\\n    float: right;\\n    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');\\n}\\n\\n.pika-prev.is-disabled,\\n.pika-next.is-disabled {\\n    cursor: default;\\n    opacity: .2;\\n}\\n\\n.pika-select {\\n    display: inline-block;\\n}\\n\\n.pika-table {\\n    width: 100%;\\n    border-collapse: collapse;\\n    border-spacing: 0;\\n    border: 0;\\n}\\n\\n.pika-table th,\\n.pika-table td {\\n    width: 14.285714285714286%;\\n    padding: 0;\\n}\\n\\n.pika-table th {\\n    color: #999;\\n    font-size: 12px;\\n    line-height: 25px;\\n    font-weight: bold;\\n    text-align: center;\\n}\\n\\n.pika-button {\\n    cursor: pointer;\\n    display: block;\\n    box-sizing: border-box;\\n    -moz-box-sizing: border-box;\\n    outline: none;\\n    border: 0;\\n    margin: 0;\\n    width: 100%;\\n    padding: 5px;\\n    color: #666;\\n    font-size: 12px;\\n    line-height: 15px;\\n    text-align: right;\\n    background: #f5f5f5;\\n    height: initial;\\n}\\n\\n.pika-week {\\n    font-size: 11px;\\n    color: #999;\\n}\\n\\n.is-today .pika-button {\\n    color: #33aaff;\\n    font-weight: bold;\\n}\\n\\n.is-selected .pika-button,\\n.has-event .pika-button {\\n    color: #fff;\\n    font-weight: bold;\\n    background: #33aaff;\\n    box-shadow: inset 0 1px 3px #178fe5;\\n    border-radius: 3px;\\n}\\n\\n.has-event .pika-button {\\n    background: #005da9;\\n    box-shadow: inset 0 1px 3px #0076c9;\\n}\\n\\n.is-disabled .pika-button,\\n.is-inrange .pika-button {\\n    background: #D5E9F7;\\n}\\n\\n.is-startrange .pika-button {\\n    color: #fff;\\n    background: #6CB31D;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n.is-endrange .pika-button {\\n    color: #fff;\\n    background: #33aaff;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n.is-disabled .pika-button {\\n    pointer-events: none;\\n    cursor: default;\\n    color: #999;\\n    opacity: .3;\\n}\\n\\n.is-outside-current-month .pika-button {\\n    color: #999;\\n    opacity: .3;\\n}\\n\\n.is-selection-disabled {\\n    pointer-events: none;\\n    cursor: default;\\n}\\n\\n.pika-button:hover,\\n.pika-row.pick-whole-week:hover .pika-button {\\n    color: #fff;\\n    background: #ff8000;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n/* styling for abbr */\\n.pika-table abbr {\\n    border-bottom: none;\\n    cursor: help;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.intents-dialog ux-dialog-body>.detail:first-letter{text-transform:capitalize}ux-dialog.intents-dialog ux-dialog-body>ul{list-style:none}ux-dialog.intents-dialog ux-dialog-body>ul li.intent+li.intent{margin-top:1rem}ux-dialog.intents-dialog ux-dialog-body>ul .intent{display:block;padding:1rem;border:1px solid #e0e0e0;background-color:#fff}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose{display:block}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate{color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate:hover{color:#404040}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject{list-style:none}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li{display:flex;justify-content:space-between;align-items:center;background:#f8f8f8}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li i.saved{color:#1cc800}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li i.not-saved{color:#f30}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li:not(:last-child){border-bottom:5px solid #fff}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject ka-control-file:hover .buttons{line-height:1}ux-dialog.intents-dialog ux-dialog-footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/dialogs/intents/intents.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6DD5bA,yBACI,CAAA,2CACJ,eACE,CAAA,+DACA,eACE,CAAA,mDACF,aACE,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,2DACA,aACE,CAAA,qEACA,aEjBM,CAAA,yBFmBJ,CAAA,cACA,CAAA,oBACA,CAAA,2EACA,aEvBC,CAAA,4EFyBD,oBC2BV,CAAA,WD1BiC,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC8BrD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sEDxCM,eACE,CAAA,yEACA,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,kBACA,CAAA,iFACA,aE5BE,CAAA,qFF8BF,UE/BA,CAAA,0FFiCF,4BACE,CAAA,qGAGF,aACE,CAAA,8DAGV,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.intents-dialog\\n  ux-dialog-body\\n    > .detail:first-letter\\n        text-transform: capitalize\\n    > ul\\n      list-style: none \\n      li.intent + li.intent\\n        margin-top: 1rem\\n      .intent\\n        display: block\\n        padding: 1rem\\n        border: 1px solid #e0e0e0\\n        background-color: #ffffff\\n        compose\\n          display: block\\n          .navigate\\n            color: $primary-color\\n            text-decoration: underline\\n            cursor: pointer\\n            transition: color .3s\\n            &:hover\\n              color: $text-color\\n            &:before\\n              @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $primary-color)\\n          > ul.subject\\n            list-style: none\\n            > li\\n              display: flex\\n              justify-content: space-between\\n              align-items: center\\n              background: #f8f8f8\\n              i.saved\\n                color: $success-color\\n              i.not-saved\\n                color: $error-color\\n            > li:not(:last-child)\\n              border-bottom: 5px solid #fff\\n\\n            // fix ka control file issue\\n            ka-control-file:hover .buttons\\n              line-height: 1\\n\\n  ux-dialog-footer\\n    ka-button + ka-button\\n      margin-left: 0\\n\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog{width:300px;position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;flex-direction:column;-ms-flex-direction:column;-moz-flex-direction:column;-webkit-flex-direction:column}ux-dialog .loginbox h1{margin:0 0 4rem;padding:0 0 2rem;border-bottom:1px solid #e0e0e0;font-size:1.2rem;font-weight:700;line-height:1;text-transform:uppercase}ux-dialog .loginbox p{margin:0 0 2rem 0}ux-dialog .loginbox p.errorMessage{margin:-2rem 0 2rem;color:red}ux-dialog .loginbox button,ux-dialog .loginbox ka-button{margin:0}ux-dialog .loginbox .reset{display:inline-block;padding:0 1rem;font-size:1.2rem;line-height:3rem;color:#909090;text-decoration:none}ux-dialog .loginbox .reset:hover{text-decoration:underline}ux-dialog .loginbox ka-input{margin-bottom:3rem}ux-dialog .loginbox img{margin:1rem 1rem 3rem;width:100%;max-width:250px}ux-dialog .loginbox canvas{display:block;margin:0 1rem 1rem;width:100%;max-width:250px}ux-dialog .loginbox .footer{margin:2rem -2rem -2rem;padding:2rem;text-align:right;background-color:rgba(237,90,35,.1)}ux-dialog .loginbox .footer p{margin:5px 0;line-height:1;text-align:right}ux-dialog .loginbox .footer p.title{margin-bottom:0;font-size:1.8rem;font-weight:300;color:#ed5a23}ux-dialog .loginbox .footer a{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/dialogs/intents/vms/login.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,UACE,WAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CACA,uBAAA,CACA,oBAAA,CACA,8BAAA,CACA,2BAAA,CACA,sBAAA,CACA,wBAAA,CACA,qBAAA,CACA,0BAAA,CACA,uBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yBAAA,CACA,0BAAA,CACA,6BAAA,CAEE,uBACE,eAAA,CACA,gBAAA,CACA,+BAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,wBAAA,CACF,sBACE,iBAAA,CACF,mCACE,mBAAA,CACA,SAAA,CAEF,yDACE,QAAA,CAEF,2BACE,oBAAA,CACA,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,oBAAA,CACA,iCACE,yBAAA,CAEJ,6BACE,kBAAA,CAIF,wBACE,qBAAA,CACA,UAAA,CACA,eAAA,CAEF,2BACE,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CAEF,4BACE,uBAAA,CACA,YAAA,CACA,gBAAA,CACA,mCAAA,CACA,8BACE,YAAA,CACA,aAAA,CACA,gBAAA,CACA,oCACE,eAAA,CACA,gBAAA,CACA,eAAA,CACA,aCxFM,CDyFV,8BACE,aC3FK\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog\\n  width: 300px\\n  position: absolute\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n  -webkit-box-pack: center\\n  -ms-flex-pack: center\\n  -webkit-justify-content: center\\n  -moz-justify-content: center\\n  justify-content: center\\n  -webkit-box-align: center\\n  -ms-flex-align: center\\n  -webkit-align-items: center\\n  -moz-align-items: center\\n  align-items: center\\n  flex-direction: column\\n  -ms-flex-direction: column\\n  -moz-flex-direction: column\\n  -webkit-flex-direction: column\\n  .loginbox\\n    h1\\n      margin: 0 0 4rem\\n      padding: 0 0 2rem\\n      border-bottom: 1px solid #e0e0e0\\n      font-size: 1.2rem\\n      font-weight: 700\\n      line-height: 1\\n      text-transform: uppercase\\n    p\\n      margin: 0 0 2rem 0\\n    p.errorMessage\\n      margin: -2rem 0 2rem\\n      color: red\\n\\n    button, ka-button\\n      margin: 0\\n\\n    .reset\\n      display: inline-block\\n      padding: 0 1rem\\n      font-size: 1.2rem\\n      line-height: 3rem\\n      color: #909090\\n      text-decoration: none\\n      &:hover\\n        text-decoration: underline\\n\\n    ka-input\\n      margin-bottom: 3rem\\n      button\\n        //display: none\\n    \\n    img\\n      margin: 1rem 1rem 3rem\\n      width: 100%\\n      max-width: 250px\\n          \\n    canvas\\n      display: block\\n      margin: 0 1rem 1rem\\n      width: 100%\\n      max-width: 250px\\n\\n    .footer\\n      margin: 2rem -2rem -2rem\\n      padding: 2rem\\n      text-align: right\\n      background-color: rgba($primary-color, 0.1)\\n      p\\n        margin: 5px 0\\n        line-height: 1\\n        text-align: right\\n        &.title\\n          margin-bottom: 0\\n          font-size: 1.8rem\\n          font-weight: 300\\n          color: $primary-color\\n      a\\n        color: $text-color\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}md-accordion-button{display:inline-block;margin:0 1rem;transform-style:preserve-3d;transform-origin:50% 50%;perspective:200px}md-accordion-button>div{position:relative;height:3rem;min-width:22rem;overflow:hidden;white-space:nowrap;transition:transform .5s ease-in;border-radius:3px;cursor:pointer;font-family:\\\"Roboto condensed\\\",sans-serif;font-weight:400;color:#11254b}md-accordion-button>div>span{display:flex;justify-content:center;align-items:center;height:100%;width:100%;overflow:hidden;background:rgba(17,37,75,.06);transition:background .5s,height 0s .25s}md-accordion-button>div:hover>span{background:rgba(17,37,75,.12)}md-accordion-button>div .collapse_text:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}md-accordion-button>div .expand_text:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}md-accordion-button>div .collapse_text{height:100%}md-accordion-button>div .expand_text{height:0;transform:rotateX(180deg)}md-accordion-button.collapsed>div{transform:rotateX(180deg)}md-accordion-button.collapsed>div .collapse_text{height:0}md-accordion-button.collapsed>div .expand_text{height:100%}.md_accordion_target{overflow:hidden;transition:height .4s ease-in .1s}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-accordion-button/md-accordion-button.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,oBD9bJ,oBACE,CAAA,aACA,CAAA,2BACA,CAAA,wBACA,CAAA,iBACA,CAAA,wBACA,iBACE,CAAA,WACA,CAAA,eACA,CAAA,eACA,CAAA,kBACA,CAAA,gCACA,CAAA,iBACA,CAAA,cACA,CAAA,yCACA,CAAA,eACA,CAAA,aEjBc,CAAA,6BFmBd,YACE,CAAA,sBACA,CAAA,kBACA,CAAA,WACA,CAAA,UACA,CAAA,eACA,CAAA,6BACA,CAAA,wCACA,CAAA,mCACF,6BACE,CAAA,8CACF,oBCoBF,CAAA,WDnByB,CAAA,iBAA4B,CAAA,gBAAR,CAAA,iBCuB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4CDjCA,oBCkBF,CAAA,WDjByB,CAAA,iBAA4B,CAAA,gBAAR,CAAA,iBCqB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uCD9BA,WACE,CAAA,qCACF,QACE,CAAA,yBACA,CAAA,kCAEJ,yBACE,CAAA,iDACA,QACE,CAAA,+CACF,WACE,CAAA,qBAEN,eACE,CAAA,iCACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nmd-accordion-button\\n  display: inline-block\\n  margin: 0 1rem\\n  transform-style: preserve-3d\\n  transform-origin: 50% 50%\\n  perspective: 200px\\n  > div\\n    position: relative\\n    height: 3rem\\n    min-width: 22rem\\n    overflow: hidden\\n    white-space: nowrap\\n    transition: transform .5s ease-in\\n    border-radius: 3px\\n    cursor: pointer\\n    font-family: 'Roboto condensed', sans-serif\\n    font-weight: 400\\n    color: $secondary-color\\n    > span\\n      display: flex\\n      justify-content: center\\n      align-items: center\\n      height: 100%\\n      width: 100%\\n      overflow: hidden\\n      background: rgba($secondary-color, .06)\\n      transition: background .5s, height 0s .25s\\n    &:hover > span\\n      background: rgba($secondary-color, .12)\\n    .collapse_text:before\\n      @include fontawesome(\\\"\\\\f341\\\", 'regular', 1.4rem, 0 1rem 0 0, $primary-color)\\n    .expand_text:before\\n      @include fontawesome(\\\"\\\\f345\\\", 'regular', 1.4rem, 0 1rem 0 0, $primary-color)\\n    \\n    .collapse_text\\n      height: 100%\\n    .expand_text\\n      height: 0\\n      transform: rotateX(180deg)\\n\\n  &.collapsed > div\\n    transform: rotateX(180deg)\\n    .collapse_text\\n      height: 0\\n    .expand_text\\n      height: 100%\\n\\n.md_accordion_target\\n  overflow: hidden\\n  transition: height .4s ease-in .1s\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}km-layout:not(.collapsed)+router-view md-counter{left:calc(50% + 15rem) !important}md-counter{position:fixed;top:50%;left:50%;z-index:1000;transition:all .5s;transform:translate(-50%, -50%)}md-counter #mdCounter{opacity:0}md-counter #mdCounter #mdCounterFooter{display:flex;justify-content:center;padding:1rem 0}md-counter #mdCounter #mdCounterFooter .closing{border:none;border-radius:.4rem;padding:.8rem 1rem;font-size:1.3rem;font-family:\\\"Roboto\\\",sans-serif;background:#11254b;color:#fff;cursor:pointer;transition:all .3s}md-counter #mdCounter #mdCounterFooter .closing:hover{transform:scale(1.05)}md-counter #mdCounter #mdCounterBody{display:flex;justify-content:center;flex-direction:column;position:relative;z-index:1000;height:100%;width:100%;min-width:32rem;border-radius:.7rem;color:#fff;padding:2rem 3rem;text-shadow:1px 1px 1px rgba(0,0,0,.5);background:linear-gradient(to bottom, #f07649, #ed5a23, #d64711);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}md-counter #mdCounter #mdCounterBody:before{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(255, 153, 0, 0.06) 0, rgba(255, 153, 0, 0.06) 1px, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 50%)}md-counter #mdCounter #mdCounterBody h3{display:block;width:100%;color:#fff;background:rgba(0,0,0,0);border:0;padding:0;margin:0 0 .5rem;line-height:1;font-size:3rem;font-weight:200;text-align:center;font-family:\\\"Roboto flex\\\",sans-serif}md-counter #mdCounter #mdCounterBody #mdCounterElement{font-size:8rem;font-weight:600;font-family:\\\"Roboto mono\\\",sans-serif}md-counter #mdCounter #mdCounterBody #mdCounterElement.two-zeros:before{content:\\\"00\\\"}md-counter #mdCounter #mdCounterBody .suffix{margin-left:.5rem;font-size:4rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/resources/elements/md-counter/md-counter.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,iDACE,iCAAA,CACJ,WACE,cAAA,CACA,OAAA,CACA,QAAA,CACA,YAAA,CACA,kBAAA,CACA,+BAAA,CACA,sBACE,SAAA,CACA,uCACE,YAAA,CACA,sBAAA,CACA,cAAA,CACA,gDACE,WAAA,CACA,mBAAA,CACA,kBAAA,CACA,gBAAA,CACA,+BAAA,CACA,kBCvBU,CDwBV,UAAA,CACA,cAAA,CACA,kBAAA,CACA,sDACE,qBAAA,CACN,qCACE,YAAA,CACA,sBAAA,CACA,qBAAA,CACA,iBAAA,CACA,YAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,sCAAA,CACA,gEAAA,CACA,yCAAA,CACA,4CACE,iBAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,KAAA,CACA,MAAA,CACA,uBAAA,CACA,mKAAA,CACF,wCACE,aAAA,CACA,UAAA,CACA,UAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,gBAAA,CACA,aAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,oCAAA,CACF,uDACE,cAAA,CACA,eAAA,CACA,oCAAA,CACA,wEACE,YAAA,CACJ,6CACE,iBAAA,CACA,cAAA,CACA,eAAA,CACA,yCAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nkm-layout:not(.collapsed) + router-view\\n  md-counter\\n    left: calc(50% + 15rem) !important\\nmd-counter\\n  position: fixed\\n  top: 50%\\n  left: 50%\\n  z-index: 1000\\n  transition: all .5s\\n  transform: translate(-50%,-50%)\\n  #mdCounter\\n    opacity: 0\\n    #mdCounterFooter\\n      display: flex\\n      justify-content: center\\n      padding: 1rem 0\\n      .closing\\n        border: none\\n        border-radius: .4rem\\n        padding: .8rem 1rem\\n        font-size: 1.3rem\\n        font-family: 'Roboto', sans-serif\\n        background: $secondary-color\\n        color: #fff\\n        cursor: pointer\\n        transition: all .3s\\n        &:hover\\n          transform: scale(1.05)\\n    #mdCounterBody\\n      display: flex\\n      justify-content: center\\n      flex-direction: column\\n      position: relative\\n      z-index: 1000\\n      height: 100%\\n      width: 100%\\n      min-width: 32rem\\n      border-radius: .7rem\\n      color: #fff\\n      padding: 2rem 3rem\\n      text-shadow: 1px 1px 1px rgba(#000, .5)\\n      background: linear-gradient(to bottom, lighten($primary-color, 8%), $primary-color, darken($primary-color, 8%))\\n      box-shadow: inset 0 0 0 1px rgba(#000, .2)\\n      &:before \\n        position: absolute\\n        content: ''\\n        height: 100%\\n        width: 100%\\n        top: 0\\n        left: 0\\n        background-size: 6px 6px\\n        background-image: repeating-linear-gradient(45deg, rgba($pending-color, .06) 0, rgba($pending-color, .06) 1px, rgba(#fff, .1) 0, rgba(#fff, .1) 50%)\\n      h3 \\n        display: block\\n        width: 100%\\n        color: #fff\\n        background: transparent\\n        border: 0\\n        padding: 0\\n        margin: 0 0 .5rem\\n        line-height: 1\\n        font-size: 3rem\\n        font-weight: 200\\n        text-align: center\\n        font-family: 'Roboto flex', sans-serif \\n      #mdCounterElement \\n        font-size: 8rem\\n        font-weight: 600\\n        font-family: 'Roboto mono', sans-serif\\n        &.two-zeros:before \\n          content: '00' \\n      .suffix \\n        margin-left: .5rem\\n        font-size: 4rem\\n        font-weight: 400\\n        font-family: 'Roboto condensed', sans-serif\\n  \\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}#loader-wrapper{display:flex;align-items:center;flex-direction:column;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:9999;transition:opacity .5s;background:rgba(17,37,75,.0117647059);opacity:1}#loader-wrapper.fade-out{opacity:0}#loader-wrapper>.spinner-loader{position:absolute;top:calc(50% - 4rem);left:calc(50% - 4rem);width:8rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #aeaeae 95%, rgba(0, 0, 0, 0)) top/10px 10px no-repeat,conic-gradient(rgba(0, 0, 0, 0) 20%, #aeaeae);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 10px), #000 0);animation:l13 1s infinite linear}@keyframes l13{100%{transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/resources/elements/md-loader/md-loader.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC3bJ,gBACE,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,sBAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,sBAAA,CACA,qCAAA,CACA,SAAA,CACA,yBACE,SAAA,CAEF,gCACE,iBAAA,CACA,oBAAA,CACA,qBAAA,CACA,UAxBW,CAyBX,cAAA,CACA,iBAAA,CACA,8IAAA,CACA,uFAAA,CACA,gCAAA,CAEJ,eACE,KACE,uBAAA,CAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$loader-width: 8rem\\n$loader-thickness: 10px\\n\\n#loader-wrapper\\n  display: flex\\n  align-items: center\\n  flex-direction: column\\n  justify-content: center\\n  position: absolute\\n  top: 0\\n  left: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 9999\\n  transition: opacity .5s\\n  background: #11254b03\\n  opacity: 1\\n  &.fade-out \\n    opacity: 0\\n\\n  > .spinner-loader \\n    position: absolute\\n    top: calc(50% - $loader-width / 2)\\n    left: calc(50% - $loader-width / 2)\\n    width: $loader-width\\n    aspect-ratio: 1\\n    border-radius: 50%\\n    background: radial-gradient(farthest-side, #aeaeae 95%, #0000) top/$loader-thickness $loader-thickness no-repeat, conic-gradient(#0000 20%, #aeaeae)\\n    -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - $loader-thickness), #000 0)\\n    animation: l13 1s infinite linear\\n\\n@keyframes l13\\n  100%\\n    transform: rotate(1turn)\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-pagination button{color:#404040;background-color:rgba(237,90,35,.05);appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0;padding:0;width:4rem;height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:rgba(0,0,0,0);transition:all .5s}md-table-pagination button:not(.disabled):hover{color:#404040;background-color:rgba(237,90,35,.05)}md-table-pagination button:first-child{box-shadow:none}md-table-pagination button:first-child:not(.disabled):hover{box-shadow:inset 1px 0 0 0 #e0e0e0}md-table-pagination button:last-child{box-shadow:none}md-table-pagination button:last-child:not(.disabled):hover{box-shadow:inset -1px 0 0 0 #e0e0e0}md-table-pagination .count{display:inline-block;position:relative;height:4rem;line-height:4rem;white-space:nowrap;color:#606060;padding:0 2rem;text-align:center;text-transform:lowercase;font-size:1.2rem;font-weight:500;cursor:pointer}md-table-pagination .count>.options-tab{position:absolute;top:0;left:50%;padding:2rem;width:26rem;z-index:101;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1019607843),0 10px 10px -10px rgba(0,0,0,.1019607843);transform:translateX(-50%) translateY(14px);animation:options .5s}md-table-pagination .count>.options-tab>ka-input{margin:1.5rem 0 0}md-table-pagination .count>.options-tab>ka-input>label::first-letter{text-transform:uppercase}md-table-pagination .options-background{position:fixed;background:rgba(0,0,0,0);width:100%;height:100%;top:0;left:0;z-index:100}@keyframes options{from{opacity:0;transform:translateX(-50%) translateY(50px)}to{opacity:1;transform:translateX(-50%) translateY(14px)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-pagination/md-table-pagination.scss\"],\"names\":[],\"mappings\":\"AACE,2BACE,aAAA,CACA,oCAAA,CACA,eAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,2DAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,uBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDAAA,aAAA,CAAA,oCAAA,CACA,uCAAA,eAAA,CACA,4DAAA,kCAAA,CACA,sCAAA,eAAA,CACA,2DAAA,mCAAA,CAIF,2BACE,oBAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,gBAAA,CACA,eAAA,CACA,cAAA,CAEA,wCACE,iBAAA,CACA,KAAA,CACA,QAAA,CACA,YAAA,CACA,WAAA,CACA,WAAA,CACA,qBAAA,CACA,qFAAA,CACA,2CAAA,CACA,qBAAA,CACA,iDACE,iBAAA,CACA,qEAAA,wBAAA,CAKN,wCACE,cAAA,CACA,wBAAA,CACA,UAAA,CACA,WAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CAIJ,mBACE,KAAA,SAAA,CAAA,2CAAA,CACA,GAAA,SAAA,CAAA,2CAAA,CAAA\",\"sourcesContent\":[\"md-table-pagination {\\n  button {\\n    color: #404040;\\n    background-color: rgba(237, 90, 35, 0.05);\\n    appearance: none;\\n    -webkit-appearance: none;\\n    outline: none;\\n    cursor: pointer;\\n    margin: 0;\\n    border: 0;\\n    box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0;\\n    padding: 0;\\n    width: 4rem;\\n    height: 4rem;\\n    color: rgba(64, 64, 64, 0.5);\\n    vertical-align: top;\\n    background: transparent;\\n    transition: all 0.5s;\\n    &:not(.disabled):hover { color: #404040; background-color: rgba(237, 90, 35, 0.05); }\\n    &:first-child { box-shadow: none; }\\n    &:first-child:not(.disabled):hover { box-shadow: inset 1px 0 0 0 #e0e0e0; }\\n    &:last-child { box-shadow: none; }\\n    &:last-child:not(.disabled):hover { box-shadow: inset -1px 0 0 0 #e0e0e0; }\\n  }\\n\\n  /* Counter */\\n  .count {\\n    display: inline-block;\\n    position: relative;\\n    height: 4rem;\\n    line-height: 4rem;\\n    white-space: nowrap;\\n    color: #606060;\\n    padding: 0 2rem;\\n    text-align: center;\\n    text-transform: lowercase;\\n    font-size: 1.2rem;\\n    font-weight: 500;\\n    cursor: pointer;\\n\\n    > .options-tab {\\n      position: absolute;\\n      top: 0;\\n      left: 50%;\\n      padding: 2rem;\\n      width: 26rem;\\n      z-index: 101;\\n      background-color: #ffffff;\\n      box-shadow: 0 0 10px #0000001a, 0 10px 10px -10px #0000001a;\\n      transform: translateX(-50%) translateY(14px);\\n      animation: options .5s;\\n      > ka-input {\\n        margin: 1.5rem 0 0;\\n        > label::first-letter { text-transform: uppercase; }\\n      }\\n    }\\n  }\\n  \\n  .options-background {\\n    position: fixed;\\n    background: transparent;\\n    width: 100%;\\n    height: 100%;\\n    top: 0;\\n    left: 0;\\n    z-index: 100;\\n  }\\n}\\n\\n@keyframes options {\\n  from { opacity: 0; transform: translateX(-50%) translateY(50px); }\\n  to { opacity: 1; transform: translateX(-50%) translateY(14px); }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-progressbar{display:block;position:relative;height:3px;background-color:#e0e0e0;overflow:hidden}md-table-progressbar .indeterminate{background-color:#ed5a23}md-table-progressbar .indeterminate:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}md-table-progressbar .indeterminate:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-progressbar/md-table-progressbar.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,qBACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,oCACE,wBCRY,CDSZ,2CACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,0CACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CAEN,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nmd-table-progressbar\\n  display: block\\n  position: relative\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  .indeterminate\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-sort{display:block}md-table-sort a{display:inline-block;color:#909090;font-size:1.6rem;line-height:2rem}md-table-sort a.asc,md-table-sort a.desc{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-sort/md-table-sort.scss\"],\"names\":[],\"mappings\":\"AAAA,cACE,aAAA,CACA,gBACE,oBAAA,CACA,aAAA,CACA,gBAAA,CACA,gBAAA,CACA,yCACE,aAAA\",\"sourcesContent\":[\"md-table-sort {\\n  display: block;\\n  a {\\n    display: inline-block;\\n    color: #909090;\\n    font-size: 1.6rem;\\n    line-height: 2rem;\\n    &.asc, &.desc {\\n      color: #ed5a23;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-toolbar{position:relative;display:block;background:#fff;box-shadow:inset 0 -1px 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}md-table-toolbar .row{height:4rem;width:100%}md-table-toolbar .row>.col{padding:0}md-table-toolbar .row>.col.buttons-left .toolbar-button+.toolbar-button,md-table-toolbar .row>.col.buttons-right .toolbar-button+.toolbar-button{margin-left:-1px}md-table-toolbar .row>.col.buttons-left .toolbar-button,md-table-toolbar .row>.col.buttons-right .toolbar-button{position:relative;border:none;padding:0;margin:0;background:rgba(0,0,0,0);color:rgba(64,64,64,.5019607843);font-family:sans-serif;font-size:1rem;height:4rem;width:4rem;cursor:pointer;box-shadow:1px 0 0 0 #e0e0e0,1px 0 0 0 #e0e0e0;transition:all .5s}md-table-toolbar .row>.col.buttons-left .toolbar-button>i,md-table-toolbar .row>.col.buttons-right .toolbar-button>i{position:absolute;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center}md-table-toolbar .row>.col.buttons-left .toolbar-button:not(.disabled):hover,md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):hover{color:#404040;background:rgba(237,90,35,.05)}md-table-toolbar .row>.col.buttons-left .toolbar-button:not(.disabled):only-child:hover,md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):only-child:hover{box-shadow:1px 0 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active{color:#ed5a23;position:relative}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter{position:absolute;height:12px;width:12px;top:4px;left:24px}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter>i,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter>i{font-size:1rem;color:rgba(64,64,64,.5019607843);line-height:12px}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter:hover>i,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter:hover>i{color:#ed5a23}md-table-toolbar .row>.col.buttons-right .toolbar-button+.toolbar-button{box-shadow:inset 0 1px 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-right .toolbar-button{box-shadow:-1px 0 0 0 #e0e0e0,1px 0 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):only-child:hover{box-shadow:-1px 0 0 0 #e0e0e0}md-table-toolbar md-table-progressbar{position:absolute;top:3.85rem;left:0;width:100%}.md-table-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1981}.md-table-sidebar{position:fixed;top:0;right:0;bottom:0;width:40rem;background-color:#fff;transition:right 500ms}.md-table-sidebar.off{right:-40rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-toolbar/md-table-toolbar.scss\"],\"names\":[],\"mappings\":\"AAAA,iBACE,iBAAA,CACA,aAAA,CACA,eAAA,CACA,2DAAA,CAEA,sBACE,WAAA,CACA,UAAA,CACA,2BACE,SAAA,CAEE,iJAAA,gBAAA,CACA,iHACE,iBAAA,CACA,WAAA,CACA,SAAA,CACA,QAAA,CACA,wBAAA,CACA,gCAAA,CACA,sBAAA,CACA,cAAA,CACA,WAAA,CACA,UAAA,CACA,cAAA,CACA,8CAAA,CACA,kBAAA,CACA,qHACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,sBAAA,CACA,kBAAA,CAEF,2JAAA,aAAA,CAAA,8BAAA,CACA,iLAAA,4BAAA,CAEA,6IACE,aAAA,CACA,iBAAA,CACA,uKACE,iBAAA,CACA,WAAA,CACA,UAAA,CACA,OAAA,CACA,SAAA,CACA,2KAAA,cAAA,CAAA,gCAAA,CAAA,gBAAA,CACA,uLAAA,aAAA,CAMN,yEAAA,kCAAA,CACA,yDACE,+CAAA,CACA,yFAAA,6BAAA,CAMR,sCACE,iBAAA,CACA,WAAA,CACA,MAAA,CACA,UAAA,CAKJ,mBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,YAAA,CAEF,kBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,WAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,YAAA\",\"sourcesContent\":[\"md-table-toolbar {\\n  position: relative;\\n  display: block;\\n  background: #fff;\\n  box-shadow: inset 0 -1px 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0;\\n\\n  .row {\\n    height: 4rem;\\n    width: 100%;\\n    > .col {\\n      padding: 0;\\n      &.buttons-left, &.buttons-right {\\n        .toolbar-button + .toolbar-button { margin-left: -1px; }\\n        .toolbar-button {\\n          position: relative;\\n          border: none;\\n          padding: 0;\\n          margin: 0;\\n          background: transparent;\\n          color: #40404080;\\n          font-family: sans-serif;\\n          font-size: 1rem;\\n          height: 4rem;\\n          width: 4rem;\\n          cursor: pointer;\\n          box-shadow: 1px 0 0 0 #e0e0e0, 1px 0 0 0 #e0e0e0;\\n          transition: all 0.5s;\\n          > i {\\n            position: absolute;\\n            top: 0;\\n            left: 0;\\n            height: 100%;\\n            width: 100%;\\n            display: flex;\\n            justify-content: center;\\n            align-items: center;\\n          }\\n          &:not(.disabled):hover { color: #404040; background: rgba(237, 90, 35, 0.05); }\\n          &:not(.disabled):only-child:hover { box-shadow: 1px 0 0 0 #e0e0e0; }\\n      \\n          &.search-active {\\n            color: #ED5A23;\\n            position: relative;\\n            .with-filter {\\n              position: absolute;\\n              height: 12px;\\n              width: 12px;\\n              top: 4px;\\n              left: 24px;\\n              > i { font-size: 1rem; color: #40404080; line-height: 12px; }\\n              &:hover > i { color: #ED5A23; }\\n            }\\n          }\\n        }\\n      }\\n      &.buttons-right {\\n        .toolbar-button + .toolbar-button { box-shadow: inset 0 1px 0 0 #e0e0e0 }\\n        .toolbar-button { \\n          box-shadow: -1px 0 0 0 #e0e0e0, 1px 0 0 0 #e0e0e0;\\n          &:not(.disabled):only-child:hover { box-shadow: -1px 0 0 0 #e0e0e0; }\\n        }\\n      }\\n    }  \\n  }\\n\\n  md-table-progressbar {\\n    position: absolute;\\n    top: 3.85rem;\\n    left: 0;\\n    width: 100%;\\n  }\\n}\\n\\n/* Sidebar */\\n.md-table-backdrop {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 1981;\\n}\\n.md-table-sidebar {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  width: 40rem;\\n  background-color: #ffffff;\\n  transition: right 500ms;\\n  &.off { right: -40rem; }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".md-table-sidebar{min-width:40rem;box-shadow:-10px 0 10px -10px rgba(0,0,0,.1019607843)}.md-table-sidebar .inputs>.input{padding:1rem}.md-table-sidebar .close{color:#ed5a23;cursor:pointer;font-size:2.2rem;padding-right:1rem;margin-top:.5rem}.md-table-sidebar .buttons{text-align:right;margin:2rem 1rem}.md-table-sidebar .buttons .ka-button{margin:0}.md-table-sidebar .buttons .ka-button+.ka-button{margin-right:2rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-toolbar/sidebars/search.scss\"],\"names\":[],\"mappings\":\"AAAA,kBACE,eAAA,CACA,qDAAA,CAEE,iCAAA,YAAA,CAEF,yBACE,aAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CACA,gBAAA,CAEF,2BACE,gBAAA,CACA,gBAAA,CACA,sCAAA,QAAA,CACA,iDAAA,iBAAA\",\"sourcesContent\":[\".md-table-sidebar {\\n  min-width: 40rem;\\n  box-shadow: -10px 0 10px -10px #0000001a;\\n  .inputs {\\n    > .input { padding: 1rem; }\\n  }\\n  .close {\\n    color: #ED5A23;\\n    cursor: pointer;\\n    font-size: 2.2rem;\\n    padding-right: 1rem;\\n    margin-top: 0.5rem;\\n  }\\n  .buttons { \\n    text-align: right; \\n    margin: 2rem 1rem;\\n    .ka-button { margin: 0; }\\n    .ka-button + .ka-button { margin-right: 2rem; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-wrapper{display:block;overflow:auto}md-table-wrapper tbody .ka-tr-tools .arrow{background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%) !important;box-shadow:-5px 0 5px -5px rgba(0,0,0,.2509803922)}md-table-wrapper tbody .ka-tr-tools .arrow>.material-icons{width:2.2rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-wrapper/md-table-wrapper.scss\"],\"names\":[],\"mappings\":\"AAAA,iBACE,aAAA,CACA,aAAA,CAGI,2CACE,2HAAA,CACA,kDAAA,CACA,2DAAA,YAAA\",\"sourcesContent\":[\"md-table-wrapper {\\n  display: block;\\n  overflow: auto;\\n  tbody {\\n    .ka-tr-tools {\\n      .arrow {\\n        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%) !important;\\n        box-shadow: -5px 0 5px -5px #00000040;\\n        > .material-icons { width: 2.2rem; }\\n      }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js!../../node_modules/ka-components/node_modules/pikaday/css/pikaday.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"/src/static/webfonts/fa-brands-400.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"/src/static/webfonts/fa-brands-400.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"/src/static/webfonts/fa-brands-400.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"/src/static/webfonts/fa-brands-400.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"/src/static/webfonts/fa-brands-400.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"/src/static/webfonts/fa-duotone-900.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"/src/static/webfonts/fa-duotone-900.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"/src/static/webfonts/fa-duotone-900.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"/src/static/webfonts/fa-duotone-900.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"/src/static/webfonts/fa-duotone-900.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"/src/static/webfonts/fa-light-300.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"/src/static/webfonts/fa-light-300.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"/src/static/webfonts/fa-light-300.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"/src/static/webfonts/fa-light-300.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"/src/static/webfonts/fa-light-300.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"/src/static/webfonts/fa-regular-400.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"/src/static/webfonts/fa-regular-400.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"/src/static/webfonts/fa-regular-400.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"/src/static/webfonts/fa-regular-400.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_19___ = new URL(\"/src/static/webfonts/fa-regular-400.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_20___ = new URL(\"/src/static/webfonts/fa-solid-900.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_21___ = new URL(\"/src/static/webfonts/fa-solid-900.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_22___ = new URL(\"/src/static/webfonts/fa-solid-900.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_23___ = new URL(\"/src/static/webfonts/fa-solid-900.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_24___ = new URL(\"/src/static/webfonts/fa-solid-900.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);\nvar ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);\nvar ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);\nvar ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);\nvar ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___, { hash: \"#fontawesome\" });\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}/*!\\n * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com\\n * License - https://fontawesome.com/license (Commercial License)\\n */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-0.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\\\"\\\"}.fa-abacus:before{content:\\\"\\\"}.fa-accessible-icon:before{content:\\\"\\\"}.fa-accusoft:before{content:\\\"\\\"}.fa-acorn:before{content:\\\"\\\"}.fa-acquisitions-incorporated:before{content:\\\"\\\"}.fa-ad:before{content:\\\"\\\"}.fa-address-book:before{content:\\\"\\\"}.fa-address-card:before{content:\\\"\\\"}.fa-adjust:before{content:\\\"\\\"}.fa-adn:before{content:\\\"\\\"}.fa-adobe:before{content:\\\"\\\"}.fa-adversal:before{content:\\\"\\\"}.fa-affiliatetheme:before{content:\\\"\\\"}.fa-air-conditioner:before{content:\\\"\\\"}.fa-air-freshener:before{content:\\\"\\\"}.fa-airbnb:before{content:\\\"\\\"}.fa-alarm-clock:before{content:\\\"\\\"}.fa-alarm-exclamation:before{content:\\\"\\\"}.fa-alarm-plus:before{content:\\\"\\\"}.fa-alarm-snooze:before{content:\\\"\\\"}.fa-album:before{content:\\\"\\\"}.fa-album-collection:before{content:\\\"\\\"}.fa-algolia:before{content:\\\"\\\"}.fa-alicorn:before{content:\\\"\\\"}.fa-alien:before{content:\\\"\\\"}.fa-alien-monster:before{content:\\\"\\\"}.fa-align-center:before{content:\\\"\\\"}.fa-align-justify:before{content:\\\"\\\"}.fa-align-left:before{content:\\\"\\\"}.fa-align-right:before{content:\\\"\\\"}.fa-align-slash:before{content:\\\"\\\"}.fa-alipay:before{content:\\\"\\\"}.fa-allergies:before{content:\\\"\\\"}.fa-amazon:before{content:\\\"\\\"}.fa-amazon-pay:before{content:\\\"\\\"}.fa-ambulance:before{content:\\\"\\\"}.fa-american-sign-language-interpreting:before{content:\\\"\\\"}.fa-amilia:before{content:\\\"\\\"}.fa-amp-guitar:before{content:\\\"\\\"}.fa-analytics:before{content:\\\"\\\"}.fa-anchor:before{content:\\\"\\\"}.fa-android:before{content:\\\"\\\"}.fa-angel:before{content:\\\"\\\"}.fa-angellist:before{content:\\\"\\\"}.fa-angle-double-down:before{content:\\\"\\\"}.fa-angle-double-left:before{content:\\\"\\\"}.fa-angle-double-right:before{content:\\\"\\\"}.fa-angle-double-up:before{content:\\\"\\\"}.fa-angle-down:before{content:\\\"\\\"}.fa-angle-left:before{content:\\\"\\\"}.fa-angle-right:before{content:\\\"\\\"}.fa-angle-up:before{content:\\\"\\\"}.fa-angry:before{content:\\\"\\\"}.fa-angrycreative:before{content:\\\"\\\"}.fa-angular:before{content:\\\"\\\"}.fa-ankh:before{content:\\\"\\\"}.fa-app-store:before{content:\\\"\\\"}.fa-app-store-ios:before{content:\\\"\\\"}.fa-apper:before{content:\\\"\\\"}.fa-apple:before{content:\\\"\\\"}.fa-apple-alt:before{content:\\\"\\\"}.fa-apple-crate:before{content:\\\"\\\"}.fa-apple-pay:before{content:\\\"\\\"}.fa-archive:before{content:\\\"\\\"}.fa-archway:before{content:\\\"\\\"}.fa-arrow-alt-circle-down:before{content:\\\"\\\"}.fa-arrow-alt-circle-left:before{content:\\\"\\\"}.fa-arrow-alt-circle-right:before{content:\\\"\\\"}.fa-arrow-alt-circle-up:before{content:\\\"\\\"}.fa-arrow-alt-down:before{content:\\\"\\\"}.fa-arrow-alt-from-bottom:before{content:\\\"\\\"}.fa-arrow-alt-from-left:before{content:\\\"\\\"}.fa-arrow-alt-from-right:before{content:\\\"\\\"}.fa-arrow-alt-from-top:before{content:\\\"\\\"}.fa-arrow-alt-left:before{content:\\\"\\\"}.fa-arrow-alt-right:before{content:\\\"\\\"}.fa-arrow-alt-square-down:before{content:\\\"\\\"}.fa-arrow-alt-square-left:before{content:\\\"\\\"}.fa-arrow-alt-square-right:before{content:\\\"\\\"}.fa-arrow-alt-square-up:before{content:\\\"\\\"}.fa-arrow-alt-to-bottom:before{content:\\\"\\\"}.fa-arrow-alt-to-left:before{content:\\\"\\\"}.fa-arrow-alt-to-right:before{content:\\\"\\\"}.fa-arrow-alt-to-top:before{content:\\\"\\\"}.fa-arrow-alt-up:before{content:\\\"\\\"}.fa-arrow-circle-down:before{content:\\\"\\\"}.fa-arrow-circle-left:before{content:\\\"\\\"}.fa-arrow-circle-right:before{content:\\\"\\\"}.fa-arrow-circle-up:before{content:\\\"\\\"}.fa-arrow-down:before{content:\\\"\\\"}.fa-arrow-from-bottom:before{content:\\\"\\\"}.fa-arrow-from-left:before{content:\\\"\\\"}.fa-arrow-from-right:before{content:\\\"\\\"}.fa-arrow-from-top:before{content:\\\"\\\"}.fa-arrow-left:before{content:\\\"\\\"}.fa-arrow-right:before{content:\\\"\\\"}.fa-arrow-square-down:before{content:\\\"\\\"}.fa-arrow-square-left:before{content:\\\"\\\"}.fa-arrow-square-right:before{content:\\\"\\\"}.fa-arrow-square-up:before{content:\\\"\\\"}.fa-arrow-to-bottom:before{content:\\\"\\\"}.fa-arrow-to-left:before{content:\\\"\\\"}.fa-arrow-to-right:before{content:\\\"\\\"}.fa-arrow-to-top:before{content:\\\"\\\"}.fa-arrow-up:before{content:\\\"\\\"}.fa-arrows:before{content:\\\"\\\"}.fa-arrows-alt:before{content:\\\"\\\"}.fa-arrows-alt-h:before{content:\\\"\\\"}.fa-arrows-alt-v:before{content:\\\"\\\"}.fa-arrows-h:before{content:\\\"\\\"}.fa-arrows-v:before{content:\\\"\\\"}.fa-artstation:before{content:\\\"\\\"}.fa-assistive-listening-systems:before{content:\\\"\\\"}.fa-asterisk:before{content:\\\"\\\"}.fa-asymmetrik:before{content:\\\"\\\"}.fa-at:before{content:\\\"\\\"}.fa-atlas:before{content:\\\"\\\"}.fa-atlassian:before{content:\\\"\\\"}.fa-atom:before{content:\\\"\\\"}.fa-atom-alt:before{content:\\\"\\\"}.fa-audible:before{content:\\\"\\\"}.fa-audio-description:before{content:\\\"\\\"}.fa-autoprefixer:before{content:\\\"\\\"}.fa-avianex:before{content:\\\"\\\"}.fa-aviato:before{content:\\\"\\\"}.fa-award:before{content:\\\"\\\"}.fa-aws:before{content:\\\"\\\"}.fa-axe:before{content:\\\"\\\"}.fa-axe-battle:before{content:\\\"\\\"}.fa-baby:before{content:\\\"\\\"}.fa-baby-carriage:before{content:\\\"\\\"}.fa-backpack:before{content:\\\"\\\"}.fa-backspace:before{content:\\\"\\\"}.fa-backward:before{content:\\\"\\\"}.fa-bacon:before{content:\\\"\\\"}.fa-bacteria:before{content:\\\"陵\\\"}.fa-bacterium:before{content:\\\"讀\\\"}.fa-badge:before{content:\\\"\\\"}.fa-badge-check:before{content:\\\"\\\"}.fa-badge-dollar:before{content:\\\"\\\"}.fa-badge-percent:before{content:\\\"\\\"}.fa-badge-sheriff:before{content:\\\"\\\"}.fa-badger-honey:before{content:\\\"\\\"}.fa-bags-shopping:before{content:\\\"\\\"}.fa-bahai:before{content:\\\"\\\"}.fa-balance-scale:before{content:\\\"\\\"}.fa-balance-scale-left:before{content:\\\"\\\"}.fa-balance-scale-right:before{content:\\\"\\\"}.fa-ball-pile:before{content:\\\"\\\"}.fa-ballot:before{content:\\\"\\\"}.fa-ballot-check:before{content:\\\"\\\"}.fa-ban:before{content:\\\"\\\"}.fa-band-aid:before{content:\\\"\\\"}.fa-bandcamp:before{content:\\\"\\\"}.fa-banjo:before{content:\\\"\\\"}.fa-barcode:before{content:\\\"\\\"}.fa-barcode-alt:before{content:\\\"\\\"}.fa-barcode-read:before{content:\\\"\\\"}.fa-barcode-scan:before{content:\\\"\\\"}.fa-bars:before{content:\\\"\\\"}.fa-baseball:before{content:\\\"\\\"}.fa-baseball-ball:before{content:\\\"\\\"}.fa-basketball-ball:before{content:\\\"\\\"}.fa-basketball-hoop:before{content:\\\"\\\"}.fa-bat:before{content:\\\"\\\"}.fa-bath:before{content:\\\"\\\"}.fa-battery-bolt:before{content:\\\"\\\"}.fa-battery-empty:before{content:\\\"\\\"}.fa-battery-full:before{content:\\\"\\\"}.fa-battery-half:before{content:\\\"\\\"}.fa-battery-quarter:before{content:\\\"\\\"}.fa-battery-slash:before{content:\\\"\\\"}.fa-battery-three-quarters:before{content:\\\"\\\"}.fa-battle-net:before{content:\\\"\\\"}.fa-bed:before{content:\\\"\\\"}.fa-bed-alt:before{content:\\\"\\\"}.fa-bed-bunk:before{content:\\\"\\\"}.fa-bed-empty:before{content:\\\"\\\"}.fa-beer:before{content:\\\"\\\"}.fa-behance:before{content:\\\"\\\"}.fa-behance-square:before{content:\\\"\\\"}.fa-bell:before{content:\\\"\\\"}.fa-bell-exclamation:before{content:\\\"\\\"}.fa-bell-on:before{content:\\\"\\\"}.fa-bell-plus:before{content:\\\"\\\"}.fa-bell-school:before{content:\\\"\\\"}.fa-bell-school-slash:before{content:\\\"\\\"}.fa-bell-slash:before{content:\\\"\\\"}.fa-bells:before{content:\\\"\\\"}.fa-betamax:before{content:\\\"\\\"}.fa-bezier-curve:before{content:\\\"\\\"}.fa-bible:before{content:\\\"\\\"}.fa-bicycle:before{content:\\\"\\\"}.fa-biking:before{content:\\\"\\\"}.fa-biking-mountain:before{content:\\\"\\\"}.fa-bimobject:before{content:\\\"\\\"}.fa-binoculars:before{content:\\\"\\\"}.fa-biohazard:before{content:\\\"\\\"}.fa-birthday-cake:before{content:\\\"\\\"}.fa-bitbucket:before{content:\\\"\\\"}.fa-bitcoin:before{content:\\\"\\\"}.fa-bity:before{content:\\\"\\\"}.fa-black-tie:before{content:\\\"\\\"}.fa-blackberry:before{content:\\\"\\\"}.fa-blanket:before{content:\\\"\\\"}.fa-blender:before{content:\\\"\\\"}.fa-blender-phone:before{content:\\\"\\\"}.fa-blind:before{content:\\\"\\\"}.fa-blinds:before{content:\\\"\\\"}.fa-blinds-open:before{content:\\\"\\\"}.fa-blinds-raised:before{content:\\\"\\\"}.fa-blog:before{content:\\\"\\\"}.fa-blogger:before{content:\\\"\\\"}.fa-blogger-b:before{content:\\\"\\\"}.fa-bluetooth:before{content:\\\"\\\"}.fa-bluetooth-b:before{content:\\\"\\\"}.fa-bold:before{content:\\\"\\\"}.fa-bolt:before{content:\\\"\\\"}.fa-bomb:before{content:\\\"\\\"}.fa-bone:before{content:\\\"\\\"}.fa-bone-break:before{content:\\\"\\\"}.fa-bong:before{content:\\\"\\\"}.fa-book:before{content:\\\"\\\"}.fa-book-alt:before{content:\\\"\\\"}.fa-book-dead:before{content:\\\"\\\"}.fa-book-heart:before{content:\\\"\\\"}.fa-book-medical:before{content:\\\"\\\"}.fa-book-open:before{content:\\\"\\\"}.fa-book-reader:before{content:\\\"\\\"}.fa-book-spells:before{content:\\\"\\\"}.fa-book-user:before{content:\\\"\\\"}.fa-bookmark:before{content:\\\"\\\"}.fa-books:before{content:\\\"\\\"}.fa-books-medical:before{content:\\\"\\\"}.fa-boombox:before{content:\\\"\\\"}.fa-boot:before{content:\\\"\\\"}.fa-booth-curtain:before{content:\\\"\\\"}.fa-bootstrap:before{content:\\\"\\\"}.fa-border-all:before{content:\\\"\\\"}.fa-border-bottom:before{content:\\\"\\\"}.fa-border-center-h:before{content:\\\"\\\"}.fa-border-center-v:before{content:\\\"\\\"}.fa-border-inner:before{content:\\\"\\\"}.fa-border-left:before{content:\\\"\\\"}.fa-border-none:before{content:\\\"\\\"}.fa-border-outer:before{content:\\\"\\\"}.fa-border-right:before{content:\\\"\\\"}.fa-border-style:before{content:\\\"\\\"}.fa-border-style-alt:before{content:\\\"\\\"}.fa-border-top:before{content:\\\"\\\"}.fa-bow-arrow:before{content:\\\"\\\"}.fa-bowling-ball:before{content:\\\"\\\"}.fa-bowling-pins:before{content:\\\"\\\"}.fa-box:before{content:\\\"\\\"}.fa-box-alt:before{content:\\\"\\\"}.fa-box-ballot:before{content:\\\"\\\"}.fa-box-check:before{content:\\\"\\\"}.fa-box-fragile:before{content:\\\"\\\"}.fa-box-full:before{content:\\\"\\\"}.fa-box-heart:before{content:\\\"\\\"}.fa-box-open:before{content:\\\"\\\"}.fa-box-tissue:before{content:\\\"拏\\\"}.fa-box-up:before{content:\\\"\\\"}.fa-box-usd:before{content:\\\"\\\"}.fa-boxes:before{content:\\\"\\\"}.fa-boxes-alt:before{content:\\\"\\\"}.fa-boxing-glove:before{content:\\\"\\\"}.fa-brackets:before{content:\\\"\\\"}.fa-brackets-curly:before{content:\\\"\\\"}.fa-braille:before{content:\\\"\\\"}.fa-brain:before{content:\\\"\\\"}.fa-bread-loaf:before{content:\\\"\\\"}.fa-bread-slice:before{content:\\\"\\\"}.fa-briefcase:before{content:\\\"\\\"}.fa-briefcase-medical:before{content:\\\"\\\"}.fa-bring-forward:before{content:\\\"\\\"}.fa-bring-front:before{content:\\\"\\\"}.fa-broadcast-tower:before{content:\\\"\\\"}.fa-broom:before{content:\\\"\\\"}.fa-browser:before{content:\\\"\\\"}.fa-brush:before{content:\\\"\\\"}.fa-btc:before{content:\\\"\\\"}.fa-buffer:before{content:\\\"\\\"}.fa-bug:before{content:\\\"\\\"}.fa-building:before{content:\\\"\\\"}.fa-bullhorn:before{content:\\\"\\\"}.fa-bullseye:before{content:\\\"\\\"}.fa-bullseye-arrow:before{content:\\\"\\\"}.fa-bullseye-pointer:before{content:\\\"\\\"}.fa-burger-soda:before{content:\\\"\\\"}.fa-burn:before{content:\\\"\\\"}.fa-buromobelexperte:before{content:\\\"\\\"}.fa-burrito:before{content:\\\"\\\"}.fa-bus:before{content:\\\"\\\"}.fa-bus-alt:before{content:\\\"\\\"}.fa-bus-school:before{content:\\\"\\\"}.fa-business-time:before{content:\\\"\\\"}.fa-buy-n-large:before{content:\\\"\\\"}.fa-buysellads:before{content:\\\"\\\"}.fa-cabinet-filing:before{content:\\\"\\\"}.fa-cactus:before{content:\\\"\\\"}.fa-calculator:before{content:\\\"\\\"}.fa-calculator-alt:before{content:\\\"\\\"}.fa-calendar:before{content:\\\"\\\"}.fa-calendar-alt:before{content:\\\"\\\"}.fa-calendar-check:before{content:\\\"\\\"}.fa-calendar-day:before{content:\\\"\\\"}.fa-calendar-edit:before{content:\\\"\\\"}.fa-calendar-exclamation:before{content:\\\"\\\"}.fa-calendar-minus:before{content:\\\"\\\"}.fa-calendar-plus:before{content:\\\"\\\"}.fa-calendar-star:before{content:\\\"\\\"}.fa-calendar-times:before{content:\\\"\\\"}.fa-calendar-week:before{content:\\\"\\\"}.fa-camcorder:before{content:\\\"\\\"}.fa-camera:before{content:\\\"\\\"}.fa-camera-alt:before{content:\\\"\\\"}.fa-camera-home:before{content:\\\"\\\"}.fa-camera-movie:before{content:\\\"\\\"}.fa-camera-polaroid:before{content:\\\"\\\"}.fa-camera-retro:before{content:\\\"\\\"}.fa-campfire:before{content:\\\"\\\"}.fa-campground:before{content:\\\"\\\"}.fa-canadian-maple-leaf:before{content:\\\"\\\"}.fa-candle-holder:before{content:\\\"\\\"}.fa-candy-cane:before{content:\\\"\\\"}.fa-candy-corn:before{content:\\\"\\\"}.fa-cannabis:before{content:\\\"\\\"}.fa-capsules:before{content:\\\"\\\"}.fa-car:before{content:\\\"\\\"}.fa-car-alt:before{content:\\\"\\\"}.fa-car-battery:before{content:\\\"\\\"}.fa-car-building:before{content:\\\"\\\"}.fa-car-bump:before{content:\\\"\\\"}.fa-car-bus:before{content:\\\"\\\"}.fa-car-crash:before{content:\\\"\\\"}.fa-car-garage:before{content:\\\"\\\"}.fa-car-mechanic:before{content:\\\"\\\"}.fa-car-side:before{content:\\\"\\\"}.fa-car-tilt:before{content:\\\"\\\"}.fa-car-wash:before{content:\\\"\\\"}.fa-caravan:before{content:\\\"\\\"}.fa-caravan-alt:before{content:\\\"豈\\\"}.fa-caret-circle-down:before{content:\\\"\\\"}.fa-caret-circle-left:before{content:\\\"\\\"}.fa-caret-circle-right:before{content:\\\"\\\"}.fa-caret-circle-up:before{content:\\\"\\\"}.fa-caret-down:before{content:\\\"\\\"}.fa-caret-left:before{content:\\\"\\\"}.fa-caret-right:before{content:\\\"\\\"}.fa-caret-square-down:before{content:\\\"\\\"}.fa-caret-square-left:before{content:\\\"\\\"}.fa-caret-square-right:before{content:\\\"\\\"}.fa-caret-square-up:before{content:\\\"\\\"}.fa-caret-up:before{content:\\\"\\\"}.fa-carrot:before{content:\\\"\\\"}.fa-cars:before{content:\\\"\\\"}.fa-cart-arrow-down:before{content:\\\"\\\"}.fa-cart-plus:before{content:\\\"\\\"}.fa-cash-register:before{content:\\\"\\\"}.fa-cassette-tape:before{content:\\\"\\\"}.fa-cat:before{content:\\\"\\\"}.fa-cat-space:before{content:\\\"更\\\"}.fa-cauldron:before{content:\\\"\\\"}.fa-cc-amazon-pay:before{content:\\\"\\\"}.fa-cc-amex:before{content:\\\"\\\"}.fa-cc-apple-pay:before{content:\\\"\\\"}.fa-cc-diners-club:before{content:\\\"\\\"}.fa-cc-discover:before{content:\\\"\\\"}.fa-cc-jcb:before{content:\\\"\\\"}.fa-cc-mastercard:before{content:\\\"\\\"}.fa-cc-paypal:before{content:\\\"\\\"}.fa-cc-stripe:before{content:\\\"\\\"}.fa-cc-visa:before{content:\\\"\\\"}.fa-cctv:before{content:\\\"\\\"}.fa-centercode:before{content:\\\"\\\"}.fa-centos:before{content:\\\"\\\"}.fa-certificate:before{content:\\\"\\\"}.fa-chair:before{content:\\\"\\\"}.fa-chair-office:before{content:\\\"\\\"}.fa-chalkboard:before{content:\\\"\\\"}.fa-chalkboard-teacher:before{content:\\\"\\\"}.fa-charging-station:before{content:\\\"\\\"}.fa-chart-area:before{content:\\\"\\\"}.fa-chart-bar:before{content:\\\"\\\"}.fa-chart-line:before{content:\\\"\\\"}.fa-chart-line-down:before{content:\\\"\\\"}.fa-chart-network:before{content:\\\"\\\"}.fa-chart-pie:before{content:\\\"\\\"}.fa-chart-pie-alt:before{content:\\\"\\\"}.fa-chart-scatter:before{content:\\\"\\\"}.fa-check:before{content:\\\"\\\"}.fa-check-circle:before{content:\\\"\\\"}.fa-check-double:before{content:\\\"\\\"}.fa-check-square:before{content:\\\"\\\"}.fa-cheese:before{content:\\\"\\\"}.fa-cheese-swiss:before{content:\\\"\\\"}.fa-cheeseburger:before{content:\\\"\\\"}.fa-chess:before{content:\\\"\\\"}.fa-chess-bishop:before{content:\\\"\\\"}.fa-chess-bishop-alt:before{content:\\\"\\\"}.fa-chess-board:before{content:\\\"\\\"}.fa-chess-clock:before{content:\\\"\\\"}.fa-chess-clock-alt:before{content:\\\"\\\"}.fa-chess-king:before{content:\\\"\\\"}.fa-chess-king-alt:before{content:\\\"\\\"}.fa-chess-knight:before{content:\\\"\\\"}.fa-chess-knight-alt:before{content:\\\"\\\"}.fa-chess-pawn:before{content:\\\"\\\"}.fa-chess-pawn-alt:before{content:\\\"\\\"}.fa-chess-queen:before{content:\\\"\\\"}.fa-chess-queen-alt:before{content:\\\"\\\"}.fa-chess-rook:before{content:\\\"\\\"}.fa-chess-rook-alt:before{content:\\\"\\\"}.fa-chevron-circle-down:before{content:\\\"\\\"}.fa-chevron-circle-left:before{content:\\\"\\\"}.fa-chevron-circle-right:before{content:\\\"\\\"}.fa-chevron-circle-up:before{content:\\\"\\\"}.fa-chevron-double-down:before{content:\\\"\\\"}.fa-chevron-double-left:before{content:\\\"\\\"}.fa-chevron-double-right:before{content:\\\"\\\"}.fa-chevron-double-up:before{content:\\\"\\\"}.fa-chevron-down:before{content:\\\"\\\"}.fa-chevron-left:before{content:\\\"\\\"}.fa-chevron-right:before{content:\\\"\\\"}.fa-chevron-square-down:before{content:\\\"\\\"}.fa-chevron-square-left:before{content:\\\"\\\"}.fa-chevron-square-right:before{content:\\\"\\\"}.fa-chevron-square-up:before{content:\\\"\\\"}.fa-chevron-up:before{content:\\\"\\\"}.fa-child:before{content:\\\"\\\"}.fa-chimney:before{content:\\\"\\\"}.fa-chrome:before{content:\\\"\\\"}.fa-chromecast:before{content:\\\"\\\"}.fa-church:before{content:\\\"\\\"}.fa-circle:before{content:\\\"\\\"}.fa-circle-notch:before{content:\\\"\\\"}.fa-city:before{content:\\\"\\\"}.fa-clarinet:before{content:\\\"\\\"}.fa-claw-marks:before{content:\\\"\\\"}.fa-clinic-medical:before{content:\\\"\\\"}.fa-clipboard:before{content:\\\"\\\"}.fa-clipboard-check:before{content:\\\"\\\"}.fa-clipboard-list:before{content:\\\"\\\"}.fa-clipboard-list-check:before{content:\\\"\\\"}.fa-clipboard-prescription:before{content:\\\"\\\"}.fa-clipboard-user:before{content:\\\"\\\"}.fa-clock:before{content:\\\"\\\"}.fa-clone:before{content:\\\"\\\"}.fa-closed-captioning:before{content:\\\"\\\"}.fa-cloud:before{content:\\\"\\\"}.fa-cloud-download:before{content:\\\"\\\"}.fa-cloud-download-alt:before{content:\\\"\\\"}.fa-cloud-drizzle:before{content:\\\"\\\"}.fa-cloud-hail:before{content:\\\"\\\"}.fa-cloud-hail-mixed:before{content:\\\"\\\"}.fa-cloud-meatball:before{content:\\\"\\\"}.fa-cloud-moon:before{content:\\\"\\\"}.fa-cloud-moon-rain:before{content:\\\"\\\"}.fa-cloud-music:before{content:\\\"\\\"}.fa-cloud-rain:before{content:\\\"\\\"}.fa-cloud-rainbow:before{content:\\\"\\\"}.fa-cloud-showers:before{content:\\\"\\\"}.fa-cloud-showers-heavy:before{content:\\\"\\\"}.fa-cloud-sleet:before{content:\\\"\\\"}.fa-cloud-snow:before{content:\\\"\\\"}.fa-cloud-sun:before{content:\\\"\\\"}.fa-cloud-sun-rain:before{content:\\\"\\\"}.fa-cloud-upload:before{content:\\\"\\\"}.fa-cloud-upload-alt:before{content:\\\"\\\"}.fa-clouds:before{content:\\\"\\\"}.fa-clouds-moon:before{content:\\\"\\\"}.fa-clouds-sun:before{content:\\\"\\\"}.fa-cloudscale:before{content:\\\"\\\"}.fa-cloudsmith:before{content:\\\"\\\"}.fa-cloudversify:before{content:\\\"\\\"}.fa-club:before{content:\\\"\\\"}.fa-cocktail:before{content:\\\"\\\"}.fa-code:before{content:\\\"\\\"}.fa-code-branch:before{content:\\\"\\\"}.fa-code-commit:before{content:\\\"\\\"}.fa-code-merge:before{content:\\\"\\\"}.fa-codepen:before{content:\\\"\\\"}.fa-codiepie:before{content:\\\"\\\"}.fa-coffee:before{content:\\\"\\\"}.fa-coffee-pot:before{content:\\\"車\\\"}.fa-coffee-togo:before{content:\\\"\\\"}.fa-coffin:before{content:\\\"\\\"}.fa-coffin-cross:before{content:\\\"陋\\\"}.fa-cog:before{content:\\\"\\\"}.fa-cogs:before{content:\\\"\\\"}.fa-coin:before{content:\\\"\\\"}.fa-coins:before{content:\\\"\\\"}.fa-columns:before{content:\\\"\\\"}.fa-comet:before{content:\\\"賈\\\"}.fa-comment:before{content:\\\"\\\"}.fa-comment-alt:before{content:\\\"\\\"}.fa-comment-alt-check:before{content:\\\"\\\"}.fa-comment-alt-dollar:before{content:\\\"\\\"}.fa-comment-alt-dots:before{content:\\\"\\\"}.fa-comment-alt-edit:before{content:\\\"\\\"}.fa-comment-alt-exclamation:before{content:\\\"\\\"}.fa-comment-alt-lines:before{content:\\\"\\\"}.fa-comment-alt-medical:before{content:\\\"\\\"}.fa-comment-alt-minus:before{content:\\\"\\\"}.fa-comment-alt-music:before{content:\\\"\\\"}.fa-comment-alt-plus:before{content:\\\"\\\"}.fa-comment-alt-slash:before{content:\\\"\\\"}.fa-comment-alt-smile:before{content:\\\"\\\"}.fa-comment-alt-times:before{content:\\\"\\\"}.fa-comment-check:before{content:\\\"\\\"}.fa-comment-dollar:before{content:\\\"\\\"}.fa-comment-dots:before{content:\\\"\\\"}.fa-comment-edit:before{content:\\\"\\\"}.fa-comment-exclamation:before{content:\\\"\\\"}.fa-comment-lines:before{content:\\\"\\\"}.fa-comment-medical:before{content:\\\"\\\"}.fa-comment-minus:before{content:\\\"\\\"}.fa-comment-music:before{content:\\\"\\\"}.fa-comment-plus:before{content:\\\"\\\"}.fa-comment-slash:before{content:\\\"\\\"}.fa-comment-smile:before{content:\\\"\\\"}.fa-comment-times:before{content:\\\"\\\"}.fa-comments:before{content:\\\"\\\"}.fa-comments-alt:before{content:\\\"\\\"}.fa-comments-alt-dollar:before{content:\\\"\\\"}.fa-comments-dollar:before{content:\\\"\\\"}.fa-compact-disc:before{content:\\\"\\\"}.fa-compass:before{content:\\\"\\\"}.fa-compass-slash:before{content:\\\"\\\"}.fa-compress:before{content:\\\"\\\"}.fa-compress-alt:before{content:\\\"\\\"}.fa-compress-arrows-alt:before{content:\\\"\\\"}.fa-compress-wide:before{content:\\\"\\\"}.fa-computer-classic:before{content:\\\"\\\"}.fa-computer-speaker:before{content:\\\"\\\"}.fa-concierge-bell:before{content:\\\"\\\"}.fa-confluence:before{content:\\\"\\\"}.fa-connectdevelop:before{content:\\\"\\\"}.fa-construction:before{content:\\\"\\\"}.fa-container-storage:before{content:\\\"\\\"}.fa-contao:before{content:\\\"\\\"}.fa-conveyor-belt:before{content:\\\"\\\"}.fa-conveyor-belt-alt:before{content:\\\"\\\"}.fa-cookie:before{content:\\\"\\\"}.fa-cookie-bite:before{content:\\\"\\\"}.fa-copy:before{content:\\\"\\\"}.fa-copyright:before{content:\\\"\\\"}.fa-corn:before{content:\\\"\\\"}.fa-cotton-bureau:before{content:\\\"\\\"}.fa-couch:before{content:\\\"\\\"}.fa-cow:before{content:\\\"\\\"}.fa-cowbell:before{content:\\\"\\\"}.fa-cowbell-more:before{content:\\\"\\\"}.fa-cpanel:before{content:\\\"\\\"}.fa-creative-commons:before{content:\\\"\\\"}.fa-creative-commons-by:before{content:\\\"\\\"}.fa-creative-commons-nc:before{content:\\\"\\\"}.fa-creative-commons-nc-eu:before{content:\\\"\\\"}.fa-creative-commons-nc-jp:before{content:\\\"\\\"}.fa-creative-commons-nd:before{content:\\\"\\\"}.fa-creative-commons-pd:before{content:\\\"\\\"}.fa-creative-commons-pd-alt:before{content:\\\"\\\"}.fa-creative-commons-remix:before{content:\\\"\\\"}.fa-creative-commons-sa:before{content:\\\"\\\"}.fa-creative-commons-sampling:before{content:\\\"\\\"}.fa-creative-commons-sampling-plus:before{content:\\\"\\\"}.fa-creative-commons-share:before{content:\\\"\\\"}.fa-creative-commons-zero:before{content:\\\"\\\"}.fa-credit-card:before{content:\\\"\\\"}.fa-credit-card-blank:before{content:\\\"\\\"}.fa-credit-card-front:before{content:\\\"\\\"}.fa-cricket:before{content:\\\"\\\"}.fa-critical-role:before{content:\\\"\\\"}.fa-croissant:before{content:\\\"\\\"}.fa-crop:before{content:\\\"\\\"}.fa-crop-alt:before{content:\\\"\\\"}.fa-cross:before{content:\\\"\\\"}.fa-crosshairs:before{content:\\\"\\\"}.fa-crow:before{content:\\\"\\\"}.fa-crown:before{content:\\\"\\\"}.fa-crutch:before{content:\\\"\\\"}.fa-crutches:before{content:\\\"\\\"}.fa-css3:before{content:\\\"\\\"}.fa-css3-alt:before{content:\\\"\\\"}.fa-cube:before{content:\\\"\\\"}.fa-cubes:before{content:\\\"\\\"}.fa-curling:before{content:\\\"\\\"}.fa-cut:before{content:\\\"\\\"}.fa-cuttlefish:before{content:\\\"\\\"}.fa-d-and-d:before{content:\\\"\\\"}.fa-d-and-d-beyond:before{content:\\\"\\\"}.fa-dagger:before{content:\\\"\\\"}.fa-dailymotion:before{content:\\\"勒\\\"}.fa-dashcube:before{content:\\\"\\\"}.fa-database:before{content:\\\"\\\"}.fa-deaf:before{content:\\\"\\\"}.fa-debug:before{content:\\\"\\\"}.fa-deer:before{content:\\\"\\\"}.fa-deer-rudolph:before{content:\\\"\\\"}.fa-delicious:before{content:\\\"\\\"}.fa-democrat:before{content:\\\"\\\"}.fa-deploydog:before{content:\\\"\\\"}.fa-deskpro:before{content:\\\"\\\"}.fa-desktop:before{content:\\\"\\\"}.fa-desktop-alt:before{content:\\\"\\\"}.fa-dev:before{content:\\\"\\\"}.fa-deviantart:before{content:\\\"\\\"}.fa-dewpoint:before{content:\\\"\\\"}.fa-dharmachakra:before{content:\\\"\\\"}.fa-dhl:before{content:\\\"\\\"}.fa-diagnoses:before{content:\\\"\\\"}.fa-diamond:before{content:\\\"\\\"}.fa-diaspora:before{content:\\\"\\\"}.fa-dice:before{content:\\\"\\\"}.fa-dice-d10:before{content:\\\"\\\"}.fa-dice-d12:before{content:\\\"\\\"}.fa-dice-d20:before{content:\\\"\\\"}.fa-dice-d4:before{content:\\\"\\\"}.fa-dice-d6:before{content:\\\"\\\"}.fa-dice-d8:before{content:\\\"\\\"}.fa-dice-five:before{content:\\\"\\\"}.fa-dice-four:before{content:\\\"\\\"}.fa-dice-one:before{content:\\\"\\\"}.fa-dice-six:before{content:\\\"\\\"}.fa-dice-three:before{content:\\\"\\\"}.fa-dice-two:before{content:\\\"\\\"}.fa-digg:before{content:\\\"\\\"}.fa-digging:before{content:\\\"\\\"}.fa-digital-ocean:before{content:\\\"\\\"}.fa-digital-tachograph:before{content:\\\"\\\"}.fa-diploma:before{content:\\\"\\\"}.fa-directions:before{content:\\\"\\\"}.fa-disc-drive:before{content:\\\"\\\"}.fa-discord:before{content:\\\"\\\"}.fa-discourse:before{content:\\\"\\\"}.fa-disease:before{content:\\\"\\\"}.fa-divide:before{content:\\\"\\\"}.fa-dizzy:before{content:\\\"\\\"}.fa-dna:before{content:\\\"\\\"}.fa-do-not-enter:before{content:\\\"\\\"}.fa-dochub:before{content:\\\"\\\"}.fa-docker:before{content:\\\"\\\"}.fa-dog:before{content:\\\"\\\"}.fa-dog-leashed:before{content:\\\"\\\"}.fa-dollar-sign:before{content:\\\"\\\"}.fa-dolly:before{content:\\\"\\\"}.fa-dolly-empty:before{content:\\\"\\\"}.fa-dolly-flatbed:before{content:\\\"\\\"}.fa-dolly-flatbed-alt:before{content:\\\"\\\"}.fa-dolly-flatbed-empty:before{content:\\\"\\\"}.fa-donate:before{content:\\\"\\\"}.fa-door-closed:before{content:\\\"\\\"}.fa-door-open:before{content:\\\"\\\"}.fa-dot-circle:before{content:\\\"\\\"}.fa-dove:before{content:\\\"\\\"}.fa-download:before{content:\\\"\\\"}.fa-draft2digital:before{content:\\\"\\\"}.fa-drafting-compass:before{content:\\\"\\\"}.fa-dragon:before{content:\\\"\\\"}.fa-draw-circle:before{content:\\\"\\\"}.fa-draw-polygon:before{content:\\\"\\\"}.fa-draw-square:before{content:\\\"\\\"}.fa-dreidel:before{content:\\\"\\\"}.fa-dribbble:before{content:\\\"\\\"}.fa-dribbble-square:before{content:\\\"\\\"}.fa-drone:before{content:\\\"\\\"}.fa-drone-alt:before{content:\\\"\\\"}.fa-dropbox:before{content:\\\"\\\"}.fa-drum:before{content:\\\"\\\"}.fa-drum-steelpan:before{content:\\\"\\\"}.fa-drumstick:before{content:\\\"\\\"}.fa-drumstick-bite:before{content:\\\"\\\"}.fa-drupal:before{content:\\\"\\\"}.fa-dryer:before{content:\\\"\\\"}.fa-dryer-alt:before{content:\\\"\\\"}.fa-duck:before{content:\\\"\\\"}.fa-dumbbell:before{content:\\\"\\\"}.fa-dumpster:before{content:\\\"\\\"}.fa-dumpster-fire:before{content:\\\"\\\"}.fa-dungeon:before{content:\\\"\\\"}.fa-dyalog:before{content:\\\"\\\"}.fa-ear:before{content:\\\"\\\"}.fa-ear-muffs:before{content:\\\"\\\"}.fa-earlybirds:before{content:\\\"\\\"}.fa-ebay:before{content:\\\"\\\"}.fa-eclipse:before{content:\\\"\\\"}.fa-eclipse-alt:before{content:\\\"\\\"}.fa-edge:before{content:\\\"\\\"}.fa-edit:before{content:\\\"\\\"}.fa-egg:before{content:\\\"\\\"}.fa-egg-fried:before{content:\\\"\\\"}.fa-eject:before{content:\\\"\\\"}.fa-elementor:before{content:\\\"\\\"}.fa-elephant:before{content:\\\"\\\"}.fa-ellipsis-h:before{content:\\\"\\\"}.fa-ellipsis-h-alt:before{content:\\\"\\\"}.fa-ellipsis-v:before{content:\\\"\\\"}.fa-ellipsis-v-alt:before{content:\\\"\\\"}.fa-ello:before{content:\\\"\\\"}.fa-ember:before{content:\\\"\\\"}.fa-empire:before{content:\\\"\\\"}.fa-empty-set:before{content:\\\"\\\"}.fa-engine-warning:before{content:\\\"\\\"}.fa-envelope:before{content:\\\"\\\"}.fa-envelope-open:before{content:\\\"\\\"}.fa-envelope-open-dollar:before{content:\\\"\\\"}.fa-envelope-open-text:before{content:\\\"\\\"}.fa-envelope-square:before{content:\\\"\\\"}.fa-envira:before{content:\\\"\\\"}.fa-equals:before{content:\\\"\\\"}.fa-eraser:before{content:\\\"\\\"}.fa-erlang:before{content:\\\"\\\"}.fa-ethereum:before{content:\\\"\\\"}.fa-ethernet:before{content:\\\"\\\"}.fa-etsy:before{content:\\\"\\\"}.fa-euro-sign:before{content:\\\"\\\"}.fa-evernote:before{content:\\\"\\\"}.fa-exchange:before{content:\\\"\\\"}.fa-exchange-alt:before{content:\\\"\\\"}.fa-exclamation:before{content:\\\"\\\"}.fa-exclamation-circle:before{content:\\\"\\\"}.fa-exclamation-square:before{content:\\\"\\\"}.fa-exclamation-triangle:before{content:\\\"\\\"}.fa-expand:before{content:\\\"\\\"}.fa-expand-alt:before{content:\\\"\\\"}.fa-expand-arrows:before{content:\\\"\\\"}.fa-expand-arrows-alt:before{content:\\\"\\\"}.fa-expand-wide:before{content:\\\"\\\"}.fa-expeditedssl:before{content:\\\"\\\"}.fa-external-link:before{content:\\\"\\\"}.fa-external-link-alt:before{content:\\\"\\\"}.fa-external-link-square:before{content:\\\"\\\"}.fa-external-link-square-alt:before{content:\\\"\\\"}.fa-eye:before{content:\\\"\\\"}.fa-eye-dropper:before{content:\\\"\\\"}.fa-eye-evil:before{content:\\\"\\\"}.fa-eye-slash:before{content:\\\"\\\"}.fa-facebook:before{content:\\\"\\\"}.fa-facebook-f:before{content:\\\"\\\"}.fa-facebook-messenger:before{content:\\\"\\\"}.fa-facebook-square:before{content:\\\"\\\"}.fa-fan:before{content:\\\"\\\"}.fa-fan-table:before{content:\\\"滑\\\"}.fa-fantasy-flight-games:before{content:\\\"\\\"}.fa-farm:before{content:\\\"\\\"}.fa-fast-backward:before{content:\\\"\\\"}.fa-fast-forward:before{content:\\\"\\\"}.fa-faucet:before{content:\\\"串\\\"}.fa-faucet-drip:before{content:\\\"句\\\"}.fa-fax:before{content:\\\"\\\"}.fa-feather:before{content:\\\"\\\"}.fa-feather-alt:before{content:\\\"\\\"}.fa-fedex:before{content:\\\"\\\"}.fa-fedora:before{content:\\\"\\\"}.fa-female:before{content:\\\"\\\"}.fa-field-hockey:before{content:\\\"\\\"}.fa-fighter-jet:before{content:\\\"\\\"}.fa-figma:before{content:\\\"\\\"}.fa-file:before{content:\\\"\\\"}.fa-file-alt:before{content:\\\"\\\"}.fa-file-archive:before{content:\\\"\\\"}.fa-file-audio:before{content:\\\"\\\"}.fa-file-certificate:before{content:\\\"\\\"}.fa-file-chart-line:before{content:\\\"\\\"}.fa-file-chart-pie:before{content:\\\"\\\"}.fa-file-check:before{content:\\\"\\\"}.fa-file-code:before{content:\\\"\\\"}.fa-file-contract:before{content:\\\"\\\"}.fa-file-csv:before{content:\\\"\\\"}.fa-file-download:before{content:\\\"\\\"}.fa-file-edit:before{content:\\\"\\\"}.fa-file-excel:before{content:\\\"\\\"}.fa-file-exclamation:before{content:\\\"\\\"}.fa-file-export:before{content:\\\"\\\"}.fa-file-image:before{content:\\\"\\\"}.fa-file-import:before{content:\\\"\\\"}.fa-file-invoice:before{content:\\\"\\\"}.fa-file-invoice-dollar:before{content:\\\"\\\"}.fa-file-medical:before{content:\\\"\\\"}.fa-file-medical-alt:before{content:\\\"\\\"}.fa-file-minus:before{content:\\\"\\\"}.fa-file-music:before{content:\\\"\\\"}.fa-file-pdf:before{content:\\\"\\\"}.fa-file-plus:before{content:\\\"\\\"}.fa-file-powerpoint:before{content:\\\"\\\"}.fa-file-prescription:before{content:\\\"\\\"}.fa-file-search:before{content:\\\"\\\"}.fa-file-signature:before{content:\\\"\\\"}.fa-file-spreadsheet:before{content:\\\"\\\"}.fa-file-times:before{content:\\\"\\\"}.fa-file-upload:before{content:\\\"\\\"}.fa-file-user:before{content:\\\"\\\"}.fa-file-video:before{content:\\\"\\\"}.fa-file-word:before{content:\\\"\\\"}.fa-files-medical:before{content:\\\"\\\"}.fa-fill:before{content:\\\"\\\"}.fa-fill-drip:before{content:\\\"\\\"}.fa-film:before{content:\\\"\\\"}.fa-film-alt:before{content:\\\"\\\"}.fa-film-canister:before{content:\\\"\\\"}.fa-filter:before{content:\\\"\\\"}.fa-fingerprint:before{content:\\\"\\\"}.fa-fire:before{content:\\\"\\\"}.fa-fire-alt:before{content:\\\"\\\"}.fa-fire-extinguisher:before{content:\\\"\\\"}.fa-fire-smoke:before{content:\\\"\\\"}.fa-firefox:before{content:\\\"\\\"}.fa-firefox-browser:before{content:\\\"龜\\\"}.fa-fireplace:before{content:\\\"\\\"}.fa-first-aid:before{content:\\\"\\\"}.fa-first-order:before{content:\\\"\\\"}.fa-first-order-alt:before{content:\\\"\\\"}.fa-firstdraft:before{content:\\\"\\\"}.fa-fish:before{content:\\\"\\\"}.fa-fish-cooked:before{content:\\\"\\\"}.fa-fist-raised:before{content:\\\"\\\"}.fa-flag:before{content:\\\"\\\"}.fa-flag-alt:before{content:\\\"\\\"}.fa-flag-checkered:before{content:\\\"\\\"}.fa-flag-usa:before{content:\\\"\\\"}.fa-flame:before{content:\\\"\\\"}.fa-flashlight:before{content:\\\"\\\"}.fa-flask:before{content:\\\"\\\"}.fa-flask-poison:before{content:\\\"\\\"}.fa-flask-potion:before{content:\\\"\\\"}.fa-flickr:before{content:\\\"\\\"}.fa-flipboard:before{content:\\\"\\\"}.fa-flower:before{content:\\\"\\\"}.fa-flower-daffodil:before{content:\\\"\\\"}.fa-flower-tulip:before{content:\\\"\\\"}.fa-flushed:before{content:\\\"\\\"}.fa-flute:before{content:\\\"\\\"}.fa-flux-capacitor:before{content:\\\"\\\"}.fa-fly:before{content:\\\"\\\"}.fa-fog:before{content:\\\"\\\"}.fa-folder:before{content:\\\"\\\"}.fa-folder-download:before{content:\\\"肋\\\"}.fa-folder-minus:before{content:\\\"\\\"}.fa-folder-open:before{content:\\\"\\\"}.fa-folder-plus:before{content:\\\"\\\"}.fa-folder-times:before{content:\\\"\\\"}.fa-folder-tree:before{content:\\\"\\\"}.fa-folder-upload:before{content:\\\"凜\\\"}.fa-folders:before{content:\\\"\\\"}.fa-font:before{content:\\\"\\\"}.fa-font-awesome:before{content:\\\"\\\"}.fa-font-awesome-alt:before{content:\\\"\\\"}.fa-font-awesome-flag:before{content:\\\"\\\"}.fa-font-awesome-logo-full:before{content:\\\"\\\"}.fa-font-case:before{content:\\\"\\\"}.fa-fonticons:before{content:\\\"\\\"}.fa-fonticons-fi:before{content:\\\"\\\"}.fa-football-ball:before{content:\\\"\\\"}.fa-football-helmet:before{content:\\\"\\\"}.fa-forklift:before{content:\\\"\\\"}.fa-fort-awesome:before{content:\\\"\\\"}.fa-fort-awesome-alt:before{content:\\\"\\\"}.fa-forumbee:before{content:\\\"\\\"}.fa-forward:before{content:\\\"\\\"}.fa-foursquare:before{content:\\\"\\\"}.fa-fragile:before{content:\\\"\\\"}.fa-free-code-camp:before{content:\\\"\\\"}.fa-freebsd:before{content:\\\"\\\"}.fa-french-fries:before{content:\\\"\\\"}.fa-frog:before{content:\\\"\\\"}.fa-frosty-head:before{content:\\\"\\\"}.fa-frown:before{content:\\\"\\\"}.fa-frown-open:before{content:\\\"\\\"}.fa-fulcrum:before{content:\\\"\\\"}.fa-function:before{content:\\\"\\\"}.fa-funnel-dollar:before{content:\\\"\\\"}.fa-futbol:before{content:\\\"\\\"}.fa-galactic-republic:before{content:\\\"\\\"}.fa-galactic-senate:before{content:\\\"\\\"}.fa-galaxy:before{content:\\\"龜\\\"}.fa-game-board:before{content:\\\"\\\"}.fa-game-board-alt:before{content:\\\"\\\"}.fa-game-console-handheld:before{content:\\\"\\\"}.fa-gamepad:before{content:\\\"\\\"}.fa-gamepad-alt:before{content:\\\"\\\"}.fa-garage:before{content:\\\"契\\\"}.fa-garage-car:before{content:\\\"金\\\"}.fa-garage-open:before{content:\\\"喇\\\"}.fa-gas-pump:before{content:\\\"\\\"}.fa-gas-pump-slash:before{content:\\\"\\\"}.fa-gavel:before{content:\\\"\\\"}.fa-gem:before{content:\\\"\\\"}.fa-genderless:before{content:\\\"\\\"}.fa-get-pocket:before{content:\\\"\\\"}.fa-gg:before{content:\\\"\\\"}.fa-gg-circle:before{content:\\\"\\\"}.fa-ghost:before{content:\\\"\\\"}.fa-gift:before{content:\\\"\\\"}.fa-gift-card:before{content:\\\"\\\"}.fa-gifts:before{content:\\\"\\\"}.fa-gingerbread-man:before{content:\\\"\\\"}.fa-git:before{content:\\\"\\\"}.fa-git-alt:before{content:\\\"\\\"}.fa-git-square:before{content:\\\"\\\"}.fa-github:before{content:\\\"\\\"}.fa-github-alt:before{content:\\\"\\\"}.fa-github-square:before{content:\\\"\\\"}.fa-gitkraken:before{content:\\\"\\\"}.fa-gitlab:before{content:\\\"\\\"}.fa-gitter:before{content:\\\"\\\"}.fa-glass:before{content:\\\"\\\"}.fa-glass-champagne:before{content:\\\"\\\"}.fa-glass-cheers:before{content:\\\"\\\"}.fa-glass-citrus:before{content:\\\"\\\"}.fa-glass-martini:before{content:\\\"\\\"}.fa-glass-martini-alt:before{content:\\\"\\\"}.fa-glass-whiskey:before{content:\\\"\\\"}.fa-glass-whiskey-rocks:before{content:\\\"\\\"}.fa-glasses:before{content:\\\"\\\"}.fa-glasses-alt:before{content:\\\"\\\"}.fa-glide:before{content:\\\"\\\"}.fa-glide-g:before{content:\\\"\\\"}.fa-globe:before{content:\\\"\\\"}.fa-globe-africa:before{content:\\\"\\\"}.fa-globe-americas:before{content:\\\"\\\"}.fa-globe-asia:before{content:\\\"\\\"}.fa-globe-europe:before{content:\\\"\\\"}.fa-globe-snow:before{content:\\\"\\\"}.fa-globe-stand:before{content:\\\"\\\"}.fa-gofore:before{content:\\\"\\\"}.fa-golf-ball:before{content:\\\"\\\"}.fa-golf-club:before{content:\\\"\\\"}.fa-goodreads:before{content:\\\"\\\"}.fa-goodreads-g:before{content:\\\"\\\"}.fa-google:before{content:\\\"\\\"}.fa-google-drive:before{content:\\\"\\\"}.fa-google-play:before{content:\\\"\\\"}.fa-google-plus:before{content:\\\"\\\"}.fa-google-plus-g:before{content:\\\"\\\"}.fa-google-plus-square:before{content:\\\"\\\"}.fa-google-wallet:before{content:\\\"\\\"}.fa-gopuram:before{content:\\\"\\\"}.fa-graduation-cap:before{content:\\\"\\\"}.fa-gramophone:before{content:\\\"\\\"}.fa-gratipay:before{content:\\\"\\\"}.fa-grav:before{content:\\\"\\\"}.fa-greater-than:before{content:\\\"\\\"}.fa-greater-than-equal:before{content:\\\"\\\"}.fa-grimace:before{content:\\\"\\\"}.fa-grin:before{content:\\\"\\\"}.fa-grin-alt:before{content:\\\"\\\"}.fa-grin-beam:before{content:\\\"\\\"}.fa-grin-beam-sweat:before{content:\\\"\\\"}.fa-grin-hearts:before{content:\\\"\\\"}.fa-grin-squint:before{content:\\\"\\\"}.fa-grin-squint-tears:before{content:\\\"\\\"}.fa-grin-stars:before{content:\\\"\\\"}.fa-grin-tears:before{content:\\\"\\\"}.fa-grin-tongue:before{content:\\\"\\\"}.fa-grin-tongue-squint:before{content:\\\"\\\"}.fa-grin-tongue-wink:before{content:\\\"\\\"}.fa-grin-wink:before{content:\\\"\\\"}.fa-grip-horizontal:before{content:\\\"\\\"}.fa-grip-lines:before{content:\\\"\\\"}.fa-grip-lines-vertical:before{content:\\\"\\\"}.fa-grip-vertical:before{content:\\\"\\\"}.fa-gripfire:before{content:\\\"\\\"}.fa-grunt:before{content:\\\"\\\"}.fa-guitar:before{content:\\\"\\\"}.fa-guitar-electric:before{content:\\\"\\\"}.fa-guitars:before{content:\\\"\\\"}.fa-gulp:before{content:\\\"\\\"}.fa-h-square:before{content:\\\"\\\"}.fa-h1:before{content:\\\"\\\"}.fa-h2:before{content:\\\"\\\"}.fa-h3:before{content:\\\"\\\"}.fa-h4:before{content:\\\"\\\"}.fa-hacker-news:before{content:\\\"\\\"}.fa-hacker-news-square:before{content:\\\"\\\"}.fa-hackerrank:before{content:\\\"\\\"}.fa-hamburger:before{content:\\\"\\\"}.fa-hammer:before{content:\\\"\\\"}.fa-hammer-war:before{content:\\\"\\\"}.fa-hamsa:before{content:\\\"\\\"}.fa-hand-heart:before{content:\\\"\\\"}.fa-hand-holding:before{content:\\\"\\\"}.fa-hand-holding-box:before{content:\\\"\\\"}.fa-hand-holding-heart:before{content:\\\"\\\"}.fa-hand-holding-magic:before{content:\\\"\\\"}.fa-hand-holding-medical:before{content:\\\"樂\\\"}.fa-hand-holding-seedling:before{content:\\\"\\\"}.fa-hand-holding-usd:before{content:\\\"\\\"}.fa-hand-holding-water:before{content:\\\"\\\"}.fa-hand-lizard:before{content:\\\"\\\"}.fa-hand-middle-finger:before{content:\\\"\\\"}.fa-hand-paper:before{content:\\\"\\\"}.fa-hand-peace:before{content:\\\"\\\"}.fa-hand-point-down:before{content:\\\"\\\"}.fa-hand-point-left:before{content:\\\"\\\"}.fa-hand-point-right:before{content:\\\"\\\"}.fa-hand-point-up:before{content:\\\"\\\"}.fa-hand-pointer:before{content:\\\"\\\"}.fa-hand-receiving:before{content:\\\"\\\"}.fa-hand-rock:before{content:\\\"\\\"}.fa-hand-scissors:before{content:\\\"\\\"}.fa-hand-sparkles:before{content:\\\"諾\\\"}.fa-hand-spock:before{content:\\\"\\\"}.fa-hands:before{content:\\\"\\\"}.fa-hands-heart:before{content:\\\"\\\"}.fa-hands-helping:before{content:\\\"\\\"}.fa-hands-usd:before{content:\\\"\\\"}.fa-hands-wash:before{content:\\\"丹\\\"}.fa-handshake:before{content:\\\"\\\"}.fa-handshake-alt:before{content:\\\"\\\"}.fa-handshake-alt-slash:before{content:\\\"寧\\\"}.fa-handshake-slash:before{content:\\\"怒\\\"}.fa-hanukiah:before{content:\\\"\\\"}.fa-hard-hat:before{content:\\\"\\\"}.fa-hashtag:before{content:\\\"\\\"}.fa-hat-chef:before{content:\\\"\\\"}.fa-hat-cowboy:before{content:\\\"\\\"}.fa-hat-cowboy-side:before{content:\\\"\\\"}.fa-hat-santa:before{content:\\\"\\\"}.fa-hat-winter:before{content:\\\"\\\"}.fa-hat-witch:before{content:\\\"\\\"}.fa-hat-wizard:before{content:\\\"\\\"}.fa-hdd:before{content:\\\"\\\"}.fa-head-side:before{content:\\\"\\\"}.fa-head-side-brain:before{content:\\\"\\\"}.fa-head-side-cough:before{content:\\\"率\\\"}.fa-head-side-cough-slash:before{content:\\\"異\\\"}.fa-head-side-headphones:before{content:\\\"\\\"}.fa-head-side-mask:before{content:\\\"北\\\"}.fa-head-side-medical:before{content:\\\"\\\"}.fa-head-side-virus:before{content:\\\"磻\\\"}.fa-head-vr:before{content:\\\"\\\"}.fa-heading:before{content:\\\"\\\"}.fa-headphones:before{content:\\\"\\\"}.fa-headphones-alt:before{content:\\\"\\\"}.fa-headset:before{content:\\\"\\\"}.fa-heart:before{content:\\\"\\\"}.fa-heart-broken:before{content:\\\"\\\"}.fa-heart-circle:before{content:\\\"\\\"}.fa-heart-rate:before{content:\\\"\\\"}.fa-heart-square:before{content:\\\"\\\"}.fa-heartbeat:before{content:\\\"\\\"}.fa-heat:before{content:\\\"奈\\\"}.fa-helicopter:before{content:\\\"\\\"}.fa-helmet-battle:before{content:\\\"\\\"}.fa-hexagon:before{content:\\\"\\\"}.fa-highlighter:before{content:\\\"\\\"}.fa-hiking:before{content:\\\"\\\"}.fa-hippo:before{content:\\\"\\\"}.fa-hips:before{content:\\\"\\\"}.fa-hire-a-helper:before{content:\\\"\\\"}.fa-history:before{content:\\\"\\\"}.fa-hockey-mask:before{content:\\\"\\\"}.fa-hockey-puck:before{content:\\\"\\\"}.fa-hockey-sticks:before{content:\\\"\\\"}.fa-holly-berry:before{content:\\\"\\\"}.fa-home:before{content:\\\"\\\"}.fa-home-alt:before{content:\\\"\\\"}.fa-home-heart:before{content:\\\"\\\"}.fa-home-lg:before{content:\\\"\\\"}.fa-home-lg-alt:before{content:\\\"\\\"}.fa-hood-cloak:before{content:\\\"\\\"}.fa-hooli:before{content:\\\"\\\"}.fa-horizontal-rule:before{content:\\\"\\\"}.fa-hornbill:before{content:\\\"\\\"}.fa-horse:before{content:\\\"\\\"}.fa-horse-head:before{content:\\\"\\\"}.fa-horse-saddle:before{content:\\\"\\\"}.fa-hospital:before{content:\\\"\\\"}.fa-hospital-alt:before{content:\\\"\\\"}.fa-hospital-symbol:before{content:\\\"\\\"}.fa-hospital-user:before{content:\\\"\\\"}.fa-hospitals:before{content:\\\"\\\"}.fa-hot-tub:before{content:\\\"\\\"}.fa-hotdog:before{content:\\\"\\\"}.fa-hotel:before{content:\\\"\\\"}.fa-hotjar:before{content:\\\"\\\"}.fa-hourglass:before{content:\\\"\\\"}.fa-hourglass-end:before{content:\\\"\\\"}.fa-hourglass-half:before{content:\\\"\\\"}.fa-hourglass-start:before{content:\\\"\\\"}.fa-house:before{content:\\\"懶\\\"}.fa-house-damage:before{content:\\\"\\\"}.fa-house-day:before{content:\\\"癩\\\"}.fa-house-flood:before{content:\\\"\\\"}.fa-house-leave:before{content:\\\"羅\\\"}.fa-house-night:before{content:\\\"蘿\\\"}.fa-house-return:before{content:\\\"螺\\\"}.fa-house-signal:before{content:\\\"裸\\\"}.fa-house-user:before{content:\\\"便\\\"}.fa-houzz:before{content:\\\"\\\"}.fa-hryvnia:before{content:\\\"\\\"}.fa-html5:before{content:\\\"\\\"}.fa-hubspot:before{content:\\\"\\\"}.fa-humidity:before{content:\\\"\\\"}.fa-hurricane:before{content:\\\"\\\"}.fa-i-cursor:before{content:\\\"\\\"}.fa-ice-cream:before{content:\\\"\\\"}.fa-ice-skate:before{content:\\\"\\\"}.fa-icicles:before{content:\\\"\\\"}.fa-icons:before{content:\\\"\\\"}.fa-icons-alt:before{content:\\\"\\\"}.fa-id-badge:before{content:\\\"\\\"}.fa-id-card:before{content:\\\"\\\"}.fa-id-card-alt:before{content:\\\"\\\"}.fa-ideal:before{content:\\\"邏\\\"}.fa-igloo:before{content:\\\"\\\"}.fa-image:before{content:\\\"\\\"}.fa-image-polaroid:before{content:\\\"\\\"}.fa-images:before{content:\\\"\\\"}.fa-imdb:before{content:\\\"\\\"}.fa-inbox:before{content:\\\"\\\"}.fa-inbox-in:before{content:\\\"\\\"}.fa-inbox-out:before{content:\\\"\\\"}.fa-indent:before{content:\\\"\\\"}.fa-industry:before{content:\\\"\\\"}.fa-industry-alt:before{content:\\\"\\\"}.fa-infinity:before{content:\\\"\\\"}.fa-info:before{content:\\\"\\\"}.fa-info-circle:before{content:\\\"\\\"}.fa-info-square:before{content:\\\"\\\"}.fa-inhaler:before{content:\\\"\\\"}.fa-instagram:before{content:\\\"\\\"}.fa-instagram-square:before{content:\\\"凌\\\"}.fa-integral:before{content:\\\"\\\"}.fa-intercom:before{content:\\\"\\\"}.fa-internet-explorer:before{content:\\\"\\\"}.fa-intersection:before{content:\\\"\\\"}.fa-inventory:before{content:\\\"\\\"}.fa-invision:before{content:\\\"\\\"}.fa-ioxhost:before{content:\\\"\\\"}.fa-island-tropical:before{content:\\\"\\\"}.fa-italic:before{content:\\\"\\\"}.fa-itch-io:before{content:\\\"\\\"}.fa-itunes:before{content:\\\"\\\"}.fa-itunes-note:before{content:\\\"\\\"}.fa-jack-o-lantern:before{content:\\\"\\\"}.fa-java:before{content:\\\"\\\"}.fa-jedi:before{content:\\\"\\\"}.fa-jedi-order:before{content:\\\"\\\"}.fa-jenkins:before{content:\\\"\\\"}.fa-jira:before{content:\\\"\\\"}.fa-joget:before{content:\\\"\\\"}.fa-joint:before{content:\\\"\\\"}.fa-joomla:before{content:\\\"\\\"}.fa-journal-whills:before{content:\\\"\\\"}.fa-joystick:before{content:\\\"\\\"}.fa-js:before{content:\\\"\\\"}.fa-js-square:before{content:\\\"\\\"}.fa-jsfiddle:before{content:\\\"\\\"}.fa-jug:before{content:\\\"\\\"}.fa-kaaba:before{content:\\\"\\\"}.fa-kaggle:before{content:\\\"\\\"}.fa-kazoo:before{content:\\\"\\\"}.fa-kerning:before{content:\\\"\\\"}.fa-key:before{content:\\\"\\\"}.fa-key-skeleton:before{content:\\\"\\\"}.fa-keybase:before{content:\\\"\\\"}.fa-keyboard:before{content:\\\"\\\"}.fa-keycdn:before{content:\\\"\\\"}.fa-keynote:before{content:\\\"\\\"}.fa-khanda:before{content:\\\"\\\"}.fa-kickstarter:before{content:\\\"\\\"}.fa-kickstarter-k:before{content:\\\"\\\"}.fa-kidneys:before{content:\\\"\\\"}.fa-kiss:before{content:\\\"\\\"}.fa-kiss-beam:before{content:\\\"\\\"}.fa-kiss-wink-heart:before{content:\\\"\\\"}.fa-kite:before{content:\\\"\\\"}.fa-kiwi-bird:before{content:\\\"\\\"}.fa-knife-kitchen:before{content:\\\"\\\"}.fa-korvue:before{content:\\\"\\\"}.fa-lambda:before{content:\\\"\\\"}.fa-lamp:before{content:\\\"\\\"}.fa-lamp-desk:before{content:\\\"樂\\\"}.fa-lamp-floor:before{content:\\\"洛\\\"}.fa-landmark:before{content:\\\"\\\"}.fa-landmark-alt:before{content:\\\"\\\"}.fa-language:before{content:\\\"\\\"}.fa-laptop:before{content:\\\"\\\"}.fa-laptop-code:before{content:\\\"\\\"}.fa-laptop-house:before{content:\\\"復\\\"}.fa-laptop-medical:before{content:\\\"\\\"}.fa-laravel:before{content:\\\"\\\"}.fa-lasso:before{content:\\\"\\\"}.fa-lastfm:before{content:\\\"\\\"}.fa-lastfm-square:before{content:\\\"\\\"}.fa-laugh:before{content:\\\"\\\"}.fa-laugh-beam:before{content:\\\"\\\"}.fa-laugh-squint:before{content:\\\"\\\"}.fa-laugh-wink:before{content:\\\"\\\"}.fa-layer-group:before{content:\\\"\\\"}.fa-layer-minus:before{content:\\\"\\\"}.fa-layer-plus:before{content:\\\"\\\"}.fa-leaf:before{content:\\\"\\\"}.fa-leaf-heart:before{content:\\\"\\\"}.fa-leaf-maple:before{content:\\\"\\\"}.fa-leaf-oak:before{content:\\\"\\\"}.fa-leanpub:before{content:\\\"\\\"}.fa-lemon:before{content:\\\"\\\"}.fa-less:before{content:\\\"\\\"}.fa-less-than:before{content:\\\"\\\"}.fa-less-than-equal:before{content:\\\"\\\"}.fa-level-down:before{content:\\\"\\\"}.fa-level-down-alt:before{content:\\\"\\\"}.fa-level-up:before{content:\\\"\\\"}.fa-level-up-alt:before{content:\\\"\\\"}.fa-life-ring:before{content:\\\"\\\"}.fa-light-ceiling:before{content:\\\"烙\\\"}.fa-light-switch:before{content:\\\"珞\\\"}.fa-light-switch-off:before{content:\\\"落\\\"}.fa-light-switch-on:before{content:\\\"酪\\\"}.fa-lightbulb:before{content:\\\"\\\"}.fa-lightbulb-dollar:before{content:\\\"\\\"}.fa-lightbulb-exclamation:before{content:\\\"\\\"}.fa-lightbulb-on:before{content:\\\"\\\"}.fa-lightbulb-slash:before{content:\\\"\\\"}.fa-lights-holiday:before{content:\\\"\\\"}.fa-line:before{content:\\\"\\\"}.fa-line-columns:before{content:\\\"\\\"}.fa-line-height:before{content:\\\"\\\"}.fa-link:before{content:\\\"\\\"}.fa-linkedin:before{content:\\\"\\\"}.fa-linkedin-in:before{content:\\\"\\\"}.fa-linode:before{content:\\\"\\\"}.fa-linux:before{content:\\\"\\\"}.fa-lips:before{content:\\\"\\\"}.fa-lira-sign:before{content:\\\"\\\"}.fa-list:before{content:\\\"\\\"}.fa-list-alt:before{content:\\\"\\\"}.fa-list-music:before{content:\\\"\\\"}.fa-list-ol:before{content:\\\"\\\"}.fa-list-ul:before{content:\\\"\\\"}.fa-location:before{content:\\\"\\\"}.fa-location-arrow:before{content:\\\"\\\"}.fa-location-circle:before{content:\\\"\\\"}.fa-location-slash:before{content:\\\"\\\"}.fa-lock:before{content:\\\"\\\"}.fa-lock-alt:before{content:\\\"\\\"}.fa-lock-open:before{content:\\\"\\\"}.fa-lock-open-alt:before{content:\\\"\\\"}.fa-long-arrow-alt-down:before{content:\\\"\\\"}.fa-long-arrow-alt-left:before{content:\\\"\\\"}.fa-long-arrow-alt-right:before{content:\\\"\\\"}.fa-long-arrow-alt-up:before{content:\\\"\\\"}.fa-long-arrow-down:before{content:\\\"\\\"}.fa-long-arrow-left:before{content:\\\"\\\"}.fa-long-arrow-right:before{content:\\\"\\\"}.fa-long-arrow-up:before{content:\\\"\\\"}.fa-loveseat:before{content:\\\"\\\"}.fa-low-vision:before{content:\\\"\\\"}.fa-luchador:before{content:\\\"\\\"}.fa-luggage-cart:before{content:\\\"\\\"}.fa-lungs:before{content:\\\"\\\"}.fa-lungs-virus:before{content:\\\"不\\\"}.fa-lyft:before{content:\\\"\\\"}.fa-mace:before{content:\\\"\\\"}.fa-magento:before{content:\\\"\\\"}.fa-magic:before{content:\\\"\\\"}.fa-magnet:before{content:\\\"\\\"}.fa-mail-bulk:before{content:\\\"\\\"}.fa-mailbox:before{content:\\\"\\\"}.fa-mailchimp:before{content:\\\"\\\"}.fa-male:before{content:\\\"\\\"}.fa-mandalorian:before{content:\\\"\\\"}.fa-mandolin:before{content:\\\"\\\"}.fa-map:before{content:\\\"\\\"}.fa-map-marked:before{content:\\\"\\\"}.fa-map-marked-alt:before{content:\\\"\\\"}.fa-map-marker:before{content:\\\"\\\"}.fa-map-marker-alt:before{content:\\\"\\\"}.fa-map-marker-alt-slash:before{content:\\\"\\\"}.fa-map-marker-check:before{content:\\\"\\\"}.fa-map-marker-edit:before{content:\\\"\\\"}.fa-map-marker-exclamation:before{content:\\\"\\\"}.fa-map-marker-minus:before{content:\\\"\\\"}.fa-map-marker-plus:before{content:\\\"\\\"}.fa-map-marker-question:before{content:\\\"\\\"}.fa-map-marker-slash:before{content:\\\"\\\"}.fa-map-marker-smile:before{content:\\\"\\\"}.fa-map-marker-times:before{content:\\\"\\\"}.fa-map-pin:before{content:\\\"\\\"}.fa-map-signs:before{content:\\\"\\\"}.fa-markdown:before{content:\\\"\\\"}.fa-marker:before{content:\\\"\\\"}.fa-mars:before{content:\\\"\\\"}.fa-mars-double:before{content:\\\"\\\"}.fa-mars-stroke:before{content:\\\"\\\"}.fa-mars-stroke-h:before{content:\\\"\\\"}.fa-mars-stroke-v:before{content:\\\"\\\"}.fa-mask:before{content:\\\"\\\"}.fa-mastodon:before{content:\\\"\\\"}.fa-maxcdn:before{content:\\\"\\\"}.fa-mdb:before{content:\\\"\\\"}.fa-meat:before{content:\\\"\\\"}.fa-medal:before{content:\\\"\\\"}.fa-medapps:before{content:\\\"\\\"}.fa-medium:before{content:\\\"\\\"}.fa-medium-m:before{content:\\\"\\\"}.fa-medkit:before{content:\\\"\\\"}.fa-medrt:before{content:\\\"\\\"}.fa-meetup:before{content:\\\"\\\"}.fa-megaphone:before{content:\\\"\\\"}.fa-megaport:before{content:\\\"\\\"}.fa-meh:before{content:\\\"\\\"}.fa-meh-blank:before{content:\\\"\\\"}.fa-meh-rolling-eyes:before{content:\\\"\\\"}.fa-memory:before{content:\\\"\\\"}.fa-mendeley:before{content:\\\"\\\"}.fa-menorah:before{content:\\\"\\\"}.fa-mercury:before{content:\\\"\\\"}.fa-meteor:before{content:\\\"\\\"}.fa-microblog:before{content:\\\"駱\\\"}.fa-microchip:before{content:\\\"\\\"}.fa-microphone:before{content:\\\"\\\"}.fa-microphone-alt:before{content:\\\"\\\"}.fa-microphone-alt-slash:before{content:\\\"\\\"}.fa-microphone-slash:before{content:\\\"\\\"}.fa-microphone-stand:before{content:\\\"\\\"}.fa-microscope:before{content:\\\"\\\"}.fa-microsoft:before{content:\\\"\\\"}.fa-microwave:before{content:\\\"亂\\\"}.fa-mind-share:before{content:\\\"\\\"}.fa-minus:before{content:\\\"\\\"}.fa-minus-circle:before{content:\\\"\\\"}.fa-minus-hexagon:before{content:\\\"\\\"}.fa-minus-octagon:before{content:\\\"\\\"}.fa-minus-square:before{content:\\\"\\\"}.fa-mistletoe:before{content:\\\"\\\"}.fa-mitten:before{content:\\\"\\\"}.fa-mix:before{content:\\\"\\\"}.fa-mixcloud:before{content:\\\"\\\"}.fa-mixer:before{content:\\\"稜\\\"}.fa-mizuni:before{content:\\\"\\\"}.fa-mobile:before{content:\\\"\\\"}.fa-mobile-alt:before{content:\\\"\\\"}.fa-mobile-android:before{content:\\\"\\\"}.fa-mobile-android-alt:before{content:\\\"\\\"}.fa-modx:before{content:\\\"\\\"}.fa-monero:before{content:\\\"\\\"}.fa-money-bill:before{content:\\\"\\\"}.fa-money-bill-alt:before{content:\\\"\\\"}.fa-money-bill-wave:before{content:\\\"\\\"}.fa-money-bill-wave-alt:before{content:\\\"\\\"}.fa-money-check:before{content:\\\"\\\"}.fa-money-check-alt:before{content:\\\"\\\"}.fa-money-check-edit:before{content:\\\"\\\"}.fa-money-check-edit-alt:before{content:\\\"\\\"}.fa-monitor-heart-rate:before{content:\\\"\\\"}.fa-monkey:before{content:\\\"\\\"}.fa-monument:before{content:\\\"\\\"}.fa-moon:before{content:\\\"\\\"}.fa-moon-cloud:before{content:\\\"\\\"}.fa-moon-stars:before{content:\\\"\\\"}.fa-mortar-pestle:before{content:\\\"\\\"}.fa-mosque:before{content:\\\"\\\"}.fa-motorcycle:before{content:\\\"\\\"}.fa-mountain:before{content:\\\"\\\"}.fa-mountains:before{content:\\\"\\\"}.fa-mouse:before{content:\\\"\\\"}.fa-mouse-alt:before{content:\\\"\\\"}.fa-mouse-pointer:before{content:\\\"\\\"}.fa-mp3-player:before{content:\\\"\\\"}.fa-mug:before{content:\\\"\\\"}.fa-mug-hot:before{content:\\\"\\\"}.fa-mug-marshmallows:before{content:\\\"\\\"}.fa-mug-tea:before{content:\\\"\\\"}.fa-music:before{content:\\\"\\\"}.fa-music-alt:before{content:\\\"\\\"}.fa-music-alt-slash:before{content:\\\"\\\"}.fa-music-slash:before{content:\\\"\\\"}.fa-napster:before{content:\\\"\\\"}.fa-narwhal:before{content:\\\"\\\"}.fa-neos:before{content:\\\"\\\"}.fa-network-wired:before{content:\\\"\\\"}.fa-neuter:before{content:\\\"\\\"}.fa-newspaper:before{content:\\\"\\\"}.fa-nimblr:before{content:\\\"\\\"}.fa-node:before{content:\\\"\\\"}.fa-node-js:before{content:\\\"\\\"}.fa-not-equal:before{content:\\\"\\\"}.fa-notes-medical:before{content:\\\"\\\"}.fa-npm:before{content:\\\"\\\"}.fa-ns8:before{content:\\\"\\\"}.fa-nutritionix:before{content:\\\"\\\"}.fa-object-group:before{content:\\\"\\\"}.fa-object-ungroup:before{content:\\\"\\\"}.fa-octagon:before{content:\\\"\\\"}.fa-odnoklassniki:before{content:\\\"\\\"}.fa-odnoklassniki-square:before{content:\\\"\\\"}.fa-oil-can:before{content:\\\"\\\"}.fa-oil-temp:before{content:\\\"\\\"}.fa-old-republic:before{content:\\\"\\\"}.fa-om:before{content:\\\"\\\"}.fa-omega:before{content:\\\"\\\"}.fa-opencart:before{content:\\\"\\\"}.fa-openid:before{content:\\\"\\\"}.fa-opera:before{content:\\\"\\\"}.fa-optin-monster:before{content:\\\"\\\"}.fa-orcid:before{content:\\\"\\\"}.fa-ornament:before{content:\\\"\\\"}.fa-osi:before{content:\\\"\\\"}.fa-otter:before{content:\\\"\\\"}.fa-outdent:before{content:\\\"\\\"}.fa-outlet:before{content:\\\"卵\\\"}.fa-oven:before{content:\\\"欄\\\"}.fa-overline:before{content:\\\"\\\"}.fa-page-break:before{content:\\\"\\\"}.fa-page4:before{content:\\\"\\\"}.fa-pagelines:before{content:\\\"\\\"}.fa-pager:before{content:\\\"\\\"}.fa-paint-brush:before{content:\\\"\\\"}.fa-paint-brush-alt:before{content:\\\"\\\"}.fa-paint-roller:before{content:\\\"\\\"}.fa-palette:before{content:\\\"\\\"}.fa-palfed:before{content:\\\"\\\"}.fa-pallet:before{content:\\\"\\\"}.fa-pallet-alt:before{content:\\\"\\\"}.fa-paper-plane:before{content:\\\"\\\"}.fa-paperclip:before{content:\\\"\\\"}.fa-parachute-box:before{content:\\\"\\\"}.fa-paragraph:before{content:\\\"\\\"}.fa-paragraph-rtl:before{content:\\\"\\\"}.fa-parking:before{content:\\\"\\\"}.fa-parking-circle:before{content:\\\"\\\"}.fa-parking-circle-slash:before{content:\\\"\\\"}.fa-parking-slash:before{content:\\\"\\\"}.fa-passport:before{content:\\\"\\\"}.fa-pastafarianism:before{content:\\\"\\\"}.fa-paste:before{content:\\\"\\\"}.fa-patreon:before{content:\\\"\\\"}.fa-pause:before{content:\\\"\\\"}.fa-pause-circle:before{content:\\\"\\\"}.fa-paw:before{content:\\\"\\\"}.fa-paw-alt:before{content:\\\"\\\"}.fa-paw-claws:before{content:\\\"\\\"}.fa-paypal:before{content:\\\"\\\"}.fa-peace:before{content:\\\"\\\"}.fa-pegasus:before{content:\\\"\\\"}.fa-pen:before{content:\\\"\\\"}.fa-pen-alt:before{content:\\\"\\\"}.fa-pen-fancy:before{content:\\\"\\\"}.fa-pen-nib:before{content:\\\"\\\"}.fa-pen-square:before{content:\\\"\\\"}.fa-pencil:before{content:\\\"\\\"}.fa-pencil-alt:before{content:\\\"\\\"}.fa-pencil-paintbrush:before{content:\\\"\\\"}.fa-pencil-ruler:before{content:\\\"\\\"}.fa-pennant:before{content:\\\"\\\"}.fa-penny-arcade:before{content:\\\"\\\"}.fa-people-arrows:before{content:\\\"泌\\\"}.fa-people-carry:before{content:\\\"\\\"}.fa-pepper-hot:before{content:\\\"\\\"}.fa-percent:before{content:\\\"\\\"}.fa-percentage:before{content:\\\"\\\"}.fa-periscope:before{content:\\\"\\\"}.fa-person-booth:before{content:\\\"\\\"}.fa-person-carry:before{content:\\\"\\\"}.fa-person-dolly:before{content:\\\"\\\"}.fa-person-dolly-empty:before{content:\\\"\\\"}.fa-person-sign:before{content:\\\"\\\"}.fa-phabricator:before{content:\\\"\\\"}.fa-phoenix-framework:before{content:\\\"\\\"}.fa-phoenix-squadron:before{content:\\\"\\\"}.fa-phone:before{content:\\\"\\\"}.fa-phone-alt:before{content:\\\"\\\"}.fa-phone-laptop:before{content:\\\"\\\"}.fa-phone-office:before{content:\\\"\\\"}.fa-phone-plus:before{content:\\\"\\\"}.fa-phone-rotary:before{content:\\\"\\\"}.fa-phone-slash:before{content:\\\"\\\"}.fa-phone-square:before{content:\\\"\\\"}.fa-phone-square-alt:before{content:\\\"\\\"}.fa-phone-volume:before{content:\\\"\\\"}.fa-photo-video:before{content:\\\"\\\"}.fa-php:before{content:\\\"\\\"}.fa-pi:before{content:\\\"\\\"}.fa-piano:before{content:\\\"\\\"}.fa-piano-keyboard:before{content:\\\"\\\"}.fa-pie:before{content:\\\"\\\"}.fa-pied-piper:before{content:\\\"\\\"}.fa-pied-piper-alt:before{content:\\\"\\\"}.fa-pied-piper-hat:before{content:\\\"\\\"}.fa-pied-piper-pp:before{content:\\\"\\\"}.fa-pied-piper-square:before{content:\\\"爛\\\"}.fa-pig:before{content:\\\"\\\"}.fa-piggy-bank:before{content:\\\"\\\"}.fa-pills:before{content:\\\"\\\"}.fa-pinterest:before{content:\\\"\\\"}.fa-pinterest-p:before{content:\\\"\\\"}.fa-pinterest-square:before{content:\\\"\\\"}.fa-pizza:before{content:\\\"\\\"}.fa-pizza-slice:before{content:\\\"\\\"}.fa-place-of-worship:before{content:\\\"\\\"}.fa-plane:before{content:\\\"\\\"}.fa-plane-alt:before{content:\\\"\\\"}.fa-plane-arrival:before{content:\\\"\\\"}.fa-plane-departure:before{content:\\\"\\\"}.fa-plane-slash:before{content:\\\"數\\\"}.fa-planet-moon:before{content:\\\"蘭\\\"}.fa-planet-ringed:before{content:\\\"鸞\\\"}.fa-play:before{content:\\\"\\\"}.fa-play-circle:before{content:\\\"\\\"}.fa-playstation:before{content:\\\"\\\"}.fa-plug:before{content:\\\"\\\"}.fa-plus:before{content:\\\"\\\"}.fa-plus-circle:before{content:\\\"\\\"}.fa-plus-hexagon:before{content:\\\"\\\"}.fa-plus-octagon:before{content:\\\"\\\"}.fa-plus-square:before{content:\\\"\\\"}.fa-podcast:before{content:\\\"\\\"}.fa-podium:before{content:\\\"\\\"}.fa-podium-star:before{content:\\\"\\\"}.fa-police-box:before{content:\\\"嵐\\\"}.fa-poll:before{content:\\\"\\\"}.fa-poll-h:before{content:\\\"\\\"}.fa-poll-people:before{content:\\\"\\\"}.fa-poo:before{content:\\\"\\\"}.fa-poo-storm:before{content:\\\"\\\"}.fa-poop:before{content:\\\"\\\"}.fa-popcorn:before{content:\\\"\\\"}.fa-portal-enter:before{content:\\\"濫\\\"}.fa-portal-exit:before{content:\\\"藍\\\"}.fa-portrait:before{content:\\\"\\\"}.fa-pound-sign:before{content:\\\"\\\"}.fa-power-off:before{content:\\\"\\\"}.fa-pray:before{content:\\\"\\\"}.fa-praying-hands:before{content:\\\"\\\"}.fa-prescription:before{content:\\\"\\\"}.fa-prescription-bottle:before{content:\\\"\\\"}.fa-prescription-bottle-alt:before{content:\\\"\\\"}.fa-presentation:before{content:\\\"\\\"}.fa-print:before{content:\\\"\\\"}.fa-print-search:before{content:\\\"\\\"}.fa-print-slash:before{content:\\\"\\\"}.fa-procedures:before{content:\\\"\\\"}.fa-product-hunt:before{content:\\\"\\\"}.fa-project-diagram:before{content:\\\"\\\"}.fa-projector:before{content:\\\"\\\"}.fa-pump-medical:before{content:\\\"索\\\"}.fa-pump-soap:before{content:\\\"參\\\"}.fa-pumpkin:before{content:\\\"\\\"}.fa-pushed:before{content:\\\"\\\"}.fa-puzzle-piece:before{content:\\\"\\\"}.fa-python:before{content:\\\"\\\"}.fa-qq:before{content:\\\"\\\"}.fa-qrcode:before{content:\\\"\\\"}.fa-question:before{content:\\\"\\\"}.fa-question-circle:before{content:\\\"\\\"}.fa-question-square:before{content:\\\"\\\"}.fa-quidditch:before{content:\\\"\\\"}.fa-quinscape:before{content:\\\"\\\"}.fa-quora:before{content:\\\"\\\"}.fa-quote-left:before{content:\\\"\\\"}.fa-quote-right:before{content:\\\"\\\"}.fa-quran:before{content:\\\"\\\"}.fa-r-project:before{content:\\\"\\\"}.fa-rabbit:before{content:\\\"\\\"}.fa-rabbit-fast:before{content:\\\"\\\"}.fa-racquet:before{content:\\\"\\\"}.fa-radar:before{content:\\\"襤\\\"}.fa-radiation:before{content:\\\"\\\"}.fa-radiation-alt:before{content:\\\"\\\"}.fa-radio:before{content:\\\"\\\"}.fa-radio-alt:before{content:\\\"\\\"}.fa-rainbow:before{content:\\\"\\\"}.fa-raindrops:before{content:\\\"\\\"}.fa-ram:before{content:\\\"\\\"}.fa-ramp-loading:before{content:\\\"\\\"}.fa-random:before{content:\\\"\\\"}.fa-raspberry-pi:before{content:\\\"\\\"}.fa-ravelry:before{content:\\\"\\\"}.fa-raygun:before{content:\\\"拉\\\"}.fa-react:before{content:\\\"\\\"}.fa-reacteurope:before{content:\\\"\\\"}.fa-readme:before{content:\\\"\\\"}.fa-rebel:before{content:\\\"\\\"}.fa-receipt:before{content:\\\"\\\"}.fa-record-vinyl:before{content:\\\"\\\"}.fa-rectangle-landscape:before{content:\\\"\\\"}.fa-rectangle-portrait:before{content:\\\"\\\"}.fa-rectangle-wide:before{content:\\\"\\\"}.fa-recycle:before{content:\\\"\\\"}.fa-red-river:before{content:\\\"\\\"}.fa-reddit:before{content:\\\"\\\"}.fa-reddit-alien:before{content:\\\"\\\"}.fa-reddit-square:before{content:\\\"\\\"}.fa-redhat:before{content:\\\"\\\"}.fa-redo:before{content:\\\"\\\"}.fa-redo-alt:before{content:\\\"\\\"}.fa-refrigerator:before{content:\\\"臘\\\"}.fa-registered:before{content:\\\"\\\"}.fa-remove-format:before{content:\\\"\\\"}.fa-renren:before{content:\\\"\\\"}.fa-repeat:before{content:\\\"\\\"}.fa-repeat-1:before{content:\\\"\\\"}.fa-repeat-1-alt:before{content:\\\"\\\"}.fa-repeat-alt:before{content:\\\"\\\"}.fa-reply:before{content:\\\"\\\"}.fa-reply-all:before{content:\\\"\\\"}.fa-replyd:before{content:\\\"\\\"}.fa-republican:before{content:\\\"\\\"}.fa-researchgate:before{content:\\\"\\\"}.fa-resolving:before{content:\\\"\\\"}.fa-restroom:before{content:\\\"\\\"}.fa-retweet:before{content:\\\"\\\"}.fa-retweet-alt:before{content:\\\"\\\"}.fa-rev:before{content:\\\"\\\"}.fa-ribbon:before{content:\\\"\\\"}.fa-ring:before{content:\\\"\\\"}.fa-rings-wedding:before{content:\\\"\\\"}.fa-road:before{content:\\\"\\\"}.fa-robot:before{content:\\\"\\\"}.fa-rocket:before{content:\\\"\\\"}.fa-rocket-launch:before{content:\\\"蠟\\\"}.fa-rocketchat:before{content:\\\"\\\"}.fa-rockrms:before{content:\\\"\\\"}.fa-route:before{content:\\\"\\\"}.fa-route-highway:before{content:\\\"\\\"}.fa-route-interstate:before{content:\\\"\\\"}.fa-router:before{content:\\\"\\\"}.fa-rss:before{content:\\\"\\\"}.fa-rss-square:before{content:\\\"\\\"}.fa-ruble-sign:before{content:\\\"\\\"}.fa-ruler:before{content:\\\"\\\"}.fa-ruler-combined:before{content:\\\"\\\"}.fa-ruler-horizontal:before{content:\\\"\\\"}.fa-ruler-triangle:before{content:\\\"\\\"}.fa-ruler-vertical:before{content:\\\"\\\"}.fa-running:before{content:\\\"\\\"}.fa-rupee-sign:before{content:\\\"\\\"}.fa-rv:before{content:\\\"\\\"}.fa-sack:before{content:\\\"\\\"}.fa-sack-dollar:before{content:\\\"\\\"}.fa-sad-cry:before{content:\\\"\\\"}.fa-sad-tear:before{content:\\\"\\\"}.fa-safari:before{content:\\\"\\\"}.fa-salad:before{content:\\\"\\\"}.fa-salesforce:before{content:\\\"\\\"}.fa-sandwich:before{content:\\\"\\\"}.fa-sass:before{content:\\\"\\\"}.fa-satellite:before{content:\\\"\\\"}.fa-satellite-dish:before{content:\\\"\\\"}.fa-sausage:before{content:\\\"\\\"}.fa-save:before{content:\\\"\\\"}.fa-sax-hot:before{content:\\\"\\\"}.fa-saxophone:before{content:\\\"\\\"}.fa-scalpel:before{content:\\\"\\\"}.fa-scalpel-path:before{content:\\\"\\\"}.fa-scanner:before{content:\\\"\\\"}.fa-scanner-image:before{content:\\\"\\\"}.fa-scanner-keyboard:before{content:\\\"\\\"}.fa-scanner-touchscreen:before{content:\\\"\\\"}.fa-scarecrow:before{content:\\\"\\\"}.fa-scarf:before{content:\\\"\\\"}.fa-schlix:before{content:\\\"\\\"}.fa-school:before{content:\\\"\\\"}.fa-screwdriver:before{content:\\\"\\\"}.fa-scribd:before{content:\\\"\\\"}.fa-scroll:before{content:\\\"\\\"}.fa-scroll-old:before{content:\\\"\\\"}.fa-scrubber:before{content:\\\"\\\"}.fa-scythe:before{content:\\\"\\\"}.fa-sd-card:before{content:\\\"\\\"}.fa-search:before{content:\\\"\\\"}.fa-search-dollar:before{content:\\\"\\\"}.fa-search-location:before{content:\\\"\\\"}.fa-search-minus:before{content:\\\"\\\"}.fa-search-plus:before{content:\\\"\\\"}.fa-searchengin:before{content:\\\"\\\"}.fa-seedling:before{content:\\\"\\\"}.fa-sellcast:before{content:\\\"\\\"}.fa-sellsy:before{content:\\\"\\\"}.fa-send-back:before{content:\\\"\\\"}.fa-send-backward:before{content:\\\"\\\"}.fa-sensor:before{content:\\\"廊\\\"}.fa-sensor-alert:before{content:\\\"朗\\\"}.fa-sensor-fire:before{content:\\\"浪\\\"}.fa-sensor-on:before{content:\\\"狼\\\"}.fa-sensor-smoke:before{content:\\\"郎\\\"}.fa-server:before{content:\\\"\\\"}.fa-servicestack:before{content:\\\"\\\"}.fa-shapes:before{content:\\\"\\\"}.fa-share:before{content:\\\"\\\"}.fa-share-all:before{content:\\\"\\\"}.fa-share-alt:before{content:\\\"\\\"}.fa-share-alt-square:before{content:\\\"\\\"}.fa-share-square:before{content:\\\"\\\"}.fa-sheep:before{content:\\\"\\\"}.fa-shekel-sign:before{content:\\\"\\\"}.fa-shield:before{content:\\\"\\\"}.fa-shield-alt:before{content:\\\"\\\"}.fa-shield-check:before{content:\\\"\\\"}.fa-shield-cross:before{content:\\\"\\\"}.fa-shield-virus:before{content:\\\"塞\\\"}.fa-ship:before{content:\\\"\\\"}.fa-shipping-fast:before{content:\\\"\\\"}.fa-shipping-timed:before{content:\\\"\\\"}.fa-shirtsinbulk:before{content:\\\"\\\"}.fa-shish-kebab:before{content:\\\"\\\"}.fa-shoe-prints:before{content:\\\"\\\"}.fa-shopify:before{content:\\\"綾\\\"}.fa-shopping-bag:before{content:\\\"\\\"}.fa-shopping-basket:before{content:\\\"\\\"}.fa-shopping-cart:before{content:\\\"\\\"}.fa-shopware:before{content:\\\"\\\"}.fa-shovel:before{content:\\\"\\\"}.fa-shovel-snow:before{content:\\\"\\\"}.fa-shower:before{content:\\\"\\\"}.fa-shredder:before{content:\\\"\\\"}.fa-shuttle-van:before{content:\\\"\\\"}.fa-shuttlecock:before{content:\\\"\\\"}.fa-sickle:before{content:\\\"\\\"}.fa-sigma:before{content:\\\"\\\"}.fa-sign:before{content:\\\"\\\"}.fa-sign-in:before{content:\\\"\\\"}.fa-sign-in-alt:before{content:\\\"\\\"}.fa-sign-language:before{content:\\\"\\\"}.fa-sign-out:before{content:\\\"\\\"}.fa-sign-out-alt:before{content:\\\"\\\"}.fa-signal:before{content:\\\"\\\"}.fa-signal-1:before{content:\\\"\\\"}.fa-signal-2:before{content:\\\"\\\"}.fa-signal-3:before{content:\\\"\\\"}.fa-signal-4:before{content:\\\"\\\"}.fa-signal-alt:before{content:\\\"\\\"}.fa-signal-alt-1:before{content:\\\"\\\"}.fa-signal-alt-2:before{content:\\\"\\\"}.fa-signal-alt-3:before{content:\\\"\\\"}.fa-signal-alt-slash:before{content:\\\"\\\"}.fa-signal-slash:before{content:\\\"\\\"}.fa-signal-stream:before{content:\\\"\\\"}.fa-signature:before{content:\\\"\\\"}.fa-sim-card:before{content:\\\"\\\"}.fa-simplybuilt:before{content:\\\"\\\"}.fa-sink:before{content:\\\"省\\\"}.fa-siren:before{content:\\\"來\\\"}.fa-siren-on:before{content:\\\"冷\\\"}.fa-sistrix:before{content:\\\"\\\"}.fa-sitemap:before{content:\\\"\\\"}.fa-sith:before{content:\\\"\\\"}.fa-skating:before{content:\\\"\\\"}.fa-skeleton:before{content:\\\"\\\"}.fa-sketch:before{content:\\\"\\\"}.fa-ski-jump:before{content:\\\"\\\"}.fa-ski-lift:before{content:\\\"\\\"}.fa-skiing:before{content:\\\"\\\"}.fa-skiing-nordic:before{content:\\\"\\\"}.fa-skull:before{content:\\\"\\\"}.fa-skull-cow:before{content:\\\"\\\"}.fa-skull-crossbones:before{content:\\\"\\\"}.fa-skyatlas:before{content:\\\"\\\"}.fa-skype:before{content:\\\"\\\"}.fa-slack:before{content:\\\"\\\"}.fa-slack-hash:before{content:\\\"\\\"}.fa-slash:before{content:\\\"\\\"}.fa-sledding:before{content:\\\"\\\"}.fa-sleigh:before{content:\\\"\\\"}.fa-sliders-h:before{content:\\\"\\\"}.fa-sliders-h-square:before{content:\\\"\\\"}.fa-sliders-v:before{content:\\\"\\\"}.fa-sliders-v-square:before{content:\\\"\\\"}.fa-slideshare:before{content:\\\"\\\"}.fa-smile:before{content:\\\"\\\"}.fa-smile-beam:before{content:\\\"\\\"}.fa-smile-plus:before{content:\\\"\\\"}.fa-smile-wink:before{content:\\\"\\\"}.fa-smog:before{content:\\\"\\\"}.fa-smoke:before{content:\\\"\\\"}.fa-smoking:before{content:\\\"\\\"}.fa-smoking-ban:before{content:\\\"\\\"}.fa-sms:before{content:\\\"\\\"}.fa-snake:before{content:\\\"\\\"}.fa-snapchat:before{content:\\\"\\\"}.fa-snapchat-ghost:before{content:\\\"\\\"}.fa-snapchat-square:before{content:\\\"\\\"}.fa-snooze:before{content:\\\"\\\"}.fa-snow-blowing:before{content:\\\"\\\"}.fa-snowboarding:before{content:\\\"\\\"}.fa-snowflake:before{content:\\\"\\\"}.fa-snowflakes:before{content:\\\"\\\"}.fa-snowman:before{content:\\\"\\\"}.fa-snowmobile:before{content:\\\"\\\"}.fa-snowplow:before{content:\\\"\\\"}.fa-soap:before{content:\\\"葉\\\"}.fa-socks:before{content:\\\"\\\"}.fa-solar-panel:before{content:\\\"\\\"}.fa-solar-system:before{content:\\\"勞\\\"}.fa-sort:before{content:\\\"\\\"}.fa-sort-alpha-down:before{content:\\\"\\\"}.fa-sort-alpha-down-alt:before{content:\\\"\\\"}.fa-sort-alpha-up:before{content:\\\"\\\"}.fa-sort-alpha-up-alt:before{content:\\\"\\\"}.fa-sort-alt:before{content:\\\"\\\"}.fa-sort-amount-down:before{content:\\\"\\\"}.fa-sort-amount-down-alt:before{content:\\\"\\\"}.fa-sort-amount-up:before{content:\\\"\\\"}.fa-sort-amount-up-alt:before{content:\\\"\\\"}.fa-sort-circle:before{content:\\\"擄\\\"}.fa-sort-circle-down:before{content:\\\"櫓\\\"}.fa-sort-circle-up:before{content:\\\"爐\\\"}.fa-sort-down:before{content:\\\"\\\"}.fa-sort-numeric-down:before{content:\\\"\\\"}.fa-sort-numeric-down-alt:before{content:\\\"\\\"}.fa-sort-numeric-up:before{content:\\\"\\\"}.fa-sort-numeric-up-alt:before{content:\\\"\\\"}.fa-sort-shapes-down:before{content:\\\"\\\"}.fa-sort-shapes-down-alt:before{content:\\\"\\\"}.fa-sort-shapes-up:before{content:\\\"\\\"}.fa-sort-shapes-up-alt:before{content:\\\"\\\"}.fa-sort-size-down:before{content:\\\"\\\"}.fa-sort-size-down-alt:before{content:\\\"\\\"}.fa-sort-size-up:before{content:\\\"\\\"}.fa-sort-size-up-alt:before{content:\\\"\\\"}.fa-sort-up:before{content:\\\"\\\"}.fa-soundcloud:before{content:\\\"\\\"}.fa-soup:before{content:\\\"\\\"}.fa-sourcetree:before{content:\\\"\\\"}.fa-spa:before{content:\\\"\\\"}.fa-space-shuttle:before{content:\\\"\\\"}.fa-space-station-moon:before{content:\\\"盧\\\"}.fa-space-station-moon-alt:before{content:\\\"老\\\"}.fa-spade:before{content:\\\"\\\"}.fa-sparkles:before{content:\\\"\\\"}.fa-speakap:before{content:\\\"\\\"}.fa-speaker:before{content:\\\"\\\"}.fa-speaker-deck:before{content:\\\"\\\"}.fa-speakers:before{content:\\\"\\\"}.fa-spell-check:before{content:\\\"\\\"}.fa-spider:before{content:\\\"\\\"}.fa-spider-black-widow:before{content:\\\"\\\"}.fa-spider-web:before{content:\\\"\\\"}.fa-spinner:before{content:\\\"\\\"}.fa-spinner-third:before{content:\\\"\\\"}.fa-splotch:before{content:\\\"\\\"}.fa-spotify:before{content:\\\"\\\"}.fa-spray-can:before{content:\\\"\\\"}.fa-sprinkler:before{content:\\\"蘆\\\"}.fa-square:before{content:\\\"\\\"}.fa-square-full:before{content:\\\"\\\"}.fa-square-root:before{content:\\\"\\\"}.fa-square-root-alt:before{content:\\\"\\\"}.fa-squarespace:before{content:\\\"\\\"}.fa-squirrel:before{content:\\\"\\\"}.fa-stack-exchange:before{content:\\\"\\\"}.fa-stack-overflow:before{content:\\\"\\\"}.fa-stackpath:before{content:\\\"\\\"}.fa-staff:before{content:\\\"\\\"}.fa-stamp:before{content:\\\"\\\"}.fa-star:before{content:\\\"\\\"}.fa-star-and-crescent:before{content:\\\"\\\"}.fa-star-christmas:before{content:\\\"\\\"}.fa-star-exclamation:before{content:\\\"\\\"}.fa-star-half:before{content:\\\"\\\"}.fa-star-half-alt:before{content:\\\"\\\"}.fa-star-of-david:before{content:\\\"\\\"}.fa-star-of-life:before{content:\\\"\\\"}.fa-star-shooting:before{content:\\\"虜\\\"}.fa-starfighter:before{content:\\\"路\\\"}.fa-starfighter-alt:before{content:\\\"露\\\"}.fa-stars:before{content:\\\"\\\"}.fa-starship:before{content:\\\"魯\\\"}.fa-starship-freighter:before{content:\\\"鷺\\\"}.fa-staylinked:before{content:\\\"\\\"}.fa-steak:before{content:\\\"\\\"}.fa-steam:before{content:\\\"\\\"}.fa-steam-square:before{content:\\\"\\\"}.fa-steam-symbol:before{content:\\\"\\\"}.fa-steering-wheel:before{content:\\\"\\\"}.fa-step-backward:before{content:\\\"\\\"}.fa-step-forward:before{content:\\\"\\\"}.fa-stethoscope:before{content:\\\"\\\"}.fa-sticker-mule:before{content:\\\"\\\"}.fa-sticky-note:before{content:\\\"\\\"}.fa-stocking:before{content:\\\"\\\"}.fa-stomach:before{content:\\\"\\\"}.fa-stop:before{content:\\\"\\\"}.fa-stop-circle:before{content:\\\"\\\"}.fa-stopwatch:before{content:\\\"\\\"}.fa-stopwatch-20:before{content:\\\"說\\\"}.fa-store:before{content:\\\"\\\"}.fa-store-alt:before{content:\\\"\\\"}.fa-store-alt-slash:before{content:\\\"殺\\\"}.fa-store-slash:before{content:\\\"辰\\\"}.fa-strava:before{content:\\\"\\\"}.fa-stream:before{content:\\\"\\\"}.fa-street-view:before{content:\\\"\\\"}.fa-stretcher:before{content:\\\"\\\"}.fa-strikethrough:before{content:\\\"\\\"}.fa-stripe:before{content:\\\"\\\"}.fa-stripe-s:before{content:\\\"\\\"}.fa-stroopwafel:before{content:\\\"\\\"}.fa-studiovinari:before{content:\\\"\\\"}.fa-stumbleupon:before{content:\\\"\\\"}.fa-stumbleupon-circle:before{content:\\\"\\\"}.fa-subscript:before{content:\\\"\\\"}.fa-subway:before{content:\\\"\\\"}.fa-suitcase:before{content:\\\"\\\"}.fa-suitcase-rolling:before{content:\\\"\\\"}.fa-sun:before{content:\\\"\\\"}.fa-sun-cloud:before{content:\\\"\\\"}.fa-sun-dust:before{content:\\\"\\\"}.fa-sun-haze:before{content:\\\"\\\"}.fa-sunglasses:before{content:\\\"\\\"}.fa-sunrise:before{content:\\\"\\\"}.fa-sunset:before{content:\\\"\\\"}.fa-superpowers:before{content:\\\"\\\"}.fa-superscript:before{content:\\\"\\\"}.fa-supple:before{content:\\\"\\\"}.fa-surprise:before{content:\\\"\\\"}.fa-suse:before{content:\\\"\\\"}.fa-swatchbook:before{content:\\\"\\\"}.fa-swift:before{content:\\\"\\\"}.fa-swimmer:before{content:\\\"\\\"}.fa-swimming-pool:before{content:\\\"\\\"}.fa-sword:before{content:\\\"\\\"}.fa-sword-laser:before{content:\\\"碌\\\"}.fa-sword-laser-alt:before{content:\\\"祿\\\"}.fa-swords:before{content:\\\"\\\"}.fa-swords-laser:before{content:\\\"綠\\\"}.fa-symfony:before{content:\\\"\\\"}.fa-synagogue:before{content:\\\"\\\"}.fa-sync:before{content:\\\"\\\"}.fa-sync-alt:before{content:\\\"\\\"}.fa-syringe:before{content:\\\"\\\"}.fa-table:before{content:\\\"\\\"}.fa-table-tennis:before{content:\\\"\\\"}.fa-tablet:before{content:\\\"\\\"}.fa-tablet-alt:before{content:\\\"\\\"}.fa-tablet-android:before{content:\\\"\\\"}.fa-tablet-android-alt:before{content:\\\"\\\"}.fa-tablet-rugged:before{content:\\\"\\\"}.fa-tablets:before{content:\\\"\\\"}.fa-tachometer:before{content:\\\"\\\"}.fa-tachometer-alt:before{content:\\\"\\\"}.fa-tachometer-alt-average:before{content:\\\"\\\"}.fa-tachometer-alt-fast:before{content:\\\"\\\"}.fa-tachometer-alt-fastest:before{content:\\\"\\\"}.fa-tachometer-alt-slow:before{content:\\\"\\\"}.fa-tachometer-alt-slowest:before{content:\\\"\\\"}.fa-tachometer-average:before{content:\\\"\\\"}.fa-tachometer-fast:before{content:\\\"\\\"}.fa-tachometer-fastest:before{content:\\\"\\\"}.fa-tachometer-slow:before{content:\\\"\\\"}.fa-tachometer-slowest:before{content:\\\"\\\"}.fa-taco:before{content:\\\"\\\"}.fa-tag:before{content:\\\"\\\"}.fa-tags:before{content:\\\"\\\"}.fa-tally:before{content:\\\"\\\"}.fa-tanakh:before{content:\\\"\\\"}.fa-tape:before{content:\\\"\\\"}.fa-tasks:before{content:\\\"\\\"}.fa-tasks-alt:before{content:\\\"\\\"}.fa-taxi:before{content:\\\"\\\"}.fa-teamspeak:before{content:\\\"\\\"}.fa-teeth:before{content:\\\"\\\"}.fa-teeth-open:before{content:\\\"\\\"}.fa-telegram:before{content:\\\"\\\"}.fa-telegram-plane:before{content:\\\"\\\"}.fa-telescope:before{content:\\\"菉\\\"}.fa-temperature-down:before{content:\\\"錄\\\"}.fa-temperature-frigid:before{content:\\\"\\\"}.fa-temperature-high:before{content:\\\"\\\"}.fa-temperature-hot:before{content:\\\"\\\"}.fa-temperature-low:before{content:\\\"\\\"}.fa-temperature-up:before{content:\\\"鹿\\\"}.fa-tencent-weibo:before{content:\\\"\\\"}.fa-tenge:before{content:\\\"\\\"}.fa-tennis-ball:before{content:\\\"\\\"}.fa-terminal:before{content:\\\"\\\"}.fa-text:before{content:\\\"\\\"}.fa-text-height:before{content:\\\"\\\"}.fa-text-size:before{content:\\\"\\\"}.fa-text-width:before{content:\\\"\\\"}.fa-th:before{content:\\\"\\\"}.fa-th-large:before{content:\\\"\\\"}.fa-th-list:before{content:\\\"\\\"}.fa-the-red-yeti:before{content:\\\"\\\"}.fa-theater-masks:before{content:\\\"\\\"}.fa-themeco:before{content:\\\"\\\"}.fa-themeisle:before{content:\\\"\\\"}.fa-thermometer:before{content:\\\"\\\"}.fa-thermometer-empty:before{content:\\\"\\\"}.fa-thermometer-full:before{content:\\\"\\\"}.fa-thermometer-half:before{content:\\\"\\\"}.fa-thermometer-quarter:before{content:\\\"\\\"}.fa-thermometer-three-quarters:before{content:\\\"\\\"}.fa-theta:before{content:\\\"\\\"}.fa-think-peaks:before{content:\\\"\\\"}.fa-thumbs-down:before{content:\\\"\\\"}.fa-thumbs-up:before{content:\\\"\\\"}.fa-thumbtack:before{content:\\\"\\\"}.fa-thunderstorm:before{content:\\\"\\\"}.fa-thunderstorm-moon:before{content:\\\"\\\"}.fa-thunderstorm-sun:before{content:\\\"\\\"}.fa-ticket:before{content:\\\"\\\"}.fa-ticket-alt:before{content:\\\"\\\"}.fa-tilde:before{content:\\\"\\\"}.fa-times:before{content:\\\"\\\"}.fa-times-circle:before{content:\\\"\\\"}.fa-times-hexagon:before{content:\\\"\\\"}.fa-times-octagon:before{content:\\\"\\\"}.fa-times-square:before{content:\\\"\\\"}.fa-tint:before{content:\\\"\\\"}.fa-tint-slash:before{content:\\\"\\\"}.fa-tire:before{content:\\\"\\\"}.fa-tire-flat:before{content:\\\"\\\"}.fa-tire-pressure-warning:before{content:\\\"\\\"}.fa-tire-rugged:before{content:\\\"\\\"}.fa-tired:before{content:\\\"\\\"}.fa-toggle-off:before{content:\\\"\\\"}.fa-toggle-on:before{content:\\\"\\\"}.fa-toilet:before{content:\\\"\\\"}.fa-toilet-paper:before{content:\\\"\\\"}.fa-toilet-paper-alt:before{content:\\\"\\\"}.fa-toilet-paper-slash:before{content:\\\"沈\\\"}.fa-tombstone:before{content:\\\"\\\"}.fa-tombstone-alt:before{content:\\\"\\\"}.fa-toolbox:before{content:\\\"\\\"}.fa-tools:before{content:\\\"\\\"}.fa-tooth:before{content:\\\"\\\"}.fa-toothbrush:before{content:\\\"\\\"}.fa-torah:before{content:\\\"\\\"}.fa-torii-gate:before{content:\\\"\\\"}.fa-tornado:before{content:\\\"\\\"}.fa-tractor:before{content:\\\"\\\"}.fa-trade-federation:before{content:\\\"\\\"}.fa-trademark:before{content:\\\"\\\"}.fa-traffic-cone:before{content:\\\"\\\"}.fa-traffic-light:before{content:\\\"\\\"}.fa-traffic-light-go:before{content:\\\"\\\"}.fa-traffic-light-slow:before{content:\\\"\\\"}.fa-traffic-light-stop:before{content:\\\"\\\"}.fa-trailer:before{content:\\\"論\\\"}.fa-train:before{content:\\\"\\\"}.fa-tram:before{content:\\\"\\\"}.fa-transgender:before{content:\\\"\\\"}.fa-transgender-alt:before{content:\\\"\\\"}.fa-transporter:before{content:\\\"壟\\\"}.fa-transporter-1:before{content:\\\"弄\\\"}.fa-transporter-2:before{content:\\\"籠\\\"}.fa-transporter-3:before{content:\\\"聾\\\"}.fa-transporter-empty:before{content:\\\"牢\\\"}.fa-trash:before{content:\\\"\\\"}.fa-trash-alt:before{content:\\\"\\\"}.fa-trash-restore:before{content:\\\"\\\"}.fa-trash-restore-alt:before{content:\\\"\\\"}.fa-trash-undo:before{content:\\\"\\\"}.fa-trash-undo-alt:before{content:\\\"\\\"}.fa-treasure-chest:before{content:\\\"\\\"}.fa-tree:before{content:\\\"\\\"}.fa-tree-alt:before{content:\\\"\\\"}.fa-tree-christmas:before{content:\\\"\\\"}.fa-tree-decorated:before{content:\\\"\\\"}.fa-tree-large:before{content:\\\"\\\"}.fa-tree-palm:before{content:\\\"\\\"}.fa-trees:before{content:\\\"\\\"}.fa-trello:before{content:\\\"\\\"}.fa-triangle:before{content:\\\"\\\"}.fa-triangle-music:before{content:\\\"\\\"}.fa-tripadvisor:before{content:\\\"\\\"}.fa-trophy:before{content:\\\"\\\"}.fa-trophy-alt:before{content:\\\"\\\"}.fa-truck:before{content:\\\"\\\"}.fa-truck-container:before{content:\\\"\\\"}.fa-truck-couch:before{content:\\\"\\\"}.fa-truck-loading:before{content:\\\"\\\"}.fa-truck-monster:before{content:\\\"\\\"}.fa-truck-moving:before{content:\\\"\\\"}.fa-truck-pickup:before{content:\\\"\\\"}.fa-truck-plow:before{content:\\\"\\\"}.fa-truck-ramp:before{content:\\\"\\\"}.fa-trumpet:before{content:\\\"\\\"}.fa-tshirt:before{content:\\\"\\\"}.fa-tty:before{content:\\\"\\\"}.fa-tumblr:before{content:\\\"\\\"}.fa-tumblr-square:before{content:\\\"\\\"}.fa-turkey:before{content:\\\"\\\"}.fa-turntable:before{content:\\\"\\\"}.fa-turtle:before{content:\\\"\\\"}.fa-tv:before{content:\\\"\\\"}.fa-tv-alt:before{content:\\\"\\\"}.fa-tv-music:before{content:\\\"\\\"}.fa-tv-retro:before{content:\\\"\\\"}.fa-twitch:before{content:\\\"\\\"}.fa-twitter:before{content:\\\"\\\"}.fa-twitter-square:before{content:\\\"\\\"}.fa-typewriter:before{content:\\\"\\\"}.fa-typo3:before{content:\\\"\\\"}.fa-uber:before{content:\\\"\\\"}.fa-ubuntu:before{content:\\\"\\\"}.fa-ufo:before{content:\\\"磊\\\"}.fa-ufo-beam:before{content:\\\"賂\\\"}.fa-uikit:before{content:\\\"\\\"}.fa-umbraco:before{content:\\\"\\\"}.fa-umbrella:before{content:\\\"\\\"}.fa-umbrella-beach:before{content:\\\"\\\"}.fa-underline:before{content:\\\"\\\"}.fa-undo:before{content:\\\"\\\"}.fa-undo-alt:before{content:\\\"\\\"}.fa-unicorn:before{content:\\\"\\\"}.fa-union:before{content:\\\"\\\"}.fa-uniregistry:before{content:\\\"\\\"}.fa-unity:before{content:\\\"雷\\\"}.fa-universal-access:before{content:\\\"\\\"}.fa-university:before{content:\\\"\\\"}.fa-unlink:before{content:\\\"\\\"}.fa-unlock:before{content:\\\"\\\"}.fa-unlock-alt:before{content:\\\"\\\"}.fa-untappd:before{content:\\\"\\\"}.fa-upload:before{content:\\\"\\\"}.fa-ups:before{content:\\\"\\\"}.fa-usb:before{content:\\\"\\\"}.fa-usb-drive:before{content:\\\"\\\"}.fa-usd-circle:before{content:\\\"\\\"}.fa-usd-square:before{content:\\\"\\\"}.fa-user:before{content:\\\"\\\"}.fa-user-alien:before{content:\\\"壘\\\"}.fa-user-alt:before{content:\\\"\\\"}.fa-user-alt-slash:before{content:\\\"\\\"}.fa-user-astronaut:before{content:\\\"\\\"}.fa-user-chart:before{content:\\\"\\\"}.fa-user-check:before{content:\\\"\\\"}.fa-user-circle:before{content:\\\"\\\"}.fa-user-clock:before{content:\\\"\\\"}.fa-user-cog:before{content:\\\"\\\"}.fa-user-cowboy:before{content:\\\"\\\"}.fa-user-crown:before{content:\\\"\\\"}.fa-user-edit:before{content:\\\"\\\"}.fa-user-friends:before{content:\\\"\\\"}.fa-user-graduate:before{content:\\\"\\\"}.fa-user-hard-hat:before{content:\\\"\\\"}.fa-user-headset:before{content:\\\"\\\"}.fa-user-injured:before{content:\\\"\\\"}.fa-user-lock:before{content:\\\"\\\"}.fa-user-md:before{content:\\\"\\\"}.fa-user-md-chat:before{content:\\\"\\\"}.fa-user-minus:before{content:\\\"\\\"}.fa-user-music:before{content:\\\"\\\"}.fa-user-ninja:before{content:\\\"\\\"}.fa-user-nurse:before{content:\\\"\\\"}.fa-user-plus:before{content:\\\"\\\"}.fa-user-robot:before{content:\\\"屢\\\"}.fa-user-secret:before{content:\\\"\\\"}.fa-user-shield:before{content:\\\"\\\"}.fa-user-slash:before{content:\\\"\\\"}.fa-user-tag:before{content:\\\"\\\"}.fa-user-tie:before{content:\\\"\\\"}.fa-user-times:before{content:\\\"\\\"}.fa-user-unlock:before{content:\\\"菱\\\"}.fa-user-visor:before{content:\\\"樓\\\"}.fa-users:before{content:\\\"\\\"}.fa-users-class:before{content:\\\"\\\"}.fa-users-cog:before{content:\\\"\\\"}.fa-users-crown:before{content:\\\"\\\"}.fa-users-medical:before{content:\\\"\\\"}.fa-users-slash:before{content:\\\"拾\\\"}.fa-usps:before{content:\\\"\\\"}.fa-ussunnah:before{content:\\\"\\\"}.fa-utensil-fork:before{content:\\\"\\\"}.fa-utensil-knife:before{content:\\\"\\\"}.fa-utensil-spoon:before{content:\\\"\\\"}.fa-utensils:before{content:\\\"\\\"}.fa-utensils-alt:before{content:\\\"\\\"}.fa-vaadin:before{content:\\\"\\\"}.fa-vacuum:before{content:\\\"淚\\\"}.fa-vacuum-robot:before{content:\\\"漏\\\"}.fa-value-absolute:before{content:\\\"\\\"}.fa-vector-square:before{content:\\\"\\\"}.fa-venus:before{content:\\\"\\\"}.fa-venus-double:before{content:\\\"\\\"}.fa-venus-mars:before{content:\\\"\\\"}.fa-vhs:before{content:\\\"\\\"}.fa-viacoin:before{content:\\\"\\\"}.fa-viadeo:before{content:\\\"\\\"}.fa-viadeo-square:before{content:\\\"\\\"}.fa-vial:before{content:\\\"\\\"}.fa-vials:before{content:\\\"\\\"}.fa-viber:before{content:\\\"\\\"}.fa-video:before{content:\\\"\\\"}.fa-video-plus:before{content:\\\"\\\"}.fa-video-slash:before{content:\\\"\\\"}.fa-vihara:before{content:\\\"\\\"}.fa-vimeo:before{content:\\\"\\\"}.fa-vimeo-square:before{content:\\\"\\\"}.fa-vimeo-v:before{content:\\\"\\\"}.fa-vine:before{content:\\\"\\\"}.fa-violin:before{content:\\\"\\\"}.fa-virus:before{content:\\\"若\\\"}.fa-virus-slash:before{content:\\\"掠\\\"}.fa-viruses:before{content:\\\"略\\\"}.fa-vk:before{content:\\\"\\\"}.fa-vnv:before{content:\\\"\\\"}.fa-voicemail:before{content:\\\"\\\"}.fa-volcano:before{content:\\\"\\\"}.fa-volleyball-ball:before{content:\\\"\\\"}.fa-volume:before{content:\\\"\\\"}.fa-volume-down:before{content:\\\"\\\"}.fa-volume-mute:before{content:\\\"\\\"}.fa-volume-off:before{content:\\\"\\\"}.fa-volume-slash:before{content:\\\"\\\"}.fa-volume-up:before{content:\\\"\\\"}.fa-vote-nay:before{content:\\\"\\\"}.fa-vote-yea:before{content:\\\"\\\"}.fa-vr-cardboard:before{content:\\\"\\\"}.fa-vuejs:before{content:\\\"\\\"}.fa-wagon-covered:before{content:\\\"\\\"}.fa-walker:before{content:\\\"\\\"}.fa-walkie-talkie:before{content:\\\"\\\"}.fa-walking:before{content:\\\"\\\"}.fa-wallet:before{content:\\\"\\\"}.fa-wand:before{content:\\\"\\\"}.fa-wand-magic:before{content:\\\"\\\"}.fa-warehouse:before{content:\\\"\\\"}.fa-warehouse-alt:before{content:\\\"\\\"}.fa-washer:before{content:\\\"\\\"}.fa-watch:before{content:\\\"\\\"}.fa-watch-calculator:before{content:\\\"\\\"}.fa-watch-fitness:before{content:\\\"\\\"}.fa-water:before{content:\\\"\\\"}.fa-water-lower:before{content:\\\"\\\"}.fa-water-rise:before{content:\\\"\\\"}.fa-wave-sine:before{content:\\\"\\\"}.fa-wave-square:before{content:\\\"\\\"}.fa-wave-triangle:before{content:\\\"\\\"}.fa-waveform:before{content:\\\"\\\"}.fa-waveform-path:before{content:\\\"\\\"}.fa-waze:before{content:\\\"\\\"}.fa-webcam:before{content:\\\"\\\"}.fa-webcam-slash:before{content:\\\"\\\"}.fa-weebly:before{content:\\\"\\\"}.fa-weibo:before{content:\\\"\\\"}.fa-weight:before{content:\\\"\\\"}.fa-weight-hanging:before{content:\\\"\\\"}.fa-weixin:before{content:\\\"\\\"}.fa-whale:before{content:\\\"\\\"}.fa-whatsapp:before{content:\\\"\\\"}.fa-whatsapp-square:before{content:\\\"\\\"}.fa-wheat:before{content:\\\"\\\"}.fa-wheelchair:before{content:\\\"\\\"}.fa-whistle:before{content:\\\"\\\"}.fa-whmcs:before{content:\\\"\\\"}.fa-wifi:before{content:\\\"\\\"}.fa-wifi-1:before{content:\\\"\\\"}.fa-wifi-2:before{content:\\\"\\\"}.fa-wifi-slash:before{content:\\\"\\\"}.fa-wikipedia-w:before{content:\\\"\\\"}.fa-wind:before{content:\\\"\\\"}.fa-wind-turbine:before{content:\\\"\\\"}.fa-wind-warning:before{content:\\\"\\\"}.fa-window:before{content:\\\"\\\"}.fa-window-alt:before{content:\\\"\\\"}.fa-window-close:before{content:\\\"\\\"}.fa-window-frame:before{content:\\\"累\\\"}.fa-window-frame-open:before{content:\\\"縷\\\"}.fa-window-maximize:before{content:\\\"\\\"}.fa-window-minimize:before{content:\\\"\\\"}.fa-window-restore:before{content:\\\"\\\"}.fa-windows:before{content:\\\"\\\"}.fa-windsock:before{content:\\\"\\\"}.fa-wine-bottle:before{content:\\\"\\\"}.fa-wine-glass:before{content:\\\"\\\"}.fa-wine-glass-alt:before{content:\\\"\\\"}.fa-wix:before{content:\\\"\\\"}.fa-wizards-of-the-coast:before{content:\\\"\\\"}.fa-wolf-pack-battalion:before{content:\\\"\\\"}.fa-won-sign:before{content:\\\"\\\"}.fa-wordpress:before{content:\\\"\\\"}.fa-wordpress-simple:before{content:\\\"\\\"}.fa-wpbeginner:before{content:\\\"\\\"}.fa-wpexplorer:before{content:\\\"\\\"}.fa-wpforms:before{content:\\\"\\\"}.fa-wpressr:before{content:\\\"\\\"}.fa-wreath:before{content:\\\"\\\"}.fa-wrench:before{content:\\\"\\\"}.fa-x-ray:before{content:\\\"\\\"}.fa-xbox:before{content:\\\"\\\"}.fa-xing:before{content:\\\"\\\"}.fa-xing-square:before{content:\\\"\\\"}.fa-y-combinator:before{content:\\\"\\\"}.fa-yahoo:before{content:\\\"\\\"}.fa-yammer:before{content:\\\"\\\"}.fa-yandex:before{content:\\\"\\\"}.fa-yandex-international:before{content:\\\"\\\"}.fa-yarn:before{content:\\\"\\\"}.fa-yelp:before{content:\\\"\\\"}.fa-yen-sign:before{content:\\\"\\\"}.fa-yin-yang:before{content:\\\"\\\"}.fa-yoast:before{content:\\\"\\\"}.fa-youtube:before{content:\\\"\\\"}.fa-youtube-square:before{content:\\\"\\\"}.fa-zhihu:before{content:\\\"\\\"}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:\\\"Font Awesome 5 Brands\\\";font-style:normal;font-weight:400;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"svg\\\")}.fab{font-family:\\\"Font Awesome 5 Brands\\\";font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Duotone\\\";font-style:normal;font-weight:900;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format(\\\"svg\\\")}.fad{position:relative;font-family:\\\"Font Awesome 5 Duotone\\\";font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color, inherit);opacity:1;opacity:var(--fa-primary-opacity, 1)}.fad:after{color:var(--fa-secondary-color, inherit)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:.4;opacity:var(--fa-secondary-opacity, 0.4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity, 1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-fw:before,.fad.fa-stack-1x:before,.fad.fa-stack-2x:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-abacus:after{content:\\\"􏙀\\\"}.fad.fa-acorn:after{content:\\\"􏚮\\\"}.fad.fa-ad:after{content:\\\"􏙁\\\"}.fad.fa-address-book:after{content:\\\"􏊹\\\"}.fad.fa-address-card:after{content:\\\"􏊻\\\"}.fad.fa-adjust:after{content:\\\"􏁂\\\"}.fad.fa-air-conditioner:after{content:\\\"􏣴\\\"}.fad.fa-air-freshener:after{content:\\\"􏗐\\\"}.fad.fa-alarm-clock:after{content:\\\"􏍎\\\"}.fad.fa-alarm-exclamation:after{content:\\\"􏡃\\\"}.fad.fa-alarm-plus:after{content:\\\"􏡄\\\"}.fad.fa-alarm-snooze:after{content:\\\"􏡅\\\"}.fad.fa-album:after{content:\\\"􏢟\\\"}.fad.fa-album-collection:after{content:\\\"􏢠\\\"}.fad.fa-alicorn:after{content:\\\"􏚰\\\"}.fad.fa-alien:after{content:\\\"􏣵\\\"}.fad.fa-alien-monster:after{content:\\\"􏣶\\\"}.fad.fa-align-center:after{content:\\\"􏀷\\\"}.fad.fa-align-justify:after{content:\\\"􏀹\\\"}.fad.fa-align-left:after{content:\\\"􏀶\\\"}.fad.fa-align-right:after{content:\\\"􏀸\\\"}.fad.fa-align-slash:after{content:\\\"􏡆\\\"}.fad.fa-allergies:after{content:\\\"􏑡\\\"}.fad.fa-ambulance:after{content:\\\"􏃹\\\"}.fad.fa-american-sign-language-interpreting:after{content:\\\"􏊣\\\"}.fad.fa-amp-guitar:after{content:\\\"􏢡\\\"}.fad.fa-analytics:after{content:\\\"􏙃\\\"}.fad.fa-anchor:after{content:\\\"􏄽\\\"}.fad.fa-angel:after{content:\\\"􏝹\\\"}.fad.fa-angle-double-down:after{content:\\\"􏄃\\\"}.fad.fa-angle-double-left:after{content:\\\"􏄀\\\"}.fad.fa-angle-double-right:after{content:\\\"􏄁\\\"}.fad.fa-angle-double-up:after{content:\\\"􏄂\\\"}.fad.fa-angle-down:after{content:\\\"􏄇\\\"}.fad.fa-angle-left:after{content:\\\"􏄄\\\"}.fad.fa-angle-right:after{content:\\\"􏄅\\\"}.fad.fa-angle-up:after{content:\\\"􏄆\\\"}.fad.fa-angry:after{content:\\\"􏕖\\\"}.fad.fa-ankh:after{content:\\\"􏙄\\\"}.fad.fa-apple-alt:after{content:\\\"􏗑\\\"}.fad.fa-apple-crate:after{content:\\\"􏚱\\\"}.fad.fa-archive:after{content:\\\"􏆇\\\"}.fad.fa-archway:after{content:\\\"􏕗\\\"}.fad.fa-arrow-alt-circle-down:after{content:\\\"􏍘\\\"}.fad.fa-arrow-alt-circle-left:after{content:\\\"􏍙\\\"}.fad.fa-arrow-alt-circle-right:after{content:\\\"􏍚\\\"}.fad.fa-arrow-alt-circle-up:after{content:\\\"􏍛\\\"}.fad.fa-arrow-alt-down:after{content:\\\"􏍔\\\"}.fad.fa-arrow-alt-from-bottom:after{content:\\\"􏍆\\\"}.fad.fa-arrow-alt-from-left:after{content:\\\"􏍇\\\"}.fad.fa-arrow-alt-from-right:after{content:\\\"􏍈\\\"}.fad.fa-arrow-alt-from-top:after{content:\\\"􏍉\\\"}.fad.fa-arrow-alt-left:after{content:\\\"􏍕\\\"}.fad.fa-arrow-alt-right:after{content:\\\"􏍖\\\"}.fad.fa-arrow-alt-square-down:after{content:\\\"􏍐\\\"}.fad.fa-arrow-alt-square-left:after{content:\\\"􏍑\\\"}.fad.fa-arrow-alt-square-right:after{content:\\\"􏍒\\\"}.fad.fa-arrow-alt-square-up:after{content:\\\"􏍓\\\"}.fad.fa-arrow-alt-to-bottom:after{content:\\\"􏍊\\\"}.fad.fa-arrow-alt-to-left:after{content:\\\"􏍋\\\"}.fad.fa-arrow-alt-to-right:after{content:\\\"􏍌\\\"}.fad.fa-arrow-alt-to-top:after{content:\\\"􏍍\\\"}.fad.fa-arrow-alt-up:after{content:\\\"􏍗\\\"}.fad.fa-arrow-circle-down:after{content:\\\"􏂫\\\"}.fad.fa-arrow-circle-left:after{content:\\\"􏂨\\\"}.fad.fa-arrow-circle-right:after{content:\\\"􏂩\\\"}.fad.fa-arrow-circle-up:after{content:\\\"􏂪\\\"}.fad.fa-arrow-down:after{content:\\\"􏁣\\\"}.fad.fa-arrow-from-bottom:after{content:\\\"􏍂\\\"}.fad.fa-arrow-from-left:after{content:\\\"􏍃\\\"}.fad.fa-arrow-from-right:after{content:\\\"􏍄\\\"}.fad.fa-arrow-from-top:after{content:\\\"􏍅\\\"}.fad.fa-arrow-left:after{content:\\\"􏁠\\\"}.fad.fa-arrow-right:after{content:\\\"􏁡\\\"}.fad.fa-arrow-square-down:after{content:\\\"􏌹\\\"}.fad.fa-arrow-square-left:after{content:\\\"􏌺\\\"}.fad.fa-arrow-square-right:after{content:\\\"􏌻\\\"}.fad.fa-arrow-square-up:after{content:\\\"􏌼\\\"}.fad.fa-arrow-to-bottom:after{content:\\\"􏌽\\\"}.fad.fa-arrow-to-left:after{content:\\\"􏌾\\\"}.fad.fa-arrow-to-right:after{content:\\\"􏍀\\\"}.fad.fa-arrow-to-top:after{content:\\\"􏍁\\\"}.fad.fa-arrow-up:after{content:\\\"􏁢\\\"}.fad.fa-arrows:after{content:\\\"􏁇\\\"}.fad.fa-arrows-alt:after{content:\\\"􏂲\\\"}.fad.fa-arrows-alt-h:after{content:\\\"􏌷\\\"}.fad.fa-arrows-alt-v:after{content:\\\"􏌸\\\"}.fad.fa-arrows-h:after{content:\\\"􏁾\\\"}.fad.fa-arrows-v:after{content:\\\"􏁽\\\"}.fad.fa-assistive-listening-systems:after{content:\\\"􏊢\\\"}.fad.fa-asterisk:after{content:\\\"􏁩\\\"}.fad.fa-at:after{content:\\\"􏇺\\\"}.fad.fa-atlas:after{content:\\\"􏕘\\\"}.fad.fa-atom:after{content:\\\"􏗒\\\"}.fad.fa-atom-alt:after{content:\\\"􏗓\\\"}.fad.fa-audio-description:after{content:\\\"􏊞\\\"}.fad.fa-award:after{content:\\\"􏕙\\\"}.fad.fa-axe:after{content:\\\"􏚲\\\"}.fad.fa-axe-battle:after{content:\\\"􏚳\\\"}.fad.fa-baby:after{content:\\\"􏝼\\\"}.fad.fa-baby-carriage:after{content:\\\"􏝽\\\"}.fad.fa-backpack:after{content:\\\"􏗔\\\"}.fad.fa-backspace:after{content:\\\"􏕚\\\"}.fad.fa-backward:after{content:\\\"􏁊\\\"}.fad.fa-bacon:after{content:\\\"􏟥\\\"}.fad.fa-bacteria:after{content:\\\"􏥙\\\"}.fad.fa-bacterium:after{content:\\\"􏥚\\\"}.fad.fa-badge:after{content:\\\"􏌵\\\"}.fad.fa-badge-check:after{content:\\\"􏌶\\\"}.fad.fa-badge-dollar:after{content:\\\"􏙅\\\"}.fad.fa-badge-percent:after{content:\\\"􏙆\\\"}.fad.fa-badge-sheriff:after{content:\\\"􏢢\\\"}.fad.fa-badger-honey:after{content:\\\"􏚴\\\"}.fad.fa-bags-shopping:after{content:\\\"􏡇\\\"}.fad.fa-bahai:after{content:\\\"􏙦\\\"}.fad.fa-balance-scale:after{content:\\\"􏉎\\\"}.fad.fa-balance-scale-left:after{content:\\\"􏔕\\\"}.fad.fa-balance-scale-right:after{content:\\\"􏔖\\\"}.fad.fa-ball-pile:after{content:\\\"􏝾\\\"}.fad.fa-ballot:after{content:\\\"􏜲\\\"}.fad.fa-ballot-check:after{content:\\\"􏜳\\\"}.fad.fa-ban:after{content:\\\"􏁞\\\"}.fad.fa-band-aid:after{content:\\\"􏑢\\\"}.fad.fa-banjo:after{content:\\\"􏢣\\\"}.fad.fa-barcode:after{content:\\\"􏀪\\\"}.fad.fa-barcode-alt:after{content:\\\"􏑣\\\"}.fad.fa-barcode-read:after{content:\\\"􏑤\\\"}.fad.fa-barcode-scan:after{content:\\\"􏑥\\\"}.fad.fa-bars:after{content:\\\"􏃉\\\"}.fad.fa-baseball:after{content:\\\"􏐲\\\"}.fad.fa-baseball-ball:after{content:\\\"􏐳\\\"}.fad.fa-basketball-ball:after{content:\\\"􏐴\\\"}.fad.fa-basketball-hoop:after{content:\\\"􏐵\\\"}.fad.fa-bat:after{content:\\\"􏚵\\\"}.fad.fa-bath:after{content:\\\"􏋍\\\"}.fad.fa-battery-bolt:after{content:\\\"􏍶\\\"}.fad.fa-battery-empty:after{content:\\\"􏉄\\\"}.fad.fa-battery-full:after{content:\\\"􏉀\\\"}.fad.fa-battery-half:after{content:\\\"􏉂\\\"}.fad.fa-battery-quarter:after{content:\\\"􏉃\\\"}.fad.fa-battery-slash:after{content:\\\"􏍷\\\"}.fad.fa-battery-three-quarters:after{content:\\\"􏉁\\\"}.fad.fa-bed:after{content:\\\"􏈶\\\"}.fad.fa-bed-alt:after{content:\\\"􏣷\\\"}.fad.fa-bed-bunk:after{content:\\\"􏣸\\\"}.fad.fa-bed-empty:after{content:\\\"􏣹\\\"}.fad.fa-beer:after{content:\\\"􏃼\\\"}.fad.fa-bell:after{content:\\\"􏃳\\\"}.fad.fa-bell-exclamation:after{content:\\\"􏡈\\\"}.fad.fa-bell-on:after{content:\\\"􏣺\\\"}.fad.fa-bell-plus:after{content:\\\"􏡉\\\"}.fad.fa-bell-school:after{content:\\\"􏗕\\\"}.fad.fa-bell-school-slash:after{content:\\\"􏗖\\\"}.fad.fa-bell-slash:after{content:\\\"􏇶\\\"}.fad.fa-bells:after{content:\\\"􏝿\\\"}.fad.fa-betamax:after{content:\\\"􏢤\\\"}.fad.fa-bezier-curve:after{content:\\\"􏕛\\\"}.fad.fa-bible:after{content:\\\"􏙇\\\"}.fad.fa-bicycle:after{content:\\\"􏈆\\\"}.fad.fa-biking:after{content:\\\"􏡊\\\"}.fad.fa-biking-mountain:after{content:\\\"􏡋\\\"}.fad.fa-binoculars:after{content:\\\"􏇥\\\"}.fad.fa-biohazard:after{content:\\\"􏞀\\\"}.fad.fa-birthday-cake:after{content:\\\"􏇽\\\"}.fad.fa-blanket:after{content:\\\"􏒘\\\"}.fad.fa-blender:after{content:\\\"􏔗\\\"}.fad.fa-blender-phone:after{content:\\\"􏚶\\\"}.fad.fa-blind:after{content:\\\"􏊝\\\"}.fad.fa-blinds:after{content:\\\"􏣻\\\"}.fad.fa-blinds-open:after{content:\\\"􏣼\\\"}.fad.fa-blinds-raised:after{content:\\\"􏣽\\\"}.fad.fa-blog:after{content:\\\"􏞁\\\"}.fad.fa-bold:after{content:\\\"􏀲\\\"}.fad.fa-bolt:after{content:\\\"􏃧\\\"}.fad.fa-bomb:after{content:\\\"􏇢\\\"}.fad.fa-bone:after{content:\\\"􏗗\\\"}.fad.fa-bone-break:after{content:\\\"􏗘\\\"}.fad.fa-bong:after{content:\\\"􏕜\\\"}.fad.fa-book:after{content:\\\"􏀭\\\"}.fad.fa-book-alt:after{content:\\\"􏗙\\\"}.fad.fa-book-dead:after{content:\\\"􏚷\\\"}.fad.fa-book-heart:after{content:\\\"􏒙\\\"}.fad.fa-book-medical:after{content:\\\"􏟦\\\"}.fad.fa-book-open:after{content:\\\"􏔘\\\"}.fad.fa-book-reader:after{content:\\\"􏗚\\\"}.fad.fa-book-spells:after{content:\\\"􏚸\\\"}.fad.fa-book-user:after{content:\\\"􏟧\\\"}.fad.fa-bookmark:after{content:\\\"􏀮\\\"}.fad.fa-books:after{content:\\\"􏗛\\\"}.fad.fa-books-medical:after{content:\\\"􏟨\\\"}.fad.fa-boombox:after{content:\\\"􏢥\\\"}.fad.fa-boot:after{content:\\\"􏞂\\\"}.fad.fa-booth-curtain:after{content:\\\"􏜴\\\"}.fad.fa-border-all:after{content:\\\"􏡌\\\"}.fad.fa-border-bottom:after{content:\\\"􏡍\\\"}.fad.fa-border-center-h:after{content:\\\"􏢜\\\"}.fad.fa-border-center-v:after{content:\\\"􏢝\\\"}.fad.fa-border-inner:after{content:\\\"􏡎\\\"}.fad.fa-border-left:after{content:\\\"􏡏\\\"}.fad.fa-border-none:after{content:\\\"􏡐\\\"}.fad.fa-border-outer:after{content:\\\"􏡑\\\"}.fad.fa-border-right:after{content:\\\"􏡒\\\"}.fad.fa-border-style:after{content:\\\"􏡓\\\"}.fad.fa-border-style-alt:after{content:\\\"􏡔\\\"}.fad.fa-border-top:after{content:\\\"􏡕\\\"}.fad.fa-bow-arrow:after{content:\\\"􏚹\\\"}.fad.fa-bowling-ball:after{content:\\\"􏐶\\\"}.fad.fa-bowling-pins:after{content:\\\"􏐷\\\"}.fad.fa-box:after{content:\\\"􏑦\\\"}.fad.fa-box-alt:after{content:\\\"􏒚\\\"}.fad.fa-box-ballot:after{content:\\\"􏜵\\\"}.fad.fa-box-check:after{content:\\\"􏑧\\\"}.fad.fa-box-fragile:after{content:\\\"􏒛\\\"}.fad.fa-box-full:after{content:\\\"􏒜\\\"}.fad.fa-box-heart:after{content:\\\"􏒝\\\"}.fad.fa-box-open:after{content:\\\"􏒞\\\"}.fad.fa-box-tissue:after{content:\\\"􏥛\\\"}.fad.fa-box-up:after{content:\\\"􏒟\\\"}.fad.fa-box-usd:after{content:\\\"􏒠\\\"}.fad.fa-boxes:after{content:\\\"􏑨\\\"}.fad.fa-boxes-alt:after{content:\\\"􏒡\\\"}.fad.fa-boxing-glove:after{content:\\\"􏐸\\\"}.fad.fa-brackets:after{content:\\\"􏟩\\\"}.fad.fa-brackets-curly:after{content:\\\"􏟪\\\"}.fad.fa-braille:after{content:\\\"􏊡\\\"}.fad.fa-brain:after{content:\\\"􏗜\\\"}.fad.fa-bread-loaf:after{content:\\\"􏟫\\\"}.fad.fa-bread-slice:after{content:\\\"􏟬\\\"}.fad.fa-briefcase:after{content:\\\"􏂱\\\"}.fad.fa-briefcase-medical:after{content:\\\"􏑩\\\"}.fad.fa-bring-forward:after{content:\\\"􏡖\\\"}.fad.fa-bring-front:after{content:\\\"􏡗\\\"}.fad.fa-broadcast-tower:after{content:\\\"􏔙\\\"}.fad.fa-broom:after{content:\\\"􏔚\\\"}.fad.fa-browser:after{content:\\\"􏍾\\\"}.fad.fa-brush:after{content:\\\"􏕝\\\"}.fad.fa-bug:after{content:\\\"􏆈\\\"}.fad.fa-building:after{content:\\\"􏆭\\\"}.fad.fa-bullhorn:after{content:\\\"􏂡\\\"}.fad.fa-bullseye:after{content:\\\"􏅀\\\"}.fad.fa-bullseye-arrow:after{content:\\\"􏙈\\\"}.fad.fa-bullseye-pointer:after{content:\\\"􏙉\\\"}.fad.fa-burger-soda:after{content:\\\"􏡘\\\"}.fad.fa-burn:after{content:\\\"􏑪\\\"}.fad.fa-burrito:after{content:\\\"􏟭\\\"}.fad.fa-bus:after{content:\\\"􏈇\\\"}.fad.fa-bus-alt:after{content:\\\"􏕞\\\"}.fad.fa-bus-school:after{content:\\\"􏗝\\\"}.fad.fa-business-time:after{content:\\\"􏙊\\\"}.fad.fa-cabinet-filing:after{content:\\\"􏙋\\\"}.fad.fa-cactus:after{content:\\\"􏢧\\\"}.fad.fa-calculator:after{content:\\\"􏇬\\\"}.fad.fa-calculator-alt:after{content:\\\"􏙌\\\"}.fad.fa-calendar:after{content:\\\"􏄳\\\"}.fad.fa-calendar-alt:after{content:\\\"􏁳\\\"}.fad.fa-calendar-check:after{content:\\\"􏉴\\\"}.fad.fa-calendar-day:after{content:\\\"􏞃\\\"}.fad.fa-calendar-edit:after{content:\\\"􏌳\\\"}.fad.fa-calendar-exclamation:after{content:\\\"􏌴\\\"}.fad.fa-calendar-minus:after{content:\\\"􏉲\\\"}.fad.fa-calendar-plus:after{content:\\\"􏉱\\\"}.fad.fa-calendar-star:after{content:\\\"􏜶\\\"}.fad.fa-calendar-times:after{content:\\\"􏉳\\\"}.fad.fa-calendar-week:after{content:\\\"􏞄\\\"}.fad.fa-camcorder:after{content:\\\"􏢨\\\"}.fad.fa-camera:after{content:\\\"􏀰\\\"}.fad.fa-camera-alt:after{content:\\\"􏌲\\\"}.fad.fa-camera-home:after{content:\\\"􏣾\\\"}.fad.fa-camera-movie:after{content:\\\"􏢩\\\"}.fad.fa-camera-polaroid:after{content:\\\"􏢪\\\"}.fad.fa-camera-retro:after{content:\\\"􏂃\\\"}.fad.fa-campfire:after{content:\\\"􏚺\\\"}.fad.fa-campground:after{content:\\\"􏚻\\\"}.fad.fa-candle-holder:after{content:\\\"􏚼\\\"}.fad.fa-candy-cane:after{content:\\\"􏞆\\\"}.fad.fa-candy-corn:after{content:\\\"􏚽\\\"}.fad.fa-cannabis:after{content:\\\"􏕟\\\"}.fad.fa-capsules:after{content:\\\"􏑫\\\"}.fad.fa-car:after{content:\\\"􏆹\\\"}.fad.fa-car-alt:after{content:\\\"􏗞\\\"}.fad.fa-car-battery:after{content:\\\"􏗟\\\"}.fad.fa-car-building:after{content:\\\"􏡙\\\"}.fad.fa-car-bump:after{content:\\\"􏗠\\\"}.fad.fa-car-bus:after{content:\\\"􏡚\\\"}.fad.fa-car-crash:after{content:\\\"􏗡\\\"}.fad.fa-car-garage:after{content:\\\"􏗢\\\"}.fad.fa-car-mechanic:after{content:\\\"􏗣\\\"}.fad.fa-car-side:after{content:\\\"􏗤\\\"}.fad.fa-car-tilt:after{content:\\\"􏗥\\\"}.fad.fa-car-wash:after{content:\\\"􏗦\\\"}.fad.fa-caravan:after{content:\\\"􏣿\\\"}.fad.fa-caravan-alt:after{content:\\\"􏤀\\\"}.fad.fa-caret-circle-down:after{content:\\\"􏌭\\\"}.fad.fa-caret-circle-left:after{content:\\\"􏌮\\\"}.fad.fa-caret-circle-right:after{content:\\\"􏌰\\\"}.fad.fa-caret-circle-up:after{content:\\\"􏌱\\\"}.fad.fa-caret-down:after{content:\\\"􏃗\\\"}.fad.fa-caret-left:after{content:\\\"􏃙\\\"}.fad.fa-caret-right:after{content:\\\"􏃚\\\"}.fad.fa-caret-square-down:after{content:\\\"􏅐\\\"}.fad.fa-caret-square-left:after{content:\\\"􏆑\\\"}.fad.fa-caret-square-right:after{content:\\\"􏅒\\\"}.fad.fa-caret-square-up:after{content:\\\"􏅑\\\"}.fad.fa-caret-up:after{content:\\\"􏃘\\\"}.fad.fa-carrot:after{content:\\\"􏞇\\\"}.fad.fa-cars:after{content:\\\"􏡛\\\"}.fad.fa-cart-arrow-down:after{content:\\\"􏈘\\\"}.fad.fa-cart-plus:after{content:\\\"􏈗\\\"}.fad.fa-cash-register:after{content:\\\"􏞈\\\"}.fad.fa-cassette-tape:after{content:\\\"􏢫\\\"}.fad.fa-cat:after{content:\\\"􏚾\\\"}.fad.fa-cat-space:after{content:\\\"􏤁\\\"}.fad.fa-cauldron:after{content:\\\"􏚿\\\"}.fad.fa-cctv:after{content:\\\"􏢬\\\"}.fad.fa-certificate:after{content:\\\"􏂣\\\"}.fad.fa-chair:after{content:\\\"􏛀\\\"}.fad.fa-chair-office:after{content:\\\"􏛁\\\"}.fad.fa-chalkboard:after{content:\\\"􏔛\\\"}.fad.fa-chalkboard-teacher:after{content:\\\"􏔜\\\"}.fad.fa-charging-station:after{content:\\\"􏗧\\\"}.fad.fa-chart-area:after{content:\\\"􏇾\\\"}.fad.fa-chart-bar:after{content:\\\"􏂀\\\"}.fad.fa-chart-line:after{content:\\\"􏈁\\\"}.fad.fa-chart-line-down:after{content:\\\"􏙍\\\"}.fad.fa-chart-network:after{content:\\\"􏞊\\\"}.fad.fa-chart-pie:after{content:\\\"􏈀\\\"}.fad.fa-chart-pie-alt:after{content:\\\"􏙎\\\"}.fad.fa-chart-scatter:after{content:\\\"􏟮\\\"}.fad.fa-check:after{content:\\\"􏀌\\\"}.fad.fa-check-circle:after{content:\\\"􏁘\\\"}.fad.fa-check-double:after{content:\\\"􏕠\\\"}.fad.fa-check-square:after{content:\\\"􏅊\\\"}.fad.fa-cheese:after{content:\\\"􏟯\\\"}.fad.fa-cheese-swiss:after{content:\\\"􏟰\\\"}.fad.fa-cheeseburger:after{content:\\\"􏟱\\\"}.fad.fa-chess:after{content:\\\"􏐹\\\"}.fad.fa-chess-bishop:after{content:\\\"􏐺\\\"}.fad.fa-chess-bishop-alt:after{content:\\\"􏐻\\\"}.fad.fa-chess-board:after{content:\\\"􏐼\\\"}.fad.fa-chess-clock:after{content:\\\"􏐽\\\"}.fad.fa-chess-clock-alt:after{content:\\\"􏐾\\\"}.fad.fa-chess-king:after{content:\\\"􏐿\\\"}.fad.fa-chess-king-alt:after{content:\\\"􏑀\\\"}.fad.fa-chess-knight:after{content:\\\"􏑁\\\"}.fad.fa-chess-knight-alt:after{content:\\\"􏑂\\\"}.fad.fa-chess-pawn:after{content:\\\"􏑃\\\"}.fad.fa-chess-pawn-alt:after{content:\\\"􏑄\\\"}.fad.fa-chess-queen:after{content:\\\"􏑅\\\"}.fad.fa-chess-queen-alt:after{content:\\\"􏑆\\\"}.fad.fa-chess-rook:after{content:\\\"􏑇\\\"}.fad.fa-chess-rook-alt:after{content:\\\"􏑈\\\"}.fad.fa-chevron-circle-down:after{content:\\\"􏄺\\\"}.fad.fa-chevron-circle-left:after{content:\\\"􏄷\\\"}.fad.fa-chevron-circle-right:after{content:\\\"􏄸\\\"}.fad.fa-chevron-circle-up:after{content:\\\"􏄹\\\"}.fad.fa-chevron-double-down:after{content:\\\"􏌢\\\"}.fad.fa-chevron-double-left:after{content:\\\"􏌣\\\"}.fad.fa-chevron-double-right:after{content:\\\"􏌤\\\"}.fad.fa-chevron-double-up:after{content:\\\"􏌥\\\"}.fad.fa-chevron-down:after{content:\\\"􏁸\\\"}.fad.fa-chevron-left:after{content:\\\"􏁓\\\"}.fad.fa-chevron-right:after{content:\\\"􏁔\\\"}.fad.fa-chevron-square-down:after{content:\\\"􏌩\\\"}.fad.fa-chevron-square-left:after{content:\\\"􏌪\\\"}.fad.fa-chevron-square-right:after{content:\\\"􏌫\\\"}.fad.fa-chevron-square-up:after{content:\\\"􏌬\\\"}.fad.fa-chevron-up:after{content:\\\"􏁷\\\"}.fad.fa-child:after{content:\\\"􏆮\\\"}.fad.fa-chimney:after{content:\\\"􏞋\\\"}.fad.fa-church:after{content:\\\"􏔝\\\"}.fad.fa-circle:after{content:\\\"􏄑\\\"}.fad.fa-circle-notch:after{content:\\\"􏇎\\\"}.fad.fa-city:after{content:\\\"􏙏\\\"}.fad.fa-clarinet:after{content:\\\"􏢭\\\"}.fad.fa-claw-marks:after{content:\\\"􏛂\\\"}.fad.fa-clinic-medical:after{content:\\\"􏟲\\\"}.fad.fa-clipboard:after{content:\\\"􏌨\\\"}.fad.fa-clipboard-check:after{content:\\\"􏑬\\\"}.fad.fa-clipboard-list:after{content:\\\"􏑭\\\"}.fad.fa-clipboard-list-check:after{content:\\\"􏜷\\\"}.fad.fa-clipboard-prescription:after{content:\\\"􏗨\\\"}.fad.fa-clipboard-user:after{content:\\\"􏟳\\\"}.fad.fa-clock:after{content:\\\"􏀗\\\"}.fad.fa-clone:after{content:\\\"􏉍\\\"}.fad.fa-closed-captioning:after{content:\\\"􏈊\\\"}.fad.fa-cloud:after{content:\\\"􏃂\\\"}.fad.fa-cloud-download:after{content:\\\"􏃭\\\"}.fad.fa-cloud-download-alt:after{content:\\\"􏎁\\\"}.fad.fa-cloud-drizzle:after{content:\\\"􏜸\\\"}.fad.fa-cloud-hail:after{content:\\\"􏜹\\\"}.fad.fa-cloud-hail-mixed:after{content:\\\"􏜺\\\"}.fad.fa-cloud-meatball:after{content:\\\"􏜻\\\"}.fad.fa-cloud-moon:after{content:\\\"􏛃\\\"}.fad.fa-cloud-moon-rain:after{content:\\\"􏜼\\\"}.fad.fa-cloud-music:after{content:\\\"􏢮\\\"}.fad.fa-cloud-rain:after{content:\\\"􏜽\\\"}.fad.fa-cloud-rainbow:after{content:\\\"􏜾\\\"}.fad.fa-cloud-showers:after{content:\\\"􏜿\\\"}.fad.fa-cloud-showers-heavy:after{content:\\\"􏝀\\\"}.fad.fa-cloud-sleet:after{content:\\\"􏝁\\\"}.fad.fa-cloud-snow:after{content:\\\"􏝂\\\"}.fad.fa-cloud-sun:after{content:\\\"􏛄\\\"}.fad.fa-cloud-sun-rain:after{content:\\\"􏝃\\\"}.fad.fa-cloud-upload:after{content:\\\"􏃮\\\"}.fad.fa-cloud-upload-alt:after{content:\\\"􏎂\\\"}.fad.fa-clouds:after{content:\\\"􏝄\\\"}.fad.fa-clouds-moon:after{content:\\\"􏝅\\\"}.fad.fa-clouds-sun:after{content:\\\"􏝆\\\"}.fad.fa-club:after{content:\\\"􏌧\\\"}.fad.fa-cocktail:after{content:\\\"􏕡\\\"}.fad.fa-code:after{content:\\\"􏄡\\\"}.fad.fa-code-branch:after{content:\\\"􏄦\\\"}.fad.fa-code-commit:after{content:\\\"􏎆\\\"}.fad.fa-code-merge:after{content:\\\"􏎇\\\"}.fad.fa-coffee:after{content:\\\"􏃴\\\"}.fad.fa-coffee-pot:after{content:\\\"􏤂\\\"}.fad.fa-coffee-togo:after{content:\\\"􏛅\\\"}.fad.fa-coffin:after{content:\\\"􏛆\\\"}.fad.fa-coffin-cross:after{content:\\\"􏥑\\\"}.fad.fa-cog:after{content:\\\"􏀓\\\"}.fad.fa-cogs:after{content:\\\"􏂅\\\"}.fad.fa-coin:after{content:\\\"􏡜\\\"}.fad.fa-coins:after{content:\\\"􏔞\\\"}.fad.fa-columns:after{content:\\\"􏃛\\\"}.fad.fa-comet:after{content:\\\"􏤃\\\"}.fad.fa-comment:after{content:\\\"􏁵\\\"}.fad.fa-comment-alt:after{content:\\\"􏉺\\\"}.fad.fa-comment-alt-check:after{content:\\\"􏒢\\\"}.fad.fa-comment-alt-dollar:after{content:\\\"􏙐\\\"}.fad.fa-comment-alt-dots:after{content:\\\"􏒣\\\"}.fad.fa-comment-alt-edit:after{content:\\\"􏒤\\\"}.fad.fa-comment-alt-exclamation:after{content:\\\"􏒥\\\"}.fad.fa-comment-alt-lines:after{content:\\\"􏒦\\\"}.fad.fa-comment-alt-medical:after{content:\\\"􏟴\\\"}.fad.fa-comment-alt-minus:after{content:\\\"􏒧\\\"}.fad.fa-comment-alt-music:after{content:\\\"􏢯\\\"}.fad.fa-comment-alt-plus:after{content:\\\"􏒨\\\"}.fad.fa-comment-alt-slash:after{content:\\\"􏒩\\\"}.fad.fa-comment-alt-smile:after{content:\\\"􏒪\\\"}.fad.fa-comment-alt-times:after{content:\\\"􏒫\\\"}.fad.fa-comment-check:after{content:\\\"􏒬\\\"}.fad.fa-comment-dollar:after{content:\\\"􏙑\\\"}.fad.fa-comment-dots:after{content:\\\"􏒭\\\"}.fad.fa-comment-edit:after{content:\\\"􏒮\\\"}.fad.fa-comment-exclamation:after{content:\\\"􏒯\\\"}.fad.fa-comment-lines:after{content:\\\"􏒰\\\"}.fad.fa-comment-medical:after{content:\\\"􏟵\\\"}.fad.fa-comment-minus:after{content:\\\"􏒱\\\"}.fad.fa-comment-music:after{content:\\\"􏢰\\\"}.fad.fa-comment-plus:after{content:\\\"􏒲\\\"}.fad.fa-comment-slash:after{content:\\\"􏒳\\\"}.fad.fa-comment-smile:after{content:\\\"􏒴\\\"}.fad.fa-comment-times:after{content:\\\"􏒵\\\"}.fad.fa-comments:after{content:\\\"􏂆\\\"}.fad.fa-comments-alt:after{content:\\\"􏒶\\\"}.fad.fa-comments-alt-dollar:after{content:\\\"􏙒\\\"}.fad.fa-comments-dollar:after{content:\\\"􏙓\\\"}.fad.fa-compact-disc:after{content:\\\"􏔟\\\"}.fad.fa-compass:after{content:\\\"􏅎\\\"}.fad.fa-compass-slash:after{content:\\\"􏗩\\\"}.fad.fa-compress:after{content:\\\"􏁦\\\"}.fad.fa-compress-alt:after{content:\\\"􏐢\\\"}.fad.fa-compress-arrows-alt:after{content:\\\"􏞌\\\"}.fad.fa-compress-wide:after{content:\\\"􏌦\\\"}.fad.fa-computer-classic:after{content:\\\"􏢱\\\"}.fad.fa-computer-speaker:after{content:\\\"􏢲\\\"}.fad.fa-concierge-bell:after{content:\\\"􏕢\\\"}.fad.fa-construction:after{content:\\\"􏡝\\\"}.fad.fa-container-storage:after{content:\\\"􏒷\\\"}.fad.fa-conveyor-belt:after{content:\\\"􏑮\\\"}.fad.fa-conveyor-belt-alt:after{content:\\\"􏑯\\\"}.fad.fa-cookie:after{content:\\\"􏕣\\\"}.fad.fa-cookie-bite:after{content:\\\"􏕤\\\"}.fad.fa-copy:after{content:\\\"􏃅\\\"}.fad.fa-copyright:after{content:\\\"􏇹\\\"}.fad.fa-corn:after{content:\\\"􏛇\\\"}.fad.fa-couch:after{content:\\\"􏒸\\\"}.fad.fa-cow:after{content:\\\"􏛈\\\"}.fad.fa-cowbell:after{content:\\\"􏢳\\\"}.fad.fa-cowbell-more:after{content:\\\"􏢴\\\"}.fad.fa-credit-card:after{content:\\\"􏂝\\\"}.fad.fa-credit-card-blank:after{content:\\\"􏎉\\\"}.fad.fa-credit-card-front:after{content:\\\"􏎊\\\"}.fad.fa-cricket:after{content:\\\"􏑉\\\"}.fad.fa-croissant:after{content:\\\"􏟶\\\"}.fad.fa-crop:after{content:\\\"􏄥\\\"}.fad.fa-crop-alt:after{content:\\\"􏕥\\\"}.fad.fa-cross:after{content:\\\"􏙔\\\"}.fad.fa-crosshairs:after{content:\\\"􏁛\\\"}.fad.fa-crow:after{content:\\\"􏔠\\\"}.fad.fa-crown:after{content:\\\"􏔡\\\"}.fad.fa-crutch:after{content:\\\"􏟷\\\"}.fad.fa-crutches:after{content:\\\"􏟸\\\"}.fad.fa-cube:after{content:\\\"􏆲\\\"}.fad.fa-cubes:after{content:\\\"􏆳\\\"}.fad.fa-curling:after{content:\\\"􏑊\\\"}.fad.fa-cut:after{content:\\\"􏃄\\\"}.fad.fa-dagger:after{content:\\\"􏛋\\\"}.fad.fa-database:after{content:\\\"􏇀\\\"}.fad.fa-deaf:after{content:\\\"􏊤\\\"}.fad.fa-debug:after{content:\\\"􏟹\\\"}.fad.fa-deer:after{content:\\\"􏞎\\\"}.fad.fa-deer-rudolph:after{content:\\\"􏞏\\\"}.fad.fa-democrat:after{content:\\\"􏝇\\\"}.fad.fa-desktop:after{content:\\\"􏄈\\\"}.fad.fa-desktop-alt:after{content:\\\"􏎐\\\"}.fad.fa-dewpoint:after{content:\\\"􏝈\\\"}.fad.fa-dharmachakra:after{content:\\\"􏙕\\\"}.fad.fa-diagnoses:after{content:\\\"􏑰\\\"}.fad.fa-diamond:after{content:\\\"􏈙\\\"}.fad.fa-dice:after{content:\\\"􏔢\\\"}.fad.fa-dice-d10:after{content:\\\"􏛍\\\"}.fad.fa-dice-d12:after{content:\\\"􏛎\\\"}.fad.fa-dice-d20:after{content:\\\"􏛏\\\"}.fad.fa-dice-d4:after{content:\\\"􏛐\\\"}.fad.fa-dice-d6:after{content:\\\"􏛑\\\"}.fad.fa-dice-d8:after{content:\\\"􏛒\\\"}.fad.fa-dice-five:after{content:\\\"􏔣\\\"}.fad.fa-dice-four:after{content:\\\"􏔤\\\"}.fad.fa-dice-one:after{content:\\\"􏔥\\\"}.fad.fa-dice-six:after{content:\\\"􏔦\\\"}.fad.fa-dice-three:after{content:\\\"􏔧\\\"}.fad.fa-dice-two:after{content:\\\"􏔨\\\"}.fad.fa-digging:after{content:\\\"􏡞\\\"}.fad.fa-digital-tachograph:after{content:\\\"􏕦\\\"}.fad.fa-diploma:after{content:\\\"􏗪\\\"}.fad.fa-directions:after{content:\\\"􏗫\\\"}.fad.fa-disc-drive:after{content:\\\"􏢵\\\"}.fad.fa-disease:after{content:\\\"􏟺\\\"}.fad.fa-divide:after{content:\\\"􏔩\\\"}.fad.fa-dizzy:after{content:\\\"􏕧\\\"}.fad.fa-dna:after{content:\\\"􏑱\\\"}.fad.fa-do-not-enter:after{content:\\\"􏗬\\\"}.fad.fa-dog:after{content:\\\"􏛓\\\"}.fad.fa-dog-leashed:after{content:\\\"􏛔\\\"}.fad.fa-dollar-sign:after{content:\\\"􏅕\\\"}.fad.fa-dolly:after{content:\\\"􏑲\\\"}.fad.fa-dolly-empty:after{content:\\\"􏑳\\\"}.fad.fa-dolly-flatbed:after{content:\\\"􏑴\\\"}.fad.fa-dolly-flatbed-alt:after{content:\\\"􏑵\\\"}.fad.fa-dolly-flatbed-empty:after{content:\\\"􏑶\\\"}.fad.fa-donate:after{content:\\\"􏒹\\\"}.fad.fa-door-closed:after{content:\\\"􏔪\\\"}.fad.fa-door-open:after{content:\\\"􏔫\\\"}.fad.fa-dot-circle:after{content:\\\"􏆒\\\"}.fad.fa-dove:after{content:\\\"􏒺\\\"}.fad.fa-download:after{content:\\\"􏀙\\\"}.fad.fa-drafting-compass:after{content:\\\"􏕨\\\"}.fad.fa-dragon:after{content:\\\"􏛕\\\"}.fad.fa-draw-circle:after{content:\\\"􏗭\\\"}.fad.fa-draw-polygon:after{content:\\\"􏗮\\\"}.fad.fa-draw-square:after{content:\\\"􏗯\\\"}.fad.fa-dreidel:after{content:\\\"􏞒\\\"}.fad.fa-drone:after{content:\\\"􏡟\\\"}.fad.fa-drone-alt:after{content:\\\"􏡠\\\"}.fad.fa-drum:after{content:\\\"􏕩\\\"}.fad.fa-drum-steelpan:after{content:\\\"􏕪\\\"}.fad.fa-drumstick:after{content:\\\"􏛖\\\"}.fad.fa-drumstick-bite:after{content:\\\"􏛗\\\"}.fad.fa-dryer:after{content:\\\"􏡡\\\"}.fad.fa-dryer-alt:after{content:\\\"􏡢\\\"}.fad.fa-duck:after{content:\\\"􏛘\\\"}.fad.fa-dumbbell:after{content:\\\"􏑋\\\"}.fad.fa-dumpster:after{content:\\\"􏞓\\\"}.fad.fa-dumpster-fire:after{content:\\\"􏞔\\\"}.fad.fa-dungeon:after{content:\\\"􏛙\\\"}.fad.fa-ear:after{content:\\\"􏗰\\\"}.fad.fa-ear-muffs:after{content:\\\"􏞕\\\"}.fad.fa-eclipse:after{content:\\\"􏝉\\\"}.fad.fa-eclipse-alt:after{content:\\\"􏝊\\\"}.fad.fa-edit:after{content:\\\"􏁄\\\"}.fad.fa-egg:after{content:\\\"􏟻\\\"}.fad.fa-egg-fried:after{content:\\\"􏟼\\\"}.fad.fa-eject:after{content:\\\"􏁒\\\"}.fad.fa-elephant:after{content:\\\"􏛚\\\"}.fad.fa-ellipsis-h:after{content:\\\"􏅁\\\"}.fad.fa-ellipsis-h-alt:after{content:\\\"􏎛\\\"}.fad.fa-ellipsis-v:after{content:\\\"􏅂\\\"}.fad.fa-ellipsis-v-alt:after{content:\\\"􏎜\\\"}.fad.fa-empty-set:after{content:\\\"􏙖\\\"}.fad.fa-engine-warning:after{content:\\\"􏗲\\\"}.fad.fa-envelope:after{content:\\\"􏃠\\\"}.fad.fa-envelope-open:after{content:\\\"􏊶\\\"}.fad.fa-envelope-open-dollar:after{content:\\\"􏙗\\\"}.fad.fa-envelope-open-text:after{content:\\\"􏙘\\\"}.fad.fa-envelope-square:after{content:\\\"􏆙\\\"}.fad.fa-equals:after{content:\\\"􏔬\\\"}.fad.fa-eraser:after{content:\\\"􏄭\\\"}.fad.fa-ethernet:after{content:\\\"􏞖\\\"}.fad.fa-euro-sign:after{content:\\\"􏅓\\\"}.fad.fa-exchange:after{content:\\\"􏃬\\\"}.fad.fa-exchange-alt:after{content:\\\"􏍢\\\"}.fad.fa-exclamation:after{content:\\\"􏄪\\\"}.fad.fa-exclamation-circle:after{content:\\\"􏁪\\\"}.fad.fa-exclamation-square:after{content:\\\"􏌡\\\"}.fad.fa-exclamation-triangle:after{content:\\\"􏁱\\\"}.fad.fa-expand:after{content:\\\"􏁥\\\"}.fad.fa-expand-alt:after{content:\\\"􏐤\\\"}.fad.fa-expand-arrows:after{content:\\\"􏌝\\\"}.fad.fa-expand-arrows-alt:after{content:\\\"􏌞\\\"}.fad.fa-expand-wide:after{content:\\\"􏌠\\\"}.fad.fa-external-link:after{content:\\\"􏂎\\\"}.fad.fa-external-link-alt:after{content:\\\"􏍝\\\"}.fad.fa-external-link-square:after{content:\\\"􏅌\\\"}.fad.fa-external-link-square-alt:after{content:\\\"􏍠\\\"}.fad.fa-eye:after{content:\\\"􏁮\\\"}.fad.fa-eye-dropper:after{content:\\\"􏇻\\\"}.fad.fa-eye-evil:after{content:\\\"􏛛\\\"}.fad.fa-eye-slash:after{content:\\\"􏁰\\\"}.fad.fa-fan:after{content:\\\"􏡣\\\"}.fad.fa-fan-table:after{content:\\\"􏤄\\\"}.fad.fa-farm:after{content:\\\"􏡤\\\"}.fad.fa-fast-backward:after{content:\\\"􏁉\\\"}.fad.fa-fast-forward:after{content:\\\"􏁐\\\"}.fad.fa-faucet:after{content:\\\"􏤅\\\"}.fad.fa-faucet-drip:after{content:\\\"􏤆\\\"}.fad.fa-fax:after{content:\\\"􏆬\\\"}.fad.fa-feather:after{content:\\\"􏔭\\\"}.fad.fa-feather-alt:after{content:\\\"􏕫\\\"}.fad.fa-female:after{content:\\\"􏆂\\\"}.fad.fa-field-hockey:after{content:\\\"􏑌\\\"}.fad.fa-fighter-jet:after{content:\\\"􏃻\\\"}.fad.fa-file:after{content:\\\"􏅛\\\"}.fad.fa-file-alt:after{content:\\\"􏅜\\\"}.fad.fa-file-archive:after{content:\\\"􏇆\\\"}.fad.fa-file-audio:after{content:\\\"􏇇\\\"}.fad.fa-file-certificate:after{content:\\\"􏗳\\\"}.fad.fa-file-chart-line:after{content:\\\"􏙙\\\"}.fad.fa-file-chart-pie:after{content:\\\"􏙚\\\"}.fad.fa-file-check:after{content:\\\"􏌖\\\"}.fad.fa-file-code:after{content:\\\"􏇉\\\"}.fad.fa-file-contract:after{content:\\\"􏕬\\\"}.fad.fa-file-csv:after{content:\\\"􏛝\\\"}.fad.fa-file-download:after{content:\\\"􏕭\\\"}.fad.fa-file-edit:after{content:\\\"􏌜\\\"}.fad.fa-file-excel:after{content:\\\"􏇃\\\"}.fad.fa-file-exclamation:after{content:\\\"􏌚\\\"}.fad.fa-file-export:after{content:\\\"􏕮\\\"}.fad.fa-file-image:after{content:\\\"􏇅\\\"}.fad.fa-file-import:after{content:\\\"􏕯\\\"}.fad.fa-file-invoice:after{content:\\\"􏕰\\\"}.fad.fa-file-invoice-dollar:after{content:\\\"􏕱\\\"}.fad.fa-file-medical:after{content:\\\"􏑷\\\"}.fad.fa-file-medical-alt:after{content:\\\"􏑸\\\"}.fad.fa-file-minus:after{content:\\\"􏌘\\\"}.fad.fa-file-music:after{content:\\\"􏢶\\\"}.fad.fa-file-pdf:after{content:\\\"􏇁\\\"}.fad.fa-file-plus:after{content:\\\"􏌙\\\"}.fad.fa-file-powerpoint:after{content:\\\"􏇄\\\"}.fad.fa-file-prescription:after{content:\\\"􏕲\\\"}.fad.fa-file-search:after{content:\\\"􏡥\\\"}.fad.fa-file-signature:after{content:\\\"􏕳\\\"}.fad.fa-file-spreadsheet:after{content:\\\"􏙛\\\"}.fad.fa-file-times:after{content:\\\"􏌗\\\"}.fad.fa-file-upload:after{content:\\\"􏕴\\\"}.fad.fa-file-user:after{content:\\\"􏙜\\\"}.fad.fa-file-video:after{content:\\\"􏇈\\\"}.fad.fa-file-word:after{content:\\\"􏇂\\\"}.fad.fa-files-medical:after{content:\\\"􏟽\\\"}.fad.fa-fill:after{content:\\\"􏕵\\\"}.fad.fa-fill-drip:after{content:\\\"􏕶\\\"}.fad.fa-film:after{content:\\\"􏀈\\\"}.fad.fa-film-alt:after{content:\\\"􏎠\\\"}.fad.fa-film-canister:after{content:\\\"􏢷\\\"}.fad.fa-filter:after{content:\\\"􏂰\\\"}.fad.fa-fingerprint:after{content:\\\"􏕷\\\"}.fad.fa-fire:after{content:\\\"􏁭\\\"}.fad.fa-fire-alt:after{content:\\\"􏟤\\\"}.fad.fa-fire-extinguisher:after{content:\\\"􏄴\\\"}.fad.fa-fire-smoke:after{content:\\\"􏝋\\\"}.fad.fa-fireplace:after{content:\\\"􏞚\\\"}.fad.fa-first-aid:after{content:\\\"􏑹\\\"}.fad.fa-fish:after{content:\\\"􏕸\\\"}.fad.fa-fish-cooked:after{content:\\\"􏟾\\\"}.fad.fa-fist-raised:after{content:\\\"􏛞\\\"}.fad.fa-flag:after{content:\\\"􏀤\\\"}.fad.fa-flag-alt:after{content:\\\"􏝌\\\"}.fad.fa-flag-checkered:after{content:\\\"􏄞\\\"}.fad.fa-flag-usa:after{content:\\\"􏝍\\\"}.fad.fa-flame:after{content:\\\"􏛟\\\"}.fad.fa-flashlight:after{content:\\\"􏢸\\\"}.fad.fa-flask:after{content:\\\"􏃃\\\"}.fad.fa-flask-poison:after{content:\\\"􏛠\\\"}.fad.fa-flask-potion:after{content:\\\"􏛡\\\"}.fad.fa-flower:after{content:\\\"􏟿\\\"}.fad.fa-flower-daffodil:after{content:\\\"􏠀\\\"}.fad.fa-flower-tulip:after{content:\\\"􏠁\\\"}.fad.fa-flushed:after{content:\\\"􏕹\\\"}.fad.fa-flute:after{content:\\\"􏢹\\\"}.fad.fa-flux-capacitor:after{content:\\\"􏢺\\\"}.fad.fa-fog:after{content:\\\"􏝎\\\"}.fad.fa-folder:after{content:\\\"􏁻\\\"}.fad.fa-folder-download:after{content:\\\"􏥓\\\"}.fad.fa-folder-minus:after{content:\\\"􏙝\\\"}.fad.fa-folder-open:after{content:\\\"􏁼\\\"}.fad.fa-folder-plus:after{content:\\\"􏙞\\\"}.fad.fa-folder-times:after{content:\\\"􏙟\\\"}.fad.fa-folder-tree:after{content:\\\"􏠂\\\"}.fad.fa-folder-upload:after{content:\\\"􏥔\\\"}.fad.fa-folders:after{content:\\\"􏙠\\\"}.fad.fa-font:after{content:\\\"􏀱\\\"}.fad.fa-font-awesome-logo-full:after{content:\\\"􏓦\\\"}.fad.fa-font-case:after{content:\\\"􏡦\\\"}.fad.fa-football-ball:after{content:\\\"􏑎\\\"}.fad.fa-football-helmet:after{content:\\\"􏑏\\\"}.fad.fa-forklift:after{content:\\\"􏑺\\\"}.fad.fa-forward:after{content:\\\"􏁎\\\"}.fad.fa-fragile:after{content:\\\"􏒻\\\"}.fad.fa-french-fries:after{content:\\\"􏠃\\\"}.fad.fa-frog:after{content:\\\"􏔮\\\"}.fad.fa-frosty-head:after{content:\\\"􏞛\\\"}.fad.fa-frown:after{content:\\\"􏄙\\\"}.fad.fa-frown-open:after{content:\\\"􏕺\\\"}.fad.fa-function:after{content:\\\"􏙡\\\"}.fad.fa-funnel-dollar:after{content:\\\"􏙢\\\"}.fad.fa-futbol:after{content:\\\"􏇣\\\"}.fad.fa-galaxy:after{content:\\\"􏤈\\\"}.fad.fa-game-board:after{content:\\\"􏡧\\\"}.fad.fa-game-board-alt:after{content:\\\"􏡨\\\"}.fad.fa-game-console-handheld:after{content:\\\"􏢻\\\"}.fad.fa-gamepad:after{content:\\\"􏄛\\\"}.fad.fa-gamepad-alt:after{content:\\\"􏢼\\\"}.fad.fa-garage:after{content:\\\"􏤉\\\"}.fad.fa-garage-car:after{content:\\\"􏤊\\\"}.fad.fa-garage-open:after{content:\\\"􏤋\\\"}.fad.fa-gas-pump:after{content:\\\"􏔯\\\"}.fad.fa-gas-pump-slash:after{content:\\\"􏗴\\\"}.fad.fa-gavel:after{content:\\\"􏃣\\\"}.fad.fa-gem:after{content:\\\"􏎥\\\"}.fad.fa-genderless:after{content:\\\"􏈭\\\"}.fad.fa-ghost:after{content:\\\"􏛢\\\"}.fad.fa-gift:after{content:\\\"􏁫\\\"}.fad.fa-gift-card:after{content:\\\"􏙣\\\"}.fad.fa-gifts:after{content:\\\"􏞜\\\"}.fad.fa-gingerbread-man:after{content:\\\"􏞝\\\"}.fad.fa-glass:after{content:\\\"􏠄\\\"}.fad.fa-glass-champagne:after{content:\\\"􏞞\\\"}.fad.fa-glass-cheers:after{content:\\\"􏞟\\\"}.fad.fa-glass-citrus:after{content:\\\"􏡩\\\"}.fad.fa-glass-martini:after{content:\\\"􏀀\\\"}.fad.fa-glass-martini-alt:after{content:\\\"􏕻\\\"}.fad.fa-glass-whiskey:after{content:\\\"􏞠\\\"}.fad.fa-glass-whiskey-rocks:after{content:\\\"􏞡\\\"}.fad.fa-glasses:after{content:\\\"􏔰\\\"}.fad.fa-glasses-alt:after{content:\\\"􏗵\\\"}.fad.fa-globe:after{content:\\\"􏂬\\\"}.fad.fa-globe-africa:after{content:\\\"􏕼\\\"}.fad.fa-globe-americas:after{content:\\\"􏕽\\\"}.fad.fa-globe-asia:after{content:\\\"􏕾\\\"}.fad.fa-globe-europe:after{content:\\\"􏞢\\\"}.fad.fa-globe-snow:after{content:\\\"􏞣\\\"}.fad.fa-globe-stand:after{content:\\\"􏗶\\\"}.fad.fa-golf-ball:after{content:\\\"􏑐\\\"}.fad.fa-golf-club:after{content:\\\"􏑑\\\"}.fad.fa-gopuram:after{content:\\\"􏙤\\\"}.fad.fa-graduation-cap:after{content:\\\"􏆝\\\"}.fad.fa-gramophone:after{content:\\\"􏢽\\\"}.fad.fa-greater-than:after{content:\\\"􏔱\\\"}.fad.fa-greater-than-equal:after{content:\\\"􏔲\\\"}.fad.fa-grimace:after{content:\\\"􏕿\\\"}.fad.fa-grin:after{content:\\\"􏖀\\\"}.fad.fa-grin-alt:after{content:\\\"􏖁\\\"}.fad.fa-grin-beam:after{content:\\\"􏖂\\\"}.fad.fa-grin-beam-sweat:after{content:\\\"􏖃\\\"}.fad.fa-grin-hearts:after{content:\\\"􏖄\\\"}.fad.fa-grin-squint:after{content:\\\"􏖅\\\"}.fad.fa-grin-squint-tears:after{content:\\\"􏖆\\\"}.fad.fa-grin-stars:after{content:\\\"􏖇\\\"}.fad.fa-grin-tears:after{content:\\\"􏖈\\\"}.fad.fa-grin-tongue:after{content:\\\"􏖉\\\"}.fad.fa-grin-tongue-squint:after{content:\\\"􏖊\\\"}.fad.fa-grin-tongue-wink:after{content:\\\"􏖋\\\"}.fad.fa-grin-wink:after{content:\\\"􏖌\\\"}.fad.fa-grip-horizontal:after{content:\\\"􏖍\\\"}.fad.fa-grip-lines:after{content:\\\"􏞤\\\"}.fad.fa-grip-lines-vertical:after{content:\\\"􏞥\\\"}.fad.fa-grip-vertical:after{content:\\\"􏖎\\\"}.fad.fa-guitar:after{content:\\\"􏞦\\\"}.fad.fa-guitar-electric:after{content:\\\"􏢾\\\"}.fad.fa-guitars:after{content:\\\"􏢿\\\"}.fad.fa-h-square:after{content:\\\"􏃽\\\"}.fad.fa-h1:after{content:\\\"􏌓\\\"}.fad.fa-h2:after{content:\\\"􏌔\\\"}.fad.fa-h3:after{content:\\\"􏌕\\\"}.fad.fa-h4:after{content:\\\"􏡪\\\"}.fad.fa-hamburger:after{content:\\\"􏠅\\\"}.fad.fa-hammer:after{content:\\\"􏛣\\\"}.fad.fa-hammer-war:after{content:\\\"􏛤\\\"}.fad.fa-hamsa:after{content:\\\"􏙥\\\"}.fad.fa-hand-heart:after{content:\\\"􏒼\\\"}.fad.fa-hand-holding:after{content:\\\"􏒽\\\"}.fad.fa-hand-holding-box:after{content:\\\"􏑻\\\"}.fad.fa-hand-holding-heart:after{content:\\\"􏒾\\\"}.fad.fa-hand-holding-magic:after{content:\\\"􏛥\\\"}.fad.fa-hand-holding-medical:after{content:\\\"􏥜\\\"}.fad.fa-hand-holding-seedling:after{content:\\\"􏒿\\\"}.fad.fa-hand-holding-usd:after{content:\\\"􏓀\\\"}.fad.fa-hand-holding-water:after{content:\\\"􏓁\\\"}.fad.fa-hand-lizard:after{content:\\\"􏉘\\\"}.fad.fa-hand-middle-finger:after{content:\\\"􏠆\\\"}.fad.fa-hand-paper:after{content:\\\"􏉖\\\"}.fad.fa-hand-peace:after{content:\\\"􏉛\\\"}.fad.fa-hand-point-down:after{content:\\\"􏂧\\\"}.fad.fa-hand-point-left:after{content:\\\"􏂥\\\"}.fad.fa-hand-point-right:after{content:\\\"􏂤\\\"}.fad.fa-hand-point-up:after{content:\\\"􏂦\\\"}.fad.fa-hand-pointer:after{content:\\\"􏉚\\\"}.fad.fa-hand-receiving:after{content:\\\"􏑼\\\"}.fad.fa-hand-rock:after{content:\\\"􏉕\\\"}.fad.fa-hand-scissors:after{content:\\\"􏉗\\\"}.fad.fa-hand-sparkles:after{content:\\\"􏥝\\\"}.fad.fa-hand-spock:after{content:\\\"􏉙\\\"}.fad.fa-hands:after{content:\\\"􏓂\\\"}.fad.fa-hands-heart:after{content:\\\"􏓃\\\"}.fad.fa-hands-helping:after{content:\\\"􏓄\\\"}.fad.fa-hands-usd:after{content:\\\"􏓅\\\"}.fad.fa-hands-wash:after{content:\\\"􏥞\\\"}.fad.fa-handshake:after{content:\\\"􏊵\\\"}.fad.fa-handshake-alt:after{content:\\\"􏓆\\\"}.fad.fa-handshake-alt-slash:after{content:\\\"􏥟\\\"}.fad.fa-handshake-slash:after{content:\\\"􏥠\\\"}.fad.fa-hanukiah:after{content:\\\"􏛦\\\"}.fad.fa-hard-hat:after{content:\\\"􏠇\\\"}.fad.fa-hashtag:after{content:\\\"􏊒\\\"}.fad.fa-hat-chef:after{content:\\\"􏡫\\\"}.fad.fa-hat-cowboy:after{content:\\\"􏣀\\\"}.fad.fa-hat-cowboy-side:after{content:\\\"􏣁\\\"}.fad.fa-hat-santa:after{content:\\\"􏞧\\\"}.fad.fa-hat-winter:after{content:\\\"􏞨\\\"}.fad.fa-hat-witch:after{content:\\\"􏛧\\\"}.fad.fa-hat-wizard:after{content:\\\"􏛨\\\"}.fad.fa-hdd:after{content:\\\"􏂠\\\"}.fad.fa-head-side:after{content:\\\"􏛩\\\"}.fad.fa-head-side-brain:after{content:\\\"􏠈\\\"}.fad.fa-head-side-cough:after{content:\\\"􏥡\\\"}.fad.fa-head-side-cough-slash:after{content:\\\"􏥢\\\"}.fad.fa-head-side-headphones:after{content:\\\"􏣂\\\"}.fad.fa-head-side-mask:after{content:\\\"􏥣\\\"}.fad.fa-head-side-medical:after{content:\\\"􏠉\\\"}.fad.fa-head-side-virus:after{content:\\\"􏥤\\\"}.fad.fa-head-vr:after{content:\\\"􏛪\\\"}.fad.fa-heading:after{content:\\\"􏇜\\\"}.fad.fa-headphones:after{content:\\\"􏀥\\\"}.fad.fa-headphones-alt:after{content:\\\"􏖏\\\"}.fad.fa-headset:after{content:\\\"􏖐\\\"}.fad.fa-heart:after{content:\\\"􏀄\\\"}.fad.fa-heart-broken:after{content:\\\"􏞩\\\"}.fad.fa-heart-circle:after{content:\\\"􏓇\\\"}.fad.fa-heart-rate:after{content:\\\"􏗸\\\"}.fad.fa-heart-square:after{content:\\\"􏓈\\\"}.fad.fa-heartbeat:after{content:\\\"􏈞\\\"}.fad.fa-heat:after{content:\\\"􏤌\\\"}.fad.fa-helicopter:after{content:\\\"􏔳\\\"}.fad.fa-helmet-battle:after{content:\\\"􏛫\\\"}.fad.fa-hexagon:after{content:\\\"􏌒\\\"}.fad.fa-highlighter:after{content:\\\"􏖑\\\"}.fad.fa-hiking:after{content:\\\"􏛬\\\"}.fad.fa-hippo:after{content:\\\"􏛭\\\"}.fad.fa-history:after{content:\\\"􏇚\\\"}.fad.fa-hockey-mask:after{content:\\\"􏛮\\\"}.fad.fa-hockey-puck:after{content:\\\"􏑓\\\"}.fad.fa-hockey-sticks:after{content:\\\"􏑔\\\"}.fad.fa-holly-berry:after{content:\\\"􏞪\\\"}.fad.fa-home:after{content:\\\"􏀕\\\"}.fad.fa-home-alt:after{content:\\\"􏠊\\\"}.fad.fa-home-heart:after{content:\\\"􏓉\\\"}.fad.fa-home-lg:after{content:\\\"􏠋\\\"}.fad.fa-home-lg-alt:after{content:\\\"􏠌\\\"}.fad.fa-hood-cloak:after{content:\\\"􏛯\\\"}.fad.fa-horizontal-rule:after{content:\\\"􏡬\\\"}.fad.fa-horse:after{content:\\\"􏛰\\\"}.fad.fa-horse-head:after{content:\\\"􏞫\\\"}.fad.fa-horse-saddle:after{content:\\\"􏣃\\\"}.fad.fa-hospital:after{content:\\\"􏃸\\\"}.fad.fa-hospital-alt:after{content:\\\"􏑽\\\"}.fad.fa-hospital-symbol:after{content:\\\"􏑾\\\"}.fad.fa-hospital-user:after{content:\\\"􏠍\\\"}.fad.fa-hospitals:after{content:\\\"􏠎\\\"}.fad.fa-hot-tub:after{content:\\\"􏖓\\\"}.fad.fa-hotdog:after{content:\\\"􏠏\\\"}.fad.fa-hotel:after{content:\\\"􏖔\\\"}.fad.fa-hourglass:after{content:\\\"􏉔\\\"}.fad.fa-hourglass-end:after{content:\\\"􏉓\\\"}.fad.fa-hourglass-half:after{content:\\\"􏉒\\\"}.fad.fa-hourglass-start:after{content:\\\"􏉑\\\"}.fad.fa-house:after{content:\\\"􏤍\\\"}.fad.fa-house-damage:after{content:\\\"􏛱\\\"}.fad.fa-house-day:after{content:\\\"􏤎\\\"}.fad.fa-house-flood:after{content:\\\"􏝏\\\"}.fad.fa-house-leave:after{content:\\\"􏤏\\\"}.fad.fa-house-night:after{content:\\\"􏤐\\\"}.fad.fa-house-return:after{content:\\\"􏤑\\\"}.fad.fa-house-signal:after{content:\\\"􏤒\\\"}.fad.fa-house-user:after{content:\\\"􏥥\\\"}.fad.fa-hryvnia:after{content:\\\"􏛲\\\"}.fad.fa-humidity:after{content:\\\"􏝐\\\"}.fad.fa-hurricane:after{content:\\\"􏝑\\\"}.fad.fa-i-cursor:after{content:\\\"􏉆\\\"}.fad.fa-ice-cream:after{content:\\\"􏠐\\\"}.fad.fa-ice-skate:after{content:\\\"􏞬\\\"}.fad.fa-icicles:after{content:\\\"􏞭\\\"}.fad.fa-icons:after{content:\\\"􏡭\\\"}.fad.fa-icons-alt:after{content:\\\"􏡮\\\"}.fad.fa-id-badge:after{content:\\\"􏋁\\\"}.fad.fa-id-card:after{content:\\\"􏋂\\\"}.fad.fa-id-card-alt:after{content:\\\"􏑿\\\"}.fad.fa-igloo:after{content:\\\"􏞮\\\"}.fad.fa-image:after{content:\\\"􏀾\\\"}.fad.fa-image-polaroid:after{content:\\\"􏣄\\\"}.fad.fa-images:after{content:\\\"􏌂\\\"}.fad.fa-inbox:after{content:\\\"􏀜\\\"}.fad.fa-inbox-in:after{content:\\\"􏌐\\\"}.fad.fa-inbox-out:after{content:\\\"􏌑\\\"}.fad.fa-indent:after{content:\\\"􏀼\\\"}.fad.fa-industry:after{content:\\\"􏉵\\\"}.fad.fa-industry-alt:after{content:\\\"􏎳\\\"}.fad.fa-infinity:after{content:\\\"􏔴\\\"}.fad.fa-info:after{content:\\\"􏄩\\\"}.fad.fa-info-circle:after{content:\\\"􏁚\\\"}.fad.fa-info-square:after{content:\\\"􏌏\\\"}.fad.fa-inhaler:after{content:\\\"􏗹\\\"}.fad.fa-integral:after{content:\\\"􏙧\\\"}.fad.fa-intersection:after{content:\\\"􏙨\\\"}.fad.fa-inventory:after{content:\\\"􏒀\\\"}.fad.fa-island-tropical:after{content:\\\"􏠑\\\"}.fad.fa-italic:after{content:\\\"􏀳\\\"}.fad.fa-jack-o-lantern:after{content:\\\"􏌎\\\"}.fad.fa-jedi:after{content:\\\"􏙩\\\"}.fad.fa-joint:after{content:\\\"􏖕\\\"}.fad.fa-journal-whills:after{content:\\\"􏙪\\\"}.fad.fa-joystick:after{content:\\\"􏣅\\\"}.fad.fa-jug:after{content:\\\"􏣆\\\"}.fad.fa-kaaba:after{content:\\\"􏙫\\\"}.fad.fa-kazoo:after{content:\\\"􏣇\\\"}.fad.fa-kerning:after{content:\\\"􏡯\\\"}.fad.fa-key:after{content:\\\"􏂄\\\"}.fad.fa-key-skeleton:after{content:\\\"􏛳\\\"}.fad.fa-keyboard:after{content:\\\"􏄜\\\"}.fad.fa-keynote:after{content:\\\"􏙬\\\"}.fad.fa-khanda:after{content:\\\"􏙭\\\"}.fad.fa-kidneys:after{content:\\\"􏗻\\\"}.fad.fa-kiss:after{content:\\\"􏖖\\\"}.fad.fa-kiss-beam:after{content:\\\"􏖗\\\"}.fad.fa-kiss-wink-heart:after{content:\\\"􏖘\\\"}.fad.fa-kite:after{content:\\\"􏛴\\\"}.fad.fa-kiwi-bird:after{content:\\\"􏔵\\\"}.fad.fa-knife-kitchen:after{content:\\\"􏛵\\\"}.fad.fa-lambda:after{content:\\\"􏙮\\\"}.fad.fa-lamp:after{content:\\\"􏓊\\\"}.fad.fa-lamp-desk:after{content:\\\"􏤔\\\"}.fad.fa-lamp-floor:after{content:\\\"􏤕\\\"}.fad.fa-landmark:after{content:\\\"􏙯\\\"}.fad.fa-landmark-alt:after{content:\\\"􏝒\\\"}.fad.fa-language:after{content:\\\"􏆫\\\"}.fad.fa-laptop:after{content:\\\"􏄉\\\"}.fad.fa-laptop-code:after{content:\\\"􏗼\\\"}.fad.fa-laptop-house:after{content:\\\"􏥦\\\"}.fad.fa-laptop-medical:after{content:\\\"􏠒\\\"}.fad.fa-lasso:after{content:\\\"􏣈\\\"}.fad.fa-laugh:after{content:\\\"􏖙\\\"}.fad.fa-laugh-beam:after{content:\\\"􏖚\\\"}.fad.fa-laugh-squint:after{content:\\\"􏖛\\\"}.fad.fa-laugh-wink:after{content:\\\"􏖜\\\"}.fad.fa-layer-group:after{content:\\\"􏗽\\\"}.fad.fa-layer-minus:after{content:\\\"􏗾\\\"}.fad.fa-layer-plus:after{content:\\\"􏗿\\\"}.fad.fa-leaf:after{content:\\\"􏁬\\\"}.fad.fa-leaf-heart:after{content:\\\"􏓋\\\"}.fad.fa-leaf-maple:after{content:\\\"􏛶\\\"}.fad.fa-leaf-oak:after{content:\\\"􏛷\\\"}.fad.fa-lemon:after{content:\\\"􏂔\\\"}.fad.fa-less-than:after{content:\\\"􏔶\\\"}.fad.fa-less-than-equal:after{content:\\\"􏔷\\\"}.fad.fa-level-down:after{content:\\\"􏅉\\\"}.fad.fa-level-down-alt:after{content:\\\"􏎾\\\"}.fad.fa-level-up:after{content:\\\"􏅈\\\"}.fad.fa-level-up-alt:after{content:\\\"􏎿\\\"}.fad.fa-life-ring:after{content:\\\"􏇍\\\"}.fad.fa-light-ceiling:after{content:\\\"􏤖\\\"}.fad.fa-light-switch:after{content:\\\"􏤗\\\"}.fad.fa-light-switch-off:after{content:\\\"􏤘\\\"}.fad.fa-light-switch-on:after{content:\\\"􏤙\\\"}.fad.fa-lightbulb:after{content:\\\"􏃫\\\"}.fad.fa-lightbulb-dollar:after{content:\\\"􏙰\\\"}.fad.fa-lightbulb-exclamation:after{content:\\\"􏙱\\\"}.fad.fa-lightbulb-on:after{content:\\\"􏙲\\\"}.fad.fa-lightbulb-slash:after{content:\\\"􏙳\\\"}.fad.fa-lights-holiday:after{content:\\\"􏞲\\\"}.fad.fa-line-columns:after{content:\\\"􏡰\\\"}.fad.fa-line-height:after{content:\\\"􏡱\\\"}.fad.fa-link:after{content:\\\"􏃁\\\"}.fad.fa-lips:after{content:\\\"􏘀\\\"}.fad.fa-lira-sign:after{content:\\\"􏆕\\\"}.fad.fa-list:after{content:\\\"􏀺\\\"}.fad.fa-list-alt:after{content:\\\"􏀢\\\"}.fad.fa-list-music:after{content:\\\"􏣉\\\"}.fad.fa-list-ol:after{content:\\\"􏃋\\\"}.fad.fa-list-ul:after{content:\\\"􏃊\\\"}.fad.fa-location:after{content:\\\"􏘁\\\"}.fad.fa-location-arrow:after{content:\\\"􏄤\\\"}.fad.fa-location-circle:after{content:\\\"􏘂\\\"}.fad.fa-location-slash:after{content:\\\"􏘃\\\"}.fad.fa-lock:after{content:\\\"􏀣\\\"}.fad.fa-lock-alt:after{content:\\\"􏌍\\\"}.fad.fa-lock-open:after{content:\\\"􏏁\\\"}.fad.fa-lock-open-alt:after{content:\\\"􏏂\\\"}.fad.fa-long-arrow-alt-down:after{content:\\\"􏌉\\\"}.fad.fa-long-arrow-alt-left:after{content:\\\"􏌊\\\"}.fad.fa-long-arrow-alt-right:after{content:\\\"􏌋\\\"}.fad.fa-long-arrow-alt-up:after{content:\\\"􏌌\\\"}.fad.fa-long-arrow-down:after{content:\\\"􏅵\\\"}.fad.fa-long-arrow-left:after{content:\\\"􏅷\\\"}.fad.fa-long-arrow-right:after{content:\\\"􏅸\\\"}.fad.fa-long-arrow-up:after{content:\\\"􏅶\\\"}.fad.fa-loveseat:after{content:\\\"􏓌\\\"}.fad.fa-low-vision:after{content:\\\"􏊨\\\"}.fad.fa-luchador:after{content:\\\"􏑕\\\"}.fad.fa-luggage-cart:after{content:\\\"􏖝\\\"}.fad.fa-lungs:after{content:\\\"􏘄\\\"}.fad.fa-lungs-virus:after{content:\\\"􏥧\\\"}.fad.fa-mace:after{content:\\\"􏛸\\\"}.fad.fa-magic:after{content:\\\"􏃐\\\"}.fad.fa-magnet:after{content:\\\"􏁶\\\"}.fad.fa-mail-bulk:after{content:\\\"􏙴\\\"}.fad.fa-mailbox:after{content:\\\"􏠓\\\"}.fad.fa-male:after{content:\\\"􏆃\\\"}.fad.fa-mandolin:after{content:\\\"􏛹\\\"}.fad.fa-map:after{content:\\\"􏉹\\\"}.fad.fa-map-marked:after{content:\\\"􏖟\\\"}.fad.fa-map-marked-alt:after{content:\\\"􏖠\\\"}.fad.fa-map-marker:after{content:\\\"􏁁\\\"}.fad.fa-map-marker-alt:after{content:\\\"􏏅\\\"}.fad.fa-map-marker-alt-slash:after{content:\\\"􏘅\\\"}.fad.fa-map-marker-check:after{content:\\\"􏘆\\\"}.fad.fa-map-marker-edit:after{content:\\\"􏘇\\\"}.fad.fa-map-marker-exclamation:after{content:\\\"􏘈\\\"}.fad.fa-map-marker-minus:after{content:\\\"􏘉\\\"}.fad.fa-map-marker-plus:after{content:\\\"􏘊\\\"}.fad.fa-map-marker-question:after{content:\\\"􏘋\\\"}.fad.fa-map-marker-slash:after{content:\\\"􏘌\\\"}.fad.fa-map-marker-smile:after{content:\\\"􏘍\\\"}.fad.fa-map-marker-times:after{content:\\\"􏘎\\\"}.fad.fa-map-pin:after{content:\\\"􏉶\\\"}.fad.fa-map-signs:after{content:\\\"􏉷\\\"}.fad.fa-marker:after{content:\\\"􏖡\\\"}.fad.fa-mars:after{content:\\\"􏈢\\\"}.fad.fa-mars-double:after{content:\\\"􏈧\\\"}.fad.fa-mars-stroke:after{content:\\\"􏈩\\\"}.fad.fa-mars-stroke-h:after{content:\\\"􏈫\\\"}.fad.fa-mars-stroke-v:after{content:\\\"􏈪\\\"}.fad.fa-mask:after{content:\\\"􏛺\\\"}.fad.fa-meat:after{content:\\\"􏠔\\\"}.fad.fa-medal:after{content:\\\"􏖢\\\"}.fad.fa-medkit:after{content:\\\"􏃺\\\"}.fad.fa-megaphone:after{content:\\\"􏙵\\\"}.fad.fa-meh:after{content:\\\"􏄚\\\"}.fad.fa-meh-blank:after{content:\\\"􏖤\\\"}.fad.fa-meh-rolling-eyes:after{content:\\\"􏖥\\\"}.fad.fa-memory:after{content:\\\"􏔸\\\"}.fad.fa-menorah:after{content:\\\"􏙶\\\"}.fad.fa-mercury:after{content:\\\"􏈣\\\"}.fad.fa-meteor:after{content:\\\"􏝓\\\"}.fad.fa-microchip:after{content:\\\"􏋛\\\"}.fad.fa-microphone:after{content:\\\"􏄰\\\"}.fad.fa-microphone-alt:after{content:\\\"􏏉\\\"}.fad.fa-microphone-alt-slash:after{content:\\\"􏔹\\\"}.fad.fa-microphone-slash:after{content:\\\"􏄱\\\"}.fad.fa-microphone-stand:after{content:\\\"􏣋\\\"}.fad.fa-microscope:after{content:\\\"􏘐\\\"}.fad.fa-microwave:after{content:\\\"􏤛\\\"}.fad.fa-mind-share:after{content:\\\"􏙷\\\"}.fad.fa-minus:after{content:\\\"􏁨\\\"}.fad.fa-minus-circle:after{content:\\\"􏁖\\\"}.fad.fa-minus-hexagon:after{content:\\\"􏌇\\\"}.fad.fa-minus-octagon:after{content:\\\"􏌈\\\"}.fad.fa-minus-square:after{content:\\\"􏅆\\\"}.fad.fa-mistletoe:after{content:\\\"􏞴\\\"}.fad.fa-mitten:after{content:\\\"􏞵\\\"}.fad.fa-mobile:after{content:\\\"􏄋\\\"}.fad.fa-mobile-alt:after{content:\\\"􏏍\\\"}.fad.fa-mobile-android:after{content:\\\"􏏎\\\"}.fad.fa-mobile-android-alt:after{content:\\\"􏏏\\\"}.fad.fa-money-bill:after{content:\\\"􏃖\\\"}.fad.fa-money-bill-alt:after{content:\\\"􏏑\\\"}.fad.fa-money-bill-wave:after{content:\\\"􏔺\\\"}.fad.fa-money-bill-wave-alt:after{content:\\\"􏔻\\\"}.fad.fa-money-check:after{content:\\\"􏔼\\\"}.fad.fa-money-check-alt:after{content:\\\"􏔽\\\"}.fad.fa-money-check-edit:after{content:\\\"􏡲\\\"}.fad.fa-money-check-edit-alt:after{content:\\\"􏡳\\\"}.fad.fa-monitor-heart-rate:after{content:\\\"􏘑\\\"}.fad.fa-monkey:after{content:\\\"􏛻\\\"}.fad.fa-monument:after{content:\\\"􏖦\\\"}.fad.fa-moon:after{content:\\\"􏆆\\\"}.fad.fa-moon-cloud:after{content:\\\"􏝔\\\"}.fad.fa-moon-stars:after{content:\\\"􏝕\\\"}.fad.fa-mortar-pestle:after{content:\\\"􏖧\\\"}.fad.fa-mosque:after{content:\\\"􏙸\\\"}.fad.fa-motorcycle:after{content:\\\"􏈜\\\"}.fad.fa-mountain:after{content:\\\"􏛼\\\"}.fad.fa-mountains:after{content:\\\"􏛽\\\"}.fad.fa-mouse:after{content:\\\"􏣌\\\"}.fad.fa-mouse-alt:after{content:\\\"􏣍\\\"}.fad.fa-mouse-pointer:after{content:\\\"􏉅\\\"}.fad.fa-mp3-player:after{content:\\\"􏣎\\\"}.fad.fa-mug:after{content:\\\"􏡴\\\"}.fad.fa-mug-hot:after{content:\\\"􏞶\\\"}.fad.fa-mug-marshmallows:after{content:\\\"􏞷\\\"}.fad.fa-mug-tea:after{content:\\\"􏡵\\\"}.fad.fa-music:after{content:\\\"􏀁\\\"}.fad.fa-music-alt:after{content:\\\"􏣏\\\"}.fad.fa-music-alt-slash:after{content:\\\"􏣐\\\"}.fad.fa-music-slash:after{content:\\\"􏣑\\\"}.fad.fa-narwhal:after{content:\\\"􏛾\\\"}.fad.fa-network-wired:after{content:\\\"􏛿\\\"}.fad.fa-neuter:after{content:\\\"􏈬\\\"}.fad.fa-newspaper:after{content:\\\"􏇪\\\"}.fad.fa-not-equal:after{content:\\\"􏔾\\\"}.fad.fa-notes-medical:after{content:\\\"􏒁\\\"}.fad.fa-object-group:after{content:\\\"􏉇\\\"}.fad.fa-object-ungroup:after{content:\\\"􏉈\\\"}.fad.fa-octagon:after{content:\\\"􏌆\\\"}.fad.fa-oil-can:after{content:\\\"􏘓\\\"}.fad.fa-oil-temp:after{content:\\\"􏘔\\\"}.fad.fa-om:after{content:\\\"􏙹\\\"}.fad.fa-omega:after{content:\\\"􏙺\\\"}.fad.fa-ornament:after{content:\\\"􏞸\\\"}.fad.fa-otter:after{content:\\\"􏜀\\\"}.fad.fa-outdent:after{content:\\\"􏀻\\\"}.fad.fa-outlet:after{content:\\\"􏤜\\\"}.fad.fa-oven:after{content:\\\"􏤝\\\"}.fad.fa-overline:after{content:\\\"􏡶\\\"}.fad.fa-page-break:after{content:\\\"􏡷\\\"}.fad.fa-pager:after{content:\\\"􏠕\\\"}.fad.fa-paint-brush:after{content:\\\"􏇼\\\"}.fad.fa-paint-brush-alt:after{content:\\\"􏖩\\\"}.fad.fa-paint-roller:after{content:\\\"􏖪\\\"}.fad.fa-palette:after{content:\\\"􏔿\\\"}.fad.fa-pallet:after{content:\\\"􏒂\\\"}.fad.fa-pallet-alt:after{content:\\\"􏒃\\\"}.fad.fa-paper-plane:after{content:\\\"􏇘\\\"}.fad.fa-paperclip:after{content:\\\"􏃆\\\"}.fad.fa-parachute-box:after{content:\\\"􏓍\\\"}.fad.fa-paragraph:after{content:\\\"􏇝\\\"}.fad.fa-paragraph-rtl:after{content:\\\"􏡸\\\"}.fad.fa-parking:after{content:\\\"􏕀\\\"}.fad.fa-parking-circle:after{content:\\\"􏘕\\\"}.fad.fa-parking-circle-slash:after{content:\\\"􏘖\\\"}.fad.fa-parking-slash:after{content:\\\"􏘗\\\"}.fad.fa-passport:after{content:\\\"􏖫\\\"}.fad.fa-pastafarianism:after{content:\\\"􏙻\\\"}.fad.fa-paste:after{content:\\\"􏃪\\\"}.fad.fa-pause:after{content:\\\"􏁌\\\"}.fad.fa-pause-circle:after{content:\\\"􏊋\\\"}.fad.fa-paw:after{content:\\\"􏆰\\\"}.fad.fa-paw-alt:after{content:\\\"􏜁\\\"}.fad.fa-paw-claws:after{content:\\\"􏜂\\\"}.fad.fa-peace:after{content:\\\"􏙼\\\"}.fad.fa-pegasus:after{content:\\\"􏜃\\\"}.fad.fa-pen:after{content:\\\"􏌄\\\"}.fad.fa-pen-alt:after{content:\\\"􏌅\\\"}.fad.fa-pen-fancy:after{content:\\\"􏖬\\\"}.fad.fa-pen-nib:after{content:\\\"􏖭\\\"}.fad.fa-pen-square:after{content:\\\"􏅋\\\"}.fad.fa-pencil:after{content:\\\"􏁀\\\"}.fad.fa-pencil-alt:after{content:\\\"􏌃\\\"}.fad.fa-pencil-paintbrush:after{content:\\\"􏘘\\\"}.fad.fa-pencil-ruler:after{content:\\\"􏖮\\\"}.fad.fa-pennant:after{content:\\\"􏑖\\\"}.fad.fa-people-arrows:after{content:\\\"􏥨\\\"}.fad.fa-people-carry:after{content:\\\"􏓎\\\"}.fad.fa-pepper-hot:after{content:\\\"􏠖\\\"}.fad.fa-percent:after{content:\\\"􏊕\\\"}.fad.fa-percentage:after{content:\\\"􏕁\\\"}.fad.fa-person-booth:after{content:\\\"􏝖\\\"}.fad.fa-person-carry:after{content:\\\"􏓏\\\"}.fad.fa-person-dolly:after{content:\\\"􏓐\\\"}.fad.fa-person-dolly-empty:after{content:\\\"􏓑\\\"}.fad.fa-person-sign:after{content:\\\"􏝗\\\"}.fad.fa-phone:after{content:\\\"􏂕\\\"}.fad.fa-phone-alt:after{content:\\\"􏡹\\\"}.fad.fa-phone-laptop:after{content:\\\"􏡺\\\"}.fad.fa-phone-office:after{content:\\\"􏙽\\\"}.fad.fa-phone-plus:after{content:\\\"􏓒\\\"}.fad.fa-phone-rotary:after{content:\\\"􏣓\\\"}.fad.fa-phone-slash:after{content:\\\"􏏝\\\"}.fad.fa-phone-square:after{content:\\\"􏂘\\\"}.fad.fa-phone-square-alt:after{content:\\\"􏡻\\\"}.fad.fa-phone-volume:after{content:\\\"􏊠\\\"}.fad.fa-photo-video:after{content:\\\"􏡼\\\"}.fad.fa-pi:after{content:\\\"􏙾\\\"}.fad.fa-piano:after{content:\\\"􏣔\\\"}.fad.fa-piano-keyboard:after{content:\\\"􏣕\\\"}.fad.fa-pie:after{content:\\\"􏜅\\\"}.fad.fa-pig:after{content:\\\"􏜆\\\"}.fad.fa-piggy-bank:after{content:\\\"􏓓\\\"}.fad.fa-pills:after{content:\\\"􏒄\\\"}.fad.fa-pizza:after{content:\\\"􏠗\\\"}.fad.fa-pizza-slice:after{content:\\\"􏠘\\\"}.fad.fa-place-of-worship:after{content:\\\"􏙿\\\"}.fad.fa-plane:after{content:\\\"􏁲\\\"}.fad.fa-plane-alt:after{content:\\\"􏏞\\\"}.fad.fa-plane-arrival:after{content:\\\"􏖯\\\"}.fad.fa-plane-departure:after{content:\\\"􏖰\\\"}.fad.fa-plane-slash:after{content:\\\"􏥩\\\"}.fad.fa-planet-moon:after{content:\\\"􏤟\\\"}.fad.fa-planet-ringed:after{content:\\\"􏤠\\\"}.fad.fa-play:after{content:\\\"􏁋\\\"}.fad.fa-play-circle:after{content:\\\"􏅄\\\"}.fad.fa-plug:after{content:\\\"􏇦\\\"}.fad.fa-plus:after{content:\\\"􏁧\\\"}.fad.fa-plus-circle:after{content:\\\"􏁕\\\"}.fad.fa-plus-hexagon:after{content:\\\"􏌀\\\"}.fad.fa-plus-octagon:after{content:\\\"􏌁\\\"}.fad.fa-plus-square:after{content:\\\"􏃾\\\"}.fad.fa-podcast:after{content:\\\"􏋎\\\"}.fad.fa-podium:after{content:\\\"􏚀\\\"}.fad.fa-podium-star:after{content:\\\"􏝘\\\"}.fad.fa-police-box:after{content:\\\"􏤡\\\"}.fad.fa-poll:after{content:\\\"􏚁\\\"}.fad.fa-poll-h:after{content:\\\"􏚂\\\"}.fad.fa-poll-people:after{content:\\\"􏝙\\\"}.fad.fa-poo:after{content:\\\"􏋾\\\"}.fad.fa-poo-storm:after{content:\\\"􏝚\\\"}.fad.fa-poop:after{content:\\\"􏘙\\\"}.fad.fa-popcorn:after{content:\\\"􏠙\\\"}.fad.fa-portal-enter:after{content:\\\"􏤢\\\"}.fad.fa-portal-exit:after{content:\\\"􏤣\\\"}.fad.fa-portrait:after{content:\\\"􏏠\\\"}.fad.fa-pound-sign:after{content:\\\"􏅔\\\"}.fad.fa-power-off:after{content:\\\"􏀑\\\"}.fad.fa-pray:after{content:\\\"􏚃\\\"}.fad.fa-praying-hands:after{content:\\\"􏚄\\\"}.fad.fa-prescription:after{content:\\\"􏖱\\\"}.fad.fa-prescription-bottle:after{content:\\\"􏒅\\\"}.fad.fa-prescription-bottle-alt:after{content:\\\"􏒆\\\"}.fad.fa-presentation:after{content:\\\"􏚅\\\"}.fad.fa-print:after{content:\\\"􏀯\\\"}.fad.fa-print-search:after{content:\\\"􏠚\\\"}.fad.fa-print-slash:after{content:\\\"􏚆\\\"}.fad.fa-procedures:after{content:\\\"􏒇\\\"}.fad.fa-project-diagram:after{content:\\\"􏕂\\\"}.fad.fa-projector:after{content:\\\"􏣖\\\"}.fad.fa-pump-medical:after{content:\\\"􏥪\\\"}.fad.fa-pump-soap:after{content:\\\"􏥫\\\"}.fad.fa-pumpkin:after{content:\\\"􏜇\\\"}.fad.fa-puzzle-piece:after{content:\\\"􏄮\\\"}.fad.fa-qrcode:after{content:\\\"􏀩\\\"}.fad.fa-question:after{content:\\\"􏄨\\\"}.fad.fa-question-circle:after{content:\\\"􏁙\\\"}.fad.fa-question-square:after{content:\\\"􏋽\\\"}.fad.fa-quidditch:after{content:\\\"􏑘\\\"}.fad.fa-quote-left:after{content:\\\"􏄍\\\"}.fad.fa-quote-right:after{content:\\\"􏄎\\\"}.fad.fa-quran:after{content:\\\"􏚇\\\"}.fad.fa-rabbit:after{content:\\\"􏜈\\\"}.fad.fa-rabbit-fast:after{content:\\\"􏜉\\\"}.fad.fa-racquet:after{content:\\\"􏑚\\\"}.fad.fa-radar:after{content:\\\"􏤤\\\"}.fad.fa-radiation:after{content:\\\"􏞹\\\"}.fad.fa-radiation-alt:after{content:\\\"􏞺\\\"}.fad.fa-radio:after{content:\\\"􏣗\\\"}.fad.fa-radio-alt:after{content:\\\"􏣘\\\"}.fad.fa-rainbow:after{content:\\\"􏝛\\\"}.fad.fa-raindrops:after{content:\\\"􏝜\\\"}.fad.fa-ram:after{content:\\\"􏜊\\\"}.fad.fa-ramp-loading:after{content:\\\"􏓔\\\"}.fad.fa-random:after{content:\\\"􏁴\\\"}.fad.fa-raygun:after{content:\\\"􏤥\\\"}.fad.fa-receipt:after{content:\\\"􏕃\\\"}.fad.fa-record-vinyl:after{content:\\\"􏣙\\\"}.fad.fa-rectangle-landscape:after{content:\\\"􏋺\\\"}.fad.fa-rectangle-portrait:after{content:\\\"􏋻\\\"}.fad.fa-rectangle-wide:after{content:\\\"􏋼\\\"}.fad.fa-recycle:after{content:\\\"􏆸\\\"}.fad.fa-redo:after{content:\\\"􏀞\\\"}.fad.fa-redo-alt:after{content:\\\"􏋹\\\"}.fad.fa-refrigerator:after{content:\\\"􏤦\\\"}.fad.fa-registered:after{content:\\\"􏉝\\\"}.fad.fa-remove-format:after{content:\\\"􏡽\\\"}.fad.fa-repeat:after{content:\\\"􏍣\\\"}.fad.fa-repeat-1:after{content:\\\"􏍥\\\"}.fad.fa-repeat-1-alt:after{content:\\\"􏍦\\\"}.fad.fa-repeat-alt:after{content:\\\"􏍤\\\"}.fad.fa-reply:after{content:\\\"􏏥\\\"}.fad.fa-reply-all:after{content:\\\"􏄢\\\"}.fad.fa-republican:after{content:\\\"􏝞\\\"}.fad.fa-restroom:after{content:\\\"􏞽\\\"}.fad.fa-retweet:after{content:\\\"􏁹\\\"}.fad.fa-retweet-alt:after{content:\\\"􏍡\\\"}.fad.fa-ribbon:after{content:\\\"􏓖\\\"}.fad.fa-ring:after{content:\\\"􏜋\\\"}.fad.fa-rings-wedding:after{content:\\\"􏠛\\\"}.fad.fa-road:after{content:\\\"􏀘\\\"}.fad.fa-robot:after{content:\\\"􏕄\\\"}.fad.fa-rocket:after{content:\\\"􏄵\\\"}.fad.fa-rocket-launch:after{content:\\\"􏤧\\\"}.fad.fa-route:after{content:\\\"􏓗\\\"}.fad.fa-route-highway:after{content:\\\"􏘚\\\"}.fad.fa-route-interstate:after{content:\\\"􏘛\\\"}.fad.fa-router:after{content:\\\"􏣚\\\"}.fad.fa-rss:after{content:\\\"􏂞\\\"}.fad.fa-rss-square:after{content:\\\"􏅃\\\"}.fad.fa-ruble-sign:after{content:\\\"􏅘\\\"}.fad.fa-ruler:after{content:\\\"􏕅\\\"}.fad.fa-ruler-combined:after{content:\\\"􏕆\\\"}.fad.fa-ruler-horizontal:after{content:\\\"􏕇\\\"}.fad.fa-ruler-triangle:after{content:\\\"􏘜\\\"}.fad.fa-ruler-vertical:after{content:\\\"􏕈\\\"}.fad.fa-running:after{content:\\\"􏜌\\\"}.fad.fa-rupee-sign:after{content:\\\"􏅖\\\"}.fad.fa-rv:after{content:\\\"􏞾\\\"}.fad.fa-sack:after{content:\\\"􏠜\\\"}.fad.fa-sack-dollar:after{content:\\\"􏠝\\\"}.fad.fa-sad-cry:after{content:\\\"􏖳\\\"}.fad.fa-sad-tear:after{content:\\\"􏖴\\\"}.fad.fa-salad:after{content:\\\"􏠞\\\"}.fad.fa-sandwich:after{content:\\\"􏠟\\\"}.fad.fa-satellite:after{content:\\\"􏞿\\\"}.fad.fa-satellite-dish:after{content:\\\"􏟀\\\"}.fad.fa-sausage:after{content:\\\"􏠠\\\"}.fad.fa-save:after{content:\\\"􏃇\\\"}.fad.fa-sax-hot:after{content:\\\"􏣛\\\"}.fad.fa-saxophone:after{content:\\\"􏣜\\\"}.fad.fa-scalpel:after{content:\\\"􏘝\\\"}.fad.fa-scalpel-path:after{content:\\\"􏘞\\\"}.fad.fa-scanner:after{content:\\\"􏒈\\\"}.fad.fa-scanner-image:after{content:\\\"􏣳\\\"}.fad.fa-scanner-keyboard:after{content:\\\"􏒉\\\"}.fad.fa-scanner-touchscreen:after{content:\\\"􏒊\\\"}.fad.fa-scarecrow:after{content:\\\"􏜍\\\"}.fad.fa-scarf:after{content:\\\"􏟁\\\"}.fad.fa-school:after{content:\\\"􏕉\\\"}.fad.fa-screwdriver:after{content:\\\"􏕊\\\"}.fad.fa-scroll:after{content:\\\"􏜎\\\"}.fad.fa-scroll-old:after{content:\\\"􏜏\\\"}.fad.fa-scrubber:after{content:\\\"􏋸\\\"}.fad.fa-scythe:after{content:\\\"􏜐\\\"}.fad.fa-sd-card:after{content:\\\"􏟂\\\"}.fad.fa-search:after{content:\\\"􏀂\\\"}.fad.fa-search-dollar:after{content:\\\"􏚈\\\"}.fad.fa-search-location:after{content:\\\"􏚉\\\"}.fad.fa-search-minus:after{content:\\\"􏀐\\\"}.fad.fa-search-plus:after{content:\\\"􏀎\\\"}.fad.fa-seedling:after{content:\\\"􏓘\\\"}.fad.fa-send-back:after{content:\\\"􏡾\\\"}.fad.fa-send-backward:after{content:\\\"􏡿\\\"}.fad.fa-sensor:after{content:\\\"􏤨\\\"}.fad.fa-sensor-alert:after{content:\\\"􏤩\\\"}.fad.fa-sensor-fire:after{content:\\\"􏤪\\\"}.fad.fa-sensor-on:after{content:\\\"􏤫\\\"}.fad.fa-sensor-smoke:after{content:\\\"􏤬\\\"}.fad.fa-server:after{content:\\\"􏈳\\\"}.fad.fa-shapes:after{content:\\\"􏘟\\\"}.fad.fa-share:after{content:\\\"􏁤\\\"}.fad.fa-share-all:after{content:\\\"􏍧\\\"}.fad.fa-share-alt:after{content:\\\"􏇠\\\"}.fad.fa-share-alt-square:after{content:\\\"􏇡\\\"}.fad.fa-share-square:after{content:\\\"􏅍\\\"}.fad.fa-sheep:after{content:\\\"􏜑\\\"}.fad.fa-shekel-sign:after{content:\\\"􏈋\\\"}.fad.fa-shield:after{content:\\\"􏄲\\\"}.fad.fa-shield-alt:after{content:\\\"􏏭\\\"}.fad.fa-shield-check:after{content:\\\"􏋷\\\"}.fad.fa-shield-cross:after{content:\\\"􏜒\\\"}.fad.fa-shield-virus:after{content:\\\"􏥬\\\"}.fad.fa-ship:after{content:\\\"􏈚\\\"}.fad.fa-shipping-fast:after{content:\\\"􏒋\\\"}.fad.fa-shipping-timed:after{content:\\\"􏒌\\\"}.fad.fa-shish-kebab:after{content:\\\"􏠡\\\"}.fad.fa-shoe-prints:after{content:\\\"􏕋\\\"}.fad.fa-shopping-bag:after{content:\\\"􏊐\\\"}.fad.fa-shopping-basket:after{content:\\\"􏊑\\\"}.fad.fa-shopping-cart:after{content:\\\"􏁺\\\"}.fad.fa-shovel:after{content:\\\"􏜓\\\"}.fad.fa-shovel-snow:after{content:\\\"􏟃\\\"}.fad.fa-shower:after{content:\\\"􏋌\\\"}.fad.fa-shredder:after{content:\\\"􏚊\\\"}.fad.fa-shuttle-van:after{content:\\\"􏖶\\\"}.fad.fa-shuttlecock:after{content:\\\"􏑛\\\"}.fad.fa-sickle:after{content:\\\"􏠢\\\"}.fad.fa-sigma:after{content:\\\"􏚋\\\"}.fad.fa-sign:after{content:\\\"􏓙\\\"}.fad.fa-sign-in:after{content:\\\"􏂐\\\"}.fad.fa-sign-in-alt:after{content:\\\"􏋶\\\"}.fad.fa-sign-language:after{content:\\\"􏊧\\\"}.fad.fa-sign-out:after{content:\\\"􏂋\\\"}.fad.fa-sign-out-alt:after{content:\\\"􏋵\\\"}.fad.fa-signal:after{content:\\\"􏀒\\\"}.fad.fa-signal-1:after{content:\\\"􏚌\\\"}.fad.fa-signal-2:after{content:\\\"􏚍\\\"}.fad.fa-signal-3:after{content:\\\"􏚎\\\"}.fad.fa-signal-4:after{content:\\\"􏚏\\\"}.fad.fa-signal-alt:after{content:\\\"􏚐\\\"}.fad.fa-signal-alt-1:after{content:\\\"􏚑\\\"}.fad.fa-signal-alt-2:after{content:\\\"􏚒\\\"}.fad.fa-signal-alt-3:after{content:\\\"􏚓\\\"}.fad.fa-signal-alt-slash:after{content:\\\"􏚔\\\"}.fad.fa-signal-slash:after{content:\\\"􏚕\\\"}.fad.fa-signal-stream:after{content:\\\"􏣝\\\"}.fad.fa-signature:after{content:\\\"􏖷\\\"}.fad.fa-sim-card:after{content:\\\"􏟄\\\"}.fad.fa-sink:after{content:\\\"􏥭\\\"}.fad.fa-siren:after{content:\\\"􏤭\\\"}.fad.fa-siren-on:after{content:\\\"􏤮\\\"}.fad.fa-sitemap:after{content:\\\"􏃨\\\"}.fad.fa-skating:after{content:\\\"􏟅\\\"}.fad.fa-skeleton:after{content:\\\"􏘠\\\"}.fad.fa-ski-jump:after{content:\\\"􏟇\\\"}.fad.fa-ski-lift:after{content:\\\"􏟈\\\"}.fad.fa-skiing:after{content:\\\"􏟉\\\"}.fad.fa-skiing-nordic:after{content:\\\"􏟊\\\"}.fad.fa-skull:after{content:\\\"􏕌\\\"}.fad.fa-skull-cow:after{content:\\\"􏣞\\\"}.fad.fa-skull-crossbones:after{content:\\\"􏜔\\\"}.fad.fa-slash:after{content:\\\"􏜕\\\"}.fad.fa-sledding:after{content:\\\"􏟋\\\"}.fad.fa-sleigh:after{content:\\\"􏟌\\\"}.fad.fa-sliders-h:after{content:\\\"􏇞\\\"}.fad.fa-sliders-h-square:after{content:\\\"􏏰\\\"}.fad.fa-sliders-v:after{content:\\\"􏏱\\\"}.fad.fa-sliders-v-square:after{content:\\\"􏏲\\\"}.fad.fa-smile:after{content:\\\"􏄘\\\"}.fad.fa-smile-beam:after{content:\\\"􏖸\\\"}.fad.fa-smile-plus:after{content:\\\"􏖹\\\"}.fad.fa-smile-wink:after{content:\\\"􏓚\\\"}.fad.fa-smog:after{content:\\\"􏝟\\\"}.fad.fa-smoke:after{content:\\\"􏝠\\\"}.fad.fa-smoking:after{content:\\\"􏒍\\\"}.fad.fa-smoking-ban:after{content:\\\"􏕍\\\"}.fad.fa-sms:after{content:\\\"􏟍\\\"}.fad.fa-snake:after{content:\\\"􏜖\\\"}.fad.fa-snooze:after{content:\\\"􏢀\\\"}.fad.fa-snow-blowing:after{content:\\\"􏝡\\\"}.fad.fa-snowboarding:after{content:\\\"􏟎\\\"}.fad.fa-snowflake:after{content:\\\"􏋜\\\"}.fad.fa-snowflakes:after{content:\\\"􏟏\\\"}.fad.fa-snowman:after{content:\\\"􏟐\\\"}.fad.fa-snowmobile:after{content:\\\"􏟑\\\"}.fad.fa-snowplow:after{content:\\\"􏟒\\\"}.fad.fa-soap:after{content:\\\"􏥮\\\"}.fad.fa-socks:after{content:\\\"􏚖\\\"}.fad.fa-solar-panel:after{content:\\\"􏖺\\\"}.fad.fa-solar-system:after{content:\\\"􏤯\\\"}.fad.fa-sort:after{content:\\\"􏃜\\\"}.fad.fa-sort-alpha-down:after{content:\\\"􏅝\\\"}.fad.fa-sort-alpha-down-alt:after{content:\\\"􏢁\\\"}.fad.fa-sort-alpha-up:after{content:\\\"􏅞\\\"}.fad.fa-sort-alpha-up-alt:after{content:\\\"􏢂\\\"}.fad.fa-sort-alt:after{content:\\\"􏢃\\\"}.fad.fa-sort-amount-down:after{content:\\\"􏅠\\\"}.fad.fa-sort-amount-down-alt:after{content:\\\"􏢄\\\"}.fad.fa-sort-amount-up:after{content:\\\"􏅡\\\"}.fad.fa-sort-amount-up-alt:after{content:\\\"􏢅\\\"}.fad.fa-sort-circle:after{content:\\\"􏤰\\\"}.fad.fa-sort-circle-down:after{content:\\\"􏤱\\\"}.fad.fa-sort-circle-up:after{content:\\\"􏤲\\\"}.fad.fa-sort-down:after{content:\\\"􏃝\\\"}.fad.fa-sort-numeric-down:after{content:\\\"􏅢\\\"}.fad.fa-sort-numeric-down-alt:after{content:\\\"􏢆\\\"}.fad.fa-sort-numeric-up:after{content:\\\"􏅣\\\"}.fad.fa-sort-numeric-up-alt:after{content:\\\"􏢇\\\"}.fad.fa-sort-shapes-down:after{content:\\\"􏢈\\\"}.fad.fa-sort-shapes-down-alt:after{content:\\\"􏢉\\\"}.fad.fa-sort-shapes-up:after{content:\\\"􏢊\\\"}.fad.fa-sort-shapes-up-alt:after{content:\\\"􏢋\\\"}.fad.fa-sort-size-down:after{content:\\\"􏢌\\\"}.fad.fa-sort-size-down-alt:after{content:\\\"􏢍\\\"}.fad.fa-sort-size-up:after{content:\\\"􏢎\\\"}.fad.fa-sort-size-up-alt:after{content:\\\"􏢏\\\"}.fad.fa-sort-up:after{content:\\\"􏃞\\\"}.fad.fa-soup:after{content:\\\"􏠣\\\"}.fad.fa-spa:after{content:\\\"􏖻\\\"}.fad.fa-space-shuttle:after{content:\\\"􏆗\\\"}.fad.fa-space-station-moon:after{content:\\\"􏤳\\\"}.fad.fa-space-station-moon-alt:after{content:\\\"􏤴\\\"}.fad.fa-spade:after{content:\\\"􏋴\\\"}.fad.fa-sparkles:after{content:\\\"􏢐\\\"}.fad.fa-speaker:after{content:\\\"􏣟\\\"}.fad.fa-speakers:after{content:\\\"􏣠\\\"}.fad.fa-spell-check:after{content:\\\"􏢑\\\"}.fad.fa-spider:after{content:\\\"􏜗\\\"}.fad.fa-spider-black-widow:after{content:\\\"􏜘\\\"}.fad.fa-spider-web:after{content:\\\"􏜙\\\"}.fad.fa-spinner:after{content:\\\"􏄐\\\"}.fad.fa-spinner-third:after{content:\\\"􏏴\\\"}.fad.fa-splotch:after{content:\\\"􏖼\\\"}.fad.fa-spray-can:after{content:\\\"􏖽\\\"}.fad.fa-sprinkler:after{content:\\\"􏤵\\\"}.fad.fa-square:after{content:\\\"􏃈\\\"}.fad.fa-square-full:after{content:\\\"􏑜\\\"}.fad.fa-square-root:after{content:\\\"􏚗\\\"}.fad.fa-square-root-alt:after{content:\\\"􏚘\\\"}.fad.fa-squirrel:after{content:\\\"􏜚\\\"}.fad.fa-staff:after{content:\\\"􏜛\\\"}.fad.fa-stamp:after{content:\\\"􏖿\\\"}.fad.fa-star:after{content:\\\"􏀅\\\"}.fad.fa-star-and-crescent:after{content:\\\"􏚙\\\"}.fad.fa-star-christmas:after{content:\\\"􏟔\\\"}.fad.fa-star-exclamation:after{content:\\\"􏋳\\\"}.fad.fa-star-half:after{content:\\\"􏂉\\\"}.fad.fa-star-half-alt:after{content:\\\"􏗀\\\"}.fad.fa-star-of-david:after{content:\\\"􏚚\\\"}.fad.fa-star-of-life:after{content:\\\"􏘡\\\"}.fad.fa-star-shooting:after{content:\\\"􏤶\\\"}.fad.fa-starfighter:after{content:\\\"􏤷\\\"}.fad.fa-starfighter-alt:after{content:\\\"􏤸\\\"}.fad.fa-stars:after{content:\\\"􏝢\\\"}.fad.fa-starship:after{content:\\\"􏤹\\\"}.fad.fa-starship-freighter:after{content:\\\"􏤺\\\"}.fad.fa-steak:after{content:\\\"􏠤\\\"}.fad.fa-steering-wheel:after{content:\\\"􏘢\\\"}.fad.fa-step-backward:after{content:\\\"􏁈\\\"}.fad.fa-step-forward:after{content:\\\"􏁑\\\"}.fad.fa-stethoscope:after{content:\\\"􏃱\\\"}.fad.fa-sticky-note:after{content:\\\"􏉉\\\"}.fad.fa-stocking:after{content:\\\"􏟕\\\"}.fad.fa-stomach:after{content:\\\"􏘣\\\"}.fad.fa-stop:after{content:\\\"􏁍\\\"}.fad.fa-stop-circle:after{content:\\\"􏊍\\\"}.fad.fa-stopwatch:after{content:\\\"􏋲\\\"}.fad.fa-stopwatch-20:after{content:\\\"􏥯\\\"}.fad.fa-store:after{content:\\\"􏕎\\\"}.fad.fa-store-alt:after{content:\\\"􏕏\\\"}.fad.fa-store-alt-slash:after{content:\\\"􏥰\\\"}.fad.fa-store-slash:after{content:\\\"􏥱\\\"}.fad.fa-stream:after{content:\\\"􏕐\\\"}.fad.fa-street-view:after{content:\\\"􏈝\\\"}.fad.fa-stretcher:after{content:\\\"􏠥\\\"}.fad.fa-strikethrough:after{content:\\\"􏃌\\\"}.fad.fa-stroopwafel:after{content:\\\"􏕑\\\"}.fad.fa-subscript:after{content:\\\"􏄬\\\"}.fad.fa-subway:after{content:\\\"􏈹\\\"}.fad.fa-suitcase:after{content:\\\"􏃲\\\"}.fad.fa-suitcase-rolling:after{content:\\\"􏗁\\\"}.fad.fa-sun:after{content:\\\"􏆅\\\"}.fad.fa-sun-cloud:after{content:\\\"􏝣\\\"}.fad.fa-sun-dust:after{content:\\\"􏝤\\\"}.fad.fa-sun-haze:after{content:\\\"􏝥\\\"}.fad.fa-sunglasses:after{content:\\\"􏢒\\\"}.fad.fa-sunrise:after{content:\\\"􏝦\\\"}.fad.fa-sunset:after{content:\\\"􏝧\\\"}.fad.fa-superscript:after{content:\\\"􏄫\\\"}.fad.fa-surprise:after{content:\\\"􏗂\\\"}.fad.fa-swatchbook:after{content:\\\"􏗃\\\"}.fad.fa-swimmer:after{content:\\\"􏗄\\\"}.fad.fa-swimming-pool:after{content:\\\"􏗅\\\"}.fad.fa-sword:after{content:\\\"􏜜\\\"}.fad.fa-sword-laser:after{content:\\\"􏤻\\\"}.fad.fa-sword-laser-alt:after{content:\\\"􏤼\\\"}.fad.fa-swords:after{content:\\\"􏜝\\\"}.fad.fa-swords-laser:after{content:\\\"􏤽\\\"}.fad.fa-synagogue:after{content:\\\"􏚛\\\"}.fad.fa-sync:after{content:\\\"􏀡\\\"}.fad.fa-sync-alt:after{content:\\\"􏋱\\\"}.fad.fa-syringe:after{content:\\\"􏒎\\\"}.fad.fa-table:after{content:\\\"􏃎\\\"}.fad.fa-table-tennis:after{content:\\\"􏑝\\\"}.fad.fa-tablet:after{content:\\\"􏄊\\\"}.fad.fa-tablet-alt:after{content:\\\"􏏺\\\"}.fad.fa-tablet-android:after{content:\\\"􏏻\\\"}.fad.fa-tablet-android-alt:after{content:\\\"􏏼\\\"}.fad.fa-tablet-rugged:after{content:\\\"􏒏\\\"}.fad.fa-tablets:after{content:\\\"􏒐\\\"}.fad.fa-tachometer:after{content:\\\"􏃤\\\"}.fad.fa-tachometer-alt:after{content:\\\"􏏽\\\"}.fad.fa-tachometer-alt-average:after{content:\\\"􏘤\\\"}.fad.fa-tachometer-alt-fast:after{content:\\\"􏘥\\\"}.fad.fa-tachometer-alt-fastest:after{content:\\\"􏘦\\\"}.fad.fa-tachometer-alt-slow:after{content:\\\"􏘧\\\"}.fad.fa-tachometer-alt-slowest:after{content:\\\"􏘨\\\"}.fad.fa-tachometer-average:after{content:\\\"􏘩\\\"}.fad.fa-tachometer-fast:after{content:\\\"􏘪\\\"}.fad.fa-tachometer-fastest:after{content:\\\"􏘫\\\"}.fad.fa-tachometer-slow:after{content:\\\"􏘬\\\"}.fad.fa-tachometer-slowest:after{content:\\\"􏘭\\\"}.fad.fa-taco:after{content:\\\"􏠦\\\"}.fad.fa-tag:after{content:\\\"􏀫\\\"}.fad.fa-tags:after{content:\\\"􏀬\\\"}.fad.fa-tally:after{content:\\\"􏚜\\\"}.fad.fa-tanakh:after{content:\\\"􏠧\\\"}.fad.fa-tape:after{content:\\\"􏓛\\\"}.fad.fa-tasks:after{content:\\\"􏂮\\\"}.fad.fa-tasks-alt:after{content:\\\"􏠨\\\"}.fad.fa-taxi:after{content:\\\"􏆺\\\"}.fad.fa-teeth:after{content:\\\"􏘮\\\"}.fad.fa-teeth-open:after{content:\\\"􏘯\\\"}.fad.fa-telescope:after{content:\\\"􏤾\\\"}.fad.fa-temperature-down:after{content:\\\"􏤿\\\"}.fad.fa-temperature-frigid:after{content:\\\"􏝨\\\"}.fad.fa-temperature-high:after{content:\\\"􏝩\\\"}.fad.fa-temperature-hot:after{content:\\\"􏝪\\\"}.fad.fa-temperature-low:after{content:\\\"􏝫\\\"}.fad.fa-temperature-up:after{content:\\\"􏥀\\\"}.fad.fa-tenge:after{content:\\\"􏟗\\\"}.fad.fa-tennis-ball:after{content:\\\"􏑞\\\"}.fad.fa-terminal:after{content:\\\"􏄠\\\"}.fad.fa-text:after{content:\\\"􏢓\\\"}.fad.fa-text-height:after{content:\\\"􏀴\\\"}.fad.fa-text-size:after{content:\\\"􏢔\\\"}.fad.fa-text-width:after{content:\\\"􏀵\\\"}.fad.fa-th:after{content:\\\"􏀊\\\"}.fad.fa-th-large:after{content:\\\"􏀉\\\"}.fad.fa-th-list:after{content:\\\"􏀋\\\"}.fad.fa-theater-masks:after{content:\\\"􏘰\\\"}.fad.fa-thermometer:after{content:\\\"􏒑\\\"}.fad.fa-thermometer-empty:after{content:\\\"􏋋\\\"}.fad.fa-thermometer-full:after{content:\\\"􏋇\\\"}.fad.fa-thermometer-half:after{content:\\\"􏋉\\\"}.fad.fa-thermometer-quarter:after{content:\\\"􏋊\\\"}.fad.fa-thermometer-three-quarters:after{content:\\\"􏋈\\\"}.fad.fa-theta:after{content:\\\"􏚞\\\"}.fad.fa-thumbs-down:after{content:\\\"􏅥\\\"}.fad.fa-thumbs-up:after{content:\\\"􏅤\\\"}.fad.fa-thumbtack:after{content:\\\"􏂍\\\"}.fad.fa-thunderstorm:after{content:\\\"􏝬\\\"}.fad.fa-thunderstorm-moon:after{content:\\\"􏝭\\\"}.fad.fa-thunderstorm-sun:after{content:\\\"􏝮\\\"}.fad.fa-ticket:after{content:\\\"􏅅\\\"}.fad.fa-ticket-alt:after{content:\\\"􏏿\\\"}.fad.fa-tilde:after{content:\\\"􏚟\\\"}.fad.fa-times:after{content:\\\"􏀍\\\"}.fad.fa-times-circle:after{content:\\\"􏁗\\\"}.fad.fa-times-hexagon:after{content:\\\"􏋮\\\"}.fad.fa-times-octagon:after{content:\\\"􏋰\\\"}.fad.fa-times-square:after{content:\\\"􏋓\\\"}.fad.fa-tint:after{content:\\\"􏁃\\\"}.fad.fa-tint-slash:after{content:\\\"􏗇\\\"}.fad.fa-tire:after{content:\\\"􏘱\\\"}.fad.fa-tire-flat:after{content:\\\"􏘲\\\"}.fad.fa-tire-pressure-warning:after{content:\\\"􏘳\\\"}.fad.fa-tire-rugged:after{content:\\\"􏘴\\\"}.fad.fa-tired:after{content:\\\"􏗈\\\"}.fad.fa-toggle-off:after{content:\\\"􏈄\\\"}.fad.fa-toggle-on:after{content:\\\"􏈅\\\"}.fad.fa-toilet:after{content:\\\"􏟘\\\"}.fad.fa-toilet-paper:after{content:\\\"􏜞\\\"}.fad.fa-toilet-paper-alt:after{content:\\\"􏜟\\\"}.fad.fa-toilet-paper-slash:after{content:\\\"􏥲\\\"}.fad.fa-tombstone:after{content:\\\"􏜠\\\"}.fad.fa-tombstone-alt:after{content:\\\"􏜡\\\"}.fad.fa-toolbox:after{content:\\\"􏕒\\\"}.fad.fa-tools:after{content:\\\"􏟙\\\"}.fad.fa-tooth:after{content:\\\"􏗉\\\"}.fad.fa-toothbrush:after{content:\\\"􏘵\\\"}.fad.fa-torah:after{content:\\\"􏚠\\\"}.fad.fa-torii-gate:after{content:\\\"􏚡\\\"}.fad.fa-tornado:after{content:\\\"􏝯\\\"}.fad.fa-tractor:after{content:\\\"􏜢\\\"}.fad.fa-trademark:after{content:\\\"􏉜\\\"}.fad.fa-traffic-cone:after{content:\\\"􏘶\\\"}.fad.fa-traffic-light:after{content:\\\"􏘷\\\"}.fad.fa-traffic-light-go:after{content:\\\"􏘸\\\"}.fad.fa-traffic-light-slow:after{content:\\\"􏘹\\\"}.fad.fa-traffic-light-stop:after{content:\\\"􏘺\\\"}.fad.fa-trailer:after{content:\\\"􏥁\\\"}.fad.fa-train:after{content:\\\"􏈸\\\"}.fad.fa-tram:after{content:\\\"􏟚\\\"}.fad.fa-transgender:after{content:\\\"􏈤\\\"}.fad.fa-transgender-alt:after{content:\\\"􏈥\\\"}.fad.fa-transporter:after{content:\\\"􏥂\\\"}.fad.fa-transporter-1:after{content:\\\"􏥃\\\"}.fad.fa-transporter-2:after{content:\\\"􏥄\\\"}.fad.fa-transporter-3:after{content:\\\"􏥅\\\"}.fad.fa-transporter-empty:after{content:\\\"􏥆\\\"}.fad.fa-trash:after{content:\\\"􏇸\\\"}.fad.fa-trash-alt:after{content:\\\"􏋭\\\"}.fad.fa-trash-restore:after{content:\\\"􏠩\\\"}.fad.fa-trash-restore-alt:after{content:\\\"􏠪\\\"}.fad.fa-trash-undo:after{content:\\\"􏢕\\\"}.fad.fa-trash-undo-alt:after{content:\\\"􏢖\\\"}.fad.fa-treasure-chest:after{content:\\\"􏜣\\\"}.fad.fa-tree:after{content:\\\"􏆻\\\"}.fad.fa-tree-alt:after{content:\\\"􏐀\\\"}.fad.fa-tree-christmas:after{content:\\\"􏟛\\\"}.fad.fa-tree-decorated:after{content:\\\"􏟜\\\"}.fad.fa-tree-large:after{content:\\\"􏟝\\\"}.fad.fa-tree-palm:after{content:\\\"􏠫\\\"}.fad.fa-trees:after{content:\\\"􏜤\\\"}.fad.fa-triangle:after{content:\\\"􏋬\\\"}.fad.fa-triangle-music:after{content:\\\"􏣢\\\"}.fad.fa-trophy:after{content:\\\"􏂑\\\"}.fad.fa-trophy-alt:after{content:\\\"􏋫\\\"}.fad.fa-truck:after{content:\\\"􏃑\\\"}.fad.fa-truck-container:after{content:\\\"􏓜\\\"}.fad.fa-truck-couch:after{content:\\\"􏓝\\\"}.fad.fa-truck-loading:after{content:\\\"􏓞\\\"}.fad.fa-truck-monster:after{content:\\\"􏘻\\\"}.fad.fa-truck-moving:after{content:\\\"􏓟\\\"}.fad.fa-truck-pickup:after{content:\\\"􏘼\\\"}.fad.fa-truck-plow:after{content:\\\"􏟞\\\"}.fad.fa-truck-ramp:after{content:\\\"􏓠\\\"}.fad.fa-trumpet:after{content:\\\"􏣣\\\"}.fad.fa-tshirt:after{content:\\\"􏕓\\\"}.fad.fa-tty:after{content:\\\"􏇤\\\"}.fad.fa-turkey:after{content:\\\"􏜥\\\"}.fad.fa-turntable:after{content:\\\"􏣤\\\"}.fad.fa-turtle:after{content:\\\"􏜦\\\"}.fad.fa-tv:after{content:\\\"􏉬\\\"}.fad.fa-tv-alt:after{content:\\\"􏣥\\\"}.fad.fa-tv-music:after{content:\\\"􏣦\\\"}.fad.fa-tv-retro:after{content:\\\"􏐁\\\"}.fad.fa-typewriter:after{content:\\\"􏣧\\\"}.fad.fa-ufo:after{content:\\\"􏥇\\\"}.fad.fa-ufo-beam:after{content:\\\"􏥈\\\"}.fad.fa-umbrella:after{content:\\\"􏃩\\\"}.fad.fa-umbrella-beach:after{content:\\\"􏗊\\\"}.fad.fa-underline:after{content:\\\"􏃍\\\"}.fad.fa-undo:after{content:\\\"􏃢\\\"}.fad.fa-undo-alt:after{content:\\\"􏋪\\\"}.fad.fa-unicorn:after{content:\\\"􏜧\\\"}.fad.fa-union:after{content:\\\"􏚢\\\"}.fad.fa-universal-access:after{content:\\\"􏊚\\\"}.fad.fa-university:after{content:\\\"􏆜\\\"}.fad.fa-unlink:after{content:\\\"􏄧\\\"}.fad.fa-unlock:after{content:\\\"􏂜\\\"}.fad.fa-unlock-alt:after{content:\\\"􏄾\\\"}.fad.fa-upload:after{content:\\\"􏂓\\\"}.fad.fa-usb-drive:after{content:\\\"􏣩\\\"}.fad.fa-usd-circle:after{content:\\\"􏋨\\\"}.fad.fa-usd-square:after{content:\\\"􏋩\\\"}.fad.fa-user:after{content:\\\"􏀇\\\"}.fad.fa-user-alien:after{content:\\\"􏥊\\\"}.fad.fa-user-alt:after{content:\\\"􏐆\\\"}.fad.fa-user-alt-slash:after{content:\\\"􏓺\\\"}.fad.fa-user-astronaut:after{content:\\\"􏓻\\\"}.fad.fa-user-chart:after{content:\\\"􏚣\\\"}.fad.fa-user-check:after{content:\\\"􏓼\\\"}.fad.fa-user-circle:after{content:\\\"􏊽\\\"}.fad.fa-user-clock:after{content:\\\"􏓽\\\"}.fad.fa-user-cog:after{content:\\\"􏓾\\\"}.fad.fa-user-cowboy:after{content:\\\"􏣪\\\"}.fad.fa-user-crown:after{content:\\\"􏚤\\\"}.fad.fa-user-edit:after{content:\\\"􏓿\\\"}.fad.fa-user-friends:after{content:\\\"􏔀\\\"}.fad.fa-user-graduate:after{content:\\\"􏔁\\\"}.fad.fa-user-hard-hat:after{content:\\\"􏠬\\\"}.fad.fa-user-headset:after{content:\\\"􏠭\\\"}.fad.fa-user-injured:after{content:\\\"􏜨\\\"}.fad.fa-user-lock:after{content:\\\"􏔂\\\"}.fad.fa-user-md:after{content:\\\"􏃰\\\"}.fad.fa-user-md-chat:after{content:\\\"􏠮\\\"}.fad.fa-user-minus:after{content:\\\"􏔃\\\"}.fad.fa-user-music:after{content:\\\"􏣫\\\"}.fad.fa-user-ninja:after{content:\\\"􏔄\\\"}.fad.fa-user-nurse:after{content:\\\"􏠯\\\"}.fad.fa-user-plus:after{content:\\\"􏈴\\\"}.fad.fa-user-robot:after{content:\\\"􏥋\\\"}.fad.fa-user-secret:after{content:\\\"􏈛\\\"}.fad.fa-user-shield:after{content:\\\"􏔅\\\"}.fad.fa-user-slash:after{content:\\\"􏔆\\\"}.fad.fa-user-tag:after{content:\\\"􏔇\\\"}.fad.fa-user-tie:after{content:\\\"􏔈\\\"}.fad.fa-user-times:after{content:\\\"􏈵\\\"}.fad.fa-user-unlock:after{content:\\\"􏥘\\\"}.fad.fa-user-visor:after{content:\\\"􏥌\\\"}.fad.fa-users:after{content:\\\"􏃀\\\"}.fad.fa-users-class:after{content:\\\"􏘽\\\"}.fad.fa-users-cog:after{content:\\\"􏔉\\\"}.fad.fa-users-crown:after{content:\\\"􏚥\\\"}.fad.fa-users-medical:after{content:\\\"􏠰\\\"}.fad.fa-users-slash:after{content:\\\"􏥳\\\"}.fad.fa-utensil-fork:after{content:\\\"􏋣\\\"}.fad.fa-utensil-knife:after{content:\\\"􏋤\\\"}.fad.fa-utensil-spoon:after{content:\\\"􏋥\\\"}.fad.fa-utensils:after{content:\\\"􏋧\\\"}.fad.fa-utensils-alt:after{content:\\\"􏋦\\\"}.fad.fa-vacuum:after{content:\\\"􏥍\\\"}.fad.fa-vacuum-robot:after{content:\\\"􏥎\\\"}.fad.fa-value-absolute:after{content:\\\"􏚦\\\"}.fad.fa-vector-square:after{content:\\\"􏗋\\\"}.fad.fa-venus:after{content:\\\"􏈡\\\"}.fad.fa-venus-double:after{content:\\\"􏈦\\\"}.fad.fa-venus-mars:after{content:\\\"􏈨\\\"}.fad.fa-vhs:after{content:\\\"􏣬\\\"}.fad.fa-vial:after{content:\\\"􏒒\\\"}.fad.fa-vials:after{content:\\\"􏒓\\\"}.fad.fa-video:after{content:\\\"􏀽\\\"}.fad.fa-video-plus:after{content:\\\"􏓡\\\"}.fad.fa-video-slash:after{content:\\\"􏓢\\\"}.fad.fa-vihara:after{content:\\\"􏚧\\\"}.fad.fa-violin:after{content:\\\"􏣭\\\"}.fad.fa-virus:after{content:\\\"􏥴\\\"}.fad.fa-virus-slash:after{content:\\\"􏥵\\\"}.fad.fa-viruses:after{content:\\\"􏥶\\\"}.fad.fa-voicemail:after{content:\\\"􏢗\\\"}.fad.fa-volcano:after{content:\\\"􏝰\\\"}.fad.fa-volleyball-ball:after{content:\\\"􏑟\\\"}.fad.fa-volume:after{content:\\\"􏚨\\\"}.fad.fa-volume-down:after{content:\\\"􏀧\\\"}.fad.fa-volume-mute:after{content:\\\"􏚩\\\"}.fad.fa-volume-off:after{content:\\\"􏀦\\\"}.fad.fa-volume-slash:after{content:\\\"􏋢\\\"}.fad.fa-volume-up:after{content:\\\"􏀨\\\"}.fad.fa-vote-nay:after{content:\\\"􏝱\\\"}.fad.fa-vote-yea:after{content:\\\"􏝲\\\"}.fad.fa-vr-cardboard:after{content:\\\"􏜩\\\"}.fad.fa-wagon-covered:after{content:\\\"􏣮\\\"}.fad.fa-walker:after{content:\\\"􏠱\\\"}.fad.fa-walkie-talkie:after{content:\\\"􏣯\\\"}.fad.fa-walking:after{content:\\\"􏕔\\\"}.fad.fa-wallet:after{content:\\\"􏕕\\\"}.fad.fa-wand:after{content:\\\"􏜪\\\"}.fad.fa-wand-magic:after{content:\\\"􏜫\\\"}.fad.fa-warehouse:after{content:\\\"􏒔\\\"}.fad.fa-warehouse-alt:after{content:\\\"􏒕\\\"}.fad.fa-washer:after{content:\\\"􏢘\\\"}.fad.fa-watch:after{content:\\\"􏋡\\\"}.fad.fa-watch-calculator:after{content:\\\"􏣰\\\"}.fad.fa-watch-fitness:after{content:\\\"􏘾\\\"}.fad.fa-water:after{content:\\\"􏝳\\\"}.fad.fa-water-lower:after{content:\\\"􏝴\\\"}.fad.fa-water-rise:after{content:\\\"􏝵\\\"}.fad.fa-wave-sine:after{content:\\\"􏢙\\\"}.fad.fa-wave-square:after{content:\\\"􏠾\\\"}.fad.fa-wave-triangle:after{content:\\\"􏢚\\\"}.fad.fa-waveform:after{content:\\\"􏣱\\\"}.fad.fa-waveform-path:after{content:\\\"􏣲\\\"}.fad.fa-webcam:after{content:\\\"􏠲\\\"}.fad.fa-webcam-slash:after{content:\\\"􏠳\\\"}.fad.fa-weight:after{content:\\\"􏒖\\\"}.fad.fa-weight-hanging:after{content:\\\"􏗍\\\"}.fad.fa-whale:after{content:\\\"􏜬\\\"}.fad.fa-wheat:after{content:\\\"􏜭\\\"}.fad.fa-wheelchair:after{content:\\\"􏆓\\\"}.fad.fa-whistle:after{content:\\\"􏑠\\\"}.fad.fa-wifi:after{content:\\\"􏇫\\\"}.fad.fa-wifi-1:after{content:\\\"􏚪\\\"}.fad.fa-wifi-2:after{content:\\\"􏚫\\\"}.fad.fa-wifi-slash:after{content:\\\"􏚬\\\"}.fad.fa-wind:after{content:\\\"􏜮\\\"}.fad.fa-wind-turbine:after{content:\\\"􏢛\\\"}.fad.fa-wind-warning:after{content:\\\"􏝶\\\"}.fad.fa-window:after{content:\\\"􏐎\\\"}.fad.fa-window-alt:after{content:\\\"􏐏\\\"}.fad.fa-window-close:after{content:\\\"􏐐\\\"}.fad.fa-window-frame:after{content:\\\"􏥏\\\"}.fad.fa-window-frame-open:after{content:\\\"􏥐\\\"}.fad.fa-window-maximize:after{content:\\\"􏋐\\\"}.fad.fa-window-minimize:after{content:\\\"􏋑\\\"}.fad.fa-window-restore:after{content:\\\"􏋒\\\"}.fad.fa-windsock:after{content:\\\"􏝷\\\"}.fad.fa-wine-bottle:after{content:\\\"􏜯\\\"}.fad.fa-wine-glass:after{content:\\\"􏓣\\\"}.fad.fa-wine-glass-alt:after{content:\\\"􏗎\\\"}.fad.fa-won-sign:after{content:\\\"􏅙\\\"}.fad.fa-wreath:after{content:\\\"􏟢\\\"}.fad.fa-wrench:after{content:\\\"􏂭\\\"}.fad.fa-x-ray:after{content:\\\"􏒗\\\"}.fad.fa-yen-sign:after{content:\\\"􏅗\\\"}.fad.fa-yin-yang:after{content:\\\"􏚭\\\"}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:300;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \") format(\\\"svg\\\")}.fal{font-weight:300}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:400;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \") format(\\\"svg\\\")}.fal,.far{font-family:\\\"Font Awesome 5 Pro\\\"}.far{font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:900;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \") format(\\\"svg\\\")}.fa,.fas{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900}ka-flex-row,ka-flex-col{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:1rem;padding-right:1rem}ka-flex-row{-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row}ka-flex-col{-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-content:flex-start;-moz-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;-moz-justify-content:flex-start;justify-content:flex-start}[ka-flex],ka-flex-row>ka-flex-col{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1}ka-flex-row>ka-flex-col,ka-flex-col>ka-flex-row{padding:0}ka-flex-row>ka-flex-col>ka-flex-row{width:100%}ka-flex-row>[ka-flex],ka-flex-row>ka-flex-col{margin-left:.5rem;margin-right:.5rem}ka-flex-row>[ka-flex]:first-of-type,ka-flex-row>ka-flex-col:first-of-type{margin-left:0}ka-flex-row>[ka-flex]:last-of-type,ka-flex-row>ka-flex-col:last-of-type{margin-right:0}ka-flex-row.no-padding>[ka-flex],ka-flex-row.no-padding>ka-flex-col{margin-left:0;margin-right:0}ka-flex-row.no-padding,ka-flex-col.no-padding{padding:0}ka-flex-row>ka-tabs[ka-flex]{margin-left:0;margin-right:0}ka-flex-row>ka-control:first-of-type{margin-left:0}ka-flex-row>ka-control:last-of-type{margin-right:0}ka-flex-col>ka-control{margin-left:0;margin-right:0}@media(min-width: 0){[ka-flex*=\\\"10\\\"],[ka-flex*=\\\"10-xs\\\"],ka-flex-col>[ka-flex*=\\\"10\\\"],ka-flex-col>[ka-flex*=\\\"10-xs\\\"],ka-flex-row>[ka-flex*=\\\"10\\\"],ka-flex-row>[ka-flex*=\\\"10-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10\\\"],ka-flex-col>[ka-flex*=\\\"10-xs\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"10\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"10\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"10-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"10-xs\\\"]{width:10%}ka-flex-row.no-padding>[ka-flex*=\\\"15\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"15-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-xs\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15\\\"],[ka-flex*=\\\"15-xs\\\"],ka-flex-col>[ka-flex*=\\\"15\\\"],ka-flex-col>[ka-flex*=\\\"15-xs\\\"],ka-flex-row>[ka-flex*=\\\"15\\\"],ka-flex-row>[ka-flex*=\\\"15-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15\\\"],ka-flex-col>[ka-flex*=\\\"15-xs\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"20-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-xs\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20\\\"],[ka-flex*=\\\"20-xs\\\"],ka-flex-col>[ka-flex*=\\\"20\\\"],ka-flex-col>[ka-flex*=\\\"20-xs\\\"],ka-flex-row>[ka-flex*=\\\"20\\\"],ka-flex-row>[ka-flex*=\\\"20-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20\\\"],ka-flex-col>[ka-flex*=\\\"20-xs\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"25-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-xs\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25\\\"],[ka-flex*=\\\"25-xs\\\"],ka-flex-col>[ka-flex*=\\\"25\\\"],ka-flex-col>[ka-flex*=\\\"25-xs\\\"],ka-flex-row>[ka-flex*=\\\"25\\\"],ka-flex-row>[ka-flex*=\\\"25-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25\\\"],ka-flex-col>[ka-flex*=\\\"25-xs\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"30-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-xs\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30\\\"],[ka-flex*=\\\"30-xs\\\"],ka-flex-col>[ka-flex*=\\\"30\\\"],ka-flex-col>[ka-flex*=\\\"30-xs\\\"],ka-flex-row>[ka-flex*=\\\"30\\\"],ka-flex-row>[ka-flex*=\\\"30-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30\\\"],ka-flex-col>[ka-flex*=\\\"30-xs\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"33-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-xs\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33\\\"],[ka-flex*=\\\"33-xs\\\"],ka-flex-col>[ka-flex*=\\\"33\\\"],ka-flex-col>[ka-flex*=\\\"33-xs\\\"],ka-flex-row>[ka-flex*=\\\"33\\\"],ka-flex-row>[ka-flex*=\\\"33-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33\\\"],ka-flex-col>[ka-flex*=\\\"33-xs\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"35-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-xs\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35\\\"],[ka-flex*=\\\"35-xs\\\"],ka-flex-col>[ka-flex*=\\\"35\\\"],ka-flex-col>[ka-flex*=\\\"35-xs\\\"],ka-flex-row>[ka-flex*=\\\"35\\\"],ka-flex-row>[ka-flex*=\\\"35-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35\\\"],ka-flex-col>[ka-flex*=\\\"35-xs\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"40-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-xs\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40\\\"],[ka-flex*=\\\"40-xs\\\"],ka-flex-col>[ka-flex*=\\\"40\\\"],ka-flex-col>[ka-flex*=\\\"40-xs\\\"],ka-flex-row>[ka-flex*=\\\"40\\\"],ka-flex-row>[ka-flex*=\\\"40-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40\\\"],ka-flex-col>[ka-flex*=\\\"40-xs\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"45-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-xs\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45\\\"],[ka-flex*=\\\"45-xs\\\"],ka-flex-col>[ka-flex*=\\\"45\\\"],ka-flex-col>[ka-flex*=\\\"45-xs\\\"],ka-flex-row>[ka-flex*=\\\"45\\\"],ka-flex-row>[ka-flex*=\\\"45-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45\\\"],ka-flex-col>[ka-flex*=\\\"45-xs\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"50-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-xs\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50\\\"],[ka-flex*=\\\"50-xs\\\"],ka-flex-col>[ka-flex*=\\\"50\\\"],ka-flex-col>[ka-flex*=\\\"50-xs\\\"],ka-flex-row>[ka-flex*=\\\"50\\\"],ka-flex-row>[ka-flex*=\\\"50-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50\\\"],ka-flex-col>[ka-flex*=\\\"50-xs\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"55-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-xs\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55\\\"],[ka-flex*=\\\"55-xs\\\"],ka-flex-col>[ka-flex*=\\\"55\\\"],ka-flex-col>[ka-flex*=\\\"55-xs\\\"],ka-flex-row>[ka-flex*=\\\"55\\\"],ka-flex-row>[ka-flex*=\\\"55-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55\\\"],ka-flex-col>[ka-flex*=\\\"55-xs\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"60-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-xs\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60\\\"],[ka-flex*=\\\"60-xs\\\"],ka-flex-col>[ka-flex*=\\\"60\\\"],ka-flex-col>[ka-flex*=\\\"60-xs\\\"],ka-flex-row>[ka-flex*=\\\"60\\\"],ka-flex-row>[ka-flex*=\\\"60-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60\\\"],ka-flex-col>[ka-flex*=\\\"60-xs\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"65-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-xs\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65\\\"],[ka-flex*=\\\"65-xs\\\"],ka-flex-col>[ka-flex*=\\\"65\\\"],ka-flex-col>[ka-flex*=\\\"65-xs\\\"],ka-flex-row>[ka-flex*=\\\"65\\\"],ka-flex-row>[ka-flex*=\\\"65-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65\\\"],ka-flex-col>[ka-flex*=\\\"65-xs\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"66-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-xs\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66\\\"],[ka-flex*=\\\"66-xs\\\"],ka-flex-col>[ka-flex*=\\\"66\\\"],ka-flex-col>[ka-flex*=\\\"66-xs\\\"],ka-flex-row>[ka-flex*=\\\"66\\\"],ka-flex-row>[ka-flex*=\\\"66-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66\\\"],ka-flex-col>[ka-flex*=\\\"66-xs\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"70-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-xs\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70\\\"],[ka-flex*=\\\"70-xs\\\"],ka-flex-col>[ka-flex*=\\\"70\\\"],ka-flex-col>[ka-flex*=\\\"70-xs\\\"],ka-flex-row>[ka-flex*=\\\"70\\\"],ka-flex-row>[ka-flex*=\\\"70-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70\\\"],ka-flex-col>[ka-flex*=\\\"70-xs\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"75-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-xs\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75\\\"],[ka-flex*=\\\"75-xs\\\"],ka-flex-col>[ka-flex*=\\\"75\\\"],ka-flex-col>[ka-flex*=\\\"75-xs\\\"],ka-flex-row>[ka-flex*=\\\"75\\\"],ka-flex-row>[ka-flex*=\\\"75-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75\\\"],ka-flex-col>[ka-flex*=\\\"75-xs\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"80-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-xs\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80\\\"],[ka-flex*=\\\"80-xs\\\"],ka-flex-col>[ka-flex*=\\\"80\\\"],ka-flex-col>[ka-flex*=\\\"80-xs\\\"],ka-flex-row>[ka-flex*=\\\"80\\\"],ka-flex-row>[ka-flex*=\\\"80-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80\\\"],ka-flex-col>[ka-flex*=\\\"80-xs\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"85-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-xs\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85\\\"],[ka-flex*=\\\"85-xs\\\"],ka-flex-col>[ka-flex*=\\\"85\\\"],ka-flex-col>[ka-flex*=\\\"85-xs\\\"],ka-flex-row>[ka-flex*=\\\"85\\\"],ka-flex-row>[ka-flex*=\\\"85-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85\\\"],ka-flex-col>[ka-flex*=\\\"85-xs\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"90-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-xs\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90\\\"],[ka-flex*=\\\"90-xs\\\"],ka-flex-col>[ka-flex*=\\\"90\\\"],ka-flex-col>[ka-flex*=\\\"90-xs\\\"],ka-flex-row>[ka-flex*=\\\"90\\\"],ka-flex-row>[ka-flex*=\\\"90-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90\\\"],ka-flex-col>[ka-flex*=\\\"90-xs\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"95-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-xs\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95\\\"],[ka-flex*=\\\"95-xs\\\"],ka-flex-col>[ka-flex*=\\\"95\\\"],ka-flex-col>[ka-flex*=\\\"95-xs\\\"],ka-flex-row>[ka-flex*=\\\"95\\\"],ka-flex-row>[ka-flex*=\\\"95-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95\\\"],ka-flex-col>[ka-flex*=\\\"95-xs\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"100-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-xs\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100\\\"],[ka-flex*=\\\"100-xs\\\"],ka-flex-col>[ka-flex*=\\\"100\\\"],ka-flex-col>[ka-flex*=\\\"100-xs\\\"],ka-flex-row>[ka-flex*=\\\"100\\\"],ka-flex-row>[ka-flex*=\\\"100-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100\\\"],ka-flex-col>[ka-flex*=\\\"100-xs\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 34em){[ka-flex*=\\\"10-sm\\\"],ka-flex-col>[ka-flex*=\\\"10-sm\\\"],ka-flex-row>[ka-flex*=\\\"10-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-sm\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-sm\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-sm\\\"],ka-flex-col>[ka-flex*=\\\"15-sm\\\"],ka-flex-row>[ka-flex*=\\\"15-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-sm\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-sm\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-sm\\\"],ka-flex-col>[ka-flex*=\\\"20-sm\\\"],ka-flex-row>[ka-flex*=\\\"20-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-sm\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-sm\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-sm\\\"],ka-flex-col>[ka-flex*=\\\"25-sm\\\"],ka-flex-row>[ka-flex*=\\\"25-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-sm\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-sm\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-sm\\\"],ka-flex-col>[ka-flex*=\\\"30-sm\\\"],ka-flex-row>[ka-flex*=\\\"30-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-sm\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-sm\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-sm\\\"],ka-flex-col>[ka-flex*=\\\"33-sm\\\"],ka-flex-row>[ka-flex*=\\\"33-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-sm\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-sm\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-sm\\\"],ka-flex-col>[ka-flex*=\\\"35-sm\\\"],ka-flex-row>[ka-flex*=\\\"35-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-sm\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-sm\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-sm\\\"],ka-flex-col>[ka-flex*=\\\"40-sm\\\"],ka-flex-row>[ka-flex*=\\\"40-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-sm\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-sm\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-sm\\\"],ka-flex-col>[ka-flex*=\\\"45-sm\\\"],ka-flex-row>[ka-flex*=\\\"45-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-sm\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-sm\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-sm\\\"],ka-flex-col>[ka-flex*=\\\"50-sm\\\"],ka-flex-row>[ka-flex*=\\\"50-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-sm\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-sm\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-sm\\\"],ka-flex-col>[ka-flex*=\\\"55-sm\\\"],ka-flex-row>[ka-flex*=\\\"55-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-sm\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-sm\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-sm\\\"],ka-flex-col>[ka-flex*=\\\"60-sm\\\"],ka-flex-row>[ka-flex*=\\\"60-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-sm\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-sm\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-sm\\\"],ka-flex-col>[ka-flex*=\\\"65-sm\\\"],ka-flex-row>[ka-flex*=\\\"65-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-sm\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-sm\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-sm\\\"],ka-flex-col>[ka-flex*=\\\"66-sm\\\"],ka-flex-row>[ka-flex*=\\\"66-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-sm\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-sm\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-sm\\\"],ka-flex-col>[ka-flex*=\\\"70-sm\\\"],ka-flex-row>[ka-flex*=\\\"70-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-sm\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-sm\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-sm\\\"],ka-flex-col>[ka-flex*=\\\"75-sm\\\"],ka-flex-row>[ka-flex*=\\\"75-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-sm\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-sm\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-sm\\\"],ka-flex-col>[ka-flex*=\\\"80-sm\\\"],ka-flex-row>[ka-flex*=\\\"80-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-sm\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-sm\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-sm\\\"],ka-flex-col>[ka-flex*=\\\"85-sm\\\"],ka-flex-row>[ka-flex*=\\\"85-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-sm\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-sm\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-sm\\\"],ka-flex-col>[ka-flex*=\\\"90-sm\\\"],ka-flex-row>[ka-flex*=\\\"90-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-sm\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-sm\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-sm\\\"],ka-flex-col>[ka-flex*=\\\"95-sm\\\"],ka-flex-row>[ka-flex*=\\\"95-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-sm\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-sm\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-sm\\\"],ka-flex-col>[ka-flex*=\\\"100-sm\\\"],ka-flex-row>[ka-flex*=\\\"100-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-sm\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 48em){[ka-flex*=\\\"10-md\\\"],ka-flex-col>[ka-flex*=\\\"10-md\\\"],ka-flex-row>[ka-flex*=\\\"10-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-md\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-md\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-md\\\"],ka-flex-col>[ka-flex*=\\\"15-md\\\"],ka-flex-row>[ka-flex*=\\\"15-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-md\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-md\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-md\\\"],ka-flex-col>[ka-flex*=\\\"20-md\\\"],ka-flex-row>[ka-flex*=\\\"20-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-md\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-md\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-md\\\"],ka-flex-col>[ka-flex*=\\\"25-md\\\"],ka-flex-row>[ka-flex*=\\\"25-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-md\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-md\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-md\\\"],ka-flex-col>[ka-flex*=\\\"30-md\\\"],ka-flex-row>[ka-flex*=\\\"30-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-md\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-md\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-md\\\"],ka-flex-col>[ka-flex*=\\\"33-md\\\"],ka-flex-row>[ka-flex*=\\\"33-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-md\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-md\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-md\\\"],ka-flex-col>[ka-flex*=\\\"35-md\\\"],ka-flex-row>[ka-flex*=\\\"35-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-md\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-md\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-md\\\"],ka-flex-col>[ka-flex*=\\\"40-md\\\"],ka-flex-row>[ka-flex*=\\\"40-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-md\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-md\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-md\\\"],ka-flex-col>[ka-flex*=\\\"45-md\\\"],ka-flex-row>[ka-flex*=\\\"45-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-md\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-md\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-md\\\"],ka-flex-col>[ka-flex*=\\\"50-md\\\"],ka-flex-row>[ka-flex*=\\\"50-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-md\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-md\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-md\\\"],ka-flex-col>[ka-flex*=\\\"55-md\\\"],ka-flex-row>[ka-flex*=\\\"55-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-md\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-md\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-md\\\"],ka-flex-col>[ka-flex*=\\\"60-md\\\"],ka-flex-row>[ka-flex*=\\\"60-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-md\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-md\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-md\\\"],ka-flex-col>[ka-flex*=\\\"65-md\\\"],ka-flex-row>[ka-flex*=\\\"65-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-md\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-md\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-md\\\"],ka-flex-col>[ka-flex*=\\\"66-md\\\"],ka-flex-row>[ka-flex*=\\\"66-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-md\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-md\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-md\\\"],ka-flex-col>[ka-flex*=\\\"70-md\\\"],ka-flex-row>[ka-flex*=\\\"70-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-md\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-md\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-md\\\"],ka-flex-col>[ka-flex*=\\\"75-md\\\"],ka-flex-row>[ka-flex*=\\\"75-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-md\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-md\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-md\\\"],ka-flex-col>[ka-flex*=\\\"80-md\\\"],ka-flex-row>[ka-flex*=\\\"80-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-md\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-md\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-md\\\"],ka-flex-col>[ka-flex*=\\\"85-md\\\"],ka-flex-row>[ka-flex*=\\\"85-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-md\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-md\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-md\\\"],ka-flex-col>[ka-flex*=\\\"90-md\\\"],ka-flex-row>[ka-flex*=\\\"90-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-md\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-md\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-md\\\"],ka-flex-col>[ka-flex*=\\\"95-md\\\"],ka-flex-row>[ka-flex*=\\\"95-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-md\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-md\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-md\\\"],ka-flex-col>[ka-flex*=\\\"100-md\\\"],ka-flex-row>[ka-flex*=\\\"100-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-md\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 62em){[ka-flex*=\\\"10-lg\\\"],ka-flex-col>[ka-flex*=\\\"10-lg\\\"],ka-flex-row>[ka-flex*=\\\"10-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-lg\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-lg\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-lg\\\"],ka-flex-col>[ka-flex*=\\\"15-lg\\\"],ka-flex-row>[ka-flex*=\\\"15-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-lg\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-lg\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-lg\\\"],ka-flex-col>[ka-flex*=\\\"20-lg\\\"],ka-flex-row>[ka-flex*=\\\"20-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-lg\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-lg\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-lg\\\"],ka-flex-col>[ka-flex*=\\\"25-lg\\\"],ka-flex-row>[ka-flex*=\\\"25-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-lg\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-lg\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-lg\\\"],ka-flex-col>[ka-flex*=\\\"30-lg\\\"],ka-flex-row>[ka-flex*=\\\"30-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-lg\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-lg\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-lg\\\"],ka-flex-col>[ka-flex*=\\\"33-lg\\\"],ka-flex-row>[ka-flex*=\\\"33-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-lg\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-lg\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-lg\\\"],ka-flex-col>[ka-flex*=\\\"35-lg\\\"],ka-flex-row>[ka-flex*=\\\"35-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-lg\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-lg\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-lg\\\"],ka-flex-col>[ka-flex*=\\\"40-lg\\\"],ka-flex-row>[ka-flex*=\\\"40-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-lg\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-lg\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-lg\\\"],ka-flex-col>[ka-flex*=\\\"45-lg\\\"],ka-flex-row>[ka-flex*=\\\"45-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-lg\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-lg\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-lg\\\"],ka-flex-col>[ka-flex*=\\\"50-lg\\\"],ka-flex-row>[ka-flex*=\\\"50-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-lg\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-lg\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-lg\\\"],ka-flex-col>[ka-flex*=\\\"55-lg\\\"],ka-flex-row>[ka-flex*=\\\"55-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-lg\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-lg\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-lg\\\"],ka-flex-col>[ka-flex*=\\\"60-lg\\\"],ka-flex-row>[ka-flex*=\\\"60-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-lg\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-lg\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-lg\\\"],ka-flex-col>[ka-flex*=\\\"65-lg\\\"],ka-flex-row>[ka-flex*=\\\"65-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-lg\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-lg\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-lg\\\"],ka-flex-col>[ka-flex*=\\\"66-lg\\\"],ka-flex-row>[ka-flex*=\\\"66-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-lg\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-lg\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-lg\\\"],ka-flex-col>[ka-flex*=\\\"70-lg\\\"],ka-flex-row>[ka-flex*=\\\"70-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-lg\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-lg\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-lg\\\"],ka-flex-col>[ka-flex*=\\\"75-lg\\\"],ka-flex-row>[ka-flex*=\\\"75-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-lg\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-lg\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-lg\\\"],ka-flex-col>[ka-flex*=\\\"80-lg\\\"],ka-flex-row>[ka-flex*=\\\"80-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-lg\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-lg\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-lg\\\"],ka-flex-col>[ka-flex*=\\\"85-lg\\\"],ka-flex-row>[ka-flex*=\\\"85-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-lg\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-lg\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-lg\\\"],ka-flex-col>[ka-flex*=\\\"90-lg\\\"],ka-flex-row>[ka-flex*=\\\"90-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-lg\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-lg\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-lg\\\"],ka-flex-col>[ka-flex*=\\\"95-lg\\\"],ka-flex-row>[ka-flex*=\\\"95-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-lg\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-lg\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-lg\\\"],ka-flex-col>[ka-flex*=\\\"100-lg\\\"],ka-flex-row>[ka-flex*=\\\"100-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-lg\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 75em){[ka-flex*=\\\"10-xl\\\"],ka-flex-col>[ka-flex*=\\\"10-xl\\\"],ka-flex-row>[ka-flex*=\\\"10-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-xl\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-xl\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-xl\\\"],ka-flex-col>[ka-flex*=\\\"15-xl\\\"],ka-flex-row>[ka-flex*=\\\"15-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-xl\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-xl\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-xl\\\"],ka-flex-col>[ka-flex*=\\\"20-xl\\\"],ka-flex-row>[ka-flex*=\\\"20-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-xl\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-xl\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-xl\\\"],ka-flex-col>[ka-flex*=\\\"25-xl\\\"],ka-flex-row>[ka-flex*=\\\"25-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-xl\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-xl\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-xl\\\"],ka-flex-col>[ka-flex*=\\\"30-xl\\\"],ka-flex-row>[ka-flex*=\\\"30-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-xl\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-xl\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-xl\\\"],ka-flex-col>[ka-flex*=\\\"33-xl\\\"],ka-flex-row>[ka-flex*=\\\"33-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-xl\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-xl\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-xl\\\"],ka-flex-col>[ka-flex*=\\\"35-xl\\\"],ka-flex-row>[ka-flex*=\\\"35-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-xl\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-xl\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-xl\\\"],ka-flex-col>[ka-flex*=\\\"40-xl\\\"],ka-flex-row>[ka-flex*=\\\"40-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-xl\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-xl\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-xl\\\"],ka-flex-col>[ka-flex*=\\\"45-xl\\\"],ka-flex-row>[ka-flex*=\\\"45-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-xl\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-xl\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-xl\\\"],ka-flex-col>[ka-flex*=\\\"50-xl\\\"],ka-flex-row>[ka-flex*=\\\"50-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-xl\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-xl\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-xl\\\"],ka-flex-col>[ka-flex*=\\\"55-xl\\\"],ka-flex-row>[ka-flex*=\\\"55-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-xl\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-xl\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-xl\\\"],ka-flex-col>[ka-flex*=\\\"60-xl\\\"],ka-flex-row>[ka-flex*=\\\"60-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-xl\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-xl\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-xl\\\"],ka-flex-col>[ka-flex*=\\\"65-xl\\\"],ka-flex-row>[ka-flex*=\\\"65-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-xl\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-xl\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-xl\\\"],ka-flex-col>[ka-flex*=\\\"66-xl\\\"],ka-flex-row>[ka-flex*=\\\"66-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-xl\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-xl\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-xl\\\"],ka-flex-col>[ka-flex*=\\\"70-xl\\\"],ka-flex-row>[ka-flex*=\\\"70-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-xl\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-xl\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-xl\\\"],ka-flex-col>[ka-flex*=\\\"75-xl\\\"],ka-flex-row>[ka-flex*=\\\"75-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-xl\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-xl\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-xl\\\"],ka-flex-col>[ka-flex*=\\\"80-xl\\\"],ka-flex-row>[ka-flex*=\\\"80-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-xl\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-xl\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-xl\\\"],ka-flex-col>[ka-flex*=\\\"85-xl\\\"],ka-flex-row>[ka-flex*=\\\"85-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-xl\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-xl\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-xl\\\"],ka-flex-col>[ka-flex*=\\\"90-xl\\\"],ka-flex-row>[ka-flex*=\\\"90-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-xl\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-xl\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-xl\\\"],ka-flex-col>[ka-flex*=\\\"95-xl\\\"],ka-flex-row>[ka-flex*=\\\"95-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-xl\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-xl\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-xl\\\"],ka-flex-col>[ka-flex*=\\\"100-xl\\\"],ka-flex-row>[ka-flex*=\\\"100-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-xl\\\"]{height:calc(100% - 2rem);width:auto}}ka-navbar{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0;height:5rem;color:#fff;background-color:#ed5a23}ka-navbar .ka-navbar-menu-button{position:relative;display:block;width:5rem;height:5rem;text-align:center;cursor:pointer}ka-navbar .ka-navbar-menu-button::after{content:\\\" \\\";display:block;position:absolute;right:0;top:1rem;bottom:1rem;width:1px;background-color:rgba(255,255,255,.6)}ka-navbar .ka-navbar-menu-button .material-icons,ka-navbar .ka-navbar-menu-button i[class*=fa]{font-size:5rem/2;line-height:5rem}ka-navbar .ka-navbar-menu{display:block;position:absolute;top:5rem/10;left:0;z-index:50;min-width:20rem;background:#f9f9f9;transform:translateX(-110%);transition:all .5s cubic-bezier(0.215, 0.61, 0.355, 1);box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}ka-navbar .ka-navbar-menu.visible{transform:translateX(0%)}ka-navbar .ka-navbar-menu .ka-navbar-menu-label{padding:0 1rem;border-bottom:1px solid #e0e0e0;font-size:1.2rem;font-weight:700;line-height:4rem;text-transform:uppercase;color:#ed5a23}ka-navbar .ka-navbar-menu .ka-navbar-menu-item{display:block;border-bottom:1px solid #e0e0e0;padding:0 1rem;line-height:4rem;font-size:1.4rem;color:rgba(64,64,64,.7);text-decoration:none;transition:all .5s ease-out}ka-navbar .ka-navbar-menu .ka-navbar-menu-item:hover{color:#ed5a23;background-color:#f0f0f0}ka-navbar .ka-navbar-menu .ka-navbar-menu-item.emphasis{color:#ed5a23}ka-navbar .ka-navbar-menu .ka-navbar-menu-item .material-icons,ka-navbar .ka-navbar-menu .ka-navbar-menu-item i[class*=fa]{width:4.5rem;font-size:2rem;line-height:4.5rem;text-align:center;vertical-align:middle}ka-navbar h1{display:block;margin:0;padding:0 1rem;font-size:1.8rem;font-weight:300;line-height:5rem;color:#fff}ka-input,md-input{display:block;box-sizing:border-box;position:relative;margin:1.5rem 0;width:100%;height:3rem;color:#404040;background-color:#fff;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-input.type-editor,md-input.type-editor{height:auto}ka-input.type-textarea,md-input.type-textarea{height:9rem}ka-input.type-textarea>textarea,md-input.type-textarea>textarea{padding:7px auto 7px 7px;height:9rem;resize:none}ka-input.type-checklist,md-input.type-checklist{height:auto;background-color:rgba(0,0,0,0);box-shadow:none !important}ka-input.error,md-input.error{background-color:#fff;box-shadow:inset 0 -1px 0 0 red}ka-input.error>label,md-input.error>label{color:red}ka-input.focus,ka-input.focus:hover,md-input.focus,md-input.focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-input:hover,md-input:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5)}ka-input.readonly,ka-input.readonly.focus,ka-input.readonly:hover,md-input.readonly,md-input.readonly.focus,md-input.readonly:hover{background-color:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ka-input.type-checkbox,ka-input.type-checkbox.error,ka-input.type-checkbox.focus,ka-input.type-checkbox.focus:hover,ka-input.type-checkbox:hover,ka-input.type-checkbox.readonly,ka-input.type-checkbox.readonly.focus,ka-input.type-checkbox.readonly:hover,md-input.type-checkbox,md-input.type-checkbox.error,md-input.type-checkbox.focus,md-input.type-checkbox.focus:hover,md-input.type-checkbox:hover,md-input.type-checkbox.readonly,md-input.type-checkbox.readonly.focus,md-input.type-checkbox.readonly:hover{box-shadow:none;background-color:rgba(0,0,0,0)}ka-input.type-checkbox>.ka-input-checkbox-description,md-input.type-checkbox>.ka-input-checkbox-description{display:inline-block;position:absolute;left:0;overflow:hidden;padding-left:21px;max-width:100%;line-height:3rem;font-size:14px;color:#404040;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}ka-input.type-checkbox.readonly>input,ka-input.type-checkbox.readonly>.ka-input-checkbox-description,md-input.type-checkbox.readonly>input,md-input.type-checkbox.readonly>.ka-input-checkbox-description{opacity:.7}ka-input.type-checkbox.expand,md-input.type-checkbox.expand{height:fit-content}ka-input.type-checkbox.expand>.ka-input-checkbox-description,md-input.type-checkbox.expand>.ka-input-checkbox-description{position:static;white-space:normal;line-height:2rem;margin-top:6px}ka-input>label,md-input>label{display:block;position:absolute;width:100%;height:1.5rem;overflow:hidden;line-height:1.5rem;font-size:12px;color:rgba(237,90,35,.7);white-space:nowrap;text-overflow:ellipsis;transform:translateY(-1.5rem)}ka-input.show-label-overflow>label,md-input.show-label-overflow>label{overflow:visible}ka-input.no-label>label,md-input.no-label>label{display:none}ka-input>.ka-input-error,md-input>.ka-input-error{display:block;position:absolute;bottom:0;width:100%;height:1.5rem;line-height:1.5rem;font-size:11px;color:rgba(255,0,0,.7);transform:translateY(1.5rem)}ka-input>.ka-input-error span::after,md-input>.ka-input-error span::after{content:\\\" - \\\"}ka-input>.ka-input-error span:last-of-type::after,md-input>.ka-input-error span:last-of-type::after{content:\\\"\\\"}ka-input>.ka-input-description,md-input>.ka-input-description{display:block;position:absolute;bottom:0;width:100%;height:1.5rem;line-height:1.5rem;font-size:11px;color:rgba(64,64,64,.5);text-align:right;transform:translateY(1.5rem);transition:all .2s cubic-bezier(0.215, 0.61, 0.355, 1)}ka-input>.ka-input-description span::after,md-input>.ka-input-description span::after{content:\\\" - \\\"}ka-input>.ka-input-description span:last-of-type::after,md-input>.ka-input-description span:last-of-type::after{content:\\\"\\\"}ka-input.readonly>.ka-input-description,md-input.readonly>.ka-input-description{opacity:0}ka-input>.ka-input-error+.ka-input-description,md-input>.ka-input-error+.ka-input-description{opacity:0}ka-input.required label::after,md-input.required label::after{content:\\\" *\\\"}ka-input>.ka-input[type],ka-input>.ka-input-combo .ka-input,ka-input>textarea,md-input>.ka-input[type],md-input>.ka-input-combo .ka-input,md-input>textarea{display:block;-webkit-appearance:none;-moz-appearance:none;position:absolute;box-sizing:border-box;margin:0;border:0 !important;outline:none;padding:0;padding-left:7px;width:100%;height:3rem;font-size:14px;color:#404040;background-color:rgba(0,0,0,0);transition:all .2s cubic-bezier(0.215, 0.61, 0.355, 1)}ka-input>.ka-input[type]:focus,ka-input>.ka-input-combo .ka-input:focus,ka-input>textarea:focus,md-input>.ka-input[type]:focus,md-input>.ka-input-combo .ka-input:focus,md-input>textarea:focus{border:0 !important}ka-input>.ka-input[type].pad1,ka-input>.ka-input-combo .ka-input.pad1,ka-input>textarea.pad1,md-input>.ka-input[type].pad1,md-input>.ka-input-combo .ka-input.pad1,md-input>textarea.pad1{padding-right:3rem}ka-input>.ka-input[type].pad2,ka-input>.ka-input-combo .ka-input.pad2,ka-input>textarea.pad2,md-input>.ka-input[type].pad2,md-input>.ka-input-combo .ka-input.pad2,md-input>textarea.pad2{padding-right:6rem}ka-input>.ka-input[type].pad3,ka-input>.ka-input-combo .ka-input.pad3,ka-input>textarea.pad3,md-input>.ka-input[type].pad3,md-input>.ka-input-combo .ka-input.pad3,md-input>textarea.pad3{padding-right:9rem}ka-input>.ka-input[type][type=checkbox],ka-input>.ka-input-combo .ka-input[type=checkbox],md-input>.ka-input[type][type=checkbox],md-input>.ka-input-combo .ka-input[type=checkbox]{display:block;margin-top:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}ka-input>.ka-input[type][type=checkbox]:checked,ka-input>.ka-input-combo .ka-input[type=checkbox]:checked,md-input>.ka-input[type][type=checkbox]:checked,md-input>.ka-input-combo .ka-input[type=checkbox]:checked{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-input>.ka-input[type][type=file],ka-input>.ka-input-combo .ka-input[type=file],md-input>.ka-input[type][type=file],md-input>.ka-input-combo .ka-input[type=file]{opacity:0;z-index:2}ka-input>.ka-input[type][type=file][readonly],ka-input>.ka-input-combo .ka-input[type=file][readonly],md-input>.ka-input[type][type=file][readonly],md-input>.ka-input-combo .ka-input[type=file][readonly]{display:none}ka-input.error>.ka-input[type=checkbox],md-input.error>.ka-input[type=checkbox]{box-shadow:inset 0 0 0 1px red}ka-input.error>.ka-input[type=checkbox]:checked,md-input.error>.ka-input[type=checkbox]:checked{box-shadow:inset 0 0 0 1px red,inset 0 0 0 3px #fff}ka-input.readonly>.ka-input[type],ka-input.readonly>.ka-input-combo .ka-input,ka-input.readonly>textarea,md-input.readonly>.ka-input[type],md-input.readonly>.ka-input-combo .ka-input,md-input.readonly>textarea{padding-left:0}ka-input.readonly>.ka-input[type].pad1,ka-input.readonly>.ka-input[type].pad2,ka-input.readonly>.ka-input[type].pad3,ka-input.readonly>.ka-input-combo .ka-input.pad1,ka-input.readonly>.ka-input-combo .ka-input.pad2,ka-input.readonly>.ka-input-combo .ka-input.pad3,ka-input.readonly>textarea.pad1,ka-input.readonly>textarea.pad2,ka-input.readonly>textarea.pad3,md-input.readonly>.ka-input[type].pad1,md-input.readonly>.ka-input[type].pad2,md-input.readonly>.ka-input[type].pad3,md-input.readonly>.ka-input-combo .ka-input.pad1,md-input.readonly>.ka-input-combo .ka-input.pad2,md-input.readonly>.ka-input-combo .ka-input.pad3,md-input.readonly>textarea.pad1,md-input.readonly>textarea.pad2,md-input.readonly>textarea.pad3{padding-right:0}ka-input.readonly button,md-input.readonly button{display:none}ka-input.type-file.readonly>.ka-input[type=text],ka-input.type-combo.readonly>.ka-input-combo>.ka-input[type=text],md-input.type-file.readonly>.ka-input[type=text],md-input.type-combo.readonly>.ka-input-combo>.ka-input[type=text]{padding-right:3rem}ka-input.readonly button.download,ka-input.readonly button.download:focus,ka-input.readonly button.open,ka-input.readonly button.open:focus,md-input.readonly button.download,md-input.readonly button.download:focus,md-input.readonly button.open,md-input.readonly button.open:focus{display:inline-block;right:0}ka-input .ka-input-combo,md-input .ka-input-combo{display:block;position:absolute;top:0;width:100%}ka-input .ka-input-combo>.ka-input,md-input .ka-input-combo>.ka-input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ka-input .ka-input-editor,md-input .ka-input-editor{height:200px}ka-input .ka-input-button,ka-input .ka-input-button:focus,md-input .ka-input-button,md-input .ka-input-button:focus{-webkit-appearance:none;-moz-appearance:none;position:absolute;display:inline-block;top:0;right:0;margin:0;outline:0;border:0;border-left:1px solid #e0e0e0;border-radius:0;padding:0;width:3rem;height:3rem;z-index:2;font-size:14px;line-height:3rem;text-align:center;background:rgba(0,0,0,0)}ka-input .ka-input-button .material-icons,ka-input .ka-input-button i[class*=fa],ka-input .ka-input-button:focus .material-icons,ka-input .ka-input-button:focus i[class*=fa],md-input .ka-input-button .material-icons,md-input .ka-input-button i[class*=fa],md-input .ka-input-button:focus .material-icons,md-input .ka-input-button:focus i[class*=fa]{font-size:inherit;line-height:inherit;color:inherit}ka-input .ka-input-button:hover,ka-input .ka-input-button:focus:hover,md-input .ka-input-button:hover,md-input .ka-input-button:focus:hover{color:#ed5a23}ka-input .ka-input-button.hide,ka-input .ka-input-button:focus.hide,md-input .ka-input-button.hide,md-input .ka-input-button:focus.hide{display:block !important}ka-input .ka-input-button.open,ka-input .ka-input-button.add,ka-input .ka-input-button.show,ka-input .ka-input-button.hide,ka-input .ka-input-button.download,ka-input .ka-input-button.dropdown,ka-input .ka-input-button:focus.open,ka-input .ka-input-button:focus.add,ka-input .ka-input-button:focus.show,ka-input .ka-input-button:focus.hide,ka-input .ka-input-button:focus.download,ka-input .ka-input-button:focus.dropdown,md-input .ka-input-button.open,md-input .ka-input-button.add,md-input .ka-input-button.show,md-input .ka-input-button.hide,md-input .ka-input-button.download,md-input .ka-input-button.dropdown,md-input .ka-input-button:focus.open,md-input .ka-input-button:focus.add,md-input .ka-input-button:focus.show,md-input .ka-input-button:focus.hide,md-input .ka-input-button:focus.download,md-input .ka-input-button:focus.dropdown{right:3rem}ka-input.no-clear button.open,ka-input.no-clear button.open:focus,ka-input.no-clear button.add,ka-input.no-clear button.add:focus,ka-input.no-clear button.show,ka-input.no-clear button.show:focus,ka-input.no-clear button.hide,ka-input.no-clear button.hide:focus,ka-input.no-clear button.download,ka-input.no-clear button.download:focus,ka-input.no-clear button.dropdown,ka-input.no-clear button.dropdown:focus,md-input.no-clear button.open,md-input.no-clear button.open:focus,md-input.no-clear button.add,md-input.no-clear button.add:focus,md-input.no-clear button.show,md-input.no-clear button.show:focus,md-input.no-clear button.hide,md-input.no-clear button.hide:focus,md-input.no-clear button.download,md-input.no-clear button.download:focus,md-input.no-clear button.dropdown,md-input.no-clear button.dropdown:focus{right:0}.ka-input-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1999}.ka-input-combo .ka-input-combo-drawer,.ka-input-backdrop .ka-input-combo-drawer{display:block;position:absolute;top:3rem;z-index:2000;width:100%;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}.ka-input-combo .ka-input-combo-drawer .ka-input,.ka-input-backdrop .ka-input-combo-drawer .ka-input{display:block;position:static;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;margin:0;border:0 !important;outline:none;padding:0 10px;width:100%;height:3rem;font-size:14px;color:#404040;background-color:rgba(0,0,0,0);box-shadow:none !important}.ka-input-combo .ka-input-combo-drawer .ka-input:focus,.ka-input-backdrop .ka-input-combo-drawer .ka-input:focus{border:0 !important}.ka-input-combo .ka-input-combo-drawer ul,.ka-input-backdrop .ka-input-combo-drawer ul,.ka-input-checklist ul{margin:0;padding:0;width:100%;max-height:250px;overflow:hidden;overflow-y:auto;list-style:none}.ka-input-combo .ka-input-combo-drawer ul li,.ka-input-backdrop .ka-input-combo-drawer ul li,.ka-input-checklist ul li{position:relative;margin:0;padding:0 10px;overflow:hidden;font-size:14px;line-height:3rem;cursor:pointer;color:#404040;white-space:nowrap;text-overflow:ellipsis}.ka-input-combo .ka-input-combo-drawer ul li:hover,.ka-input-backdrop .ka-input-combo-drawer ul li:hover,.ka-input-checklist ul li:hover{background-color:rgba(237,90,35,.1)}.ka-input-combo .ka-input-combo-drawer ul li.selected,.ka-input-backdrop .ka-input-combo-drawer ul li.selected,.ka-input-checklist ul li.selected{color:#ed5a23}.ka-input-combo .ka-input-combo-drawer ul.multiple li,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li,.ka-input-checklist ul.multiple li{padding-left:30px}.ka-input-combo .ka-input-combo-drawer ul.multiple li::before,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li::before,.ka-input-checklist ul.multiple li::before{content:\\\" \\\";display:block;position:absolute;top:8px;left:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}.ka-input-combo .ka-input-combo-drawer ul.multiple li.selected::before,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li.selected::before,.ka-input-checklist ul.multiple li.selected::before{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23,inset 0 0 0 3px #fff}.ka-input-checklist ul li:hover{background-color:rgba(0,0,0,0)}.ka-input-checklist ul li.selected{color:#404040}.ka-input-checklist ul.multiple li.selected::before{box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}.ck.ck-content h1,.ck.ck-content h2,.ck.ck-content h3,.ck.ck-content h4,.ck.ck-content h5,.ck.ck-content p,.ck.ck-content ul,.ck.ck-content ol,.ck.ck-content ul ul,.ck.ck-content ul ol,.ck.ck-content ol ol,.ck.ck-content ol ul,.ck.ck-content blockquote,.ck.ck-content table,.ck.ck-content div{margin:0;padding:0;border:0;border-radius:0;font-size:14px;line-height:1.6;color:#404040;background:none;box-shadow:none;transform:none}.ck.ck-content h1:before,.ck.ck-content h1:after,.ck.ck-content h2:before,.ck.ck-content h2:after,.ck.ck-content h3:before,.ck.ck-content h3:after,.ck.ck-content h4:before,.ck.ck-content h4:after,.ck.ck-content h5:before,.ck.ck-content h5:after,.ck.ck-content p:before,.ck.ck-content p:after,.ck.ck-content ul:before,.ck.ck-content ul:after,.ck.ck-content ol:before,.ck.ck-content ol:after,.ck.ck-content ul ul:before,.ck.ck-content ul ul:after,.ck.ck-content ul ol:before,.ck.ck-content ul ol:after,.ck.ck-content ol ol:before,.ck.ck-content ol ol:after,.ck.ck-content ol ul:before,.ck.ck-content ol ul:after,.ck.ck-content blockquote:before,.ck.ck-content blockquote:after,.ck.ck-content table:before,.ck.ck-content table:after,.ck.ck-content div:before,.ck.ck-content div:after{display:none;content:none}.ck.ck-content h1{margin:35px 10px 20px;font-size:24px;font-weight:bold}.ck.ck-content h2{margin:25px 10px 15px;font-size:22px;font-weight:bold}.ck.ck-content h3{margin:15px 10px 10px;font-size:20px;font-weight:bold}.ck.ck-content h4{margin:15px 10px 10px;font-size:18px;font-weight:bold}.ck.ck-content h5{margin:15px 10px 10px;font-size:16px;font-weight:bold}.ck.ck-content p{margin:10px}.ck.ck-content ul,.ck.ck-content ul ul,.ck.ck-content ul ol,.ck.ck-content ol,.ck.ck-content ol ul,.ck.ck-content ol ol{margin:10px;padding-left:15px}.ck.ck-content ul li,.ck.ck-content ul ul li,.ck.ck-content ul ol li,.ck.ck-content ol li,.ck.ck-content ol ul li,.ck.ck-content ol ol li{margin:0;padding:0}.ck.ck-content blockquote{margin:10px;padding:0 10px;overflow:hidden;font-style:italic;border-left:5px solid #ccc}.ka-button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:10px;border:0;border-radius:3px;padding:0 10px;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2);transition:all .5s}.ka-button.icon{padding:0;width:3rem}.ka-button.icon i{line-height:inherit}.ka-button.round{padding:0;width:3rem;border-radius:50%;overflow:hidden}.ka-button.flat{box-shadow:none !important}.ka-button:disabled{background-color:silver}.ka-button:hover:enabled{color:#fff;background-color:#da4812;box-shadow:none;transform:translateY(3px)}.ka-button.accent{background-color:#19a5f2}.ka-button.accent:hover:enabled{background-color:#0c92db}.ka-button.inverted{color:#ed5a23;background-color:#fff}.ka-button.inverted:hover:enabled{color:#ed5a23;background-color:#ededed}.ka-button.inverted-accent{color:#19a5f2;background-color:#fff}.ka-button.inverted-accent:hover:enabled{color:#19a5f2;background-color:#ededed}.ka-button>i{line-height:inherit;vertical-align:middle}a.ka-button:hover{color:#fff;background-color:#da4812;box-shadow:none;transform:translateY(3px)}a.ka-button.accent:hover{background-color:#0c92db}a.ka-button.inverted:hover{color:#ed5a23;background-color:#ededed}a.ka-button.inverted-accent:hover{color:#19a5f2;background-color:#ededed}ka-button{display:inline-block;position:relative;align-items:flex-start;outline:none;cursor:pointer;margin:10px;border:0;border-radius:3px;padding:0 10px;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;text-align:center;text-decoration:none;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2);transition:all .5s}ka-button.icon{padding:0;width:3rem}ka-button.round{padding:0;width:3rem;border-radius:50%;overflow:hidden}ka-button.active{box-shadow:none;transform:translateY(3px)}ka-button:not(.disabled){color:#fff;background-color:#ed5a23}ka-button:not(.disabled).flat{box-shadow:none}ka-button:not(.disabled):hover{color:#fff;background-color:#da4812}ka-button:not(.disabled).accent{color:#fff;background-color:#19a5f2}ka-button:not(.disabled).accent.flat{box-shadow:none}ka-button:not(.disabled).accent:hover{color:#fff;background-color:#0c92db}ka-button:not(.disabled).accent .busy{background-color:#19a5f2}ka-button:not(.disabled).accent .busy:before,ka-button:not(.disabled).accent .busy:after{background-color:#fff}ka-button:not(.disabled).secondary{color:#fff;background-color:#11254b}ka-button:not(.disabled).secondary.flat{box-shadow:none}ka-button:not(.disabled).secondary:hover{color:#fff;background-color:#0a172e}ka-button:not(.disabled).secondary .busy{background-color:#11254b}ka-button:not(.disabled).secondary .busy:before,ka-button:not(.disabled).secondary .busy:after{background-color:#fff}ka-button:not(.disabled).inverted{color:#ed5a23;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(237,90,35,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.flat{box-shadow:inset 0 0 0px 1px rgba(237,90,35,.7)}ka-button:not(.disabled).inverted:hover{color:#ed5a23;background-color:#ededed}ka-button:not(.disabled).inverted .busy{background-color:#fff}ka-button:not(.disabled).inverted .busy:before,ka-button:not(.disabled).inverted .busy:after{background-color:#ed5a23}ka-button:not(.disabled).inverted.accent{color:#19a5f2;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(25,165,242,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.accent.flat{box-shadow:inset 0 0 0px 1px rgba(25,165,242,.7)}ka-button:not(.disabled).inverted.accent:hover{color:#19a5f2;background-color:#ededed}ka-button:not(.disabled).inverted.accent .busy{background-color:#fff}ka-button:not(.disabled).inverted.accent .busy:before,ka-button:not(.disabled).inverted.accent .busy:after{background-color:#19a5f2}ka-button:not(.disabled).inverted.secondary{color:#11254b;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(17,37,75,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.secondary.flat{box-shadow:inset 0 0 0px 1px rgba(17,37,75,.7)}ka-button:not(.disabled).inverted.secondary:hover{color:#11254b;background-color:#ededed}ka-button:not(.disabled).inverted.secondary .busy{background-color:#fff}ka-button:not(.disabled).inverted.secondary .busy:before,ka-button:not(.disabled).inverted.secondary .busy:after{background-color:#11254b}ka-button.disabled{color:silver;background-color:rgba(192,192,192,.3)}ka-button.disabled.flat{box-shadow:none}ka-button>i{line-height:inherit;vertical-align:middle}ka-button .busy{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#ed5a23}ka-button .busy:before,ka-button .busy:after{content:\\\"\\\";position:absolute;border-radius:50%;width:1rem;height:1rem;top:50%;background-color:#fff;transform:translate(-50%, -50%);will-change:left,transform}ka-button .busy:after{animation:left-to-right .5s linear infinite}ka-button .busy:before{animation:right-to-left .5s linear infinite}@keyframes left-to-right{0%{opacity:.5;left:calc(50% - 1rem);transform:translate(-50%, -50%) scale(1)}50%{opacity:1;left:50%;transform:translate(-50%, -50%) scale(1.5)}100%{opacity:.5;left:calc(50% + 1rem);transform:translate(-50%, -50%) scale(1)}}@keyframes right-to-left{0%{opacity:.5;left:calc(50% + 1rem);transform:translate(-50%, -50%) scale(1)}50%{opacity:0;left:50%;transform:translate(-50%, -50%) scale(0.5)}100%{opacity:.5;left:calc(50% - 1rem);transform:translate(-50%, -50%) scale(1)}}.ka-toast{position:fixed;bottom:0;left:0;right:0;z-index:2000;padding:10px;font-size:1.3rem;text-align:center;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1),0 -10px 10px -10px rgba(0,0,0,.1)}.ka-toast.ka-toast-error{color:#fff;background-color:#f30}.ka-toast.ka-toast-success{color:#fff;background-color:#1cc800}.ka-toast.ka-toast-accent{color:#fff;background-color:#19a5f2}.ka-toast.ka-toast-primary{color:#fff;background-color:#ed5a23}ka-table,.ka-table{display:block;position:relative;max-width:100%;background-color:#fff}ka-table:not(.full-height),.ka-table:not(.full-height){box-shadow:0 0 0 1px #e0e0e0}ka-table .ka-toolbar,.ka-table .ka-toolbar{display:flex;height:4rem;font-size:12px;line-height:4rem;color:#606060;box-shadow:inset 0 -1px 0 #e0e0e0}ka-table .ka-toolbar .ka-navigation,.ka-table .ka-toolbar .ka-navigation{display:flex}ka-table .ka-toolbar .ka-navigation .ka-position,.ka-table .ka-toolbar .ka-navigation .ka-position{padding:0 10px;min-width:100px;text-align:center;cursor:pointer}ka-table .ka-toolbar .ka-tools-left,.ka-table .ka-toolbar .ka-tools-left{flex:1;display:flex;justify-content:flex-start}ka-table .ka-toolbar .ka-tools-right,.ka-table .ka-toolbar .ka-tools-right{flex:1;display:flex;justify-content:flex-end}ka-table .ka-wrapper,.ka-table .ka-wrapper{overflow:auto}ka-table.full-height .ka-wrapper,.ka-table.full-height .ka-wrapper{position:relative;height:calc(100% - 4rem)}ka-table.no-wrap th,ka-table.no-wrap td,.ka-table.no-wrap th,.ka-table.no-wrap td,table.ka-table-like.no-wrap th,table.ka-table-like.no-wrap td{white-space:nowrap}ka-table .ka-table-button,.ka-table .ka-table-button,table.ka-table-like .ka-table-button{display:inline-block;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;padding:0;width:4rem;height:4rem;line-height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:rgba(0,0,0,0);box-shadow:none;transition:all .5s}ka-table .ka-table-button+.ka-table-button,.ka-table .ka-table-button+.ka-table-button,table.ka-table-like .ka-table-button+.ka-table-button{border-left:0}ka-table .ka-table-button:not(.disabled):hover,.ka-table .ka-table-button:not(.disabled):hover,table.ka-table-like .ka-table-button:not(.disabled):hover{color:#404040;background-color:rgba(237,90,35,.05)}ka-table .ka-table-button.primary:not(.disabled),.ka-table .ka-table-button.primary:not(.disabled),table.ka-table-like .ka-table-button.primary:not(.disabled){color:rgba(237,90,35,.7)}ka-table .ka-table-button.primary:not(.disabled):hover,.ka-table .ka-table-button.primary:not(.disabled):hover,table.ka-table-like .ka-table-button.primary:not(.disabled):hover{color:#ed5a23}ka-table .ka-table-button:first-of-type,.ka-table .ka-table-button:first-of-type,table.ka-table-like .ka-table-button:first-of-type{border-left:0}ka-table .ka-table-button:last-of-type,.ka-table .ka-table-button:last-of-type,table.ka-table-like .ka-table-button:last-of-type{border-right:0}ka-table .ka-table-button:focus,.ka-table .ka-table-button:focus,table.ka-table-like .ka-table-button:focus{background-color:inherit}ka-table .ka-table-button.disabled,.ka-table .ka-table-button.disabled,table.ka-table-like .ka-table-button.disabled{color:#e0e0e0}ka-table .ka-table-button:before,.ka-table .ka-table-button:before,table.ka-table-like .ka-table-button:before{font-size:20px}ka-table .ka-table-button i,.ka-table .ka-table-button i,table.ka-table-like .ka-table-button i{line-height:inherit;color:inherit}ka-table .ka-table-button.filters.active,.ka-table .ka-table-button.filters.active,table.ka-table-like .ka-table-button.filters.active{color:#19a5f2}ka-table .ka-table-button.filters+.reset,.ka-table .ka-table-button.filters+.reset,table.ka-table-like .ka-table-button.filters+.reset{margin-left:-2rem;width:2rem;height:2rem;line-height:2rem}ka-table .ka-table-button.filters+.reset i,.ka-table .ka-table-button.filters+.reset i,table.ka-table-like .ka-table-button.filters+.reset i{font-size:1rem}ka-table .ka-table-button.filters+.reset:hover,.ka-table .ka-table-button.filters+.reset:hover,table.ka-table-like .ka-table-button.filters+.reset:hover{color:#19a5f2;background:none}ka-table .ka-wrapper>table,.ka-table .ka-wrapper>table,table.ka-table-like{display:table;margin:0;border:0;border-collapse:collapse;border-spacing:0;width:100%;overflow:hidden}ka-table .ka-wrapper>table th,ka-table .ka-wrapper>table td,.ka-table .ka-wrapper>table th,.ka-table .ka-wrapper>table td,table.ka-table-like th,table.ka-table-like td{padding:1rem;font-size:14px;line-height:2rem;color:#404040;text-align:left}ka-table .ka-wrapper>table th a,ka-table .ka-wrapper>table td a,.ka-table .ka-wrapper>table th a,.ka-table .ka-wrapper>table td a,table.ka-table-like th a,table.ka-table-like td a{cursor:pointer}ka-table .ka-wrapper>table thead,.ka-table .ka-wrapper>table thead,table.ka-table-like thead{border-bottom:1px solid #e0e0e0}ka-table .ka-wrapper>table thead th,.ka-table .ka-wrapper>table thead th,table.ka-table-like thead th{position:relative;vertical-align:middle;white-space:nowrap;padding-right:30px}ka-table .ka-wrapper>table thead th .ka-sort-button,.ka-table .ka-wrapper>table thead th .ka-sort-button,table.ka-table-like thead th .ka-sort-button{position:absolute;margin-left:5px;transition:all .5s;color:rgba(64,64,64,.5);text-decoration:none}ka-table .ka-wrapper>table thead th .ka-sort-button i,.ka-table .ka-wrapper>table thead th .ka-sort-button i,table.ka-table-like thead th .ka-sort-button i{line-height:inherit;transform:rotateX(180deg)}ka-table .ka-wrapper>table thead th .ka-sort-button:hover,.ka-table .ka-wrapper>table thead th .ka-sort-button:hover,table.ka-table-like thead th .ka-sort-button:hover{color:#404040}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-asc i,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-asc i,table.ka-table-like thead th .ka-sort-button.sort-asc i{color:#19a5f2}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-desc i,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-desc i,table.ka-table-like thead th .ka-sort-button.sort-desc i{color:#19a5f2;transform:rotateX(0deg)}ka-table .ka-wrapper>table thead th .ka-sort-button:after,.ka-table .ka-wrapper>table thead th .ka-sort-button:after,table.ka-table-like thead th .ka-sort-button:after{position:absolute;top:-5px;right:-5px;border-radius:50%;width:1.3rem;height:1.3rem;line-height:1.3rem;font-size:1rem;color:#fff;text-align:center;background-color:#19a5f2}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-1:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-1:after,table.ka-table-like thead th .ka-sort-button.sort-1:after{content:\\\"1\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-2:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-2:after,table.ka-table-like thead th .ka-sort-button.sort-2:after{content:\\\"2\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-3:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-3:after,table.ka-table-like thead th .ka-sort-button.sort-3:after{content:\\\"3\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-4:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-4:after,table.ka-table-like thead th .ka-sort-button.sort-4:after{content:\\\"4\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-5:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-5:after,table.ka-table-like thead th .ka-sort-button.sort-5:after{content:\\\"5\\\"}ka-table .ka-wrapper>table tbody tr,.ka-table .ka-wrapper>table tbody tr,table.ka-table-like tbody tr{border-bottom:1px solid #f4f4f4;background-color:#fcfcfc}ka-table .ka-wrapper>table tbody tr:nth-child(even),.ka-table .ka-wrapper>table tbody tr:nth-child(even),table.ka-table-like tbody tr:nth-child(even){background-color:#f8f8f8}ka-table .ka-wrapper>table tbody tr:hover,ka-table .ka-wrapper>table tbody tr:nth-child(even):hover,.ka-table .ka-wrapper>table tbody tr:hover,.ka-table .ka-wrapper>table tbody tr:nth-child(even):hover,table.ka-table-like tbody tr:hover,table.ka-table-like tbody tr:nth-child(even):hover{background-color:rgba(25,165,242,.05)}ka-table .ka-wrapper>table tbody td,.ka-table .ka-wrapper>table tbody td,table.ka-table-like tbody td{vertical-align:top}ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type,table.ka-table-like tbody td.ka-tr-tools:first-of-type{text-align:left}ka-table .ka-wrapper>table tbody td.ka-tr-tools:last-of-type,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:last-of-type,table.ka-table-like tbody td.ka-tr-tools:last-of-type{text-align:right}ka-table .ka-wrapper>table tbody td.ka-tr-tools,.ka-table .ka-wrapper>table tbody td.ka-tr-tools,table.ka-table-like tbody td.ka-tr-tools{padding:0;white-space:nowrap}ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button,ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button:hover,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button:hover,table.ka-table-like tbody td.ka-tr-tools .ka-table-button,table.ka-table-like tbody td.ka-tr-tools .ka-table-button:hover{display:inline-block;background:rgba(0,0,0,0)}ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button,ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button:hover,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button:hover,table.ka-table-like tbody td.ka-tr-tools:first-of-type .ka-table-button,table.ka-table-like tbody td.ka-tr-tools:first-of-type .ka-table-button:hover{float:left}ka-table .ka-wrapper>table tbody td.ka-tr-tools:after,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:after,table.ka-table-like tbody td.ka-tr-tools:after{content:\\\" \\\";display:block;width:100%}ka-table .ka-wrapper>table tbody td.ka-tr-tools .floater.float,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .floater.float,table.ka-table-like tbody td.ka-tr-tools .floater.float{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;align-content:center;position:absolute;right:0;background:#fff;background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%);box-shadow:-5px 0 5px -5px rgba(0,0,0,.25)}ka-table .ka-wrapper>table tbody td small,.ka-table .ka-wrapper>table tbody td small,table.ka-table-like tbody td small{color:rgba(64,64,64,.7)}.ka-table-options{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;opacity:0;justify-content:flex-start;position:absolute;left:50%;padding:2rem;width:26rem;z-index:97;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1);transform:translateX(-50%) translateY(50px);transition:transform .5s,opacity .5s}.ka-table-options.open{opacity:1;transform:translateX(-50%) translateY(0px)}.ka-table-options.hidden{display:none}.ka-table-options ka-input{margin:15px 10px 0;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.ka-table-drawer{position:absolute;top:0;bottom:0;right:0;border-right:1px solid #e0e0e0;width:90%;max-width:400px;overflow-y:auto;background-color:#fff;box-shadow:-10px 0 10px -10px rgba(0,0,0,.1);transform:translateX(100%);transition:transform .5s}.ka-table-drawer.open{transform:translateX(0)}.ka-table-drawer.hidden{display:none}.ka-table-drawer ka-input label{overflow:visible}.ka-table-drawer.export ka-input{margin:0}.ka-table-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.ka-table-progress{position:absolute;top:calc(4rem - 1px);left:0;right:0;height:3px;background-color:#e0e0e0;overflow:hidden}.ka-table-progress>div{background-color:#ed5a23}.ka-table-progress>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.ka-table-progress>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}.ka-table-dialog{background:#f9f9f9}.ka-table-dialog ux-dialog-body{padding:0;width:70vw;max-width:calc(100vw - 60px)}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@media only screen and (max-width: 575px){ka-table .ka-wrapper>table,table.ka-table-like{display:block;max-width:100%;min-width:300px;width:100%}ka-table .ka-wrapper>table thead,ka-table .ka-wrapper>table tfoot,table.ka-table-like thead,table.ka-table-like tfoot{display:block}ka-table .ka-wrapper>table tbody,table.ka-table-like tbody{display:block;overflow-x:hidden;overflow-y:visible;width:100%}ka-table .ka-wrapper>table tr,table.ka-table-like tr{display:block;position:relative}ka-table .ka-wrapper>table tbody tr,table.ka-table-like tbody tr{min-height:4rem}ka-table .ka-wrapper>table th,table.ka-table-like th{display:none}ka-table .ka-wrapper>table td,table.ka-table-like td{display:block;padding:0 0 .5rem .5rem;font-size:1.3rem;line-height:1.2}ka-table .ka-wrapper>table td:first-of-type,table.ka-table-like td:first-of-type{padding-top:.5rem}ka-table .ka-wrapper>table td.ka-tr-tools,table.ka-table-like td.ka-tr-tools{height:4rem;position:absolute;right:0;top:0}ka-table .ka-wrapper>table td.ka-tr-tools:before,table.ka-table-like td.ka-tr-tools:before{display:none}ka-table .ka-wrapper>table td[data-th],table.ka-table-like td[data-th]{padding:0 0 .5rem 25vw}ka-table .ka-wrapper>table td[data-th]:before,table.ka-table-like td[data-th]:before{display:inline-block;content:attr(data-th);margin-left:-25vw;padding:0 1rem;width:25vw;font-weight:bold;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}}.ka-resource-buttons{position:absolute;top:0;right:0}.ka-resource-buttons a{position:relative;display:inline-block;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:5rem;height:5rem;line-height:5rem;color:rgba(255,255,255,.5);text-align:center;transition:all .2s}.ka-resource-buttons a::after{content:\\\" \\\";display:block;position:absolute;left:0;top:.5rem;bottom:.5rem;width:1px;background-color:rgba(255,255,255,.2)}.ka-resource-buttons a:hover{color:#fff}.ka-resource-buttons a:first-of-type{border-left:0}.ka-resource-buttons a:last-of-type{border-right:0}.ka-resource-buttons a:focus{background-color:inherit}.ka-resource-buttons a:before{font-size:20px}.ka-resource-buttons a i{line-height:inherit}ux-dialog .ka-resource-buttons{z-index:2}ux-dialog .ka-resource-buttons a{color:rgba(237,90,35,.5)}ux-dialog .ka-resource-buttons a::after{background-color:rgba(237,90,35,.2)}ux-dialog .ka-resource-buttons a:hover{color:#ed5a23}.ka-resource-progress{position:absolute;top:5rem;left:0;right:0;z-index:2;height:3px;background-color:#e0e0e0;overflow:hidden}.ka-resource-progress>div{background-color:#ed5a23}.ka-resource-progress>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.ka-resource-progress>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}ux-dialog .ka-resource-progress{top:auto}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}ux-dialog-container{display:flex}ux-dialog-container.active{background-color:rgba(0,0,0,.2)}ux-dialog-container>div{margin:auto !important}ux-dialog{display:block;position:relative;border:0;border-radius:3px;padding:0;overflow:hidden;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}ux-dialog.viewModel{width:calc(100vw - 80px)}ux-dialog ux-dialog-header{display:block;border:0;padding:0}ux-dialog ux-dialog-header h2{z-index:1;margin:0;font-size:1.8rem}ux-dialog ux-dialog-header h2::after{border-top-left-radius:3px;border-top-right-radius:3px}ux-dialog ux-dialog-body{display:block;padding:2rem;font-size:1.4rem}ux-dialog ux-dialog-body h2{z-index:1}ux-dialog.viewModel ux-dialog-body{padding:0}@media only screen and (max-width: 400px){ux-dialog-container>div{padding:1rem !important}ux-dialog.viewModel{width:calc(100vw - 20px)}}ka-tabs{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;align-content:flex-start}ka-tabs>nav{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin:0;border-bottom:3px solid #e0e0e0;height:5rem;background-color:#fff}ka-tabs>nav a{position:relative;cursor:pointer;display:inline-block;outline:none;padding:0 1rem;line-height:5rem;font-size:1.2rem;color:rgba(64,64,64,.5);letter-spacing:.1rem;text-decoration:none;text-transform:uppercase;transition:all .4s}ka-tabs>nav a::after{content:\\\" \\\";opacity:0;display:block;position:absolute;bottom:0px;left:50%;z-index:2;width:0%;height:3px;background-color:#ed5a23;transform:translateX(-50%);transition:all .2s}ka-tabs>nav a:hover{color:#ed5a23}ka-tabs>nav a:hover::after{opacity:1;width:100%}ka-tabs>nav a.active{color:#ed5a23}ka-tabs>nav a.active::after{opacity:1;width:100%}ka-tabs>nav a .counter{display:block;position:absolute;bottom:0;left:50%;z-index:3;margin-left:-0.75rem;border-top-left-radius:3px;border-top-right-radius:3px;width:1.5rem;font-size:1rem;line-height:1.5rem;color:#fff;text-align:center;background-color:#ed5a23;box-shadow:0 0 0 3px #fff}ka-tabs>nav a .counter.errors{background-color:#f30}ka-tabs>[ref=buttons]{float:right;margin-top:-5rem}ka-tabs>[ref=buttons] a{display:inline-block;outline:none;cursor:pointer;margin:0;border:0;border-left:1px solid #e0e0e0;border-bottom:3px solid #e0e0e0;padding:0;width:5rem;height:5rem;line-height:5rem;color:rgba(64,64,64,.5);text-align:center;background:#fff;transition:all .2s}ka-tabs>[ref=buttons] a:hover{color:#ed5a23}ka-tabs>[ref=buttons] a:first-of-type{border-left:0}ka-tabs>[ref=buttons] a:last-of-type{border-right:0}ka-tabs>[ref=buttons] a:focus{background-color:inherit}ka-tabs>[ref=buttons] a:before{font-size:20px}ka-tabs>[ref=buttons] a i{line-height:inherit}ka-tabs>[ref=contents]>ka-tab{white-space:initial}.ka-tooltip{pointer-events:none;display:none;position:absolute;z-index:1100;border-radius:5px;padding:1rem 1rem;font-size:1.2rem;font-weight:400;line-height:1.4rem;color:#fff;background-color:#404040}.ka-tooltip.visible{display:block}.ka-tooltip>div.value a{color:inherit}.ka-tooltip>div.arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}.ka-tooltip.primary{background-color:#ed5a23}.ka-tooltip.secondary{background-color:#19a5f2}ka-control-combo,ka-control-text,ka-control-date,ka-control-datetime,ka-control-file,ka-control-number,ka-control-password,ka-control-textarea,ka-control-editor,ka-control-list,ka-control-check{display:block;position:relative;flex:1 1 0}ka-control-combo input,ka-control-text input,ka-control-date input,ka-control-datetime input,ka-control-file input,ka-control-number input,ka-control-password input,ka-control-textarea input,ka-control-editor input,ka-control-list input,ka-control-check input{outline:none;appearance:none;-moz-appearance:none;-webkit-appearance:none}ka-control-combo .display-value,ka-control-combo .display-value[disabled],ka-control-text .display-value,ka-control-text .display-value[disabled],ka-control-date .display-value,ka-control-date .display-value[disabled],ka-control-datetime .display-value,ka-control-datetime .display-value[disabled],ka-control-file .display-value,ka-control-file .display-value[disabled],ka-control-number .display-value,ka-control-number .display-value[disabled],ka-control-password .display-value,ka-control-password .display-value[disabled],ka-control-textarea .display-value,ka-control-textarea .display-value[disabled],ka-control-editor .display-value,ka-control-editor .display-value[disabled],ka-control-list .display-value,ka-control-list .display-value[disabled],ka-control-check .display-value,ka-control-check .display-value[disabled]{outline:none;border:0;border-radius:0;padding:0 0 0 .7rem;width:100%;height:3rem;font-family:inherit;font-size:1.4rem;line-height:3rem;color:#404040;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-control-combo .display-value:hover,ka-control-combo .display-value[disabled]:hover,ka-control-text .display-value:hover,ka-control-text .display-value[disabled]:hover,ka-control-date .display-value:hover,ka-control-date .display-value[disabled]:hover,ka-control-datetime .display-value:hover,ka-control-datetime .display-value[disabled]:hover,ka-control-file .display-value:hover,ka-control-file .display-value[disabled]:hover,ka-control-number .display-value:hover,ka-control-number .display-value[disabled]:hover,ka-control-password .display-value:hover,ka-control-password .display-value[disabled]:hover,ka-control-textarea .display-value:hover,ka-control-textarea .display-value[disabled]:hover,ka-control-editor .display-value:hover,ka-control-editor .display-value[disabled]:hover,ka-control-list .display-value:hover,ka-control-list .display-value[disabled]:hover,ka-control-check .display-value:hover,ka-control-check .display-value[disabled]:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5)}ka-control-combo .display-value:focus,ka-control-combo .display-value:focus:hover,ka-control-combo .display-value[disabled]:focus,ka-control-combo .display-value[disabled]:focus:hover,ka-control-text .display-value:focus,ka-control-text .display-value:focus:hover,ka-control-text .display-value[disabled]:focus,ka-control-text .display-value[disabled]:focus:hover,ka-control-date .display-value:focus,ka-control-date .display-value:focus:hover,ka-control-date .display-value[disabled]:focus,ka-control-date .display-value[disabled]:focus:hover,ka-control-datetime .display-value:focus,ka-control-datetime .display-value:focus:hover,ka-control-datetime .display-value[disabled]:focus,ka-control-datetime .display-value[disabled]:focus:hover,ka-control-file .display-value:focus,ka-control-file .display-value:focus:hover,ka-control-file .display-value[disabled]:focus,ka-control-file .display-value[disabled]:focus:hover,ka-control-number .display-value:focus,ka-control-number .display-value:focus:hover,ka-control-number .display-value[disabled]:focus,ka-control-number .display-value[disabled]:focus:hover,ka-control-password .display-value:focus,ka-control-password .display-value:focus:hover,ka-control-password .display-value[disabled]:focus,ka-control-password .display-value[disabled]:focus:hover,ka-control-textarea .display-value:focus,ka-control-textarea .display-value:focus:hover,ka-control-textarea .display-value[disabled]:focus,ka-control-textarea .display-value[disabled]:focus:hover,ka-control-editor .display-value:focus,ka-control-editor .display-value:focus:hover,ka-control-editor .display-value[disabled]:focus,ka-control-editor .display-value[disabled]:focus:hover,ka-control-list .display-value:focus,ka-control-list .display-value:focus:hover,ka-control-list .display-value[disabled]:focus,ka-control-list .display-value[disabled]:focus:hover,ka-control-check .display-value:focus,ka-control-check .display-value:focus:hover,ka-control-check .display-value[disabled]:focus,ka-control-check .display-value[disabled]:focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-control-combo .display-value.readonly,ka-control-combo .display-value.readonly:focus,ka-control-combo .display-value.readonly:hover,ka-control-combo .display-value[disabled].readonly,ka-control-combo .display-value[disabled].readonly:focus,ka-control-combo .display-value[disabled].readonly:hover,ka-control-text .display-value.readonly,ka-control-text .display-value.readonly:focus,ka-control-text .display-value.readonly:hover,ka-control-text .display-value[disabled].readonly,ka-control-text .display-value[disabled].readonly:focus,ka-control-text .display-value[disabled].readonly:hover,ka-control-date .display-value.readonly,ka-control-date .display-value.readonly:focus,ka-control-date .display-value.readonly:hover,ka-control-date .display-value[disabled].readonly,ka-control-date .display-value[disabled].readonly:focus,ka-control-date .display-value[disabled].readonly:hover,ka-control-datetime .display-value.readonly,ka-control-datetime .display-value.readonly:focus,ka-control-datetime .display-value.readonly:hover,ka-control-datetime .display-value[disabled].readonly,ka-control-datetime .display-value[disabled].readonly:focus,ka-control-datetime .display-value[disabled].readonly:hover,ka-control-file .display-value.readonly,ka-control-file .display-value.readonly:focus,ka-control-file .display-value.readonly:hover,ka-control-file .display-value[disabled].readonly,ka-control-file .display-value[disabled].readonly:focus,ka-control-file .display-value[disabled].readonly:hover,ka-control-number .display-value.readonly,ka-control-number .display-value.readonly:focus,ka-control-number .display-value.readonly:hover,ka-control-number .display-value[disabled].readonly,ka-control-number .display-value[disabled].readonly:focus,ka-control-number .display-value[disabled].readonly:hover,ka-control-password .display-value.readonly,ka-control-password .display-value.readonly:focus,ka-control-password .display-value.readonly:hover,ka-control-password .display-value[disabled].readonly,ka-control-password .display-value[disabled].readonly:focus,ka-control-password .display-value[disabled].readonly:hover,ka-control-textarea .display-value.readonly,ka-control-textarea .display-value.readonly:focus,ka-control-textarea .display-value.readonly:hover,ka-control-textarea .display-value[disabled].readonly,ka-control-textarea .display-value[disabled].readonly:focus,ka-control-textarea .display-value[disabled].readonly:hover,ka-control-editor .display-value.readonly,ka-control-editor .display-value.readonly:focus,ka-control-editor .display-value.readonly:hover,ka-control-editor .display-value[disabled].readonly,ka-control-editor .display-value[disabled].readonly:focus,ka-control-editor .display-value[disabled].readonly:hover,ka-control-list .display-value.readonly,ka-control-list .display-value.readonly:focus,ka-control-list .display-value.readonly:hover,ka-control-list .display-value[disabled].readonly,ka-control-list .display-value[disabled].readonly:focus,ka-control-list .display-value[disabled].readonly:hover,ka-control-check .display-value.readonly,ka-control-check .display-value.readonly:focus,ka-control-check .display-value.readonly:hover,ka-control-check .display-value[disabled].readonly,ka-control-check .display-value[disabled].readonly:focus,ka-control-check .display-value[disabled].readonly:hover{padding:0 0 0 .1px;background:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ka-control{display:inline-block;position:relative;margin:.5rem 0;width:100%}ka-control>label{display:block;margin:0;padding:0;width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap;transition:all .5s}ka-control>div{display:flex;flex-wrap:nowrap}ka-control>div>.ka-control-buttons{display:flex}ka-control>div>.ka-control-buttons button,ka-control>div>.ka-control-buttons button:focus{-webkit-appearance:none;-moz-appearance:none;display:block;margin:0;outline:0;border:0;border-left:1px solid #e0e0e0;border-radius:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-control>div>.ka-control-buttons button .material-icons,ka-control>div>.ka-control-buttons button i[class*=fa],ka-control>div>.ka-control-buttons button:focus .material-icons,ka-control>div>.ka-control-buttons button:focus i[class*=fa]{font-size:inherit;line-height:inherit;color:inherit}ka-control>div>.ka-control-buttons button:hover,ka-control>div>.ka-control-buttons button:focus:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5);color:#ed5a23}ka-control>div>.ka-control-buttons button:focus,ka-control>div>.ka-control-buttons button:focus:hover,ka-control>div>.ka-control-buttons button:focus:focus,ka-control>div>.ka-control-buttons button:focus:focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-control>div>.ka-control-buttons .button-dropdown{border-left:0}ka-control>.ka-control-overlay{width:100%}ka-control>.ka-control-overlay .ka-control-error{display:block;position:absolute;z-index:100;margin-top:-1px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:0 .5rem;width:100%;height:0;overflow:hidden;font-size:1.1rem;line-height:2rem;color:#f30;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;box-shadow:0 5px 10px -5px rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(255,51,0,.3),0 10px 10px -8px rgba(255,51,0,.3),10px 0 10px -8px rgba(255,51,0,.3),-10px 0 10px -8px rgba(255,51,0,.3);opacity:0;transition:height .2s,opacity .2s;pointer-events:none}ka-control>.ka-control-overlay .ka-control-error:before{content:\\\" \\\";position:absolute;inset:0 0 0 0;background-color:rgba(255,51,0,.1);z-index:-1}ka-control>.ka-control-overlay .ka-control-error span+span:before{content:\\\"-\\\";margin:0 5px}ka-control>.ka-control-overlay .ka-control-error .ka-control-error-scroller{display:flex;width:fit-content}ka-control>.ka-control-overlay .ka-control-error .ka-control-error-scroller span.clone{display:none}ka-control>.ka-control-overlay .ka-control-error.scroll .ka-control-error-scroller{animation:ka-control-error-scroller infinite 10s linear}ka-control>.ka-control-overlay .ka-control-error.scroll .ka-control-error-scroller span.clone{display:inline}ka-control>.ka-control-overlay .ka-control-description{display:block;position:absolute;z-index:100;margin-top:-1px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:0 .5rem;width:100%;height:0;overflow:hidden;font-size:1.1rem;line-height:2rem;color:#ed5a23;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;box-shadow:0 5px 10px -5px rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(237,90,35,.3),0 10px 10px -8px rgba(237,90,35,.3),10px 0 10px -8px rgba(237,90,35,.3),-10px 0 10px -8px rgba(237,90,35,.3);opacity:0;transition:height .2s,opacity .2s;pointer-events:none}ka-control>.ka-control-overlay .ka-control-description:before{content:\\\" \\\";position:absolute;inset:0 0 0 0;background-color:rgba(237,90,35,.1);z-index:-1}ka-control.focus>div:first-of-type{background:#fff;box-shadow:inset 0 0 0 1px rgba(237,90,35,.3),0 0 10px 0 rgba(237,90,35,.3)}ka-control.focus:not(.error)>.ka-control-overlay .ka-control-description{height:2rem;opacity:1}ka-control.focus.error>.ka-control-overlay .ka-control-error{height:2rem;opacity:1}ka-control.error>label{color:#f30;animation:ka-control-shake .7s}ka-control.error>div:first-of-type{background-color:#fff;box-shadow:inset 0 0 0 1px rgba(255,51,0,.3),0 0 10px 0 rgba(255,51,0,.3)}ka-control.error:not(.hadFocus)>.ka-control-overlay .ka-control-error{animation:4s ka-control-slidedownup}ka-control.ka-control-combo:not(.error)>div:hover+.ka-control-overlay .ka-control-description{display:block}ka-control.show-label-overflow>label{overflow:visible}ka-control.no-label>label{display:none}ka-control-backdrop{display:block;position:fixed;top:0;right:0;width:100%;height:100%;z-index:1999}@keyframes ka-control-slidedown{from{opacity:0;height:0}to{opacity:1;height:2rem}}@keyframes ka-control-slidedownup{0%{opacity:0;height:0}5%{opacity:1;height:2rem}95%{opacity:1;height:2rem}100%{opacity:0;height:0}}@keyframes ka-control-error-scroller{0%{transform:translateX(0%)}100%{transform:translateX(-50%)}}ka-control-check{position:relative;height:3rem;display:flex;align-items:center}ka-control-check input[type=checkbox]{display:block;margin:0;border:0;border-radius:1px;width:1.4rem;height:1.4rem;background:rgba(0,0,0,0);box-shadow:inset 0 0 0 1px #404040}ka-control-check input[type=checkbox]:checked{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-control-check .description{display:inline-block;padding-left:1rem;max-width:100%;overflow:hidden;line-height:3rem;font-size:1.4rem;color:#404040;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}ka-control-combo{display:block;position:relative;height:3rem;overflow:hidden}ka-control-combo .display-value{overflow:hidden;cursor:text}ka-control-combo .display-value ul{margin:0;padding:0 .1px 0 0;list-style:none;user-select:none;white-space:nowrap;display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:nowrap}ka-control-combo .display-value ul li{position:relative;display:block;font-size:1.4rem;line-height:3rem;color:#404040;cursor:pointer;overflow:hidden;text-overflow:ellipsis;flex-grow:0;flex-shrink:1;flex-basis:auto;transition:all .3s}ka-control-combo .display-value ul li:not(:last-child){margin-right:.3rem}ka-control-combo .display-value ul li:not(:last-child):after{content:\\\",\\\"}ka-control-combo .display-value ul li i{display:none;position:absolute;top:0;right:0;width:2.4rem;font-size:inherit;line-height:inherit;color:#fff;text-align:center;background-color:#ed5a23}ka-control-combo .display-value ul li:hover{flex-grow:0;flex-shrink:0;max-width:calc(100% - .6rem);max-width:--webkit-fill-available}ka-control-combo .display-value ul li:hover i{display:block}ka-control-combo.multiple .display-value:not(.readonly){padding-left:0}ka-control-combo.multiple .display-value:not(.readonly) ul li{margin:.3rem;border-radius:.2rem;padding:0 .5rem;line-height:2.4rem;box-shadow:inset 0 0 0 1px rgba(237,90,35,.5);background-color:rgba(237,90,35,.2)}ka-control-combo.multiple .display-value:not(.readonly) ul li:after{display:none}ka-control-backdrop{background-color:rgba(0,0,0,.0666666667)}ka-control-combo [ref=drawer],ka-control-backdrop [ref=drawer]{position:absolute;top:3rem;z-index:2000;width:100%;min-width:fit-content;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}ka-control-combo [ref=drawer] .search,ka-control-backdrop [ref=drawer] .search{outline:none;border:0;border-radius:0;padding:0 0 0 .7rem;width:100%;height:3rem;font-family:inherit;font-size:1.4rem;line-height:3rem;color:#404040;background-color:#fff}ka-control-combo [ref=drawer] .search-loader,ka-control-backdrop [ref=drawer] .search-loader{position:absolute;right:0;width:3rem;height:3rem;font-size:1.5rem;line-height:3rem;text-align:center;color:#404040;--fa-animation-duration: 0.5s}ka-control-combo [ref=drawer] ul,ka-control-backdrop [ref=drawer] ul{margin:0;padding:0;width:100%;max-height:25rem;overflow:hidden;overflow-y:auto;list-style:none;user-select:none}ka-control-combo [ref=drawer] ul li,ka-control-backdrop [ref=drawer] ul li{position:relative;margin:0;padding:.5rem 1rem;overflow:hidden;font-size:1.4rem;line-height:2rem;cursor:pointer;color:#404040;white-space:nowrap;text-overflow:ellipsis}ka-control-combo [ref=drawer] ul li.optgroup,ka-control-backdrop [ref=drawer] ul li.optgroup{color:rgba(64,64,64,.6)}ka-control-combo [ref=drawer] ul li:not(.optgroup):not(.readonly):hover,ka-control-backdrop [ref=drawer] ul li:not(.optgroup):not(.readonly):hover{background-color:rgba(237,90,35,.1)}ka-control-combo [ref=drawer] ul li:not(.readonly).selected,ka-control-backdrop [ref=drawer] ul li:not(.readonly).selected{color:#ed5a23}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup),ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup){padding-left:30px}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup)::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup)::before{content:\\\" \\\";display:block;position:absolute;top:8px;left:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup).selected::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup).selected::before{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23,inset 0 0 0 3px #fff}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup).readonly.selected::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup).readonly.selected::before{background-color:rgba(64,64,64,.7);box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-control-date .ka-control-date-drawer{display:none}ka-control-datetime .ka-control-datetime-drawer{display:none}ka-datetime{display:block}ka-datetime .selectors{color:rgba(64,64,64,.5);box-shadow:inset 0 -1px 0 #e0e0e0}ka-datetime .selectors:last-of-type{box-shadow:inset 0 1px 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(1) button{box-shadow:inset -1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(2)>div{position:relative;margin:0 0 0 auto;max-width:100px;text-align:right}ka-datetime .selectors [class*=col]:nth-child(2)>div select{text-transform:capitalize;box-shadow:inset 1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(3)>div{position:relative;margin:0 auto 0 0;max-width:100px;text-align:right}ka-datetime .selectors [class*=col]:nth-child(3)>div select{box-shadow:inset -1px 0 0 #e0e0e0,inset 1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(4) button{box-shadow:inset 1px 0 0 #e0e0e0}ka-datetime .selectors button{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;color:inherit;background:rgba(0,0,0,0);transition:all .5s}ka-datetime .selectors button:hover{color:#404040;background:rgba(237,90,35,.05)}ka-datetime .selectors select{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0 1rem;width:100%;height:3rem;font-size:1.4rem;line-height:3rem;color:#404040;background:rgba(0,0,0,0);box-shadow:inset -1px 0 0 #e0e0e0,inset 1px 0 0 #e0e0e0,inset 0 -1px 0 #e0e0e0;transition:all .5s}ka-datetime .selectors select:hover{color:#404040;background:rgba(237,90,35,.05)}ka-datetime .selectors select+.dropdown{pointer-events:none;display:block;position:absolute;top:0;right:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center}ka-datetime .weekdays{color:#404040;font-size:1rem;font-weight:700;line-height:2rem;text-align:center;text-transform:uppercase}ka-datetime .days button{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0;width:100%;height:2rem;font-size:1rem;line-height:2rem;color:inherit;text-align:center;background:rgba(0,0,0,0)}ka-datetime .days button:not([disabled]):hover{color:#ed5a23;background:rgba(237,90,35,.1)}ka-datetime .days button.selected,ka-datetime .days button.selected:hover{color:#fff;background:#ed5a23}ka-datetime .days button[disabled]{opacity:.5}ka-control-backdrop{display:block;position:fixed;top:0;right:0;width:100%;height:100%;z-index:1999;background-color:rgba(0,0,0,.0666666667)}ka-control-backdrop [ref=drawer]{display:block !important;position:absolute;z-index:2000;min-width:fit-content;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}ka-control-file input[type=file]{outline:none;position:absolute;top:0;left:0;opacity:0;border:0;border-radius:0;padding:0;width:100%;height:3rem}ka-control-file .buttons{display:none;position:absolute;top:0;right:0;white-space:nowrap;text-align:right;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%)}ka-control-file .buttons button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;border:0;padding:0;width:3rem;height:2.9rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:rgba(64,64,64,.3);text-align:center;text-decoration:none;background:rgba(0,0,0,0);transition:all .5s}ka-control-file .buttons button .material-icons{line-height:3rem;font-size:2rem}ka-control-file .buttons button:hover{color:#ed5a23}ka-control-file .buttons button+button{box-shadow:inset 1px 0 0 0 rgba(64,64,64,.1)}ka-control-file:hover .buttons{display:block}ka-control-list .display-value{background:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0)}ka-control-list .item:not(.readonly){background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3)}ka-control-list .row{margin-left:0;margin-right:0}ka-control-list .row label{display:none}ka-control-list .buttons{display:inline-block;float:right;width:6rem;height:3rem;white-space:nowrap;text-align:right}ka-control-list .buttons button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;border:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:rgba(64,64,64,.3);text-align:center;text-decoration:none;background:rgba(0,0,0,0);transition:all .5s}ka-control-list .buttons button .material-icons{line-height:3rem;font-size:2rem}ka-control-list .buttons button:hover{color:#ed5a23}ka-control-table{display:block;margin:1rem 0}ka-control-table h3{padding-left:0}ka-control-table table.ka-table-like{border:1px solid #e0e0e0;background-color:#fcfcfc}ka-control-table table.ka-table-like tbody tr:nth-child(even){background-color:#fcfcfc}ka-control-table table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}ka-control-table table.ka-table-like ka-input{margin:0}ka-control-table table.ka-table-like ka-input label{display:none}ka-control-table table.ka-table-like td.ka-tr-tools{width:5rem;border-left:1px solid #e0e0e0;text-align:center !important;vertical-align:middle}ka-control-textarea .display-value{padding-top:.4rem !important;padding-bottom:.4rem !important;min-height:10rem;line-height:1.6 !important}tr.ka-table-filters{border-top:1px solid #e0e0e0}tr.ka-table-filters th{padding:0 !important;height:4rem}tr.ka-table-filters th ka-control{position:absolute;top:.5rem;left:.5rem;margin:0;width:calc(100% - .75rem)}tr.ka-table-filters th ka-control .display-value,tr.ka-table-filters th ka-control .display-value:hover,tr.ka-table-filters th ka-control .display-value:focus{font-size:1.1rem;box-shadow:inset 0 0 5px 0 #d0d0d0,inset 0 0 1px 1px #d0d0d0}tr.ka-table-filters th:last-of-type{padding-right:1rem !important;font-size:1.1rem;font-weight:normal;text-align:right}tr.ka-table-filters th:last-of-type a{text-decoration:none}tr.ka-table-filters th:last-of-type a:hover{text-decoration:underline}ka-progress.linear{display:block;position:relative;z-index:2;height:3px;background-color:#e0e0e0;overflow:hidden}ka-progress.linear>div{background-color:#ed5a23}ka-progress.linear>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:ka-progress-linear-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}ka-progress.linear>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:ka-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}@keyframes ka-progress-linear-indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes ka-progress-linear-indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}html{font:62.5% \\\"Roboto\\\",sans-serif;background:#f9f9f9}.hidden{display:none}.shadow1{box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}h1{color:#ed5a23}h2{position:relative;margin:0 0 1rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:0 0 0 1rem;line-height:5rem;font-size:1.6rem;font-weight:400;color:#ed5a23;text-decoration:none}h2:first-child{border-top:0}h2::before{content:\\\" \\\";display:block;position:absolute;left:0;top:0px;z-index:-1;border-radius:50%;height:10px;width:100%;background-color:#000;box-shadow:0 0 10px rgba(0,0,0,.2)}h2::after{content:\\\" \\\";display:block;position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;background-color:#fcfcfc}h2>i.material-icons{line-height:5rem;vertical-align:bottom}h2>i[class*=fa]{margin:0 1rem 0 -1rem;border-right:1px solid #e0e0e0;width:5rem;font-size:2.5rem;line-height:5rem;vertical-align:bottom;text-align:center}h2 .ka-button,h2 ka-button{float:right}h3{margin:1rem 0;padding:0 1rem;line-height:1.4rem;font-size:1.4rem;font-weight:400;color:#ed5a23;text-decoration:none}h4,h5{color:#404040}p{margin:1rem;font-size:1.4rem;line-height:1.6;color:#404040}ul,ol{margin:1rem;padding:0 0 0 1.5rem;font-size:1.4rem;line-height:1.6;color:#404040}ul li,ol li{margin:0;padding:0}p a,ul a,ol a{color:#404040}.primary-text{color:#ed5a23}.primary-background{background-color:#ed5a23}.accent-text{color:#19a5f2}.accent-background{background-color:#19a5f2}.error-text{color:#f30}.error-background{background-color:#f30}.success-text{color:#1cc800}.success-background{background-color:#1cc800}router-view{display:block;min-height:calc(100% - 5rem);max-height:calc(100% - 5rem);overflow-y:auto;transition:all 250ms;-moz-transition:all 250ms;-webkit-transition:all 250ms}ka-resource ka-input,ka-resource ka-tab>ka-input,ka-resource ka-flex-row ka-tab>ka-input,ka-resource ka-flex-col ka-tab>ka-input,ka-resource md-input,ka-resource ka-tab>md-input,ka-resource ka-flex-row ka-tab>md-input,ka-resource ka-flex-col ka-tab>md-input{margin-left:1rem;margin-right:1rem;width:calc(100% - 2rem)}ka-resource ka-flex-row ka-input,ka-resource ka-flex-col ka-input,ka-resource ka-flex-row md-input,ka-resource ka-flex-col md-input{margin-left:0;margin-right:0;width:100%}ka-resource ka-table{margin:1rem;border:1px solid #e0e0e0}ka-flex-col>h2{margin-left:-0.5rem;margin-right:-0.5rem}ka-flex-col:first-of-type>h2{margin-left:-1.5rem}ka-flex-col:last-of-type>h2{margin-right:-1.5rem}ka-tabs ka-tab>ka-table:first-child{margin-top:0}ka-tabs ka-tab>ka-input,ka-tabs ka-tab>md-input{margin-top:3rem}ka-tabs ka-tab>ka-input:first-child,ka-tabs ka-tab>md-input:first-child{margin-top:1.5rem}ka-tabs ka-tab>ka-input:first-child.no-label,ka-tabs ka-tab>md-input:first-child.no-label{margin-top:0}h2+ka-input,h2+md-input{margin-top:2.5rem}ka-flex-row>ka-input+.ka-button,ka-flex-row>ka-input+ka-button,ka-flex-row>md-input+.ka-button,ka-flex-row>md-input+ka-button{margin-top:1.5rem}.md-toast{padding:2rem;border-radius:5px;position:absolute;z-index:9999;left:50%;bottom:-100%;opacity:0;background:#353535;box-shadow:inset 0 0 0 1px #000,0 0 5px rgba(0,0,0,.5);transform:translateX(-50%);transition:bottom .8s ease-in-out,opacity .4s ease-in-out}.md-toast.visible{opacity:1;bottom:2rem}.md-toast.platform-messages{display:grid;grid-template-columns:min(12vw,8rem) 1fr min(12vw,8rem);padding:0;min-height:8rem;min-width:30rem}.md-toast.platform-messages>.icon-box,.md-toast.platform-messages .closure-box{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.8))}.md-toast.platform-messages>.icon-box{display:flex;align-items:center;justify-content:center;border-bottom-left-radius:4px;border-top-left-radius:4px;box-shadow:inset -1px 0 0 rgba(0,0,0,.3)}.md-toast.platform-messages>.icon-box>i{font-size:min(1vw + 1.4rem,2rem);text-shadow:1px 1px 0 #000}.md-toast.platform-messages>.closure-box{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s;border-bottom-right-radius:4px;border-top-right-radius:4px;box-shadow:inset 1px 0 0 rgba(0,0,0,.3)}.md-toast.platform-messages>.closure-box:before{text-shadow:1px 1px 0 #000;transition:transform .3s;display:inline-block;content:\\\"\\\";margin:0;font-size:min(1vw + 1.4rem,2rem);font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e0e0e0;vertical-align:unset;animation:unset;font-weight:400}.md-toast.platform-messages>.closure-box:hover{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), black)}.md-toast.platform-messages>.closure-box:hover:before{transform:scale(1.2)}.md-toast.platform-messages>.content-box{display:flex;align-items:center;position:relative;padding:1rem}.md-toast.platform-messages>.content-box:before,.md-toast.platform-messages>.content-box:after{display:block;position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0}.md-toast.platform-messages>.content-box:before{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.5))}.md-toast.platform-messages>.content-box:after{background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.2) 1px, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 50%)}.md-toast.platform-messages>.content-box>p{display:flex;align-items:center;flex-direction:column;justify-content:space-around;margin:0;position:relative;z-index:1;max-height:100%;min-height:80%;line-height:1.3;text-align:center;font-size:min(1vw + .9rem,1.5rem);font-family:\\\"Roboto condensed\\\",sans-serif;font-weight:300;color:#fff}.md-toast.platform-messages>.content-box>p>a{line-height:2.2;font-weight:300;font-size:min(1vw + .8rem,1.3rem);font-family:\\\"Roboto flex\\\",sans-serif;text-shadow:1px 1px 0 #000;text-underline-offset:.4rem;white-space:nowrap;transition:all .3s}.md-toast.platform-messages>.content-box>p>a:hover{color:#fff}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.25)}0%{transform:scale(1)}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout{position:relative;display:block}km-layout aside{display:flex;flex-direction:column;align-content:stretch;position:fixed;z-index:200;top:0;left:0;bottom:0;height:auto;width:30rem;background:#fff;box-shadow:1px 0 0 0 rgba(35,45,61,.6);transition:transform .3s ease-in-out}km-layout aside .menu-level{padding:1rem;font-size:1rem;font-weight:700;text-align:center;text-transform:uppercase;color:#fff;background-color:#11254b}km-layout aside a:link{color:rgba(64,64,64,.9019607843);text-decoration:none}km-layout aside .km-layout-logo{position:relative;display:block;width:100%;padding-bottom:50%;background-position:center;background-repeat:no-repeat;background-size:75%;transition:background-size .3s ease-in-out;transition-delay:.1s;animation:logo-start-animation .8s ease-in-out}km-layout aside .km-layout-logo.empty{padding-bottom:0;height:6rem}km-layout aside .km-layout-logo:after{content:\\\"\\\";position:absolute;z-index:-1;width:100%;height:100%;box-shadow:inset 0 -12px 20px 10px rgba(239,0,0,.04);background:linear-gradient(to bottom, rgba(0, 0, 255, 0.04) 30%, rgba(239, 0, 0, 0.04) 60%)}km-layout aside nav{height:100%;overflow-y:auto;overflow-x:hidden;box-shadow:0 -1px 0 0 rgba(239,0,0,.3);background:#f0f0f0}km-layout aside nav::-webkit-scrollbar{display:none}km-layout aside nav.example{-ms-overflow-style:none;scrollbar-width:none}km-layout aside nav ul{list-style:none;margin:0;padding:0;width:100%;background:#fff}km-layout aside nav ul li{margin:0;width:100%;cursor:pointer}km-layout aside nav ul li>ul{overflow:hidden;interpolate-size:allow-keywords;transition:height .4s ease-in-out,visibility .4s ease-in-out}km-layout aside nav ul li>.wrapper{position:relative;z-index:401;display:flex;align-items:center;width:100%;transition:transform .6s ease-in-out,color .4s ease-in-out,box-shadow .4s ease-in-out,background .6s ease-in-out}km-layout aside nav ul li>.wrapper>a,km-layout aside nav ul li>.wrapper>span{display:flex;align-items:center;height:100%;flex-grow:1}km-layout aside nav ul li>.wrapper>a>.label,km-layout aside nav ul li>.wrapper>span>.label{position:relative}km-layout aside nav ul li.static .wrapper>*>i.after-icon{margin-left:auto;padding:0;font-size:1.2rem;color:#11254b}km-layout aside nav ul li.static:hover .wrapper>i{color:#e44c13}km-layout aside nav ul li.expandable .wrapper>i{display:flex;align-items:center;margin-left:auto;padding:0 1.5rem;height:4.8rem;font-size:1.2rem;transition:transform .5s ease-in-out}km-layout aside nav ul li.expanded>ul{height:auto;visibility:visible}km-layout aside nav ul li.collapsed>ul{height:0;visibility:collapse}km-layout aside nav ul li:not(.expandable)>.wrapper>a>.explanation,km-layout aside nav ul li:not(.expandable)>.wrapper>span>.explanation{display:flex;align-items:center;margin-left:auto;border-radius:3px;font-size:1.3rem;height:2rem;padding:.5rem;color:#11254b;text-transform:none;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif;background:rgba(64,64,64,.08)}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b{display:flex;align-items:center;margin-left:auto;font-size:1.2rem;text-align:center;position:relative;line-height:1;height:2.2rem;padding:0 .6rem;border-radius:3px;font-weight:600;font-family:\\\"Roboto mono\\\",sans-serif;color:#11254b;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(0,0,0,.04)}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b>i,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b>i{margin:0 0 0 .6rem;font-size:1.4rem;color:#ed5a23}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b:not(.custom):after,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b:not(.custom):after{content:\\\"\\\";display:inline-block;font-size:1.4rem;font-style:normal;font-weight:400;font-variant:normal;text-rendering:auto;margin:0 0 0 .5rem;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:badge-pulse 1s ease-in-out infinite alternate}km-layout aside nav ul.first-level{box-shadow:0 4px 4px 0 rgba(0,0,0,.2)}km-layout aside nav ul.first-level>li>.wrapper{font-weight:700;font-size:1.3rem;text-transform:uppercase;background:rgba(0,0,0,0);height:4.8rem;box-shadow:inset 0 -1px 0 0 rgba(35,45,61,.6)}km-layout aside nav ul.first-level>li>.wrapper:hover>*>.label:before{width:100%}km-layout aside nav ul.first-level>li>.wrapper>a,km-layout aside nav ul.first-level>li>.wrapper>span{padding:0 1.5rem;color:#0c1b36}km-layout aside nav ul.first-level>li>.wrapper>a>.label:before,km-layout aside nav ul.first-level>li>.wrapper>span>.label:before{display:block;content:\\\"\\\";position:absolute;bottom:0;left:0;width:0;height:1px;background:rgba(17,37,75,.6);transition:width .5s ease}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon{padding:0 .7rem 0 0;margin-bottom:.2rem;font-size:1.6rem;color:#1a3a75}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon.animated,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon.animated{animation:first-level-before-icon 10s ease-in-out infinite}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon.primary,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon.primary{color:#e44c13}km-layout aside nav ul.first-level>li>.wrapper>a>i.svg-icon,km-layout aside nav ul.first-level>li>.wrapper>span>i.svg-icon{margin:0 .7rem 0 0;width:2rem;height:-moz-available;height:-webkit-fill-available;height:stretch;background-position:0 45%;background-repeat:no-repeat}km-layout aside nav ul.first-level>li.expanded>ul.second-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset 1px 4px 4px 0 rgba(35,45,61,.2)}km-layout aside nav ul.first-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.5)}km-layout aside nav ul.first-level>li.expanded>.wrapper>i{transform:scale(1) rotate(180deg)}km-layout aside nav ul.first-level>li.collapsed>.wrapper>i{transform:scale(1) rotate(0deg)}km-layout aside nav ul.second-level{background:#f0f0f0}km-layout aside nav ul.second-level>li>.wrapper{font-weight:400;font-size:1.4rem;font-family:\\\"Roboto slab\\\",serif;height:4rem;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2)}km-layout aside nav ul.second-level>li>.wrapper>a,km-layout aside nav ul.second-level>li>.wrapper>span{padding:0 1.5rem 0 1.5rem;color:#404040}km-layout aside nav ul.second-level>li>.wrapper>a>i.after-icon,km-layout aside nav ul.second-level>li>.wrapper>span>i.after-icon{font-size:1.2rem;margin-left:auto;color:#11254b}km-layout aside nav ul.second-level>li:not(.expandable)>.wrapper{font-family:\\\"Roboto condensed\\\",sans-serif}km-layout aside nav ul.second-level>li:not(.expandable)>.wrapper:hover{background:rgba(17,37,75,.06)}km-layout aside nav ul.second-level>li>ul.third-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset 0 1px 5px -2px rgba(0,0,0,.2)}km-layout aside nav ul.second-level li.expanded>.wrapper>i{transform:rotate(180deg)}km-layout aside nav ul.second-level li.collapsed>.wrapper>i{transform:rotate(0deg)}km-layout aside nav ul.second-level>li.expandable{background:#fff}km-layout aside nav ul.second-level>li.expandable .wrapper>i{color:rgba(64,64,64,.6)}km-layout aside nav ul.second-level>li.highlighted>.wrapper>a,km-layout aside nav ul.second-level>li.highlighted>.wrapper>span{font-size:1.5rem;color:#ec4f15}km-layout aside nav ul.third-level{background:#f0f0f0}km-layout aside nav ul.third-level>li>.wrapper{font-weight:400;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif;height:4rem;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2)}km-layout aside nav ul.third-level>li>.wrapper>a,km-layout aside nav ul.third-level>li>.wrapper>span{color:rgba(0,0,0,.7);padding:0 1.5rem 0 2rem}km-layout aside nav ul.third-level>li>.wrapper>a>i.after-icon,km-layout aside nav ul.third-level>li>.wrapper>span>i.after-icon{font-size:1.3rem;margin-left:auto;color:#11254b}km-layout aside nav ul.third-level>li>.wrapper>a>.label:before,km-layout aside nav ul.third-level>li>.wrapper>span>.label:before{display:inline-block;margin:0 .7rem 0 0;content:\\\"\\\";width:3px;height:3px;border-radius:50%;background:rgba(0,0,0,.5);vertical-align:middle;transition:color .6s ease}km-layout aside nav ul.third-level>li.highlighted>.wrapper>a,km-layout aside nav ul.third-level>li.highlighted>.wrapper>span{font-weight:600;color:#11254b;letter-spacing:.01rem}km-layout aside nav ul.third-level>li.highlighted>.wrapper>a>span:before,km-layout aside nav ul.third-level>li.highlighted>.wrapper>span>span:before{width:3.5px;height:3.5px;background:#ec4f15}km-layout aside nav ul.second-level>li>.wrapper>*>.label:after,km-layout aside nav ul.third-level>li>.wrapper>*>.label:after{display:block;content:\\\"\\\";position:absolute;bottom:1px;left:0;width:0;height:1px;background:rgba(0,0,0,.5);transition:width .6s ease}km-layout aside nav ul.second-level>li>.wrapper:hover>*>.label:after,km-layout aside nav ul.third-level>li>.wrapper:hover>*>.label:after{width:100%}km-layout aside nav ul.second-level>li.highlighted>.wrapper>*>.label:after{background:rgba(237,90,35,.5)}km-layout aside nav ul.third-level>li>.wrapper>*>.label:after{left:1rem}km-layout aside nav ul.third-level>li>.wrapper:hover>*>.label:after{width:calc(100% - 1rem)}km-layout aside nav ul.third-level>li:not(.expandable)>.wrapper:hover{background:rgba(17,37,75,.07)}km-layout aside nav ul.third-level>li:not(.highlighted)>.wrapper:hover>*>.label:before{background:#000}km-layout aside div[slot=afterNav]{background:#f0f0f0}@keyframes first-level-before-icon{0%{opacity:0;transform:translateX(-200%)}3%{opacity:1;transform:translateX(0%)}96%{opacity:1}100%{opacity:0}}@keyframes logo-start-animation{0%{opacity:0;background-size:300%}30%{opacity:0;background-size:300%}100%{opacity:1;background-size:75%}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout header{position:fixed;top:0;right:0;left:0;z-index:1;padding-left:1rem;height:6rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#fff;background:#232d3d}km-layout header *{color:inherit}km-layout header h1{display:block;margin:0 1rem 0 0;font-size:min(1rem + 1.5vw,2.8rem);font-weight:100;font-family:\\\"Roboto flex\\\",sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}km-layout header .km-layout-info-box{display:flex;align-items:center;justify-content:center;margin-left:auto}km-layout header .km-layout-info-box>.wrapper{display:flex;align-items:center;justify-content:center;border-radius:2px;padding:.5rem 1.2rem;font-size:1.1rem;font-weight:800;line-height:1.1;color:#11254b;text-transform:uppercase;background:#fff}km-layout header .km-layout-info-box>.wrapper>div{margin-left:1.2rem;padding-left:1.6rem;white-space:nowrap;box-shadow:inset 1px 0 0 rgba(17,37,75,.5);font-size:1.2rem;font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-info-box>.wrapper>div>strong{font-weight:700;color:#f30}km-layout header .km-layout-info-box>.wrapper>i{font-size:2.8rem;color:#f30}@media screen and (max-width: 1400px){km-layout header .km-layout-info-box{display:none}}km-layout header .km-layout-user{position:relative;display:flex;flex-direction:row;align-items:center;flex-shrink:0;margin-left:auto;overflow:hidden}km-layout header .km-layout-user>span{border-radius:50%;width:min(2rem + 2.2vw,4.2rem);height:min(2rem + 2.2vw,4.2rem);overflow:hidden;margin-left:1rem;background:rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px #fff}km-layout header .km-layout-user>span.profile-icon{display:flex;align-items:center;justify-content:center}km-layout header .km-layout-user>span.profile-icon>i{font-size:min(1rem + 1vw,2.1rem)}km-layout header .km-layout-user>span.profile-picture{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}km-layout header .km-layout-user>div.user-profile{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 1rem;font-size:1.3rem;line-height:1.5rem;height:6rem;cursor:pointer}km-layout header .km-layout-user>div.user-profile>strong.user-name-title{align-self:flex-start;font-size:min(1rem + .5vw,1.4rem);line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.05rem;font-family:\\\"Roboto flex\\\",sans-serif;color:#fff}km-layout header .km-layout-user>div.user-profile>span{display:block}km-layout header .km-layout-user>div.user-profile>span.displayName{font-weight:70}km-layout header .km-layout-user>div.user-profile>span.user-name{max-width:15vw;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-weight:200;font-size:min(1rem + .5vw,1.5rem);line-height:1.3;color:rgba(255,255,255,.8);font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-user>div.user-profile>span.impersonation{border-radius:2px;padding:.5rem;font-size:11px;font-weight:700;line-height:1;color:red;text-transform:uppercase;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.4)}km-layout header .km-layout-user>a{display:flex;position:absolute;flex-direction:row;align-items:center;justify-content:center;top:6rem;right:0;width:100%;height:100%;font-size:1.5rem;text-decoration:none;color:#fff;opacity:.5;font-weight:200;font-family:\\\"Roboto flex\\\",sans-serif;text-decoration:underline;text-underline-offset:.4rem;text-decoration-color:rgba(255,255,255,.4);background:#181f2b;transition:top .5s ease,opacity .5s ease;box-shadow:inset 1px 0 0 0 rgba(255,255,255,.2)}km-layout header .km-layout-user:hover>a{top:0;opacity:1}km-layout aside+header{left:30rem;transition:all .3s ease-in-out;transition-delay:.1s}km-layout+router-view{position:fixed;top:6rem;right:0;bottom:0;left:30rem;transition:left .3s ease-in-out;transition-delay:.2s}km-layout.collapsed aside{transform:translateX(-100%)}km-layout.collapsed aside .km-layout-logo{background-size:200%;transition-delay:.3s}km-layout.collapsed aside+header{padding-left:6rem;left:0;transition-delay:0s}km-layout.collapsed+router-view{left:0;transition-delay:0s}@media screen and (max-width: 860px){km-layout aside+header{padding-left:6rem;left:0}km-layout+router-view{left:0}}@media screen and (max-width: 620px){km-layout header .km-layout-user{display:none}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout header .km-layout-toolbar{display:flex;flex-direction:row;align-items:center}km-layout header .km-layout-toolbar>button,km-layout header .km-layout-toolbar>.button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:min(3rem + 3vw,60px);height:60px;font-size:13px;font-weight:700;line-height:1;color:#fff;text-decoration:none;background:rgba(0,0,0,.3);box-shadow:inset 1px 0 0 0 rgba(255,255,255,.2);transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>button i,km-layout header .km-layout-toolbar>.button i{display:block;font-size:min(1.5rem + 1vw,2.5rem)}km-layout header .km-layout-toolbar>button span,km-layout header .km-layout-toolbar>.button span{display:block;font-size:min(.5rem + .5vw,1rem);letter-spacing:.05rem;font-weight:300;text-transform:uppercase;opacity:0;font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-toolbar>button i+span,km-layout header .km-layout-toolbar>.button i+span{height:0;overflow:hidden;opacity:0;transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>button:hover i+span,km-layout header .km-layout-toolbar>.button:hover i+span{margin-top:5px;height:10px;opacity:.8}km-layout header .km-layout-toolbar>button b,km-layout header .km-layout-toolbar>.button b{display:flex;align-items:center;justify-content:center;position:absolute;padding:0 .5rem;top:4px;right:4px;border-radius:50%;min-width:24px;height:24px;font-size:1.2rem;font-weight:500;color:#e62e00;text-align:center;background:#fff;font-family:\\\"Roboto condensed\\\",sans-serif;animation:badge-pulse 1s ease-in-out infinite alternate}km-layout header .km-layout-toolbar>.button b{letter-spacing:-0.3px}km-layout header .km-layout-toolbar .notifications-error a[href=notifiche]>b{font-size:1.4rem;color:#11254b}km-layout header .km-layout-toolbar>ul[data-subtool]{position:absolute;top:60px;margin:0;padding:0;list-style:none;max-height:0;overflow:hidden;background:#232d3d;transition:max-height .6s ease-in-out}km-layout header .km-layout-toolbar>ul[data-subtool].visible{max-height:calc(4.8rem*8)}km-layout header .km-layout-toolbar>ul[data-subtool] li{margin:0;padding:0}km-layout header .km-layout-toolbar>ul[data-subtool] li a{display:flex;align-items:center;padding:0 2rem;font-size:1.4rem;color:#fff;height:4.8rem;text-decoration:none;background-color:rgba(0,0,0,.15);box-shadow:inset 0 2px 0 -1px rgba(255,255,255,.3);transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>ul[data-subtool] li a>i{margin-right:1rem;font-size:2rem;width:2.5rem;color:rgba(255,255,255,.8)}km-layout header .km-layout-toolbar>ul[data-subtool] li a>i.svg-icon{margin-right:1.1rem;width:2.3rem;height:-moz-available;height:-webkit-fill-available;height:stretch;background-position:center;background-repeat:no-repeat}km-layout header .km-layout-toolbar>ul[data-subtool] li a>.label{position:relative}km-layout header .km-layout-toolbar>ul[data-subtool] li a>.label:before{display:block;content:\\\"\\\";position:absolute;bottom:-1px;left:0;width:0;height:1px;background:#fff;transition:width .3s ease}km-layout header .km-layout-toolbar>ul[data-subtool] li a:hover{background-color:rgba(0,0,0,.3)}km-layout header .km-layout-toolbar>ul[data-subtool] li a:hover>.label:before{width:100%}km-layout header .km-layout-toolbar>ul[data-subtool] li:first-of-type>a{box-shadow:none}km-layout .km-layout-burger{display:block;position:fixed;top:10px;left:10px;width:4rem;height:4rem;cursor:pointer;z-index:100;text-align:center;color:#ed5a23}km-layout .km-layout-burger .material-icons{font-size:2.8rem;color:#e44c13;line-height:4rem;transition:color .3s ease-in-out}km-layout.collapsed .km-layout-burger{color:#fff}km-layout.collapsed .km-layout-burger .material-icons{color:#fff}body>.md-tooltip{display:block;position:absolute;content:attr(ka-tooltip);z-index:1100;padding:.5rem;border-radius:2px;border:1px solid #e0e0e0;max-width:20rem;line-height:1.2rem;font-size:1rem !important;opacity:0;color:#606060;background:#f9f9f9;transform:translateX(-50%);box-shadow:0 3px 6px -3px rgba(0,0,0,.5);pointer-events:none;transition:opacity .5s}body>.md-tooltip.visible{opacity:1}body>.md-tooltip ul{margin:-0.5rem;padding:0;list-style:none}body>.md-tooltip ul li{border-bottom:1px solid #e0e0e0;padding:.5rem;font-size:1rem;line-height:1.3}body>.md-tooltip ul li:last-of-type{border-bottom:0}ka-input[md-tooltip] i.tooltip-icon,md-input[md-tooltip] i.tooltip-icon,ka-control[md-tooltip] i.tooltip-icon,md-control[md-tooltip] i.tooltip-icon{margin-left:0;font-size:1.5rem;cursor:pointer;transition:color .3s;vertical-align:bottom}ka-input[md-tooltip] span+i.tooltip-icon,md-input[md-tooltip] span+i.tooltip-icon,ka-control[md-tooltip] span+i.tooltip-icon,md-control[md-tooltip] span+i.tooltip-icon{margin-left:.4rem;vertical-align:sub}ka-input[md-tooltip] i.tooltip-icon:hover,md-input[md-tooltip] i.tooltip-icon:hover,ka-control[md-tooltip] i.tooltip-icon:hover,md-control[md-tooltip] i.tooltip-icon:hover{color:#ed5a23}*[static-tooltip]{display:inline-flex;align-items:flex-start;line-height:inherit;cursor:pointer;transition:color .3s}*[static-tooltip]:not(.has-custom-icon):after{margin-left:.5rem !important;display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}*[static-tooltip]:hover{color:#ed5a23}*[static-tooltip]>i{display:flex;text-decoration:none}body>.static-tooltip{font-size:1.2rem;color:#fff;pointer-events:auto}body>.static-tooltip>.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;padding:0 0 1rem;border-bottom:1px dotted rgba(255,255,255,.3)}body>.static-tooltip>.header>.header-title{display:flex;align-items:flex-end}body>.static-tooltip>.header>.header-title>i{margin:0 !important}body>.static-tooltip>.header>.header-title>i>svg{width:2.2rem;height:2.2rem;margin:0 !important}body>.static-tooltip>.header>.header-title>h3{margin:0;padding:0 1rem 0 .6rem;font-size:1.5rem;font-weight:500;color:#fff;order:2;font-family:\\\"Roboto flex\\\",sans-serif}body>.static-tooltip>.header>.closure:before{cursor:pointer;display:inline-block;content:\\\"\\\";margin:0;font-size:1.7rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(255,255,255,.95);vertical-align:unset;animation:unset;font-weight:900}body>.static-tooltip>.value>p{margin:0;font-size:1.2rem;color:#fff}body>.static-tooltip>.value>p>strong{font-size:1.4rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif}body>.static-tooltip>.value>p>a{font-weight:300;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif;text-underline-offset:.4rem;color:#ffa150;text-shadow:1px 1px 0 #000}body>.static-tooltip>.value>p>a:hover{color:#fff}body>.static-tooltip>.value>p>a:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ffa150;vertical-align:unset;animation:unset;font-weight:400}km-layout:not(.collapsed)+router-view+.ka-toast,km-layout:not(.collapsed)+router-view+style+.ka-toast{left:calc(50% + 15rem) !important;transform:translate(-50%, calc(100% + 3rem)) !important}km-layout:not(.collapsed)+router-view+.ka-toast.visible,km-layout:not(.collapsed)+router-view+style+.ka-toast.visible{transform:translate(-50%, 0) !important}.ka-toast{position:fixed;right:auto;top:auto;bottom:2rem;left:50%;z-index:2000;border:0;border-radius:5px;padding:2rem;overflow:hidden;font-size:1.3rem;line-height:1rem;text-align:center;color:#e0e0e0;text-shadow:0 0 5px #1a1a1a;background-color:#404040;box-shadow:inset 0 0 0 1px #101010,0 0 10px rgba(0,0,0,.5);transform:translate(-50%, calc(100% + 3rem));transition:all .5s}.ka-toast.visible{transform:translate(-50%, 0)}.ka-toast a{color:#e0e0e0}.ka-toast:before{display:block;position:absolute;top:0;left:0;width:5rem;height:5rem;font-style:normal;font-variant:normal;font-size:2rem;line-height:5rem;text-align:center;text-rendering:auto;-webkit-font-smoothing:antialiased}.ka-toast.ka-toast-loading{padding-left:4rem;color:#fff;background-color:#202020}.ka-toast.ka-toast-loading:before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\";-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.ka-toast.ka-toast-error{padding-left:4rem;color:#f30;background-color:#202020}.ka-toast.ka-toast-error::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-error::after{content:\\\" \\\";display:block;border-radius:5px;position:absolute;inset:0 0 0 0;box-shadow:inset 0 0 0 1px #202020,inset 0 0 0 2px rgba(255,51,0,.5)}.ka-toast.ka-toast-success{padding-left:4rem;color:#1cc800;background-color:#202020}.ka-toast.ka-toast-success::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-accent,.ka-toast.ka-toast-warning{color:#19a5f2;background-color:#202020}.ka-toast.ka-toast-accent::before,.ka-toast.ka-toast-warning::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-primary{color:#ed5a23;background-color:#202020}@keyframes animate-katoast-icon{0%{transform:scale(1)}50%{transform:scale(1.5)}0%{transform:scale(1)}}#serverStatus,#appUpdate{position:fixed;left:0;bottom:0;width:100vw;height:5rem;line-height:5rem;z-index:200;font-size:1.4rem;font-weight:300;color:#fff;text-align:center;background:#f30;text-shadow:1px 1px 0 rgba(0,0,0,.8);box-shadow:0 0 10px rgba(0,0,0,.2)}#serverStatus#appUpdate,#appUpdate#appUpdate{display:flex;align-items:center;justify-content:center}#serverStatus#appUpdate strong:before,#appUpdate#appUpdate strong:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:unset;animation:unset;font-weight:400}#serverStatus#appUpdate ka-button,#appUpdate#appUpdate ka-button{text-shadow:none}@media screen and (max-width: 575px){table.ka-table-like{display:table}}@media screen and (max-width: 1400px){km-layout header .km-layout-info-box{display:none}}km-layout header>h1{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-primary{color:#ed5a23 !important}.text-secondary{color:#11254b !important}.text-error{color:#f30 !important}.text-success{color:#1cc800 !important}.text-color{color:#404040 !important}router-view{min-height:calc(100% - 60px);max-height:calc(100% - 60px);overflow:hidden}router-view h2{min-height:5.1rem;font-weight:400;font-family:\\\"Roboto slab\\\",serif}router-view>h2:first-child+.ka-table,router-view style:first-child+h2+.ka-table{margin-top:-1rem}router-view>h2:first-child+ka-table,router-view style:first-child+h2+ka-table{margin-top:-1rem}router-view>h2:first-child+ka-tabs,router-view style:first-child+h2+ka-tabs{margin-top:-1rem}router-view>ka-tabs ka-tab h2:first-child+ka-tabs{margin-top:-1rem}router-view>ka-tabs ka-tab>ka-table:first-child{margin-top:-1rem}router-view h2+md-table-toolbar{margin-top:-1.1rem}router-view h2+md-table-progressbar{margin-top:-1rem}router-view h2+md-table-wrapper,router-view h2+md-table-progressbar+md-table-wrapper{margin-top:-1rem}router-view h2 md-accordion-button{float:right;margin-top:1rem}*[class^=limitwidth]{max-width:30rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}*[class^=limitwidth]:not(td){display:block}*[class^=limitwidth].limitwidth-10{max-width:10rem}*[class^=limitwidth].limitwidth-20{max-width:20rem}*[class^=limitwidth].limitwidth-30{max-width:30rem}*[class^=limitwidth].limitwidth-40{max-width:40rem}*[class^=limitwidth].limitwidth-50{max-width:50rem}.app-shared-search-style{margin-left:0;margin-right:0;margin-bottom:1rem}.app-shared-search-style>div[class*=col-] ka-control,.app-shared-search-style>div[class*=col-] md-control,.app-shared-search-style>div.col ka-control,.app-shared-search-style>div.col md-control{display:block}.app-shared-search-style>div[class*=col-] ka-input,.app-shared-search-style>div[class*=col-] md-input,.app-shared-search-style>div.col ka-input,.app-shared-search-style>div.col md-input{margin-bottom:0}.app-shared-search-style>div[class*=col-] ka-button,.app-shared-search-style>div.col ka-button{margin:0}.app-shared-search-style>div[class*=col-] ka-button+ka-button,.app-shared-search-style>div.col ka-button+ka-button{margin-left:1rem}.user-initials{border-radius:50%;color:#fff;text-transform:uppercase;background-color:#404040}.ka-table-button.selected{color:#ed5a23}.ka-table-button.unselected{color:rgba(64,64,64,.3)}ka-table tbody td small.emphasis{color:#ed5a23 !important}ka-table tbody td a{color:inherit;text-decoration:none}ka-table tbody td a:hover{text-decoration:underline}.ka-table-like{height:1px}.ka-table-like tbody{transition:opacity .5s,filter .5s}.ka-table-like tbody.isLoading{opacity:.5;filter:blur(5px);pointer-events:none}.ka-table-like tbody tr{border:0 !important;box-shadow:inset 0 -1px 0 0 rgba(224,224,224,.5)}.ka-table-like tbody tr td:last-of-type ka-button{margin:0}.ka-table-like tbody tr td:last-of-type ka-button+ka-button{margin-left:1rem}.ka-table-like tbody tr td:last-of-type.flex-column>ka-button+ka-button{margin-top:1rem;margin-left:0}.ka-table-like .ka-table-row-tools{padding:0;height:100%;width:1%;white-space:nowrap}.ka-table-like .ka-table-row-tools>.tools-wrapper{display:flex;align-items:center;width:fit-content;height:100%;box-shadow:-5px 0 5px -5px rgba(0,0,0,0.2509803922),inset -1px 0 0 rgba(224,224,224,.5);background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, white 25%, white 75%, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0) 100%)}.ka-table-like .ka-table-row-tools>.tools-wrapper>button{display:inline-block;appearance:none;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:4rem;height:4rem;height:100%;line-height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:#fff;background:linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0) 100%);box-shadow:inset -1px 0 0 rgba(224,224,224,.5);transition:all .5s}.ka-table-like .ka-table-row-tools>.tools-wrapper>button[disabled]{color:#e0e0e0;pointer-events:none}.ka-table-like .ka-table-row-tools>.tools-wrapper>button:hover{color:rgba(237,90,35,.7)}.ka-table-like .ka-table-row-tools>.tools-wrapper>button>i{font-size:2rem;line-height:inherit;color:inherit}md-table-progressbar{position:absolute;width:100%}.ka-tr-tools>button.ka-table-button[disabled]{color:rgba(64,64,64,.4) !important}.ka-tr-tools>button.ka-table-button>i[class*=fa-]{font-size:2rem}.ka-table-backdrop{z-index:1099}.ka-table-drawer.filters ka-input>label{overflow:visible}ka-tab{white-space:normal}ux-dialog-container{overflow-y:hidden}ux-dialog-container>div{padding:0}ux-dialog-container ux-dialog.small{max-width:40rem}ux-dialog-container ux-dialog.medium{max-width:70rem}ux-dialog-container ux-dialog.large{max-width:100rem}ux-dialog-container ux-dialog ux-dialog-body .body{max-height:calc(100vh - 5rem - 6.1rem - 6rem);overflow:auto}.ka-resource-buttons{z-index:2}.ka-resource-buttons a{color:rgba(237,90,35,.7)}.ka-resource-buttons a:hover{color:#ed5a23}ka-control{margin:0}ka-control input::placeholder{color:rgba(64,64,64,.4)}ka-input.error,md-input.error{box-shadow:inset 0 0 0 1px rgba(255,51,0,.6),0 0 10px rgba(255,51,0,.4)}.md-prefsel-dialog{width:calc(100vw - 80px);min-width:300px}.md-prefsel-dialog>ux-dialog-body{height:fit-content;max-height:calc(100vh - 103px - 80px);overflow:auto}.currency:after{display:inline-block;margin:0 0 0 .3rem;font-size:1.4rem;color:inherit;font-family:\\\"Roboto slab\\\",sans-serif;content:\\\"€\\\"}ka-button{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif}ka-button:first-letter{text-transform:uppercase}ka-button>i{padding-right:1rem;transition:all .3s}ka-button>i:only-child{padding-right:0}ka-button>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button>span:first-letter{text-transform:uppercase}ka-button>i+span{display:inline-block}ka-button.icon{min-width:3rem;max-width:none}ka-button.with-icon{display:inline-flex;align-items:center}ka-button.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important}ka-button.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.disabled>i{color:rgba(64,64,64,.3)}ka-button.with-icon:not(.secondary):not(.error):not(.grey){max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0 1px #df4a12,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.with-icon:not(.secondary):not(.error):not(.grey):first-letter{text-transform:uppercase}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i{padding-right:1rem;transition:all .3s}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i:only-child{padding-right:0}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span:first-letter{text-transform:uppercase}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i+span{display:inline-block}ka-button.with-icon:not(.secondary):not(.error):not(.grey).icon{min-width:3rem;max-width:none}ka-button.with-icon:not(.secondary):not(.error):not(.grey).with-icon{display:inline-flex;align-items:center}ka-button.with-icon:not(.secondary):not(.error):not(.grey).with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#ed5a23;box-shadow:-1px 0 0 0 #df4a12}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i{color:#ed5a23}ka-button.with-icon:not(.secondary):not(.error):not(.grey).flat{box-shadow:inset 0 0 0 1px #df4a12 !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey).inverted>span{background:rgba(237,90,35,.1)}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled).inverted:hover{background-color:#ededed}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #df4a12,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled):not(.inverted):hover>span{background:#ed5a23;box-shadow:-1px 0 0 0 #df4a12}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled>i{color:rgba(64,64,64,.3)}ka-button.secondary.with-icon{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0px 1px #0b1932,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.secondary.with-icon:first-letter{text-transform:uppercase}ka-button.secondary.with-icon>i{padding-right:1rem;transition:all .3s}ka-button.secondary.with-icon>i:only-child{padding-right:0}ka-button.secondary.with-icon>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.secondary.with-icon>span:first-letter{text-transform:uppercase}ka-button.secondary.with-icon>i+span{display:inline-block}ka-button.secondary.with-icon.icon{min-width:3rem;max-width:none}ka-button.secondary.with-icon.with-icon{display:inline-flex;align-items:center}ka-button.secondary.with-icon.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.secondary.with-icon>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#11254b;box-shadow:-1px 0 0 0 #0b1932 !important}ka-button.secondary.with-icon>i{color:#11254b}ka-button.secondary.with-icon.flat{box-shadow:inset 0 0 0 1px #0b1932 !important}ka-button.secondary.with-icon.inverted>span{background:rgba(17,37,75,.1)}ka-button.secondary.with-icon:not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #0b1932,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.secondary.with-icon:not(.disabled):not(.inverted):hover>span{background:#11254b;box-shadow:-1px 0 0 0 #0b1932 !important}ka-button.secondary.with-icon.busy:before,ka-button.secondary.with-icon>.busy:after{background:#11254b}ka-button.secondary.with-icon.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important}ka-button.secondary.with-icon.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.secondary.with-icon.disabled>i{color:rgba(64,64,64,.3)}ka-button.error.with-icon{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0 1px #e02d00,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.error.with-icon:first-letter{text-transform:uppercase}ka-button.error.with-icon>i{padding-right:1rem;transition:all .3s}ka-button.error.with-icon>i:only-child{padding-right:0}ka-button.error.with-icon>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.error.with-icon>span:first-letter{text-transform:uppercase}ka-button.error.with-icon>i+span{display:inline-block}ka-button.error.with-icon.icon{min-width:3rem;max-width:none}ka-button.error.with-icon.with-icon{display:inline-flex;align-items:center}ka-button.error.with-icon.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.error.with-icon>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#b32400;box-shadow:-1px 0 0 0 #b32400 !important}ka-button.error.with-icon>i{color:#b32400}ka-button.error.with-icon.flat{box-shadow:inset 0 0 0 1px #b32400 !important}ka-button.error.with-icon.inverted>span{color:#b32400;background:rgba(179,36,0,.15)}ka-button.error.with-icon:not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #e02d00,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.error.with-icon:not(.disabled):not(.inverted):hover>span{background:#b32400;box-shadow:-1px 0 0 0 #b32400 !important}ka-button.error.with-icon.busy:before,ka-button.error.with-icon>.busy:after{background:#b32400}ka-button.error.with-icon.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important}ka-button.error.with-icon.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.error.with-icon.disabled>i{color:rgba(64,64,64,.3)}ux-dialog .dialog-loader>span:after{content:\\\"...\\\";margin-left:.3rem;animation:loading-elipsis .8s linear infinite}.tag{display:inline-block;padding:0 .5rem;border-radius:.3rem;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;vertical-align:middle;font-size:1.3rem;white-space:nowrap;cursor:pointer;color:inherit;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3)}.tag.primary{background:rgba(237,90,35,.1);box-shadow:0 0 0 1px rgba(237,90,35,.5);color:#e44c13}.tag.secondary{color:#fff;background:rgba(17,37,75,.7);box-shadow:0 0 0 1px rgba(17,37,75,.8)}.tag.accent{background:rgba(25,165,242,.2);box-shadow:0 0 0 1px rgba(25,165,242,.4)}.tag.success,.tag.completed{color:#0f6c00;background:rgba(28,200,0,.2);box-shadow:0 0 0 1px rgba(28,200,0,.4)}.tag.success.with-icon:before,.tag.completed.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.error{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.error.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.warning{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.warning.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.discontinued{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.discontinued.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#a32100;vertical-align:top;animation:unset;font-weight:400}.tag.pending{color:#9c630e;background:rgba(255,153,0,.2);box-shadow:0 0 0 1px rgba(255,153,0,.6)}.tag.pending.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.deleted{color:#fff;background:rgba(64,64,64,.9);box-shadow:0 0 0 1px #404040}.tag.deleted.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.refused{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.refused.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.abandoned{color:#11254b;background:rgba(17,37,75,.2);box-shadow:0 0 0 1px rgba(17,37,75,.4)}.tag.abandoned.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.id{color:#404040 !important;background:rgba(28,200,0,.2);box-shadow:0 0 0 1px rgba(28,200,0,.4)}.tag.user{background:rgba(237,90,35,.2);box-shadow:0 0 0 1px rgba(237,90,35,.4)}.tag.user.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.tag.building.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.new-tag{display:inline-block;padding:0 .5rem;border-radius:.3rem;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;vertical-align:middle;font-size:1.3rem;white-space:nowrap;cursor:pointer;color:inherit;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3);padding:.6rem .7rem;line-height:1;position:relative;font-size:1.5rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif;color:#000;text-shadow:1px 1px 1px #fff;background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}.new-tag:first-letter{text-transform:uppercase}.new-tag strong{font-weight:600}.new-tag:after{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)}.new-tag.primary{color:#9a0000;box-shadow:0 0 0 1px #ff946e;background:#ffd6ab}.new-tag.secondary{color:#061735;box-shadow:0 0 0 1px #888e98;background:#d1dae9}.new-tag.pending{color:#930000;box-shadow:inset 0 0 0 1px #ea9f00;background:#ffebbc}.new-tag.success{color:#184011;box-shadow:inset 0 0 0 1px #86ac4d;background:#cef2ba}.new-tag.error{color:#a00000;box-shadow:inset 0 0 0 1px #d77e7e;background:#fcc}.banner-message{margin:0;position:relative;padding:.8rem 1.2rem;border-radius:.2rem;color:#000;line-height:1.2;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",\\\"serif\\\";background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}.banner-message:after{content:\\\"\\\";position:absolute;z-index:2;top:0;left:0;height:100%;width:100%;border-radius:.2rem;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.05) 0, rgba(0, 0, 0, 0.05) 1px, transparent 0, transparent 50%);pointer-events:none}.banner-message>span{position:relative;z-index:3}.banner-message>span>strong,.banner-message>span a{font-weight:600;text-underline-offset:.2rem}.banner-message>span:before{text-shadow:none}.banner-message>span>a{text-underline-offset:.3rem;text-decoration-thickness:.1rem;transition:color .3s;cursor:pointer}.banner-message>span>a:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 .3rem;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:text-bottom;animation:unset;font-weight:900}.banner-message>span>a:hover{color:#ed5a23}.banner-message.white{background:#fff}.banner-message.white:after{background-image:none}.banner-message.highlight{color:#000;box-shadow:inset 0 0 0 1px #034ea4;background:#fff}.banner-message.highlight:after{background-image:repeating-linear-gradient(45deg, rgba(3, 78, 164, 0.1) 0, rgba(3, 78, 164, 0.1) 1px, transparent 0, transparent 50%)}.banner-message.highlight>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#003c80;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.alert{color:#000;box-shadow:inset 0 0 0 1px #fbc51b;background:#fff}.banner-message.alert:after{background-image:repeating-linear-gradient(45deg, rgba(251, 197, 27, 0.3) 0, rgba(251, 197, 27, 0.3) 1px, transparent 0, transparent 50%)}.banner-message.alert>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.success{color:#000;box-shadow:inset 0 0 0 1px #86ac4d;background:#fff}.banner-message.success:after{background-image:repeating-linear-gradient(45deg, rgba(134, 172, 77, 0.2) 0, rgba(134, 172, 77, 0.2) 1px, transparent 0, transparent 50%)}.banner-message.success>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#517a15;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.error{color:#000;box-shadow:inset 0 0 0 1px crimson;background:#fff}.banner-message.error:after{background-image:repeating-linear-gradient(45deg, rgba(220, 20, 60, 0.1) 0, rgba(220, 20, 60, 0.1) 1px, transparent 0, transparent 50%)}.banner-message.error>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:bottom;animation:unset;font-weight:400}.copy-text{transition:color .3s;cursor:pointer}.copy-text.with-icon:after{display:inline-block;content:\\\"\\\";margin-left:.5rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.2rem;font-style:normal;font-weight:400;vertical-align:unset;-webkit-font-smoothing:antialiased;color:#ed5a23}.copy-text:hover{color:#ed5a23}ka-tabs>nav,md-nav-utenti>nav{display:flex;flex-wrap:nowrap;padding:.6rem .5rem 0;width:100%;border:none;background:#ececec;box-shadow:0 1px 0 0 #d0d0d0}ka-tabs>nav>div,md-nav-utenti>nav>div{margin-left:auto;align-self:end;padding:0 .5rem 0 1rem;font-size:1.2rem;line-height:4rem;overflow:hidden;font-weight:400;text-align:right;text-overflow:ellipsis;white-space:nowrap;color:#11254b}@media screen and (max-width: 992px){ka-tabs>nav>div,md-nav-utenti>nav>div{display:none}}ka-tabs>nav>a,md-nav-utenti>nav>a{display:inline-block;margin-top:.5rem;padding:0 1.5rem 0;max-width:fit-content;border-radius:5px 5px 0 0;border:.1rem solid #d0d0d0;border-bottom-color:#d0d0d0;outline:none;overflow:hidden;font-size:1.1rem;font-weight:400;line-height:3.8rem;letter-spacing:.1rem;text-decoration:none;text-transform:uppercase;white-space:nowrap;color:rgba(64,64,64,.5);background:#f7f7f7;box-shadow:inset 0 -5px 5px -3px rgba(224,224,224,.6);transition:all .4s !important;text-overflow:ellipsis}@media screen and (max-width: 992px){ka-tabs>nav>a,md-nav-utenti>nav>a{font-size:1rem;letter-spacing:0}}ka-tabs>nav>a:hover,md-nav-utenti>nav>a:hover{color:#404040 !important}ka-tabs>nav>a:before,md-nav-utenti>nav>a:before{content:\\\"\\\";display:inline-block;margin-right:.5rem;border-radius:50%;width:.8rem;height:.8rem;box-shadow:inset 0 0 0 1px #d0d0d0}@media screen and (max-width: 992px){ka-tabs>nav>a:before,md-nav-utenti>nav>a:before{display:none}}ka-tabs>nav>a.active,md-nav-utenti>nav>a.active{margin-top:0;border-bottom-color:#fcfcfc;color:#11254b;line-height:4.3rem;background:#fcfcfc;box-shadow:inset 0 -1px 0 0 #f9f9f9,-5px 0 5px -5px rgba(176,176,176,.6),5px 0 5px -5px rgba(176,176,176,.6)}ka-tabs>nav>a.active:before,md-nav-utenti>nav>a.active:before{background:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23}ka-tabs>nav>a:after,md-nav-utenti>nav>a:after{display:none}ka-tabs>nav>a+a,md-nav-utenti>nav>a+a{margin-left:.5rem}md-nav-utenti>nav>a,ka-tabs>nav>a{margin-bottom:-1px}md-nav-utenti+h2{border-top:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/app.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/fontawesome/all.min.css\",\"webpack://./node_modules/ka-components/src/style/_ka-flex.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-grid.scss\",\"webpack://./node_modules/ka-components/src/style/_ka-navbar.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-mixins.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./node_modules/ka-components/src/style/_ka-input.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-button-deprecated.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-button.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-toast.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-table.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-resource.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-dialog.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-tabs.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-tooltip.sass\",\"webpack://./node_modules/ka-components/src/ka-control/ka-control.sass\",\"webpack://./node_modules/ka-components/src/ka-control-check/ka-control-check.sass\",\"webpack://./node_modules/ka-components/src/ka-control-combo/ka-control-combo.sass\",\"webpack://./node_modules/ka-components/src/ka-control-date/ka-control-date.sass\",\"webpack://./node_modules/ka-components/src/ka-control-datetime/ka-control-datetime.sass\",\"webpack://./node_modules/ka-components/src/ka-datetime/ka-datetime.sass\",\"webpack://./node_modules/ka-components/src/ka-control-backdrop/ka-control-backdrop.sass\",\"webpack://./node_modules/ka-components/src/ka-control-file/ka-control-file.sass\",\"webpack://./node_modules/ka-components/src/ka-control-list/ka-control-list.sass\",\"webpack://./node_modules/ka-components/src/ka-control-table/ka-control-table.sass\",\"webpack://./node_modules/ka-components/src/ka-control-textarea/ka-control-textarea.sass\",\"webpack://./node_modules/ka-components/src/ka-table/ka-tableFilters.sass\",\"webpack://./node_modules/ka-components/src/ka-progress/ka-progress.sass\",\"webpack://./node_modules/ka-components/src/style/_ka.sass\",\"webpack://./src/classes/md-toast/md-toast.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-vars.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-aside.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-header.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-toolbar.sass\",\"webpack://./src/resources/elements/km-layout/km-layout.sass\",\"webpack://./src/resources/attributes/md-tooltip/md-tooltip.sass\",\"webpack://./src/resources/attributes/static-tooltip/static-tooltip.sass\",\"webpack://./src/static/_ka-toast.sass\",\"webpack://./src/static/_server-update.sass\"],\"names\":[],\"mappings\":\"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CA,UAAA,CACA,eAAA,CACA,wKACE,YAAA,CACA,cAAA,CACA,gBAAA,CACA,aLpHS,CKqHT,eAAA,CACA,oLACE,cAAA,CACJ,6FACE,+BAAA,CACA,sGACE,iBAAA,CACA,qBAAA,CACA,kBAAA,CACA,kBAAA,CACA,sJACE,iBAAA,CACA,eAAA,CACA,kBAAA,CACA,uBAAA,CACA,oBAAA,CACA,4JACE,mBAAA,CACA,yBAAA,CACF,wKACE,aAAA,CACF,uLACE,aLxIK,CKyIP,0LACE,aL1IK,CK2IL,uBAAA,CACF,wKACE,iBAAA,CACA,QAAA,CACA,UAAA,CACA,iBAAA,CACA,YAAA,CACA,aAAA,CACA,kBAAA,CACA,cAAA,CACA,UAAA,CACA,iBAAA,CACA,wBLvJK,CKyJP,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CAEN,sGACE,+BAAA,CACA,wBAAA,CACA,sJACE,wBAAA,CACF,gSACE,qCAAA,CACJ,sGACE,kBAAA,CACA,oLACE,eAAA,CACF,iLACE,gBAAA,CACF,0IACE,SAAA,CACA,kBAAA,CACA,4YACE,oBAAA,CACA,wBAAA,CACF,geAEE,UAAA,CACF,4JACE,WAAA,CACA,aAAA,CACA,UAAA,CACF,uLNhMN,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CM0LQ,oBAAA,CACA,iBAAA,CACA,OAAA,CACA,eAAA,CACA,gHAAA,CACA,0CAAA,CACJ,wHACE,uBAAA,CAER,kBACE,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,SAAA,CACA,0BAAA,CACA,iBAAA,CACA,QAAA,CACA,YAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CN7MA,mEAAA,CM+MA,2CAAA,CACA,oCAAA,CACA,uBACE,SAAA,CACA,0CAAA,CACF,yBACE,YAAA,CACF,2BACE,kBAAA,CACA,kBAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,UAAA,CACA,MAAA,CAEJ,iBACE,iBAAA,CACA,KAAA,CACA,QAAA,CACA,OAAA,CACA,8BAAA,CACA,SAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CACA,4CAAA,CACA,0BAAA,CACA,wBAAA,CACA,sBACE,uBAAA,CACF,wBACE,YAAA,CACF,gCACE,gBAAA,CAsBF,iCACE,QAAA,CAuBJ,mBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,UAAA,CAGF,mBACE,iBAAA,CACA,oBAAA,CACA,MAAA,CACA,OAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,uBACE,wBL5TY,CK6TZ,8BACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,6BACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CACN,iBACE,kBAAA,CACA,gCACE,SAAA,CACA,UAAA,CACA,4BAAA,CAEJ,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA,CAEN,0CAEE,+CACE,aAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CACA,sHACE,aAAA,CACF,2DACE,aAAA,CACA,iBAAA,CACA,kBAAA,CACA,UAAA,CACF,qDACE,aAAA,CACA,iBAAA,CACF,iEACE,eAAA,CACF,qDACE,YAAA,CACF,qDACE,aAAA,CACA,uBAAA,CACA,gBAAA,CACA,eAAA,CACA,iFACE,iBAAA,CACF,6EACE,WAAA,CACA,iBAAA,CACA,OAAA,CACA,KAAA,CACA,2FACE,YAAA,CACN,uEACE,sBAAA,CACA,qFACE,oBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,UAAA,CACA,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,qBAAA,CAAA,CC9ZR,qBACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,uBACE,iBAAA,CACA,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CAEA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,0BAAA,CACA,iBAAA,CACA,kBAAA,CACA,8BACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,MAAA,CACA,SAAA,CACA,YAAA,CACA,SAAA,CACA,qCAAA,CACF,6BACE,UAAA,CACF,qCACE,aAAA,CACF,oCACE,cAAA,CACF,6BACE,wBAAA,CACF,8BACE,cAAA,CACF,yBACE,mBAAA,CACN,+BACE,SAAA,CACA,iCACE,wBAAA,CACA,wCACE,mCAAA,CACF,uCACE,aAAA,CAEN,sBACE,iBAAA,CACA,QAAA,CACA,MAAA,CACA,OAAA,CACA,SAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,0BACE,wBN1DY,CM2DZ,iCACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,gCACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CAEN,gCACE,QAAA,CAEF,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA,CCzGN,oBACE,YAAA,CACA,2BACE,+BAAA,CACF,wBACE,sBAAA,CACJ,UACE,aAAA,CACA,iBAAA,CACA,QAAA,CACA,iBAAA,CACA,SAAA,CACA,eAAA,CACA,wBAAA,CRDA,mEAAA,CQGA,oBACE,wBAAA,CACF,2BACE,aAAA,CACA,QAAA,CACA,SAAA,CACA,8BACE,SAAA,CACA,QAAA,CACA,gBAAA,CACA,qCACE,0BAAA,CACA,2BAA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cAAA,CACA,gBAAA,CACA,aAAA,CACA,iBAAA,CACA,wBAAA,CACA,+CACE,af3GQ,Ce4GR,6BAAA,CACF,0EACE,UAAA,CACA,kBAAA,CACF,mCACE,UAAA,CClHR,oBACE,aAAA,CACA,cAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,wCAAA,CACA,iCACE,wBAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,6FAAA,CCbF,iCACE,YAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACF,yBACE,YAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,kBAAA,CACA,gBAAA,CACA,qFAAA,CACA,gCACE,oBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,aAAA,CACA,gBAAA,CACA,gBAAA,CACA,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDACE,gBAAA,CACA,cAAA,CACF,sCACE,ajB3CQ,CiB4CZ,uCACE,4CAAA,CACJ,+BACE,aAAA,CC/CF,+BACE,wBAAA,CACA,yCAAA,CACF,qCACE,qFAAA,CACA,6CAAA,CACF,qBACE,aAAA,CACA,cAAA,CACA,2BACE,YAAA,CACJ,yBACE,oBAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAAA,CACA,gCACE,oBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDACE,gBAAA,CACA,cAAA,CACF,sCACE,alBzCQ,CmBDhB,iBACE,aAAA,CACA,aAAA,CACA,oBACE,cAAA,CACF,qCACE,wBAAA,CACA,wBAAA,CACA,8DACE,wBAAA,CACF,8CACE,+BAAA,CACF,8CACE,QAAA,CACA,oDACE,YAAA,CACJ,oDACE,UAAA,CACA,6BAAA,CACA,4BAAA,CACA,qBAAA,CCnBJ,mCACE,4BAAA,CACA,+BAAA,CACA,gBAAA,CAIA,0BAAA,CCRJ,oBACE,4BAAA,CACA,uBACE,oBAAA,CACA,WAAA,CACA,kCACE,iBAAA,CACA,SAAA,CACA,UAAA,CACA,QAAA,CACA,yBAAA,CACA,+JACE,gBAAA,CACA,4DAAA,CACJ,oCACE,6BAAA,CACA,gBAAA,CACA,kBAAA,CACA,gBAAA,CACA,sCACE,oBAAA,CACA,4CACE,yBAAA,CCrBR,mBACE,aAAA,CACA,iBAAA,CACA,SAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,uBACE,wBtBRU,CsBSV,8BACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,gGAAA,CACF,6BACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,iGAAA,CACA,qBAAA,CAER,4CACE,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEJ,kDACE,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA,CCdJ,EACE,qBAAA,CAEF,UACE,QAAA,CACA,SAAA,CACA,WAAA,CACA,eAAA,CAEF,KACE,8BAAA,CACA,kBAAA,CAIF,QACE,YAAA,CAEF,SxB5CE,mEAAA,CwBiDF,GACE,avB7Dc,CuB8DhB,GACE,iBAAA,CACA,eAAA,CACA,4BAAA,CACA,+BAAA,CACA,kBAAA,CACA,gBAAA,CACA,gBAAA,CACA,eAAA,CACA,avBvEc,CuBwEd,oBAAA,CACA,eACE,YAAA,CACF,WACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,MAAA,CACA,OAAA,CACA,UAAA,CACA,iBAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CACA,kCAAA,CACF,UACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,MAAA,CACA,KAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,wBAAA,CACF,oBACE,gBAAA,CACA,qBAAA,CACF,gBACE,qBAAA,CACA,8BAAA,CACA,UAAA,CACA,gBAAA,CACA,gBAAA,CACA,qBAAA,CACA,iBAAA,CAEF,2BACE,WAAA,CACJ,GACE,aAAA,CACA,cAAA,CACA,kBAAA,CACA,gBAAA,CACA,eAAA,CACA,avBrHc,CuBsHd,oBAAA,CACF,MACE,avBzHW,CuB0Hb,EACE,WAAA,CACA,gBAAA,CACA,eAAA,CACA,avB9HW,CuB+Hb,MACE,WAAA,CACA,oBAAA,CACA,gBAAA,CACA,eAAA,CACA,avBpIW,CuBqIX,YACE,QAAA,CACA,SAAA,CAEJ,cACE,avB1IW,CuB4Ib,cACE,avB5Ic,CuB6IhB,oBACE,wBvB9Ic,CuB+IhB,aACE,avB9Ia,CuB+If,mBACE,wBvBhJa,CuBiJf,YACE,UvBhJY,CuBiJd,kBACE,qBvBlJY,CuBmJd,cACE,avBnJc,CuBoJhB,oBACE,wBvBrJc,CuB0JhB,YACE,aAAA,CACA,4BAAA,CACA,4BAAA,CACA,eAAA,CACA,oBAAA,CACA,yBAAA,CACA,4BAAA,CAIF,kQAQE,gBAAA,CACA,iBAAA,CACA,uBAAA,CACF,oIAIE,aAAA,CACA,cAAA,CACA,UAAA,CACF,qBACE,WAAA,CACA,wBAAA,CAGF,eACE,mBAAA,CACA,oBAAA,CACF,6BACE,mBAAA,CACF,4BACE,oBAAA,CAEF,oCACE,YAAA,CACF,gDAEE,eAAA,CACF,wEAEE,iBAAA,CACA,0FACE,YAAA,CAEJ,wBAEE,iBAAA,CAEF,8HAEE,iBAAA,CC1NF,UACE,YAAA,CACA,iBAAA,CACA,iBAAA,CACA,YAAA,CACA,QAAA,CACA,YAAA,CACA,SAAA,CACA,kBAAA,CACA,sDAAA,CACA,0BAAA,CACA,yDAAA,CACA,kBACE,SAAA,CACA,WAAA,CAEF,4BACE,YAAA,CACA,uDAAA,CACA,SAAA,CACA,eAAA,CACA,eAAA,CACA,+EACE,mFAAA,CACF,sCACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,6BAAA,CACA,0BAAA,CACA,wCAAA,CACA,wCACE,gCAAA,CACA,0BAAA,CACJ,yCACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,cAAA,CACA,yBAAA,CACA,8BAAA,CACA,2BAAA,CACA,uCAAA,CACA,gDACE,0BAAA,CACA,wBAAA,C9BMN,oBAAA,CACA,W8BN2B,C9BO3B,Q8BPwE,C9BQxE,gC8BR+C,C9BS/C,iBAAA,CACA,mBAAA,CACA,mBAAA,CACA,kCAAA,CACA,gCAAA,CACA,a8Bd2E,C9Be3E,oBAXmE,CAYnE,eAZsF,CAgBpF,eAAA,C8BnBE,+CACE,sEAAA,CACA,sDACE,oBAAA,CACN,yCACE,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,YAAA,CACA,+FACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,KAAA,CACA,MAAA,CACF,gDACE,mFAAA,CACF,+CACE,uBAAA,CACA,2JAAA,CACF,2CACE,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,4BAAA,CACA,QAAA,CACA,iBAAA,CACA,SAAA,CACA,eAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,iCAAA,CACA,yCAAA,CACA,eAAA,CACA,UAAA,CACA,6CACE,eAAA,CACA,eAAA,CACA,iCAAA,CACA,oCAAA,CACA,0BAAA,CACA,2BAAA,CACA,kBAAA,CACA,kBAAA,CACA,mDACE,UAAA,CAEZ,iBACE,GACE,kBAAA,CACF,IACE,qBAAA,CACF,GACE,kBAAA,CAAA,CC3FJ,uBACE,GACE,kBAAA,CACF,IACE,oBAAA,CACF,IACE,kBAAA,CAAA,CANJ,uBACE,GACE,kBAAA,CACF,IACE,oBAAA,CACF,IACE,kBAAA,CAAA,CCjBJ,UACE,iBAAA,CACA,aAAA,CAEA,gBACE,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,cAAA,CACA,WAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,WAAA,CACA,WDhBS,CCiBT,eAAA,CACA,sCAAA,CACA,oCAAA,CACA,4BACE,YAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,wBAAA,CACA,UAAA,CACA,wB1BzBY,C0B2Bd,uBACE,gCAAA,CACA,oBAAA,CAEF,gCACE,iBAAA,CACA,aAAA,CACA,UAAA,CACA,kBAAA,CACA,0BAAA,CACA,2BAAA,CACA,mBAAA,CACA,0CAAA,CACA,oBAAA,CACA,8CAAA,CACA,sCACE,gBAAA,CACA,WD7CO,CC8CT,sCACE,UAAA,CACA,iBAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,oDAAA,CACA,2FAAA,CAEJ,oBACE,WAAA,CACA,eAAA,CACA,iBAAA,CACA,sCAAA,CACA,kBDxDoB,CC0DpB,uCACE,YAAA,CAEF,4BACE,uBAAA,CACA,oBAAA,CACF,uBACE,eAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CACA,0BACE,QAAA,CACA,UAAA,CACA,cAAA,CACA,6BACE,eAAA,CACA,+BAAA,CACA,4DAAA,CACF,mCACE,iBAAA,CACA,WAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,gHAAA,CACA,6EAEE,YAAA,CACA,kBAAA,CACA,WAAA,CACA,WAAA,CACA,2FACE,iBAAA,CAIJ,yDACE,gBAAA,CACA,SAAA,CACA,gBAAA,CACA,a1BvGI,C0BwGR,kDACE,aAAA,CAGA,gDACE,YAAA,CACA,kBAAA,CACA,gBAAA,CACA,gBAAA,CACA,aDhHuB,CCiHvB,gBAAA,CACA,oCAAA,CAEJ,sCACE,WAAA,CACA,kBAAA,CAEF,uCACE,QAAA,CACA,mBAAA,CAKE,yIACE,YAAA,CACA,kBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBAAA,CACA,WAAA,CACA,aAAA,CACA,a1BxIE,C0ByIF,mBAAA,CACA,eAAA,CACA,yCAAA,CACA,6BAAA,CACF,mHACE,YAAA,CACA,kBAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,eAAA,CACA,iBAAA,CACA,eAAA,CACA,oCAAA,CACA,a1B1JE,C0B2JF,+BAAA,CACA,oCAAA,CACA,uHACE,kBAAA,CACA,gBAAA,CACA,a1BjKF,C0BkKA,yJACE,WAAA,CACA,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,eAAA,CACA,mBAAA,CACA,mBAAA,CACA,kBAAA,CACA,kCAAA,CACA,gCAAA,CACA,a1B7KF,C0B8KE,kBAAA,CACA,uDAAA,CAEZ,mCACE,qCAAA,CAEE,+CACE,eAAA,CACA,gBAAA,CACA,wBAAA,CACA,wBAAA,CACA,aDvLyB,CCwLzB,6CAAA,CACA,qEACE,UAAA,CACF,qGAEE,gBAAA,CACA,aAAA,CACA,iIACE,aAAA,CACA,UAAA,CACA,iBAAA,CACA,QAAA,CACA,MAAA,CACA,OAAA,CACA,UAAA,CACA,4BAAA,CACA,yBAAA,CACF,iIACE,mBAAA,CACA,mBAAA,CACA,gBAAA,CACA,aAAA,CACA,mJACE,0DAAA,CACF,iJACE,aAAA,CACJ,2HACE,kBAAA,CACA,UAAA,CACA,qBAAA,CACA,6BAAA,CACA,cAAA,CACA,yBAAA,CACA,2BAAA,CACR,yFACE,gFAAA,CACF,6DACE,0CAAA,CACF,0DACE,iCAAA,CACF,2DACE,+BAAA,CAEJ,oCACE,kBDlOkB,CCoOhB,gDACE,eAAA,CACA,gBAAA,CACA,+BAAA,CACA,WDzO0B,CC0O1B,0CAAA,CACA,uGAEE,yBAAA,CACA,a1BlPD,C0BmPC,iIACE,gBAAA,CACA,gBAAA,CACA,a1BpPE,C0BqPR,iEACE,yCAAA,CACA,uEACE,6BAAA,CAGA,gFACE,8EAAA,CACR,2DACE,wBAAA,CACF,4DACE,sBAAA,CACF,kDACE,eAAA,CACA,6DACE,uBAAA,CAGA,+HAEE,gBAAA,CACA,aAAA,CAER,mCACE,kBD1QkB,CC4QhB,+CACE,eAAA,CACA,gBAAA,CACA,yCAAA,CACA,WD/QyB,CCgRzB,0CAAA,CACA,qGAEE,oBAAA,CACA,uBAAA,CACA,+HACE,gBAAA,CACA,gBAAA,CACA,a1B5RE,C0B8RF,iIACE,oBAAA,CACA,kBAAA,CACA,UAAA,CACA,SAAA,CACA,UAAA,CACA,iBAAA,CACA,yBAAA,CACA,qBAAA,CACA,yBAAA,CAGN,6HAEE,eAAA,CACA,a1B7SI,C0B8SJ,qBAAA,CAEE,qJACE,WAAA,CACA,YAAA,CACA,kBAAA,CAMN,6HACE,aAAA,CACA,UAAA,CACA,iBAAA,CACA,UAAA,CACA,MAAA,CACA,OAAA,CACA,UAAA,CACA,yBAAA,CACA,yBAAA,CAEA,yIACE,UAAA,CACV,2EACE,6BAAA,CAGE,8DACE,SAAA,CACF,oEACE,uBAAA,CACJ,sEACE,6BAAA,CACF,uFACE,eAAA,CACN,mCACE,kBDhVoB,CCiVxB,mCACE,GACE,SAAA,CACA,2BAAA,CACF,GACE,SAAA,CACA,wBAAA,CACF,IACE,SAAA,CACF,KACE,SAAA,CAAA,CAEJ,gCACE,GACE,SAAA,CACA,oBAAA,CACF,IACE,SAAA,CACA,oBAAA,CACF,KACE,SAAA,CACA,mBAAA,CAAA,CD9VN,uBACE,GACE,kBAAA,CACF,IACE,oBAAA,CACF,IACE,kBAAA,CAAA,CEhBF,iBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CACA,SAAA,CACA,iBAAA,CACA,WFTW,CEUX,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,kBAAA,CACA,UAAA,CACA,kBFRsB,CEStB,mBACE,aAAA,CACF,oBACE,aAAA,CACA,iBAAA,CACA,kCAAA,CACA,eAAA,CACA,oCAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CAEF,qCACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,gBAAA,CACA,8CACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,oBAAA,CACA,gBAAA,CACA,eAAA,CACA,eAAA,CACA,a3BzCU,C2B0CV,wBAAA,CACA,eAAA,CACA,kDACE,kBAAA,CACA,mBAAA,CACA,kBAAA,CACA,0CAAA,CACA,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,yDACE,eAAA,CACA,U3BnDE,C2BoDN,gDACE,gBAAA,CACA,U3BtDI,C2BuDR,sCA/BF,qCAgCI,YAAA,CAAA,CAEJ,iCACE,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,aAAA,CACA,gBAAA,CACA,eAAA,CACA,sCACE,iBAAA,CACA,8BAAA,CACA,+BAAA,CACA,eAAA,CACA,gBAAA,CACA,yBAAA,CACA,+BAAA,CACF,mDACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qDACE,gCAAA,CACJ,sDACE,2BAAA,CACA,qBAAA,CACA,2BAAA,CACF,kDACE,YAAA,CACA,sBAAA,CACA,sBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CACA,WFhGO,CEiGP,cAAA,CACA,yEACE,qBAAA,CACA,iCAAA,CACA,eAAA,CACA,eAAA,CACA,wBAAA,CACA,qBAAA,CACA,oCAAA,CACA,UAAA,CACF,uDACE,aAAA,CACA,mEACE,cAAA,CACF,iEACE,cAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CACA,eAAA,CACA,iCAAA,CACA,eAAA,CACA,0BAAA,CACA,yCAAA,CACF,qEACE,iBAAA,CACA,aAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,SAAA,CACA,wBAAA,CACA,qBAAA,CACA,kCAAA,CAEN,mCACE,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,kBAAA,CACA,sBAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,oBAAA,CACA,UAAA,CACA,UAAA,CACA,eAAA,CACA,oCAAA,CACA,yBAAA,CACA,2BAAA,CACA,0CAAA,CACA,kBAAA,CACA,wCAAA,CACA,+CAAA,CACF,yCACE,KAAA,CACA,SAAA,CAEN,uBACE,UFhKS,CEiKT,8BAAA,CACA,oBAAA,CACF,sBACE,cAAA,CACA,QFpKW,CEqKX,OAAA,CACA,QAAA,CACA,UFxKS,CEyKT,+BAAA,CACA,oBAAA,CAEF,0BACE,2BAAA,CACA,0CACE,oBAAA,CACA,oBAAA,CACJ,iCACE,iBFjLW,CEkLX,MAAA,CACA,mBAAA,CACF,gCACE,MAAA,CACA,mBAAA,CAEJ,qCAEI,uBACE,iBF3LS,CE4LT,MAAA,CACF,sBACE,MAAA,CAAA,CACN,qCAGM,iCACE,YAAA,CAAA,CFvLR,uBACE,GACE,kBAAA,CACF,IACE,oBAAA,CACF,IACE,kBAAA,CAAA,CGbA,oCACE,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,uFACE,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,SAAA,CACA,0BArBM,CAsBN,WAvBO,CAwBP,cAAA,CACA,eAAA,CACA,aAAA,CACA,UAAA,CACA,oBAAA,CACA,yBAAA,CACA,+CAAA,CACA,8BAAA,CACA,2FACE,aAAA,CACA,kCAAA,CACF,iGACE,aAAA,CACA,gCAAA,CACA,qBAAA,CACA,eAAA,CACA,wBAAA,CACA,SAAA,CACA,yCAAA,CACF,qGACE,QAAA,CACA,eAAA,CACA,SAAA,CACA,8BAAA,CACF,iHACE,cAAA,CACA,WAAA,CACA,UAAA,CACF,2FACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,eAAA,CACA,OAAA,CACA,SAAA,CACA,iBAAA,CACA,cAAA,CACA,WAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,iBAAA,CACA,eAAA,CACA,yCAAA,CACA,uDAAA,CACJ,8CACE,qBAAA,CACF,6EACE,gBAAA,CACA,a5B1EU,C4B2EZ,qDACE,iBAAA,CACA,QA7EO,CA8EP,QAAA,CACA,SAAA,CACA,eAAA,CACA,YAAA,CACA,eAAA,CACA,kBH7EkB,CG8ElB,qCAAA,CACA,6DACE,yBAAA,CACF,wDACE,QAAA,CACA,SAAA,CACA,0DACE,YAAA,CACA,kBAAA,CACA,cAAA,CACA,gBAAA,CACA,UAAA,CACA,aHvF4B,CGwF5B,oBAAA,CACA,gCAAA,CACA,kDAAA,CACA,8BAAA,CACA,4DACE,iBAAA,CACA,cAAA,CACA,YAAA,CACA,0BAAA,CACF,qEACE,mBAAA,CACA,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,cAAA,CACA,0BAAA,CACA,2BAAA,CACF,iEACE,iBAAA,CACA,wEACE,aAAA,CACA,UAAA,CACA,iBAAA,CACA,WAAA,CACA,MAAA,CACA,OAAA,CACA,UAAA,CACA,eAAA,CACA,yBAAA,CACJ,gEACE,+BAAA,CACA,8EACE,UAAA,CACN,wEACE,eAAA,CC/HV,4BACE,aAAA,CACA,cAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,WAAA,CACA,iBAAA,CACA,a7BfY,C6BgBZ,4CACE,gBAAA,CACA,aAAA,CACA,gBAAA,CACA,gCAAA,CAEF,sCACE,UAAA,CACA,sDACE,UAAA,CC1BR,iBACE,aAAA,CACA,iBAAA,CACA,wBAAA,CACA,YAAA,CACA,aAAA,CACA,iBAAA,CACA,wBAAA,CACA,eAAA,CACA,kBAAA,CACA,yBAAA,CACA,SAAA,CACA,aAAA,CACA,kBAAA,CACA,0BAAA,CACA,wCAAA,CACA,mBAAA,CACA,sBAAA,CACA,yBACE,SAAA,CACF,oBACE,cAAA,CACA,SAAA,CACA,eAAA,CACA,uBACE,+BAAA,CACA,aAAA,CACA,cAAA,CACA,eAAA,CACA,oCACE,eAAA,CAGN,oJACE,aAAA,CACA,gBAAA,CACA,cAAA,CACA,oBAAA,CACA,qBAAA,CACF,wKACE,iBAAA,CACA,kBAAA,CACF,4KACE,a9B1CY,C+BDhB,kBACE,mBAAA,CACA,sBAAA,CACA,mBAAA,CACA,cAAA,CACA,oBAAA,CACA,8CACE,4BAAA,CrC6CF,oBAAA,CACA,WqC7CuB,CrC8CvB,kBqC9CoD,CrC+CpD,iBqC/C2C,CrCgD3C,iBAAA,CACA,mBAAA,CACA,mBAAA,CACA,kCAAA,CACA,gCAAA,CACA,aM5Dc,CN6Dd,oBAXmE,CAYnE,eAZsF,CAgBpF,eAAA,CqC1DF,wBACE,a/BTY,C+BUd,oBACE,YAAA,CACA,oBAAA,CAEJ,qBACE,gBAAA,CACA,UAAA,CACA,mBAAA,CACA,6BACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,mBAAA,CACA,gBAAA,CACA,6CAAA,CACA,2CACE,YAAA,CACA,oBAAA,CACA,6CACE,mBAAA,CACA,iDACE,YAAA,CACA,aAAA,CACA,mBAAA,CACJ,8CACE,QAAA,CACA,sBAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA,CACA,OAAA,CACA,oCAAA,CACJ,6CACE,cAAA,CrCQJ,oBAAA,CACA,WqCRyB,CrCSzB,QqCTmD,CrCUnD,gBqCV2C,CrCW3C,iBAAA,CACA,mBAAA,CACA,mBAAA,CACA,kCAAA,CACA,gCAAA,CACA,2BqChBsD,CrCiBtD,oBAXmE,CAYnE,eAZsF,CAkBpF,eAAA,CqCtBA,8BACE,QAAA,CACA,gBAAA,CACA,UAAA,CACA,qCACE,gBAAA,CACA,eAAA,CACA,yCAAA,CACF,gCACE,eAAA,CACA,gBAAA,CACA,yCAAA,CACA,2BAAA,CACA,aAAA,CACA,0BAAA,CACA,sCACE,UAAA,CACF,uCrCZN,oBAAA,CACA,WqCY6B,CrCX7B,kBqCWyD,CrCVzD,gBqCUiD,CrCTjD,iBAAA,CACA,mBAAA,CACA,mBAAA,CACA,kCAAA,CACA,gCAAA,CACA,aqCIsE,CrCHtE,oBAXmE,CAYnE,eAZsF,CAgBpF,eAAA,CsClEF,sGACE,iCAAA,CACA,uDAAA,CACA,sHACE,uCAAA,CAEN,UACE,cAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,QAAA,CACA,iBAAA,CACA,YAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,2BAAA,CACA,wBAAA,CACA,0DAAA,CACA,4CAAA,CACA,kBAAA,CACA,kBACE,4BAAA,CACF,YACE,aAAA,CAEF,iBACE,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,mBAAA,CACA,cAAA,CACA,gBAAA,CACA,iBAAA,CACA,mBAAA,CACA,kCAAA,CAEF,2BACE,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,kCACE,gCAAA,CACA,eAAA,CACA,WAAA,CACA,4CAAA,CACA,oCAAA,CAEJ,yBACE,iBAAA,CACA,UhCvDU,CgCwDV,wBAAA,CACA,iCACE,gCAAA,CACA,eAAA,CACA,WAAA,CACF,gCACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,iBAAA,CACA,aAAA,CACA,oEAAA,CAEJ,2BACE,iBAAA,CACA,ahCtEY,CgCuEZ,wBAAA,CACA,mCACE,gCAAA,CACA,eAAA,CACA,WAAA,CAEJ,qDACE,ahCjFW,CgCkFX,wBAAA,CACA,qEACE,gCAAA,CACA,eAAA,CACA,WAAA,CAEJ,2BACE,ahC3FY,CgC4FZ,wBAAA,CAEJ,gCACE,GACE,kBAAA,CACF,IACE,oBAAA,CACF,GACE,kBAAA,CAAA,CCrGJ,yBACE,cAAA,CACA,MAAA,CACA,QAAA,CACA,WAAA,CACA,WAAA,CACA,gBAAA,CACA,WAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA,CACA,iBAAA,CACA,ejCPY,CiCQZ,oCAAA,CACA,kCAAA,CACA,6CACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,yEvCiCF,oBAAA,CACA,WuCjCyB,CvCkCzB,kBuClCsD,CvCmCtD,iBuCnC6C,CvCoC7C,iBAAA,CACA,mBAAA,CACA,mBAAA,CACA,kCAAA,CACA,gCAAA,CACA,UuCzCmE,CvC0CnE,oBAXmE,CAYnE,eAZsF,CAgBpF,eAAA,CuC9CA,iEACE,gBAAA,CxCLJ,qCADF,oBAEI,aAAA,CAAA,CAIE,sCADF,qCAEI,YAAA,CAAA,CACJ,oBACE,aAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CAEN,cACE,wBAAA,CACF,gBACE,wBAAA,CACF,YACE,qBAAA,CACF,cACE,wBAAA,CACF,YACE,wBAAA,CAEF,YACE,4BAAA,CACA,4BAAA,CACA,eAAA,CACA,eACE,iBAAA,CACA,eAAA,CACA,+BAAA,CACF,gFAEE,gBAAA,CACF,8EAEE,gBAAA,CACF,4EAEE,gBAAA,CACF,kDACE,gBAAA,CACF,gDACE,gBAAA,CACF,gCACE,kBAAA,CACF,oCACE,gBAAA,CACF,qFACE,gBAAA,CACF,mCACE,WAAA,CACA,eAAA,CAEJ,qBCrEE,eDsEoB,CCrEpB,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,6BACE,aAAA,CACF,mCACE,eAAA,CACF,mCACE,eAAA,CACF,mCACE,eAAA,CACF,mCACE,eAAA,CACF,mCACE,eAAA,CDyDJ,yBACE,aAAA,CACA,cAAA,CACA,kBAAA,CAEE,kMACE,aAAA,CACF,0LACE,eAAA,CACF,+FACE,QAAA,CACF,mHACE,gBAAA,CAEN,eACE,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,wBO7FW,CP+Fb,0BACE,aO/Fc,CPgGhB,4BACE,uBAAA,CACF,iCACE,wBAAA,CACF,oBACE,aAAA,CACA,oBAAA,CACA,0BACE,yBAAA,CACJ,eACE,UAAA,CACA,qBACE,iCAAA,CACA,+BACE,UAAA,CACA,gBAAA,CACA,mBAAA,CACF,wBACE,mBAAA,CACA,gDAAA,CAEE,kDACE,QAAA,CACF,4DACE,gBAAA,CACF,wEACE,eAAA,CACA,aAAA,CACR,mCACE,SAAA,CACA,WAAA,CACA,QAAA,CACA,kBAAA,CACA,kDACE,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,WAAA,CACA,uFAAA,CACA,4KAAA,CACA,yDACE,oBAAA,CACA,eAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,gBAAA,CACA,uBAAA,CACA,kBAAA,CACA,eAAA,CACA,yEAAA,CACA,8CAAA,CACA,kBAAA,CACA,mEACE,aAAA,CACA,mBAAA,CACF,+DACE,wBAAA,CACF,2DACE,cAAA,CACA,mBAAA,CACA,aAAA,CAEV,qBACE,iBAAA,CACA,UAAA,CAGA,8CACE,kCAAA,CACF,kDACE,cAAA,CAGJ,mBACE,YAAA,CACF,wCACE,gBAAA,CACF,OACE,kBAAA,CAGF,oBACE,iBAAA,CACA,wBACE,SAAA,CAEA,oCACE,eAAA,CACF,qCACE,eAAA,CACF,oCACE,gBAAA,CACF,mDACE,6CAAA,CACA,aAAA,CAEN,qBACE,SAAA,CACA,uBACE,wBAAA,CACA,6BACE,aO3MU,C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\",\"sourcesContent\":[\"@import 'vars'\\n@import 'mixins'\\n@import '../static/fontawesome/all.min'\\n\\n@import '../../node_modules/ka-components/src/style/ka'\\n@import '../../node_modules/ka-components/node_modules/pikaday/css/pikaday.css'\\n\\n@import '../classes/md-toast/md-toast.sass'\\n@import '../resources/elements/km-layout/km-layout.sass'\\n@import '../resources/attributes/md-tooltip/md-tooltip.sass'\\n@import '../resources/attributes/static-tooltip/static-tooltip.sass'\\n\\n@import 'ka-toast'\\n@import 'server-update'\\n\\n// Move to km-layout\\ntable.ka-table-like\\n  @media screen and (max-width: 575px)\\n    display: table\\nkm-layout \\n  header\\n    .km-layout-info-box\\n      @media screen and (max-width: 1400px)\\n        display: none\\n    > h1\\n      display: block\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n.text-primary\\n  color: $primary-color !important\\n.text-secondary\\n  color: $secondary-color !important\\n.text-error\\n  color: $error-color !important\\n.text-success\\n  color: $success-color !important\\n.text-color\\n  color: $text-color !important\\n\\nrouter-view\\n  min-height: calc(100% - 60px)\\n  max-height: calc(100% - 60px)\\n  overflow: hidden\\n  h2\\n    min-height: 5.1rem\\n    font-weight: 400\\n    font-family: 'Roboto slab', serif\\n  > h2:first-child + .ka-table,\\n    style:first-child + h2 + .ka-table\\n    margin-top: -1rem\\n  > h2:first-child + ka-table,\\n    style:first-child + h2 + ka-table\\n    margin-top: -1rem\\n  > h2:first-child + ka-tabs,\\n    style:first-child + h2 + ka-tabs\\n    margin-top: -1rem\\n  > ka-tabs ka-tab h2:first-child + ka-tabs // Sub tabs\\n    margin-top: -1rem\\n  > ka-tabs ka-tab > ka-table:first-child\\n    margin-top: -1rem\\n  h2 + md-table-toolbar\\n    margin-top: -1.1rem\\n  h2 + md-table-progressbar\\n    margin-top: -1rem\\n  h2 + md-table-wrapper, h2 + md-table-progressbar + md-table-wrapper\\n    margin-top: -1rem\\n  h2 md-accordion-button\\n    float: right\\n    margin-top: 1rem\\n\\n*[class^=\\\"limitwidth\\\"]\\n  @include limitwidth(30rem)\\n\\n.app-shared-search-style\\n  margin-left: 0\\n  margin-right: 0\\n  margin-bottom: 1rem\\n  > div[class*=\\\"col-\\\"], > div.col\\n    ka-control, md-control\\n      display: block\\n    ka-input, md-input\\n      margin-bottom: 0\\n    ka-button\\n      margin: 0\\n    ka-button + ka-button\\n      margin-left: 1rem\\n\\n.user-initials\\n  border-radius: 50%\\n  color: #fff\\n  text-transform: uppercase\\n  background-color: $text-color\\n\\n.ka-table-button.selected\\n  color: $primary-color\\n.ka-table-button.unselected\\n  color: rgba($text-color, 0.3)\\nka-table tbody td small.emphasis\\n  color: $primary-color !important\\nka-table tbody td a\\n  color: inherit\\n  text-decoration: none\\n  &:hover\\n    text-decoration: underline\\n.ka-table-like\\n  height: 1px\\n  tbody\\n    transition: opacity 0.5s, filter 0.5s\\n    &.isLoading\\n      opacity: 0.5\\n      filter: blur(5px)\\n      pointer-events: none\\n    tr\\n      border: 0 !important\\n      box-shadow: inset 0 -1px 0 0 rgba(224, 224, 224, 0.5)\\n      td:last-of-type\\n        ka-button\\n          margin: 0\\n        ka-button + ka-button\\n          margin-left: 1rem\\n        &.flex-column > ka-button + ka-button\\n          margin-top: 1rem\\n          margin-left: 0\\n  .ka-table-row-tools\\n    padding: 0\\n    height: 100%\\n    width: 1%\\n    white-space: nowrap\\n    > .tools-wrapper\\n      display: flex\\n      align-items: center\\n      width: fit-content\\n      height: 100%\\n      box-shadow: -5px 0 5px -5px rgba(0, 0, 0, 0.2509803922), inset -1px 0 0 rgba(224, 224, 224, 0.5)\\n      background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, white 25%, white 75%, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0) 100%)\\n      > button\\n        display: inline-block\\n        appearance: none\\n        outline: none\\n        cursor: pointer\\n        margin: 0\\n        border: 0\\n        padding: 0\\n        width: 4rem\\n        height: 4rem\\n        height: 100%\\n        line-height: 4rem\\n        color: rgba($text-color, 0.5)\\n        vertical-align: top\\n        background: #ffffff\\n        background: linear-gradient(180deg, white 0%, rgba(#fff, 0) 100%)\\n        box-shadow: inset -1px 0 0 rgba(224, 224, 224, 0.5)\\n        transition: all 0.5s\\n        &[disabled]\\n          color: #e0e0e0\\n          pointer-events: none\\n        &:hover\\n          color: rgba($primary-color, 0.7)\\n        > i\\n          font-size: 2rem\\n          line-height: inherit\\n          color: inherit\\n\\nmd-table-progressbar\\n  position: absolute\\n  width: 100%\\n\\n.ka-tr-tools > button.ka-table-button\\n  &[disabled]\\n    color: rgba($text-color, 0.4) !important\\n  > i[class*=\\\"fa-\\\"]\\n    font-size: 2rem\\n\\n/* DA COPIARE IN KA-COMPONENTS!!! */\\n.ka-table-backdrop\\n  z-index: 1099\\n.ka-table-drawer.filters ka-input > label\\n  overflow: visible\\nka-tab\\n  white-space: normal\\n\\n/*  DIALOG */\\nux-dialog-container\\n  overflow-y: hidden\\n  > div\\n    padding: 0\\n  ux-dialog\\n    &.small\\n      max-width: 40rem\\n    &.medium\\n      max-width: 70rem\\n    &.large\\n      max-width: 100rem\\n    ux-dialog-body .body\\n      max-height: calc(100vh - 5rem - 6.1rem - 6rem)\\n      overflow: auto\\n\\n.ka-resource-buttons\\n  z-index: 2\\n  a\\n    color: rgba($primary-color, 0.7)\\n    &:hover\\n      color: $primary-color\\nka-control\\n  margin: 0\\n  input::placeholder\\n    color: rgba($text-color, .4)\\n\\nka-input.error, md-input.error\\n  box-shadow: inset 0 0 0 1px #ff330099, 0 0 10px #ff330066\\n\\n// md-prefsel-dialog\\n.md-prefsel-dialog\\n  width: calc(100vw - 80px)\\n  min-width: 300px\\n  > ux-dialog-body\\n    height: fit-content\\n    max-height: calc(100vh - 103px - 80px)\\n    overflow: auto\\n\\n.currency\\n  &:after\\n    @include currency()\\n\\nka-button\\n  @include ka-button()\\n  &.with-icon:not(.secondary):not(.error):not(.grey)\\n    @include ka-button('with-icon-primary')\\n  &.secondary.with-icon\\n    @include ka-button('with-icon-secondary')\\n  &.error.with-icon\\n    @include ka-button('with-icon-error')\\n\\nux-dialog\\n  .dialog-loader\\n    @include dialogLoader()\\n.tag\\n  @include tag()\\n.new-tag\\n  @include newTag()\\n.banner-message\\n  @include bannerMessage()\\n\\n// .tag-new\\n//   @include tagNew()\\n\\n.copy-text\\n  @include copy-text()\\n\\nka-tabs, md-nav-utenti\\n  > nav\\n    display: flex\\n    flex-wrap: nowrap\\n    padding: .6rem .5rem 0\\n    width: 100%\\n    border: none\\n    background: #ececec\\n    box-shadow: 0 1px 0 0 #d0d0d0\\n\\n    > div\\n      margin-left: auto\\n      align-self: end\\n      padding: 0 .5rem 0 1rem\\n      font-size: 1.2rem\\n      line-height: 4rem\\n      overflow: hidden\\n      font-weight: 400\\n      text-align: right\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      color: $secondary-color\\n      @media screen and (max-width: 992px)\\n        display: none\\n\\n    > a\\n      display: inline-block\\n      margin-top: 0.5rem\\n      padding: 0 1.5rem 0\\n      max-width: fit-content\\n      border-radius: 5px 5px 0 0\\n      border: 0.1rem solid #d0d0d0\\n      border-bottom-color: #d0d0d0\\n      outline: none\\n      overflow: hidden\\n      font-size: 1.1rem\\n      font-weight: 400\\n      line-height: 3.8rem\\n      letter-spacing: 0.1rem\\n      text-decoration: none\\n      text-transform: uppercase\\n      white-space: nowrap\\n      color: rgba($text-color, .5)\\n      background: #f7f7f7\\n      box-shadow: inset 0 -5px 5px -3px #e0e0e099\\n      transition: all .4s !important\\n      text-overflow: ellipsis\\n\\n      @media screen and (max-width: 992px)\\n        font-size: 1rem\\n        letter-spacing: 0\\n\\n      &:hover\\n        color: $text-color !important\\n\\n      &:before\\n        content: \\\"\\\"\\n        display: inline-block\\n        margin-right: .5rem\\n        border-radius: 50%\\n        width: .8rem\\n        height: .8rem\\n        box-shadow: inset 0 0 0 1px #d0d0d0\\n        @media screen and (max-width: 992px)\\n          display: none\\n\\n      &.active\\n        margin-top: 0\\n        border-bottom-color: #fcfcfc\\n        color: $secondary-color\\n        line-height: 4.3rem\\n        background: #fcfcfc\\n        box-shadow: inset 0 -1px 0 0 $background-color, -5px 0 5px -5px #b0b0b099, 5px 0 5px -5px #b0b0b099\\n        &:before\\n          background: $primary-color\\n          box-shadow: inset 0 0 0 1px $primary-color\\n\\n      &:after\\n        display: none\\n      & + a\\n        margin-left: .5rem\\n\\nmd-nav-utenti > nav > a, ka-tabs > nav > a\\n  margin-bottom: -1px\\nmd-nav-utenti + h2\\n  border-top: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"/*!\\n * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com\\n * License - https://fontawesome.com/license (Commercial License)\\n */\\n.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\\\"\\\\f26e\\\"}.fa-abacus:before{content:\\\"\\\\f640\\\"}.fa-accessible-icon:before{content:\\\"\\\\f368\\\"}.fa-accusoft:before{content:\\\"\\\\f369\\\"}.fa-acorn:before{content:\\\"\\\\f6ae\\\"}.fa-acquisitions-incorporated:before{content:\\\"\\\\f6af\\\"}.fa-ad:before{content:\\\"\\\\f641\\\"}.fa-address-book:before{content:\\\"\\\\f2b9\\\"}.fa-address-card:before{content:\\\"\\\\f2bb\\\"}.fa-adjust:before{content:\\\"\\\\f042\\\"}.fa-adn:before{content:\\\"\\\\f170\\\"}.fa-adobe:before{content:\\\"\\\\f778\\\"}.fa-adversal:before{content:\\\"\\\\f36a\\\"}.fa-affiliatetheme:before{content:\\\"\\\\f36b\\\"}.fa-air-conditioner:before{content:\\\"\\\\f8f4\\\"}.fa-air-freshener:before{content:\\\"\\\\f5d0\\\"}.fa-airbnb:before{content:\\\"\\\\f834\\\"}.fa-alarm-clock:before{content:\\\"\\\\f34e\\\"}.fa-alarm-exclamation:before{content:\\\"\\\\f843\\\"}.fa-alarm-plus:before{content:\\\"\\\\f844\\\"}.fa-alarm-snooze:before{content:\\\"\\\\f845\\\"}.fa-album:before{content:\\\"\\\\f89f\\\"}.fa-album-collection:before{content:\\\"\\\\f8a0\\\"}.fa-algolia:before{content:\\\"\\\\f36c\\\"}.fa-alicorn:before{content:\\\"\\\\f6b0\\\"}.fa-alien:before{content:\\\"\\\\f8f5\\\"}.fa-alien-monster:before{content:\\\"\\\\f8f6\\\"}.fa-align-center:before{content:\\\"\\\\f037\\\"}.fa-align-justify:before{content:\\\"\\\\f039\\\"}.fa-align-left:before{content:\\\"\\\\f036\\\"}.fa-align-right:before{content:\\\"\\\\f038\\\"}.fa-align-slash:before{content:\\\"\\\\f846\\\"}.fa-alipay:before{content:\\\"\\\\f642\\\"}.fa-allergies:before{content:\\\"\\\\f461\\\"}.fa-amazon:before{content:\\\"\\\\f270\\\"}.fa-amazon-pay:before{content:\\\"\\\\f42c\\\"}.fa-ambulance:before{content:\\\"\\\\f0f9\\\"}.fa-american-sign-language-interpreting:before{content:\\\"\\\\f2a3\\\"}.fa-amilia:before{content:\\\"\\\\f36d\\\"}.fa-amp-guitar:before{content:\\\"\\\\f8a1\\\"}.fa-analytics:before{content:\\\"\\\\f643\\\"}.fa-anchor:before{content:\\\"\\\\f13d\\\"}.fa-android:before{content:\\\"\\\\f17b\\\"}.fa-angel:before{content:\\\"\\\\f779\\\"}.fa-angellist:before{content:\\\"\\\\f209\\\"}.fa-angle-double-down:before{content:\\\"\\\\f103\\\"}.fa-angle-double-left:before{content:\\\"\\\\f100\\\"}.fa-angle-double-right:before{content:\\\"\\\\f101\\\"}.fa-angle-double-up:before{content:\\\"\\\\f102\\\"}.fa-angle-down:before{content:\\\"\\\\f107\\\"}.fa-angle-left:before{content:\\\"\\\\f104\\\"}.fa-angle-right:before{content:\\\"\\\\f105\\\"}.fa-angle-up:before{content:\\\"\\\\f106\\\"}.fa-angry:before{content:\\\"\\\\f556\\\"}.fa-angrycreative:before{content:\\\"\\\\f36e\\\"}.fa-angular:before{content:\\\"\\\\f420\\\"}.fa-ankh:before{content:\\\"\\\\f644\\\"}.fa-app-store:before{content:\\\"\\\\f36f\\\"}.fa-app-store-ios:before{content:\\\"\\\\f370\\\"}.fa-apper:before{content:\\\"\\\\f371\\\"}.fa-apple:before{content:\\\"\\\\f179\\\"}.fa-apple-alt:before{content:\\\"\\\\f5d1\\\"}.fa-apple-crate:before{content:\\\"\\\\f6b1\\\"}.fa-apple-pay:before{content:\\\"\\\\f415\\\"}.fa-archive:before{content:\\\"\\\\f187\\\"}.fa-archway:before{content:\\\"\\\\f557\\\"}.fa-arrow-alt-circle-down:before{content:\\\"\\\\f358\\\"}.fa-arrow-alt-circle-left:before{content:\\\"\\\\f359\\\"}.fa-arrow-alt-circle-right:before{content:\\\"\\\\f35a\\\"}.fa-arrow-alt-circle-up:before{content:\\\"\\\\f35b\\\"}.fa-arrow-alt-down:before{content:\\\"\\\\f354\\\"}.fa-arrow-alt-from-bottom:before{content:\\\"\\\\f346\\\"}.fa-arrow-alt-from-left:before{content:\\\"\\\\f347\\\"}.fa-arrow-alt-from-right:before{content:\\\"\\\\f348\\\"}.fa-arrow-alt-from-top:before{content:\\\"\\\\f349\\\"}.fa-arrow-alt-left:before{content:\\\"\\\\f355\\\"}.fa-arrow-alt-right:before{content:\\\"\\\\f356\\\"}.fa-arrow-alt-square-down:before{content:\\\"\\\\f350\\\"}.fa-arrow-alt-square-left:before{content:\\\"\\\\f351\\\"}.fa-arrow-alt-square-right:before{content:\\\"\\\\f352\\\"}.fa-arrow-alt-square-up:before{content:\\\"\\\\f353\\\"}.fa-arrow-alt-to-bottom:before{content:\\\"\\\\f34a\\\"}.fa-arrow-alt-to-left:before{content:\\\"\\\\f34b\\\"}.fa-arrow-alt-to-right:before{content:\\\"\\\\f34c\\\"}.fa-arrow-alt-to-top:before{content:\\\"\\\\f34d\\\"}.fa-arrow-alt-up:before{content:\\\"\\\\f357\\\"}.fa-arrow-circle-down:before{content:\\\"\\\\f0ab\\\"}.fa-arrow-circle-left:before{content:\\\"\\\\f0a8\\\"}.fa-arrow-circle-right:before{content:\\\"\\\\f0a9\\\"}.fa-arrow-circle-up:before{content:\\\"\\\\f0aa\\\"}.fa-arrow-down:before{content:\\\"\\\\f063\\\"}.fa-arrow-from-bottom:before{content:\\\"\\\\f342\\\"}.fa-arrow-from-left:before{content:\\\"\\\\f343\\\"}.fa-arrow-from-right:before{content:\\\"\\\\f344\\\"}.fa-arrow-from-top:before{content:\\\"\\\\f345\\\"}.fa-arrow-left:before{content:\\\"\\\\f060\\\"}.fa-arrow-right:before{content:\\\"\\\\f061\\\"}.fa-arrow-square-down:before{content:\\\"\\\\f339\\\"}.fa-arrow-square-left:before{content:\\\"\\\\f33a\\\"}.fa-arrow-square-right:before{content:\\\"\\\\f33b\\\"}.fa-arrow-square-up:before{content:\\\"\\\\f33c\\\"}.fa-arrow-to-bottom:before{content:\\\"\\\\f33d\\\"}.fa-arrow-to-left:before{content:\\\"\\\\f33e\\\"}.fa-arrow-to-right:before{content:\\\"\\\\f340\\\"}.fa-arrow-to-top:before{content:\\\"\\\\f341\\\"}.fa-arrow-up:before{content:\\\"\\\\f062\\\"}.fa-arrows:before{content:\\\"\\\\f047\\\"}.fa-arrows-alt:before{content:\\\"\\\\f0b2\\\"}.fa-arrows-alt-h:before{content:\\\"\\\\f337\\\"}.fa-arrows-alt-v:before{content:\\\"\\\\f338\\\"}.fa-arrows-h:before{content:\\\"\\\\f07e\\\"}.fa-arrows-v:before{content:\\\"\\\\f07d\\\"}.fa-artstation:before{content:\\\"\\\\f77a\\\"}.fa-assistive-listening-systems:before{content:\\\"\\\\f2a2\\\"}.fa-asterisk:before{content:\\\"\\\\f069\\\"}.fa-asymmetrik:before{content:\\\"\\\\f372\\\"}.fa-at:before{content:\\\"\\\\f1fa\\\"}.fa-atlas:before{content:\\\"\\\\f558\\\"}.fa-atlassian:before{content:\\\"\\\\f77b\\\"}.fa-atom:before{content:\\\"\\\\f5d2\\\"}.fa-atom-alt:before{content:\\\"\\\\f5d3\\\"}.fa-audible:before{content:\\\"\\\\f373\\\"}.fa-audio-description:before{content:\\\"\\\\f29e\\\"}.fa-autoprefixer:before{content:\\\"\\\\f41c\\\"}.fa-avianex:before{content:\\\"\\\\f374\\\"}.fa-aviato:before{content:\\\"\\\\f421\\\"}.fa-award:before{content:\\\"\\\\f559\\\"}.fa-aws:before{content:\\\"\\\\f375\\\"}.fa-axe:before{content:\\\"\\\\f6b2\\\"}.fa-axe-battle:before{content:\\\"\\\\f6b3\\\"}.fa-baby:before{content:\\\"\\\\f77c\\\"}.fa-baby-carriage:before{content:\\\"\\\\f77d\\\"}.fa-backpack:before{content:\\\"\\\\f5d4\\\"}.fa-backspace:before{content:\\\"\\\\f55a\\\"}.fa-backward:before{content:\\\"\\\\f04a\\\"}.fa-bacon:before{content:\\\"\\\\f7e5\\\"}.fa-bacteria:before{content:\\\"\\\\f959\\\"}.fa-bacterium:before{content:\\\"\\\\f95a\\\"}.fa-badge:before{content:\\\"\\\\f335\\\"}.fa-badge-check:before{content:\\\"\\\\f336\\\"}.fa-badge-dollar:before{content:\\\"\\\\f645\\\"}.fa-badge-percent:before{content:\\\"\\\\f646\\\"}.fa-badge-sheriff:before{content:\\\"\\\\f8a2\\\"}.fa-badger-honey:before{content:\\\"\\\\f6b4\\\"}.fa-bags-shopping:before{content:\\\"\\\\f847\\\"}.fa-bahai:before{content:\\\"\\\\f666\\\"}.fa-balance-scale:before{content:\\\"\\\\f24e\\\"}.fa-balance-scale-left:before{content:\\\"\\\\f515\\\"}.fa-balance-scale-right:before{content:\\\"\\\\f516\\\"}.fa-ball-pile:before{content:\\\"\\\\f77e\\\"}.fa-ballot:before{content:\\\"\\\\f732\\\"}.fa-ballot-check:before{content:\\\"\\\\f733\\\"}.fa-ban:before{content:\\\"\\\\f05e\\\"}.fa-band-aid:before{content:\\\"\\\\f462\\\"}.fa-bandcamp:before{content:\\\"\\\\f2d5\\\"}.fa-banjo:before{content:\\\"\\\\f8a3\\\"}.fa-barcode:before{content:\\\"\\\\f02a\\\"}.fa-barcode-alt:before{content:\\\"\\\\f463\\\"}.fa-barcode-read:before{content:\\\"\\\\f464\\\"}.fa-barcode-scan:before{content:\\\"\\\\f465\\\"}.fa-bars:before{content:\\\"\\\\f0c9\\\"}.fa-baseball:before{content:\\\"\\\\f432\\\"}.fa-baseball-ball:before{content:\\\"\\\\f433\\\"}.fa-basketball-ball:before{content:\\\"\\\\f434\\\"}.fa-basketball-hoop:before{content:\\\"\\\\f435\\\"}.fa-bat:before{content:\\\"\\\\f6b5\\\"}.fa-bath:before{content:\\\"\\\\f2cd\\\"}.fa-battery-bolt:before{content:\\\"\\\\f376\\\"}.fa-battery-empty:before{content:\\\"\\\\f244\\\"}.fa-battery-full:before{content:\\\"\\\\f240\\\"}.fa-battery-half:before{content:\\\"\\\\f242\\\"}.fa-battery-quarter:before{content:\\\"\\\\f243\\\"}.fa-battery-slash:before{content:\\\"\\\\f377\\\"}.fa-battery-three-quarters:before{content:\\\"\\\\f241\\\"}.fa-battle-net:before{content:\\\"\\\\f835\\\"}.fa-bed:before{content:\\\"\\\\f236\\\"}.fa-bed-alt:before{content:\\\"\\\\f8f7\\\"}.fa-bed-bunk:before{content:\\\"\\\\f8f8\\\"}.fa-bed-empty:before{content:\\\"\\\\f8f9\\\"}.fa-beer:before{content:\\\"\\\\f0fc\\\"}.fa-behance:before{content:\\\"\\\\f1b4\\\"}.fa-behance-square:before{content:\\\"\\\\f1b5\\\"}.fa-bell:before{content:\\\"\\\\f0f3\\\"}.fa-bell-exclamation:before{content:\\\"\\\\f848\\\"}.fa-bell-on:before{content:\\\"\\\\f8fa\\\"}.fa-bell-plus:before{content:\\\"\\\\f849\\\"}.fa-bell-school:before{content:\\\"\\\\f5d5\\\"}.fa-bell-school-slash:before{content:\\\"\\\\f5d6\\\"}.fa-bell-slash:before{content:\\\"\\\\f1f6\\\"}.fa-bells:before{content:\\\"\\\\f77f\\\"}.fa-betamax:before{content:\\\"\\\\f8a4\\\"}.fa-bezier-curve:before{content:\\\"\\\\f55b\\\"}.fa-bible:before{content:\\\"\\\\f647\\\"}.fa-bicycle:before{content:\\\"\\\\f206\\\"}.fa-biking:before{content:\\\"\\\\f84a\\\"}.fa-biking-mountain:before{content:\\\"\\\\f84b\\\"}.fa-bimobject:before{content:\\\"\\\\f378\\\"}.fa-binoculars:before{content:\\\"\\\\f1e5\\\"}.fa-biohazard:before{content:\\\"\\\\f780\\\"}.fa-birthday-cake:before{content:\\\"\\\\f1fd\\\"}.fa-bitbucket:before{content:\\\"\\\\f171\\\"}.fa-bitcoin:before{content:\\\"\\\\f379\\\"}.fa-bity:before{content:\\\"\\\\f37a\\\"}.fa-black-tie:before{content:\\\"\\\\f27e\\\"}.fa-blackberry:before{content:\\\"\\\\f37b\\\"}.fa-blanket:before{content:\\\"\\\\f498\\\"}.fa-blender:before{content:\\\"\\\\f517\\\"}.fa-blender-phone:before{content:\\\"\\\\f6b6\\\"}.fa-blind:before{content:\\\"\\\\f29d\\\"}.fa-blinds:before{content:\\\"\\\\f8fb\\\"}.fa-blinds-open:before{content:\\\"\\\\f8fc\\\"}.fa-blinds-raised:before{content:\\\"\\\\f8fd\\\"}.fa-blog:before{content:\\\"\\\\f781\\\"}.fa-blogger:before{content:\\\"\\\\f37c\\\"}.fa-blogger-b:before{content:\\\"\\\\f37d\\\"}.fa-bluetooth:before{content:\\\"\\\\f293\\\"}.fa-bluetooth-b:before{content:\\\"\\\\f294\\\"}.fa-bold:before{content:\\\"\\\\f032\\\"}.fa-bolt:before{content:\\\"\\\\f0e7\\\"}.fa-bomb:before{content:\\\"\\\\f1e2\\\"}.fa-bone:before{content:\\\"\\\\f5d7\\\"}.fa-bone-break:before{content:\\\"\\\\f5d8\\\"}.fa-bong:before{content:\\\"\\\\f55c\\\"}.fa-book:before{content:\\\"\\\\f02d\\\"}.fa-book-alt:before{content:\\\"\\\\f5d9\\\"}.fa-book-dead:before{content:\\\"\\\\f6b7\\\"}.fa-book-heart:before{content:\\\"\\\\f499\\\"}.fa-book-medical:before{content:\\\"\\\\f7e6\\\"}.fa-book-open:before{content:\\\"\\\\f518\\\"}.fa-book-reader:before{content:\\\"\\\\f5da\\\"}.fa-book-spells:before{content:\\\"\\\\f6b8\\\"}.fa-book-user:before{content:\\\"\\\\f7e7\\\"}.fa-bookmark:before{content:\\\"\\\\f02e\\\"}.fa-books:before{content:\\\"\\\\f5db\\\"}.fa-books-medical:before{content:\\\"\\\\f7e8\\\"}.fa-boombox:before{content:\\\"\\\\f8a5\\\"}.fa-boot:before{content:\\\"\\\\f782\\\"}.fa-booth-curtain:before{content:\\\"\\\\f734\\\"}.fa-bootstrap:before{content:\\\"\\\\f836\\\"}.fa-border-all:before{content:\\\"\\\\f84c\\\"}.fa-border-bottom:before{content:\\\"\\\\f84d\\\"}.fa-border-center-h:before{content:\\\"\\\\f89c\\\"}.fa-border-center-v:before{content:\\\"\\\\f89d\\\"}.fa-border-inner:before{content:\\\"\\\\f84e\\\"}.fa-border-left:before{content:\\\"\\\\f84f\\\"}.fa-border-none:before{content:\\\"\\\\f850\\\"}.fa-border-outer:before{content:\\\"\\\\f851\\\"}.fa-border-right:before{content:\\\"\\\\f852\\\"}.fa-border-style:before{content:\\\"\\\\f853\\\"}.fa-border-style-alt:before{content:\\\"\\\\f854\\\"}.fa-border-top:before{content:\\\"\\\\f855\\\"}.fa-bow-arrow:before{content:\\\"\\\\f6b9\\\"}.fa-bowling-ball:before{content:\\\"\\\\f436\\\"}.fa-bowling-pins:before{content:\\\"\\\\f437\\\"}.fa-box:before{content:\\\"\\\\f466\\\"}.fa-box-alt:before{content:\\\"\\\\f49a\\\"}.fa-box-ballot:before{content:\\\"\\\\f735\\\"}.fa-box-check:before{content:\\\"\\\\f467\\\"}.fa-box-fragile:before{content:\\\"\\\\f49b\\\"}.fa-box-full:before{content:\\\"\\\\f49c\\\"}.fa-box-heart:before{content:\\\"\\\\f49d\\\"}.fa-box-open:before{content:\\\"\\\\f49e\\\"}.fa-box-tissue:before{content:\\\"\\\\f95b\\\"}.fa-box-up:before{content:\\\"\\\\f49f\\\"}.fa-box-usd:before{content:\\\"\\\\f4a0\\\"}.fa-boxes:before{content:\\\"\\\\f468\\\"}.fa-boxes-alt:before{content:\\\"\\\\f4a1\\\"}.fa-boxing-glove:before{content:\\\"\\\\f438\\\"}.fa-brackets:before{content:\\\"\\\\f7e9\\\"}.fa-brackets-curly:before{content:\\\"\\\\f7ea\\\"}.fa-braille:before{content:\\\"\\\\f2a1\\\"}.fa-brain:before{content:\\\"\\\\f5dc\\\"}.fa-bread-loaf:before{content:\\\"\\\\f7eb\\\"}.fa-bread-slice:before{content:\\\"\\\\f7ec\\\"}.fa-briefcase:before{content:\\\"\\\\f0b1\\\"}.fa-briefcase-medical:before{content:\\\"\\\\f469\\\"}.fa-bring-forward:before{content:\\\"\\\\f856\\\"}.fa-bring-front:before{content:\\\"\\\\f857\\\"}.fa-broadcast-tower:before{content:\\\"\\\\f519\\\"}.fa-broom:before{content:\\\"\\\\f51a\\\"}.fa-browser:before{content:\\\"\\\\f37e\\\"}.fa-brush:before{content:\\\"\\\\f55d\\\"}.fa-btc:before{content:\\\"\\\\f15a\\\"}.fa-buffer:before{content:\\\"\\\\f837\\\"}.fa-bug:before{content:\\\"\\\\f188\\\"}.fa-building:before{content:\\\"\\\\f1ad\\\"}.fa-bullhorn:before{content:\\\"\\\\f0a1\\\"}.fa-bullseye:before{content:\\\"\\\\f140\\\"}.fa-bullseye-arrow:before{content:\\\"\\\\f648\\\"}.fa-bullseye-pointer:before{content:\\\"\\\\f649\\\"}.fa-burger-soda:before{content:\\\"\\\\f858\\\"}.fa-burn:before{content:\\\"\\\\f46a\\\"}.fa-buromobelexperte:before{content:\\\"\\\\f37f\\\"}.fa-burrito:before{content:\\\"\\\\f7ed\\\"}.fa-bus:before{content:\\\"\\\\f207\\\"}.fa-bus-alt:before{content:\\\"\\\\f55e\\\"}.fa-bus-school:before{content:\\\"\\\\f5dd\\\"}.fa-business-time:before{content:\\\"\\\\f64a\\\"}.fa-buy-n-large:before{content:\\\"\\\\f8a6\\\"}.fa-buysellads:before{content:\\\"\\\\f20d\\\"}.fa-cabinet-filing:before{content:\\\"\\\\f64b\\\"}.fa-cactus:before{content:\\\"\\\\f8a7\\\"}.fa-calculator:before{content:\\\"\\\\f1ec\\\"}.fa-calculator-alt:before{content:\\\"\\\\f64c\\\"}.fa-calendar:before{content:\\\"\\\\f133\\\"}.fa-calendar-alt:before{content:\\\"\\\\f073\\\"}.fa-calendar-check:before{content:\\\"\\\\f274\\\"}.fa-calendar-day:before{content:\\\"\\\\f783\\\"}.fa-calendar-edit:before{content:\\\"\\\\f333\\\"}.fa-calendar-exclamation:before{content:\\\"\\\\f334\\\"}.fa-calendar-minus:before{content:\\\"\\\\f272\\\"}.fa-calendar-plus:before{content:\\\"\\\\f271\\\"}.fa-calendar-star:before{content:\\\"\\\\f736\\\"}.fa-calendar-times:before{content:\\\"\\\\f273\\\"}.fa-calendar-week:before{content:\\\"\\\\f784\\\"}.fa-camcorder:before{content:\\\"\\\\f8a8\\\"}.fa-camera:before{content:\\\"\\\\f030\\\"}.fa-camera-alt:before{content:\\\"\\\\f332\\\"}.fa-camera-home:before{content:\\\"\\\\f8fe\\\"}.fa-camera-movie:before{content:\\\"\\\\f8a9\\\"}.fa-camera-polaroid:before{content:\\\"\\\\f8aa\\\"}.fa-camera-retro:before{content:\\\"\\\\f083\\\"}.fa-campfire:before{content:\\\"\\\\f6ba\\\"}.fa-campground:before{content:\\\"\\\\f6bb\\\"}.fa-canadian-maple-leaf:before{content:\\\"\\\\f785\\\"}.fa-candle-holder:before{content:\\\"\\\\f6bc\\\"}.fa-candy-cane:before{content:\\\"\\\\f786\\\"}.fa-candy-corn:before{content:\\\"\\\\f6bd\\\"}.fa-cannabis:before{content:\\\"\\\\f55f\\\"}.fa-capsules:before{content:\\\"\\\\f46b\\\"}.fa-car:before{content:\\\"\\\\f1b9\\\"}.fa-car-alt:before{content:\\\"\\\\f5de\\\"}.fa-car-battery:before{content:\\\"\\\\f5df\\\"}.fa-car-building:before{content:\\\"\\\\f859\\\"}.fa-car-bump:before{content:\\\"\\\\f5e0\\\"}.fa-car-bus:before{content:\\\"\\\\f85a\\\"}.fa-car-crash:before{content:\\\"\\\\f5e1\\\"}.fa-car-garage:before{content:\\\"\\\\f5e2\\\"}.fa-car-mechanic:before{content:\\\"\\\\f5e3\\\"}.fa-car-side:before{content:\\\"\\\\f5e4\\\"}.fa-car-tilt:before{content:\\\"\\\\f5e5\\\"}.fa-car-wash:before{content:\\\"\\\\f5e6\\\"}.fa-caravan:before{content:\\\"\\\\f8ff\\\"}.fa-caravan-alt:before{content:\\\"\\\\f900\\\"}.fa-caret-circle-down:before{content:\\\"\\\\f32d\\\"}.fa-caret-circle-left:before{content:\\\"\\\\f32e\\\"}.fa-caret-circle-right:before{content:\\\"\\\\f330\\\"}.fa-caret-circle-up:before{content:\\\"\\\\f331\\\"}.fa-caret-down:before{content:\\\"\\\\f0d7\\\"}.fa-caret-left:before{content:\\\"\\\\f0d9\\\"}.fa-caret-right:before{content:\\\"\\\\f0da\\\"}.fa-caret-square-down:before{content:\\\"\\\\f150\\\"}.fa-caret-square-left:before{content:\\\"\\\\f191\\\"}.fa-caret-square-right:before{content:\\\"\\\\f152\\\"}.fa-caret-square-up:before{content:\\\"\\\\f151\\\"}.fa-caret-up:before{content:\\\"\\\\f0d8\\\"}.fa-carrot:before{content:\\\"\\\\f787\\\"}.fa-cars:before{content:\\\"\\\\f85b\\\"}.fa-cart-arrow-down:before{content:\\\"\\\\f218\\\"}.fa-cart-plus:before{content:\\\"\\\\f217\\\"}.fa-cash-register:before{content:\\\"\\\\f788\\\"}.fa-cassette-tape:before{content:\\\"\\\\f8ab\\\"}.fa-cat:before{content:\\\"\\\\f6be\\\"}.fa-cat-space:before{content:\\\"\\\\f901\\\"}.fa-cauldron:before{content:\\\"\\\\f6bf\\\"}.fa-cc-amazon-pay:before{content:\\\"\\\\f42d\\\"}.fa-cc-amex:before{content:\\\"\\\\f1f3\\\"}.fa-cc-apple-pay:before{content:\\\"\\\\f416\\\"}.fa-cc-diners-club:before{content:\\\"\\\\f24c\\\"}.fa-cc-discover:before{content:\\\"\\\\f1f2\\\"}.fa-cc-jcb:before{content:\\\"\\\\f24b\\\"}.fa-cc-mastercard:before{content:\\\"\\\\f1f1\\\"}.fa-cc-paypal:before{content:\\\"\\\\f1f4\\\"}.fa-cc-stripe:before{content:\\\"\\\\f1f5\\\"}.fa-cc-visa:before{content:\\\"\\\\f1f0\\\"}.fa-cctv:before{content:\\\"\\\\f8ac\\\"}.fa-centercode:before{content:\\\"\\\\f380\\\"}.fa-centos:before{content:\\\"\\\\f789\\\"}.fa-certificate:before{content:\\\"\\\\f0a3\\\"}.fa-chair:before{content:\\\"\\\\f6c0\\\"}.fa-chair-office:before{content:\\\"\\\\f6c1\\\"}.fa-chalkboard:before{content:\\\"\\\\f51b\\\"}.fa-chalkboard-teacher:before{content:\\\"\\\\f51c\\\"}.fa-charging-station:before{content:\\\"\\\\f5e7\\\"}.fa-chart-area:before{content:\\\"\\\\f1fe\\\"}.fa-chart-bar:before{content:\\\"\\\\f080\\\"}.fa-chart-line:before{content:\\\"\\\\f201\\\"}.fa-chart-line-down:before{content:\\\"\\\\f64d\\\"}.fa-chart-network:before{content:\\\"\\\\f78a\\\"}.fa-chart-pie:before{content:\\\"\\\\f200\\\"}.fa-chart-pie-alt:before{content:\\\"\\\\f64e\\\"}.fa-chart-scatter:before{content:\\\"\\\\f7ee\\\"}.fa-check:before{content:\\\"\\\\f00c\\\"}.fa-check-circle:before{content:\\\"\\\\f058\\\"}.fa-check-double:before{content:\\\"\\\\f560\\\"}.fa-check-square:before{content:\\\"\\\\f14a\\\"}.fa-cheese:before{content:\\\"\\\\f7ef\\\"}.fa-cheese-swiss:before{content:\\\"\\\\f7f0\\\"}.fa-cheeseburger:before{content:\\\"\\\\f7f1\\\"}.fa-chess:before{content:\\\"\\\\f439\\\"}.fa-chess-bishop:before{content:\\\"\\\\f43a\\\"}.fa-chess-bishop-alt:before{content:\\\"\\\\f43b\\\"}.fa-chess-board:before{content:\\\"\\\\f43c\\\"}.fa-chess-clock:before{content:\\\"\\\\f43d\\\"}.fa-chess-clock-alt:before{content:\\\"\\\\f43e\\\"}.fa-chess-king:before{content:\\\"\\\\f43f\\\"}.fa-chess-king-alt:before{content:\\\"\\\\f440\\\"}.fa-chess-knight:before{content:\\\"\\\\f441\\\"}.fa-chess-knight-alt:before{content:\\\"\\\\f442\\\"}.fa-chess-pawn:before{content:\\\"\\\\f443\\\"}.fa-chess-pawn-alt:before{content:\\\"\\\\f444\\\"}.fa-chess-queen:before{content:\\\"\\\\f445\\\"}.fa-chess-queen-alt:before{content:\\\"\\\\f446\\\"}.fa-chess-rook:before{content:\\\"\\\\f447\\\"}.fa-chess-rook-alt:before{content:\\\"\\\\f448\\\"}.fa-chevron-circle-down:before{content:\\\"\\\\f13a\\\"}.fa-chevron-circle-left:before{content:\\\"\\\\f137\\\"}.fa-chevron-circle-right:before{content:\\\"\\\\f138\\\"}.fa-chevron-circle-up:before{content:\\\"\\\\f139\\\"}.fa-chevron-double-down:before{content:\\\"\\\\f322\\\"}.fa-chevron-double-left:before{content:\\\"\\\\f323\\\"}.fa-chevron-double-right:before{content:\\\"\\\\f324\\\"}.fa-chevron-double-up:before{content:\\\"\\\\f325\\\"}.fa-chevron-down:before{content:\\\"\\\\f078\\\"}.fa-chevron-left:before{content:\\\"\\\\f053\\\"}.fa-chevron-right:before{content:\\\"\\\\f054\\\"}.fa-chevron-square-down:before{content:\\\"\\\\f329\\\"}.fa-chevron-square-left:before{content:\\\"\\\\f32a\\\"}.fa-chevron-square-right:before{content:\\\"\\\\f32b\\\"}.fa-chevron-square-up:before{content:\\\"\\\\f32c\\\"}.fa-chevron-up:before{content:\\\"\\\\f077\\\"}.fa-child:before{content:\\\"\\\\f1ae\\\"}.fa-chimney:before{content:\\\"\\\\f78b\\\"}.fa-chrome:before{content:\\\"\\\\f268\\\"}.fa-chromecast:before{content:\\\"\\\\f838\\\"}.fa-church:before{content:\\\"\\\\f51d\\\"}.fa-circle:before{content:\\\"\\\\f111\\\"}.fa-circle-notch:before{content:\\\"\\\\f1ce\\\"}.fa-city:before{content:\\\"\\\\f64f\\\"}.fa-clarinet:before{content:\\\"\\\\f8ad\\\"}.fa-claw-marks:before{content:\\\"\\\\f6c2\\\"}.fa-clinic-medical:before{content:\\\"\\\\f7f2\\\"}.fa-clipboard:before{content:\\\"\\\\f328\\\"}.fa-clipboard-check:before{content:\\\"\\\\f46c\\\"}.fa-clipboard-list:before{content:\\\"\\\\f46d\\\"}.fa-clipboard-list-check:before{content:\\\"\\\\f737\\\"}.fa-clipboard-prescription:before{content:\\\"\\\\f5e8\\\"}.fa-clipboard-user:before{content:\\\"\\\\f7f3\\\"}.fa-clock:before{content:\\\"\\\\f017\\\"}.fa-clone:before{content:\\\"\\\\f24d\\\"}.fa-closed-captioning:before{content:\\\"\\\\f20a\\\"}.fa-cloud:before{content:\\\"\\\\f0c2\\\"}.fa-cloud-download:before{content:\\\"\\\\f0ed\\\"}.fa-cloud-download-alt:before{content:\\\"\\\\f381\\\"}.fa-cloud-drizzle:before{content:\\\"\\\\f738\\\"}.fa-cloud-hail:before{content:\\\"\\\\f739\\\"}.fa-cloud-hail-mixed:before{content:\\\"\\\\f73a\\\"}.fa-cloud-meatball:before{content:\\\"\\\\f73b\\\"}.fa-cloud-moon:before{content:\\\"\\\\f6c3\\\"}.fa-cloud-moon-rain:before{content:\\\"\\\\f73c\\\"}.fa-cloud-music:before{content:\\\"\\\\f8ae\\\"}.fa-cloud-rain:before{content:\\\"\\\\f73d\\\"}.fa-cloud-rainbow:before{content:\\\"\\\\f73e\\\"}.fa-cloud-showers:before{content:\\\"\\\\f73f\\\"}.fa-cloud-showers-heavy:before{content:\\\"\\\\f740\\\"}.fa-cloud-sleet:before{content:\\\"\\\\f741\\\"}.fa-cloud-snow:before{content:\\\"\\\\f742\\\"}.fa-cloud-sun:before{content:\\\"\\\\f6c4\\\"}.fa-cloud-sun-rain:before{content:\\\"\\\\f743\\\"}.fa-cloud-upload:before{content:\\\"\\\\f0ee\\\"}.fa-cloud-upload-alt:before{content:\\\"\\\\f382\\\"}.fa-clouds:before{content:\\\"\\\\f744\\\"}.fa-clouds-moon:before{content:\\\"\\\\f745\\\"}.fa-clouds-sun:before{content:\\\"\\\\f746\\\"}.fa-cloudscale:before{content:\\\"\\\\f383\\\"}.fa-cloudsmith:before{content:\\\"\\\\f384\\\"}.fa-cloudversify:before{content:\\\"\\\\f385\\\"}.fa-club:before{content:\\\"\\\\f327\\\"}.fa-cocktail:before{content:\\\"\\\\f561\\\"}.fa-code:before{content:\\\"\\\\f121\\\"}.fa-code-branch:before{content:\\\"\\\\f126\\\"}.fa-code-commit:before{content:\\\"\\\\f386\\\"}.fa-code-merge:before{content:\\\"\\\\f387\\\"}.fa-codepen:before{content:\\\"\\\\f1cb\\\"}.fa-codiepie:before{content:\\\"\\\\f284\\\"}.fa-coffee:before{content:\\\"\\\\f0f4\\\"}.fa-coffee-pot:before{content:\\\"\\\\f902\\\"}.fa-coffee-togo:before{content:\\\"\\\\f6c5\\\"}.fa-coffin:before{content:\\\"\\\\f6c6\\\"}.fa-coffin-cross:before{content:\\\"\\\\f951\\\"}.fa-cog:before{content:\\\"\\\\f013\\\"}.fa-cogs:before{content:\\\"\\\\f085\\\"}.fa-coin:before{content:\\\"\\\\f85c\\\"}.fa-coins:before{content:\\\"\\\\f51e\\\"}.fa-columns:before{content:\\\"\\\\f0db\\\"}.fa-comet:before{content:\\\"\\\\f903\\\"}.fa-comment:before{content:\\\"\\\\f075\\\"}.fa-comment-alt:before{content:\\\"\\\\f27a\\\"}.fa-comment-alt-check:before{content:\\\"\\\\f4a2\\\"}.fa-comment-alt-dollar:before{content:\\\"\\\\f650\\\"}.fa-comment-alt-dots:before{content:\\\"\\\\f4a3\\\"}.fa-comment-alt-edit:before{content:\\\"\\\\f4a4\\\"}.fa-comment-alt-exclamation:before{content:\\\"\\\\f4a5\\\"}.fa-comment-alt-lines:before{content:\\\"\\\\f4a6\\\"}.fa-comment-alt-medical:before{content:\\\"\\\\f7f4\\\"}.fa-comment-alt-minus:before{content:\\\"\\\\f4a7\\\"}.fa-comment-alt-music:before{content:\\\"\\\\f8af\\\"}.fa-comment-alt-plus:before{content:\\\"\\\\f4a8\\\"}.fa-comment-alt-slash:before{content:\\\"\\\\f4a9\\\"}.fa-comment-alt-smile:before{content:\\\"\\\\f4aa\\\"}.fa-comment-alt-times:before{content:\\\"\\\\f4ab\\\"}.fa-comment-check:before{content:\\\"\\\\f4ac\\\"}.fa-comment-dollar:before{content:\\\"\\\\f651\\\"}.fa-comment-dots:before{content:\\\"\\\\f4ad\\\"}.fa-comment-edit:before{content:\\\"\\\\f4ae\\\"}.fa-comment-exclamation:before{content:\\\"\\\\f4af\\\"}.fa-comment-lines:before{content:\\\"\\\\f4b0\\\"}.fa-comment-medical:before{content:\\\"\\\\f7f5\\\"}.fa-comment-minus:before{content:\\\"\\\\f4b1\\\"}.fa-comment-music:before{content:\\\"\\\\f8b0\\\"}.fa-comment-plus:before{content:\\\"\\\\f4b2\\\"}.fa-comment-slash:before{content:\\\"\\\\f4b3\\\"}.fa-comment-smile:before{content:\\\"\\\\f4b4\\\"}.fa-comment-times:before{content:\\\"\\\\f4b5\\\"}.fa-comments:before{content:\\\"\\\\f086\\\"}.fa-comments-alt:before{content:\\\"\\\\f4b6\\\"}.fa-comments-alt-dollar:before{content:\\\"\\\\f652\\\"}.fa-comments-dollar:before{content:\\\"\\\\f653\\\"}.fa-compact-disc:before{content:\\\"\\\\f51f\\\"}.fa-compass:before{content:\\\"\\\\f14e\\\"}.fa-compass-slash:before{content:\\\"\\\\f5e9\\\"}.fa-compress:before{content:\\\"\\\\f066\\\"}.fa-compress-alt:before{content:\\\"\\\\f422\\\"}.fa-compress-arrows-alt:before{content:\\\"\\\\f78c\\\"}.fa-compress-wide:before{content:\\\"\\\\f326\\\"}.fa-computer-classic:before{content:\\\"\\\\f8b1\\\"}.fa-computer-speaker:before{content:\\\"\\\\f8b2\\\"}.fa-concierge-bell:before{content:\\\"\\\\f562\\\"}.fa-confluence:before{content:\\\"\\\\f78d\\\"}.fa-connectdevelop:before{content:\\\"\\\\f20e\\\"}.fa-construction:before{content:\\\"\\\\f85d\\\"}.fa-container-storage:before{content:\\\"\\\\f4b7\\\"}.fa-contao:before{content:\\\"\\\\f26d\\\"}.fa-conveyor-belt:before{content:\\\"\\\\f46e\\\"}.fa-conveyor-belt-alt:before{content:\\\"\\\\f46f\\\"}.fa-cookie:before{content:\\\"\\\\f563\\\"}.fa-cookie-bite:before{content:\\\"\\\\f564\\\"}.fa-copy:before{content:\\\"\\\\f0c5\\\"}.fa-copyright:before{content:\\\"\\\\f1f9\\\"}.fa-corn:before{content:\\\"\\\\f6c7\\\"}.fa-cotton-bureau:before{content:\\\"\\\\f89e\\\"}.fa-couch:before{content:\\\"\\\\f4b8\\\"}.fa-cow:before{content:\\\"\\\\f6c8\\\"}.fa-cowbell:before{content:\\\"\\\\f8b3\\\"}.fa-cowbell-more:before{content:\\\"\\\\f8b4\\\"}.fa-cpanel:before{content:\\\"\\\\f388\\\"}.fa-creative-commons:before{content:\\\"\\\\f25e\\\"}.fa-creative-commons-by:before{content:\\\"\\\\f4e7\\\"}.fa-creative-commons-nc:before{content:\\\"\\\\f4e8\\\"}.fa-creative-commons-nc-eu:before{content:\\\"\\\\f4e9\\\"}.fa-creative-commons-nc-jp:before{content:\\\"\\\\f4ea\\\"}.fa-creative-commons-nd:before{content:\\\"\\\\f4eb\\\"}.fa-creative-commons-pd:before{content:\\\"\\\\f4ec\\\"}.fa-creative-commons-pd-alt:before{content:\\\"\\\\f4ed\\\"}.fa-creative-commons-remix:before{content:\\\"\\\\f4ee\\\"}.fa-creative-commons-sa:before{content:\\\"\\\\f4ef\\\"}.fa-creative-commons-sampling:before{content:\\\"\\\\f4f0\\\"}.fa-creative-commons-sampling-plus:before{content:\\\"\\\\f4f1\\\"}.fa-creative-commons-share:before{content:\\\"\\\\f4f2\\\"}.fa-creative-commons-zero:before{content:\\\"\\\\f4f3\\\"}.fa-credit-card:before{content:\\\"\\\\f09d\\\"}.fa-credit-card-blank:before{content:\\\"\\\\f389\\\"}.fa-credit-card-front:before{content:\\\"\\\\f38a\\\"}.fa-cricket:before{content:\\\"\\\\f449\\\"}.fa-critical-role:before{content:\\\"\\\\f6c9\\\"}.fa-croissant:before{content:\\\"\\\\f7f6\\\"}.fa-crop:before{content:\\\"\\\\f125\\\"}.fa-crop-alt:before{content:\\\"\\\\f565\\\"}.fa-cross:before{content:\\\"\\\\f654\\\"}.fa-crosshairs:before{content:\\\"\\\\f05b\\\"}.fa-crow:before{content:\\\"\\\\f520\\\"}.fa-crown:before{content:\\\"\\\\f521\\\"}.fa-crutch:before{content:\\\"\\\\f7f7\\\"}.fa-crutches:before{content:\\\"\\\\f7f8\\\"}.fa-css3:before{content:\\\"\\\\f13c\\\"}.fa-css3-alt:before{content:\\\"\\\\f38b\\\"}.fa-cube:before{content:\\\"\\\\f1b2\\\"}.fa-cubes:before{content:\\\"\\\\f1b3\\\"}.fa-curling:before{content:\\\"\\\\f44a\\\"}.fa-cut:before{content:\\\"\\\\f0c4\\\"}.fa-cuttlefish:before{content:\\\"\\\\f38c\\\"}.fa-d-and-d:before{content:\\\"\\\\f38d\\\"}.fa-d-and-d-beyond:before{content:\\\"\\\\f6ca\\\"}.fa-dagger:before{content:\\\"\\\\f6cb\\\"}.fa-dailymotion:before{content:\\\"\\\\f952\\\"}.fa-dashcube:before{content:\\\"\\\\f210\\\"}.fa-database:before{content:\\\"\\\\f1c0\\\"}.fa-deaf:before{content:\\\"\\\\f2a4\\\"}.fa-debug:before{content:\\\"\\\\f7f9\\\"}.fa-deer:before{content:\\\"\\\\f78e\\\"}.fa-deer-rudolph:before{content:\\\"\\\\f78f\\\"}.fa-delicious:before{content:\\\"\\\\f1a5\\\"}.fa-democrat:before{content:\\\"\\\\f747\\\"}.fa-deploydog:before{content:\\\"\\\\f38e\\\"}.fa-deskpro:before{content:\\\"\\\\f38f\\\"}.fa-desktop:before{content:\\\"\\\\f108\\\"}.fa-desktop-alt:before{content:\\\"\\\\f390\\\"}.fa-dev:before{content:\\\"\\\\f6cc\\\"}.fa-deviantart:before{content:\\\"\\\\f1bd\\\"}.fa-dewpoint:before{content:\\\"\\\\f748\\\"}.fa-dharmachakra:before{content:\\\"\\\\f655\\\"}.fa-dhl:before{content:\\\"\\\\f790\\\"}.fa-diagnoses:before{content:\\\"\\\\f470\\\"}.fa-diamond:before{content:\\\"\\\\f219\\\"}.fa-diaspora:before{content:\\\"\\\\f791\\\"}.fa-dice:before{content:\\\"\\\\f522\\\"}.fa-dice-d10:before{content:\\\"\\\\f6cd\\\"}.fa-dice-d12:before{content:\\\"\\\\f6ce\\\"}.fa-dice-d20:before{content:\\\"\\\\f6cf\\\"}.fa-dice-d4:before{content:\\\"\\\\f6d0\\\"}.fa-dice-d6:before{content:\\\"\\\\f6d1\\\"}.fa-dice-d8:before{content:\\\"\\\\f6d2\\\"}.fa-dice-five:before{content:\\\"\\\\f523\\\"}.fa-dice-four:before{content:\\\"\\\\f524\\\"}.fa-dice-one:before{content:\\\"\\\\f525\\\"}.fa-dice-six:before{content:\\\"\\\\f526\\\"}.fa-dice-three:before{content:\\\"\\\\f527\\\"}.fa-dice-two:before{content:\\\"\\\\f528\\\"}.fa-digg:before{content:\\\"\\\\f1a6\\\"}.fa-digging:before{content:\\\"\\\\f85e\\\"}.fa-digital-ocean:before{content:\\\"\\\\f391\\\"}.fa-digital-tachograph:before{content:\\\"\\\\f566\\\"}.fa-diploma:before{content:\\\"\\\\f5ea\\\"}.fa-directions:before{content:\\\"\\\\f5eb\\\"}.fa-disc-drive:before{content:\\\"\\\\f8b5\\\"}.fa-discord:before{content:\\\"\\\\f392\\\"}.fa-discourse:before{content:\\\"\\\\f393\\\"}.fa-disease:before{content:\\\"\\\\f7fa\\\"}.fa-divide:before{content:\\\"\\\\f529\\\"}.fa-dizzy:before{content:\\\"\\\\f567\\\"}.fa-dna:before{content:\\\"\\\\f471\\\"}.fa-do-not-enter:before{content:\\\"\\\\f5ec\\\"}.fa-dochub:before{content:\\\"\\\\f394\\\"}.fa-docker:before{content:\\\"\\\\f395\\\"}.fa-dog:before{content:\\\"\\\\f6d3\\\"}.fa-dog-leashed:before{content:\\\"\\\\f6d4\\\"}.fa-dollar-sign:before{content:\\\"\\\\f155\\\"}.fa-dolly:before{content:\\\"\\\\f472\\\"}.fa-dolly-empty:before{content:\\\"\\\\f473\\\"}.fa-dolly-flatbed:before{content:\\\"\\\\f474\\\"}.fa-dolly-flatbed-alt:before{content:\\\"\\\\f475\\\"}.fa-dolly-flatbed-empty:before{content:\\\"\\\\f476\\\"}.fa-donate:before{content:\\\"\\\\f4b9\\\"}.fa-door-closed:before{content:\\\"\\\\f52a\\\"}.fa-door-open:before{content:\\\"\\\\f52b\\\"}.fa-dot-circle:before{content:\\\"\\\\f192\\\"}.fa-dove:before{content:\\\"\\\\f4ba\\\"}.fa-download:before{content:\\\"\\\\f019\\\"}.fa-draft2digital:before{content:\\\"\\\\f396\\\"}.fa-drafting-compass:before{content:\\\"\\\\f568\\\"}.fa-dragon:before{content:\\\"\\\\f6d5\\\"}.fa-draw-circle:before{content:\\\"\\\\f5ed\\\"}.fa-draw-polygon:before{content:\\\"\\\\f5ee\\\"}.fa-draw-square:before{content:\\\"\\\\f5ef\\\"}.fa-dreidel:before{content:\\\"\\\\f792\\\"}.fa-dribbble:before{content:\\\"\\\\f17d\\\"}.fa-dribbble-square:before{content:\\\"\\\\f397\\\"}.fa-drone:before{content:\\\"\\\\f85f\\\"}.fa-drone-alt:before{content:\\\"\\\\f860\\\"}.fa-dropbox:before{content:\\\"\\\\f16b\\\"}.fa-drum:before{content:\\\"\\\\f569\\\"}.fa-drum-steelpan:before{content:\\\"\\\\f56a\\\"}.fa-drumstick:before{content:\\\"\\\\f6d6\\\"}.fa-drumstick-bite:before{content:\\\"\\\\f6d7\\\"}.fa-drupal:before{content:\\\"\\\\f1a9\\\"}.fa-dryer:before{content:\\\"\\\\f861\\\"}.fa-dryer-alt:before{content:\\\"\\\\f862\\\"}.fa-duck:before{content:\\\"\\\\f6d8\\\"}.fa-dumbbell:before{content:\\\"\\\\f44b\\\"}.fa-dumpster:before{content:\\\"\\\\f793\\\"}.fa-dumpster-fire:before{content:\\\"\\\\f794\\\"}.fa-dungeon:before{content:\\\"\\\\f6d9\\\"}.fa-dyalog:before{content:\\\"\\\\f399\\\"}.fa-ear:before{content:\\\"\\\\f5f0\\\"}.fa-ear-muffs:before{content:\\\"\\\\f795\\\"}.fa-earlybirds:before{content:\\\"\\\\f39a\\\"}.fa-ebay:before{content:\\\"\\\\f4f4\\\"}.fa-eclipse:before{content:\\\"\\\\f749\\\"}.fa-eclipse-alt:before{content:\\\"\\\\f74a\\\"}.fa-edge:before{content:\\\"\\\\f282\\\"}.fa-edit:before{content:\\\"\\\\f044\\\"}.fa-egg:before{content:\\\"\\\\f7fb\\\"}.fa-egg-fried:before{content:\\\"\\\\f7fc\\\"}.fa-eject:before{content:\\\"\\\\f052\\\"}.fa-elementor:before{content:\\\"\\\\f430\\\"}.fa-elephant:before{content:\\\"\\\\f6da\\\"}.fa-ellipsis-h:before{content:\\\"\\\\f141\\\"}.fa-ellipsis-h-alt:before{content:\\\"\\\\f39b\\\"}.fa-ellipsis-v:before{content:\\\"\\\\f142\\\"}.fa-ellipsis-v-alt:before{content:\\\"\\\\f39c\\\"}.fa-ello:before{content:\\\"\\\\f5f1\\\"}.fa-ember:before{content:\\\"\\\\f423\\\"}.fa-empire:before{content:\\\"\\\\f1d1\\\"}.fa-empty-set:before{content:\\\"\\\\f656\\\"}.fa-engine-warning:before{content:\\\"\\\\f5f2\\\"}.fa-envelope:before{content:\\\"\\\\f0e0\\\"}.fa-envelope-open:before{content:\\\"\\\\f2b6\\\"}.fa-envelope-open-dollar:before{content:\\\"\\\\f657\\\"}.fa-envelope-open-text:before{content:\\\"\\\\f658\\\"}.fa-envelope-square:before{content:\\\"\\\\f199\\\"}.fa-envira:before{content:\\\"\\\\f299\\\"}.fa-equals:before{content:\\\"\\\\f52c\\\"}.fa-eraser:before{content:\\\"\\\\f12d\\\"}.fa-erlang:before{content:\\\"\\\\f39d\\\"}.fa-ethereum:before{content:\\\"\\\\f42e\\\"}.fa-ethernet:before{content:\\\"\\\\f796\\\"}.fa-etsy:before{content:\\\"\\\\f2d7\\\"}.fa-euro-sign:before{content:\\\"\\\\f153\\\"}.fa-evernote:before{content:\\\"\\\\f839\\\"}.fa-exchange:before{content:\\\"\\\\f0ec\\\"}.fa-exchange-alt:before{content:\\\"\\\\f362\\\"}.fa-exclamation:before{content:\\\"\\\\f12a\\\"}.fa-exclamation-circle:before{content:\\\"\\\\f06a\\\"}.fa-exclamation-square:before{content:\\\"\\\\f321\\\"}.fa-exclamation-triangle:before{content:\\\"\\\\f071\\\"}.fa-expand:before{content:\\\"\\\\f065\\\"}.fa-expand-alt:before{content:\\\"\\\\f424\\\"}.fa-expand-arrows:before{content:\\\"\\\\f31d\\\"}.fa-expand-arrows-alt:before{content:\\\"\\\\f31e\\\"}.fa-expand-wide:before{content:\\\"\\\\f320\\\"}.fa-expeditedssl:before{content:\\\"\\\\f23e\\\"}.fa-external-link:before{content:\\\"\\\\f08e\\\"}.fa-external-link-alt:before{content:\\\"\\\\f35d\\\"}.fa-external-link-square:before{content:\\\"\\\\f14c\\\"}.fa-external-link-square-alt:before{content:\\\"\\\\f360\\\"}.fa-eye:before{content:\\\"\\\\f06e\\\"}.fa-eye-dropper:before{content:\\\"\\\\f1fb\\\"}.fa-eye-evil:before{content:\\\"\\\\f6db\\\"}.fa-eye-slash:before{content:\\\"\\\\f070\\\"}.fa-facebook:before{content:\\\"\\\\f09a\\\"}.fa-facebook-f:before{content:\\\"\\\\f39e\\\"}.fa-facebook-messenger:before{content:\\\"\\\\f39f\\\"}.fa-facebook-square:before{content:\\\"\\\\f082\\\"}.fa-fan:before{content:\\\"\\\\f863\\\"}.fa-fan-table:before{content:\\\"\\\\f904\\\"}.fa-fantasy-flight-games:before{content:\\\"\\\\f6dc\\\"}.fa-farm:before{content:\\\"\\\\f864\\\"}.fa-fast-backward:before{content:\\\"\\\\f049\\\"}.fa-fast-forward:before{content:\\\"\\\\f050\\\"}.fa-faucet:before{content:\\\"\\\\f905\\\"}.fa-faucet-drip:before{content:\\\"\\\\f906\\\"}.fa-fax:before{content:\\\"\\\\f1ac\\\"}.fa-feather:before{content:\\\"\\\\f52d\\\"}.fa-feather-alt:before{content:\\\"\\\\f56b\\\"}.fa-fedex:before{content:\\\"\\\\f797\\\"}.fa-fedora:before{content:\\\"\\\\f798\\\"}.fa-female:before{content:\\\"\\\\f182\\\"}.fa-field-hockey:before{content:\\\"\\\\f44c\\\"}.fa-fighter-jet:before{content:\\\"\\\\f0fb\\\"}.fa-figma:before{content:\\\"\\\\f799\\\"}.fa-file:before{content:\\\"\\\\f15b\\\"}.fa-file-alt:before{content:\\\"\\\\f15c\\\"}.fa-file-archive:before{content:\\\"\\\\f1c6\\\"}.fa-file-audio:before{content:\\\"\\\\f1c7\\\"}.fa-file-certificate:before{content:\\\"\\\\f5f3\\\"}.fa-file-chart-line:before{content:\\\"\\\\f659\\\"}.fa-file-chart-pie:before{content:\\\"\\\\f65a\\\"}.fa-file-check:before{content:\\\"\\\\f316\\\"}.fa-file-code:before{content:\\\"\\\\f1c9\\\"}.fa-file-contract:before{content:\\\"\\\\f56c\\\"}.fa-file-csv:before{content:\\\"\\\\f6dd\\\"}.fa-file-download:before{content:\\\"\\\\f56d\\\"}.fa-file-edit:before{content:\\\"\\\\f31c\\\"}.fa-file-excel:before{content:\\\"\\\\f1c3\\\"}.fa-file-exclamation:before{content:\\\"\\\\f31a\\\"}.fa-file-export:before{content:\\\"\\\\f56e\\\"}.fa-file-image:before{content:\\\"\\\\f1c5\\\"}.fa-file-import:before{content:\\\"\\\\f56f\\\"}.fa-file-invoice:before{content:\\\"\\\\f570\\\"}.fa-file-invoice-dollar:before{content:\\\"\\\\f571\\\"}.fa-file-medical:before{content:\\\"\\\\f477\\\"}.fa-file-medical-alt:before{content:\\\"\\\\f478\\\"}.fa-file-minus:before{content:\\\"\\\\f318\\\"}.fa-file-music:before{content:\\\"\\\\f8b6\\\"}.fa-file-pdf:before{content:\\\"\\\\f1c1\\\"}.fa-file-plus:before{content:\\\"\\\\f319\\\"}.fa-file-powerpoint:before{content:\\\"\\\\f1c4\\\"}.fa-file-prescription:before{content:\\\"\\\\f572\\\"}.fa-file-search:before{content:\\\"\\\\f865\\\"}.fa-file-signature:before{content:\\\"\\\\f573\\\"}.fa-file-spreadsheet:before{content:\\\"\\\\f65b\\\"}.fa-file-times:before{content:\\\"\\\\f317\\\"}.fa-file-upload:before{content:\\\"\\\\f574\\\"}.fa-file-user:before{content:\\\"\\\\f65c\\\"}.fa-file-video:before{content:\\\"\\\\f1c8\\\"}.fa-file-word:before{content:\\\"\\\\f1c2\\\"}.fa-files-medical:before{content:\\\"\\\\f7fd\\\"}.fa-fill:before{content:\\\"\\\\f575\\\"}.fa-fill-drip:before{content:\\\"\\\\f576\\\"}.fa-film:before{content:\\\"\\\\f008\\\"}.fa-film-alt:before{content:\\\"\\\\f3a0\\\"}.fa-film-canister:before{content:\\\"\\\\f8b7\\\"}.fa-filter:before{content:\\\"\\\\f0b0\\\"}.fa-fingerprint:before{content:\\\"\\\\f577\\\"}.fa-fire:before{content:\\\"\\\\f06d\\\"}.fa-fire-alt:before{content:\\\"\\\\f7e4\\\"}.fa-fire-extinguisher:before{content:\\\"\\\\f134\\\"}.fa-fire-smoke:before{content:\\\"\\\\f74b\\\"}.fa-firefox:before{content:\\\"\\\\f269\\\"}.fa-firefox-browser:before{content:\\\"\\\\f907\\\"}.fa-fireplace:before{content:\\\"\\\\f79a\\\"}.fa-first-aid:before{content:\\\"\\\\f479\\\"}.fa-first-order:before{content:\\\"\\\\f2b0\\\"}.fa-first-order-alt:before{content:\\\"\\\\f50a\\\"}.fa-firstdraft:before{content:\\\"\\\\f3a1\\\"}.fa-fish:before{content:\\\"\\\\f578\\\"}.fa-fish-cooked:before{content:\\\"\\\\f7fe\\\"}.fa-fist-raised:before{content:\\\"\\\\f6de\\\"}.fa-flag:before{content:\\\"\\\\f024\\\"}.fa-flag-alt:before{content:\\\"\\\\f74c\\\"}.fa-flag-checkered:before{content:\\\"\\\\f11e\\\"}.fa-flag-usa:before{content:\\\"\\\\f74d\\\"}.fa-flame:before{content:\\\"\\\\f6df\\\"}.fa-flashlight:before{content:\\\"\\\\f8b8\\\"}.fa-flask:before{content:\\\"\\\\f0c3\\\"}.fa-flask-poison:before{content:\\\"\\\\f6e0\\\"}.fa-flask-potion:before{content:\\\"\\\\f6e1\\\"}.fa-flickr:before{content:\\\"\\\\f16e\\\"}.fa-flipboard:before{content:\\\"\\\\f44d\\\"}.fa-flower:before{content:\\\"\\\\f7ff\\\"}.fa-flower-daffodil:before{content:\\\"\\\\f800\\\"}.fa-flower-tulip:before{content:\\\"\\\\f801\\\"}.fa-flushed:before{content:\\\"\\\\f579\\\"}.fa-flute:before{content:\\\"\\\\f8b9\\\"}.fa-flux-capacitor:before{content:\\\"\\\\f8ba\\\"}.fa-fly:before{content:\\\"\\\\f417\\\"}.fa-fog:before{content:\\\"\\\\f74e\\\"}.fa-folder:before{content:\\\"\\\\f07b\\\"}.fa-folder-download:before{content:\\\"\\\\f953\\\"}.fa-folder-minus:before{content:\\\"\\\\f65d\\\"}.fa-folder-open:before{content:\\\"\\\\f07c\\\"}.fa-folder-plus:before{content:\\\"\\\\f65e\\\"}.fa-folder-times:before{content:\\\"\\\\f65f\\\"}.fa-folder-tree:before{content:\\\"\\\\f802\\\"}.fa-folder-upload:before{content:\\\"\\\\f954\\\"}.fa-folders:before{content:\\\"\\\\f660\\\"}.fa-font:before{content:\\\"\\\\f031\\\"}.fa-font-awesome:before{content:\\\"\\\\f2b4\\\"}.fa-font-awesome-alt:before{content:\\\"\\\\f35c\\\"}.fa-font-awesome-flag:before{content:\\\"\\\\f425\\\"}.fa-font-awesome-logo-full:before{content:\\\"\\\\f4e6\\\"}.fa-font-case:before{content:\\\"\\\\f866\\\"}.fa-fonticons:before{content:\\\"\\\\f280\\\"}.fa-fonticons-fi:before{content:\\\"\\\\f3a2\\\"}.fa-football-ball:before{content:\\\"\\\\f44e\\\"}.fa-football-helmet:before{content:\\\"\\\\f44f\\\"}.fa-forklift:before{content:\\\"\\\\f47a\\\"}.fa-fort-awesome:before{content:\\\"\\\\f286\\\"}.fa-fort-awesome-alt:before{content:\\\"\\\\f3a3\\\"}.fa-forumbee:before{content:\\\"\\\\f211\\\"}.fa-forward:before{content:\\\"\\\\f04e\\\"}.fa-foursquare:before{content:\\\"\\\\f180\\\"}.fa-fragile:before{content:\\\"\\\\f4bb\\\"}.fa-free-code-camp:before{content:\\\"\\\\f2c5\\\"}.fa-freebsd:before{content:\\\"\\\\f3a4\\\"}.fa-french-fries:before{content:\\\"\\\\f803\\\"}.fa-frog:before{content:\\\"\\\\f52e\\\"}.fa-frosty-head:before{content:\\\"\\\\f79b\\\"}.fa-frown:before{content:\\\"\\\\f119\\\"}.fa-frown-open:before{content:\\\"\\\\f57a\\\"}.fa-fulcrum:before{content:\\\"\\\\f50b\\\"}.fa-function:before{content:\\\"\\\\f661\\\"}.fa-funnel-dollar:before{content:\\\"\\\\f662\\\"}.fa-futbol:before{content:\\\"\\\\f1e3\\\"}.fa-galactic-republic:before{content:\\\"\\\\f50c\\\"}.fa-galactic-senate:before{content:\\\"\\\\f50d\\\"}.fa-galaxy:before{content:\\\"\\\\f908\\\"}.fa-game-board:before{content:\\\"\\\\f867\\\"}.fa-game-board-alt:before{content:\\\"\\\\f868\\\"}.fa-game-console-handheld:before{content:\\\"\\\\f8bb\\\"}.fa-gamepad:before{content:\\\"\\\\f11b\\\"}.fa-gamepad-alt:before{content:\\\"\\\\f8bc\\\"}.fa-garage:before{content:\\\"\\\\f909\\\"}.fa-garage-car:before{content:\\\"\\\\f90a\\\"}.fa-garage-open:before{content:\\\"\\\\f90b\\\"}.fa-gas-pump:before{content:\\\"\\\\f52f\\\"}.fa-gas-pump-slash:before{content:\\\"\\\\f5f4\\\"}.fa-gavel:before{content:\\\"\\\\f0e3\\\"}.fa-gem:before{content:\\\"\\\\f3a5\\\"}.fa-genderless:before{content:\\\"\\\\f22d\\\"}.fa-get-pocket:before{content:\\\"\\\\f265\\\"}.fa-gg:before{content:\\\"\\\\f260\\\"}.fa-gg-circle:before{content:\\\"\\\\f261\\\"}.fa-ghost:before{content:\\\"\\\\f6e2\\\"}.fa-gift:before{content:\\\"\\\\f06b\\\"}.fa-gift-card:before{content:\\\"\\\\f663\\\"}.fa-gifts:before{content:\\\"\\\\f79c\\\"}.fa-gingerbread-man:before{content:\\\"\\\\f79d\\\"}.fa-git:before{content:\\\"\\\\f1d3\\\"}.fa-git-alt:before{content:\\\"\\\\f841\\\"}.fa-git-square:before{content:\\\"\\\\f1d2\\\"}.fa-github:before{content:\\\"\\\\f09b\\\"}.fa-github-alt:before{content:\\\"\\\\f113\\\"}.fa-github-square:before{content:\\\"\\\\f092\\\"}.fa-gitkraken:before{content:\\\"\\\\f3a6\\\"}.fa-gitlab:before{content:\\\"\\\\f296\\\"}.fa-gitter:before{content:\\\"\\\\f426\\\"}.fa-glass:before{content:\\\"\\\\f804\\\"}.fa-glass-champagne:before{content:\\\"\\\\f79e\\\"}.fa-glass-cheers:before{content:\\\"\\\\f79f\\\"}.fa-glass-citrus:before{content:\\\"\\\\f869\\\"}.fa-glass-martini:before{content:\\\"\\\\f000\\\"}.fa-glass-martini-alt:before{content:\\\"\\\\f57b\\\"}.fa-glass-whiskey:before{content:\\\"\\\\f7a0\\\"}.fa-glass-whiskey-rocks:before{content:\\\"\\\\f7a1\\\"}.fa-glasses:before{content:\\\"\\\\f530\\\"}.fa-glasses-alt:before{content:\\\"\\\\f5f5\\\"}.fa-glide:before{content:\\\"\\\\f2a5\\\"}.fa-glide-g:before{content:\\\"\\\\f2a6\\\"}.fa-globe:before{content:\\\"\\\\f0ac\\\"}.fa-globe-africa:before{content:\\\"\\\\f57c\\\"}.fa-globe-americas:before{content:\\\"\\\\f57d\\\"}.fa-globe-asia:before{content:\\\"\\\\f57e\\\"}.fa-globe-europe:before{content:\\\"\\\\f7a2\\\"}.fa-globe-snow:before{content:\\\"\\\\f7a3\\\"}.fa-globe-stand:before{content:\\\"\\\\f5f6\\\"}.fa-gofore:before{content:\\\"\\\\f3a7\\\"}.fa-golf-ball:before{content:\\\"\\\\f450\\\"}.fa-golf-club:before{content:\\\"\\\\f451\\\"}.fa-goodreads:before{content:\\\"\\\\f3a8\\\"}.fa-goodreads-g:before{content:\\\"\\\\f3a9\\\"}.fa-google:before{content:\\\"\\\\f1a0\\\"}.fa-google-drive:before{content:\\\"\\\\f3aa\\\"}.fa-google-play:before{content:\\\"\\\\f3ab\\\"}.fa-google-plus:before{content:\\\"\\\\f2b3\\\"}.fa-google-plus-g:before{content:\\\"\\\\f0d5\\\"}.fa-google-plus-square:before{content:\\\"\\\\f0d4\\\"}.fa-google-wallet:before{content:\\\"\\\\f1ee\\\"}.fa-gopuram:before{content:\\\"\\\\f664\\\"}.fa-graduation-cap:before{content:\\\"\\\\f19d\\\"}.fa-gramophone:before{content:\\\"\\\\f8bd\\\"}.fa-gratipay:before{content:\\\"\\\\f184\\\"}.fa-grav:before{content:\\\"\\\\f2d6\\\"}.fa-greater-than:before{content:\\\"\\\\f531\\\"}.fa-greater-than-equal:before{content:\\\"\\\\f532\\\"}.fa-grimace:before{content:\\\"\\\\f57f\\\"}.fa-grin:before{content:\\\"\\\\f580\\\"}.fa-grin-alt:before{content:\\\"\\\\f581\\\"}.fa-grin-beam:before{content:\\\"\\\\f582\\\"}.fa-grin-beam-sweat:before{content:\\\"\\\\f583\\\"}.fa-grin-hearts:before{content:\\\"\\\\f584\\\"}.fa-grin-squint:before{content:\\\"\\\\f585\\\"}.fa-grin-squint-tears:before{content:\\\"\\\\f586\\\"}.fa-grin-stars:before{content:\\\"\\\\f587\\\"}.fa-grin-tears:before{content:\\\"\\\\f588\\\"}.fa-grin-tongue:before{content:\\\"\\\\f589\\\"}.fa-grin-tongue-squint:before{content:\\\"\\\\f58a\\\"}.fa-grin-tongue-wink:before{content:\\\"\\\\f58b\\\"}.fa-grin-wink:before{content:\\\"\\\\f58c\\\"}.fa-grip-horizontal:before{content:\\\"\\\\f58d\\\"}.fa-grip-lines:before{content:\\\"\\\\f7a4\\\"}.fa-grip-lines-vertical:before{content:\\\"\\\\f7a5\\\"}.fa-grip-vertical:before{content:\\\"\\\\f58e\\\"}.fa-gripfire:before{content:\\\"\\\\f3ac\\\"}.fa-grunt:before{content:\\\"\\\\f3ad\\\"}.fa-guitar:before{content:\\\"\\\\f7a6\\\"}.fa-guitar-electric:before{content:\\\"\\\\f8be\\\"}.fa-guitars:before{content:\\\"\\\\f8bf\\\"}.fa-gulp:before{content:\\\"\\\\f3ae\\\"}.fa-h-square:before{content:\\\"\\\\f0fd\\\"}.fa-h1:before{content:\\\"\\\\f313\\\"}.fa-h2:before{content:\\\"\\\\f314\\\"}.fa-h3:before{content:\\\"\\\\f315\\\"}.fa-h4:before{content:\\\"\\\\f86a\\\"}.fa-hacker-news:before{content:\\\"\\\\f1d4\\\"}.fa-hacker-news-square:before{content:\\\"\\\\f3af\\\"}.fa-hackerrank:before{content:\\\"\\\\f5f7\\\"}.fa-hamburger:before{content:\\\"\\\\f805\\\"}.fa-hammer:before{content:\\\"\\\\f6e3\\\"}.fa-hammer-war:before{content:\\\"\\\\f6e4\\\"}.fa-hamsa:before{content:\\\"\\\\f665\\\"}.fa-hand-heart:before{content:\\\"\\\\f4bc\\\"}.fa-hand-holding:before{content:\\\"\\\\f4bd\\\"}.fa-hand-holding-box:before{content:\\\"\\\\f47b\\\"}.fa-hand-holding-heart:before{content:\\\"\\\\f4be\\\"}.fa-hand-holding-magic:before{content:\\\"\\\\f6e5\\\"}.fa-hand-holding-medical:before{content:\\\"\\\\f95c\\\"}.fa-hand-holding-seedling:before{content:\\\"\\\\f4bf\\\"}.fa-hand-holding-usd:before{content:\\\"\\\\f4c0\\\"}.fa-hand-holding-water:before{content:\\\"\\\\f4c1\\\"}.fa-hand-lizard:before{content:\\\"\\\\f258\\\"}.fa-hand-middle-finger:before{content:\\\"\\\\f806\\\"}.fa-hand-paper:before{content:\\\"\\\\f256\\\"}.fa-hand-peace:before{content:\\\"\\\\f25b\\\"}.fa-hand-point-down:before{content:\\\"\\\\f0a7\\\"}.fa-hand-point-left:before{content:\\\"\\\\f0a5\\\"}.fa-hand-point-right:before{content:\\\"\\\\f0a4\\\"}.fa-hand-point-up:before{content:\\\"\\\\f0a6\\\"}.fa-hand-pointer:before{content:\\\"\\\\f25a\\\"}.fa-hand-receiving:before{content:\\\"\\\\f47c\\\"}.fa-hand-rock:before{content:\\\"\\\\f255\\\"}.fa-hand-scissors:before{content:\\\"\\\\f257\\\"}.fa-hand-sparkles:before{content:\\\"\\\\f95d\\\"}.fa-hand-spock:before{content:\\\"\\\\f259\\\"}.fa-hands:before{content:\\\"\\\\f4c2\\\"}.fa-hands-heart:before{content:\\\"\\\\f4c3\\\"}.fa-hands-helping:before{content:\\\"\\\\f4c4\\\"}.fa-hands-usd:before{content:\\\"\\\\f4c5\\\"}.fa-hands-wash:before{content:\\\"\\\\f95e\\\"}.fa-handshake:before{content:\\\"\\\\f2b5\\\"}.fa-handshake-alt:before{content:\\\"\\\\f4c6\\\"}.fa-handshake-alt-slash:before{content:\\\"\\\\f95f\\\"}.fa-handshake-slash:before{content:\\\"\\\\f960\\\"}.fa-hanukiah:before{content:\\\"\\\\f6e6\\\"}.fa-hard-hat:before{content:\\\"\\\\f807\\\"}.fa-hashtag:before{content:\\\"\\\\f292\\\"}.fa-hat-chef:before{content:\\\"\\\\f86b\\\"}.fa-hat-cowboy:before{content:\\\"\\\\f8c0\\\"}.fa-hat-cowboy-side:before{content:\\\"\\\\f8c1\\\"}.fa-hat-santa:before{content:\\\"\\\\f7a7\\\"}.fa-hat-winter:before{content:\\\"\\\\f7a8\\\"}.fa-hat-witch:before{content:\\\"\\\\f6e7\\\"}.fa-hat-wizard:before{content:\\\"\\\\f6e8\\\"}.fa-hdd:before{content:\\\"\\\\f0a0\\\"}.fa-head-side:before{content:\\\"\\\\f6e9\\\"}.fa-head-side-brain:before{content:\\\"\\\\f808\\\"}.fa-head-side-cough:before{content:\\\"\\\\f961\\\"}.fa-head-side-cough-slash:before{content:\\\"\\\\f962\\\"}.fa-head-side-headphones:before{content:\\\"\\\\f8c2\\\"}.fa-head-side-mask:before{content:\\\"\\\\f963\\\"}.fa-head-side-medical:before{content:\\\"\\\\f809\\\"}.fa-head-side-virus:before{content:\\\"\\\\f964\\\"}.fa-head-vr:before{content:\\\"\\\\f6ea\\\"}.fa-heading:before{content:\\\"\\\\f1dc\\\"}.fa-headphones:before{content:\\\"\\\\f025\\\"}.fa-headphones-alt:before{content:\\\"\\\\f58f\\\"}.fa-headset:before{content:\\\"\\\\f590\\\"}.fa-heart:before{content:\\\"\\\\f004\\\"}.fa-heart-broken:before{content:\\\"\\\\f7a9\\\"}.fa-heart-circle:before{content:\\\"\\\\f4c7\\\"}.fa-heart-rate:before{content:\\\"\\\\f5f8\\\"}.fa-heart-square:before{content:\\\"\\\\f4c8\\\"}.fa-heartbeat:before{content:\\\"\\\\f21e\\\"}.fa-heat:before{content:\\\"\\\\f90c\\\"}.fa-helicopter:before{content:\\\"\\\\f533\\\"}.fa-helmet-battle:before{content:\\\"\\\\f6eb\\\"}.fa-hexagon:before{content:\\\"\\\\f312\\\"}.fa-highlighter:before{content:\\\"\\\\f591\\\"}.fa-hiking:before{content:\\\"\\\\f6ec\\\"}.fa-hippo:before{content:\\\"\\\\f6ed\\\"}.fa-hips:before{content:\\\"\\\\f452\\\"}.fa-hire-a-helper:before{content:\\\"\\\\f3b0\\\"}.fa-history:before{content:\\\"\\\\f1da\\\"}.fa-hockey-mask:before{content:\\\"\\\\f6ee\\\"}.fa-hockey-puck:before{content:\\\"\\\\f453\\\"}.fa-hockey-sticks:before{content:\\\"\\\\f454\\\"}.fa-holly-berry:before{content:\\\"\\\\f7aa\\\"}.fa-home:before{content:\\\"\\\\f015\\\"}.fa-home-alt:before{content:\\\"\\\\f80a\\\"}.fa-home-heart:before{content:\\\"\\\\f4c9\\\"}.fa-home-lg:before{content:\\\"\\\\f80b\\\"}.fa-home-lg-alt:before{content:\\\"\\\\f80c\\\"}.fa-hood-cloak:before{content:\\\"\\\\f6ef\\\"}.fa-hooli:before{content:\\\"\\\\f427\\\"}.fa-horizontal-rule:before{content:\\\"\\\\f86c\\\"}.fa-hornbill:before{content:\\\"\\\\f592\\\"}.fa-horse:before{content:\\\"\\\\f6f0\\\"}.fa-horse-head:before{content:\\\"\\\\f7ab\\\"}.fa-horse-saddle:before{content:\\\"\\\\f8c3\\\"}.fa-hospital:before{content:\\\"\\\\f0f8\\\"}.fa-hospital-alt:before{content:\\\"\\\\f47d\\\"}.fa-hospital-symbol:before{content:\\\"\\\\f47e\\\"}.fa-hospital-user:before{content:\\\"\\\\f80d\\\"}.fa-hospitals:before{content:\\\"\\\\f80e\\\"}.fa-hot-tub:before{content:\\\"\\\\f593\\\"}.fa-hotdog:before{content:\\\"\\\\f80f\\\"}.fa-hotel:before{content:\\\"\\\\f594\\\"}.fa-hotjar:before{content:\\\"\\\\f3b1\\\"}.fa-hourglass:before{content:\\\"\\\\f254\\\"}.fa-hourglass-end:before{content:\\\"\\\\f253\\\"}.fa-hourglass-half:before{content:\\\"\\\\f252\\\"}.fa-hourglass-start:before{content:\\\"\\\\f251\\\"}.fa-house:before{content:\\\"\\\\f90d\\\"}.fa-house-damage:before{content:\\\"\\\\f6f1\\\"}.fa-house-day:before{content:\\\"\\\\f90e\\\"}.fa-house-flood:before{content:\\\"\\\\f74f\\\"}.fa-house-leave:before{content:\\\"\\\\f90f\\\"}.fa-house-night:before{content:\\\"\\\\f910\\\"}.fa-house-return:before{content:\\\"\\\\f911\\\"}.fa-house-signal:before{content:\\\"\\\\f912\\\"}.fa-house-user:before{content:\\\"\\\\f965\\\"}.fa-houzz:before{content:\\\"\\\\f27c\\\"}.fa-hryvnia:before{content:\\\"\\\\f6f2\\\"}.fa-html5:before{content:\\\"\\\\f13b\\\"}.fa-hubspot:before{content:\\\"\\\\f3b2\\\"}.fa-humidity:before{content:\\\"\\\\f750\\\"}.fa-hurricane:before{content:\\\"\\\\f751\\\"}.fa-i-cursor:before{content:\\\"\\\\f246\\\"}.fa-ice-cream:before{content:\\\"\\\\f810\\\"}.fa-ice-skate:before{content:\\\"\\\\f7ac\\\"}.fa-icicles:before{content:\\\"\\\\f7ad\\\"}.fa-icons:before{content:\\\"\\\\f86d\\\"}.fa-icons-alt:before{content:\\\"\\\\f86e\\\"}.fa-id-badge:before{content:\\\"\\\\f2c1\\\"}.fa-id-card:before{content:\\\"\\\\f2c2\\\"}.fa-id-card-alt:before{content:\\\"\\\\f47f\\\"}.fa-ideal:before{content:\\\"\\\\f913\\\"}.fa-igloo:before{content:\\\"\\\\f7ae\\\"}.fa-image:before{content:\\\"\\\\f03e\\\"}.fa-image-polaroid:before{content:\\\"\\\\f8c4\\\"}.fa-images:before{content:\\\"\\\\f302\\\"}.fa-imdb:before{content:\\\"\\\\f2d8\\\"}.fa-inbox:before{content:\\\"\\\\f01c\\\"}.fa-inbox-in:before{content:\\\"\\\\f310\\\"}.fa-inbox-out:before{content:\\\"\\\\f311\\\"}.fa-indent:before{content:\\\"\\\\f03c\\\"}.fa-industry:before{content:\\\"\\\\f275\\\"}.fa-industry-alt:before{content:\\\"\\\\f3b3\\\"}.fa-infinity:before{content:\\\"\\\\f534\\\"}.fa-info:before{content:\\\"\\\\f129\\\"}.fa-info-circle:before{content:\\\"\\\\f05a\\\"}.fa-info-square:before{content:\\\"\\\\f30f\\\"}.fa-inhaler:before{content:\\\"\\\\f5f9\\\"}.fa-instagram:before{content:\\\"\\\\f16d\\\"}.fa-instagram-square:before{content:\\\"\\\\f955\\\"}.fa-integral:before{content:\\\"\\\\f667\\\"}.fa-intercom:before{content:\\\"\\\\f7af\\\"}.fa-internet-explorer:before{content:\\\"\\\\f26b\\\"}.fa-intersection:before{content:\\\"\\\\f668\\\"}.fa-inventory:before{content:\\\"\\\\f480\\\"}.fa-invision:before{content:\\\"\\\\f7b0\\\"}.fa-ioxhost:before{content:\\\"\\\\f208\\\"}.fa-island-tropical:before{content:\\\"\\\\f811\\\"}.fa-italic:before{content:\\\"\\\\f033\\\"}.fa-itch-io:before{content:\\\"\\\\f83a\\\"}.fa-itunes:before{content:\\\"\\\\f3b4\\\"}.fa-itunes-note:before{content:\\\"\\\\f3b5\\\"}.fa-jack-o-lantern:before{content:\\\"\\\\f30e\\\"}.fa-java:before{content:\\\"\\\\f4e4\\\"}.fa-jedi:before{content:\\\"\\\\f669\\\"}.fa-jedi-order:before{content:\\\"\\\\f50e\\\"}.fa-jenkins:before{content:\\\"\\\\f3b6\\\"}.fa-jira:before{content:\\\"\\\\f7b1\\\"}.fa-joget:before{content:\\\"\\\\f3b7\\\"}.fa-joint:before{content:\\\"\\\\f595\\\"}.fa-joomla:before{content:\\\"\\\\f1aa\\\"}.fa-journal-whills:before{content:\\\"\\\\f66a\\\"}.fa-joystick:before{content:\\\"\\\\f8c5\\\"}.fa-js:before{content:\\\"\\\\f3b8\\\"}.fa-js-square:before{content:\\\"\\\\f3b9\\\"}.fa-jsfiddle:before{content:\\\"\\\\f1cc\\\"}.fa-jug:before{content:\\\"\\\\f8c6\\\"}.fa-kaaba:before{content:\\\"\\\\f66b\\\"}.fa-kaggle:before{content:\\\"\\\\f5fa\\\"}.fa-kazoo:before{content:\\\"\\\\f8c7\\\"}.fa-kerning:before{content:\\\"\\\\f86f\\\"}.fa-key:before{content:\\\"\\\\f084\\\"}.fa-key-skeleton:before{content:\\\"\\\\f6f3\\\"}.fa-keybase:before{content:\\\"\\\\f4f5\\\"}.fa-keyboard:before{content:\\\"\\\\f11c\\\"}.fa-keycdn:before{content:\\\"\\\\f3ba\\\"}.fa-keynote:before{content:\\\"\\\\f66c\\\"}.fa-khanda:before{content:\\\"\\\\f66d\\\"}.fa-kickstarter:before{content:\\\"\\\\f3bb\\\"}.fa-kickstarter-k:before{content:\\\"\\\\f3bc\\\"}.fa-kidneys:before{content:\\\"\\\\f5fb\\\"}.fa-kiss:before{content:\\\"\\\\f596\\\"}.fa-kiss-beam:before{content:\\\"\\\\f597\\\"}.fa-kiss-wink-heart:before{content:\\\"\\\\f598\\\"}.fa-kite:before{content:\\\"\\\\f6f4\\\"}.fa-kiwi-bird:before{content:\\\"\\\\f535\\\"}.fa-knife-kitchen:before{content:\\\"\\\\f6f5\\\"}.fa-korvue:before{content:\\\"\\\\f42f\\\"}.fa-lambda:before{content:\\\"\\\\f66e\\\"}.fa-lamp:before{content:\\\"\\\\f4ca\\\"}.fa-lamp-desk:before{content:\\\"\\\\f914\\\"}.fa-lamp-floor:before{content:\\\"\\\\f915\\\"}.fa-landmark:before{content:\\\"\\\\f66f\\\"}.fa-landmark-alt:before{content:\\\"\\\\f752\\\"}.fa-language:before{content:\\\"\\\\f1ab\\\"}.fa-laptop:before{content:\\\"\\\\f109\\\"}.fa-laptop-code:before{content:\\\"\\\\f5fc\\\"}.fa-laptop-house:before{content:\\\"\\\\f966\\\"}.fa-laptop-medical:before{content:\\\"\\\\f812\\\"}.fa-laravel:before{content:\\\"\\\\f3bd\\\"}.fa-lasso:before{content:\\\"\\\\f8c8\\\"}.fa-lastfm:before{content:\\\"\\\\f202\\\"}.fa-lastfm-square:before{content:\\\"\\\\f203\\\"}.fa-laugh:before{content:\\\"\\\\f599\\\"}.fa-laugh-beam:before{content:\\\"\\\\f59a\\\"}.fa-laugh-squint:before{content:\\\"\\\\f59b\\\"}.fa-laugh-wink:before{content:\\\"\\\\f59c\\\"}.fa-layer-group:before{content:\\\"\\\\f5fd\\\"}.fa-layer-minus:before{content:\\\"\\\\f5fe\\\"}.fa-layer-plus:before{content:\\\"\\\\f5ff\\\"}.fa-leaf:before{content:\\\"\\\\f06c\\\"}.fa-leaf-heart:before{content:\\\"\\\\f4cb\\\"}.fa-leaf-maple:before{content:\\\"\\\\f6f6\\\"}.fa-leaf-oak:before{content:\\\"\\\\f6f7\\\"}.fa-leanpub:before{content:\\\"\\\\f212\\\"}.fa-lemon:before{content:\\\"\\\\f094\\\"}.fa-less:before{content:\\\"\\\\f41d\\\"}.fa-less-than:before{content:\\\"\\\\f536\\\"}.fa-less-than-equal:before{content:\\\"\\\\f537\\\"}.fa-level-down:before{content:\\\"\\\\f149\\\"}.fa-level-down-alt:before{content:\\\"\\\\f3be\\\"}.fa-level-up:before{content:\\\"\\\\f148\\\"}.fa-level-up-alt:before{content:\\\"\\\\f3bf\\\"}.fa-life-ring:before{content:\\\"\\\\f1cd\\\"}.fa-light-ceiling:before{content:\\\"\\\\f916\\\"}.fa-light-switch:before{content:\\\"\\\\f917\\\"}.fa-light-switch-off:before{content:\\\"\\\\f918\\\"}.fa-light-switch-on:before{content:\\\"\\\\f919\\\"}.fa-lightbulb:before{content:\\\"\\\\f0eb\\\"}.fa-lightbulb-dollar:before{content:\\\"\\\\f670\\\"}.fa-lightbulb-exclamation:before{content:\\\"\\\\f671\\\"}.fa-lightbulb-on:before{content:\\\"\\\\f672\\\"}.fa-lightbulb-slash:before{content:\\\"\\\\f673\\\"}.fa-lights-holiday:before{content:\\\"\\\\f7b2\\\"}.fa-line:before{content:\\\"\\\\f3c0\\\"}.fa-line-columns:before{content:\\\"\\\\f870\\\"}.fa-line-height:before{content:\\\"\\\\f871\\\"}.fa-link:before{content:\\\"\\\\f0c1\\\"}.fa-linkedin:before{content:\\\"\\\\f08c\\\"}.fa-linkedin-in:before{content:\\\"\\\\f0e1\\\"}.fa-linode:before{content:\\\"\\\\f2b8\\\"}.fa-linux:before{content:\\\"\\\\f17c\\\"}.fa-lips:before{content:\\\"\\\\f600\\\"}.fa-lira-sign:before{content:\\\"\\\\f195\\\"}.fa-list:before{content:\\\"\\\\f03a\\\"}.fa-list-alt:before{content:\\\"\\\\f022\\\"}.fa-list-music:before{content:\\\"\\\\f8c9\\\"}.fa-list-ol:before{content:\\\"\\\\f0cb\\\"}.fa-list-ul:before{content:\\\"\\\\f0ca\\\"}.fa-location:before{content:\\\"\\\\f601\\\"}.fa-location-arrow:before{content:\\\"\\\\f124\\\"}.fa-location-circle:before{content:\\\"\\\\f602\\\"}.fa-location-slash:before{content:\\\"\\\\f603\\\"}.fa-lock:before{content:\\\"\\\\f023\\\"}.fa-lock-alt:before{content:\\\"\\\\f30d\\\"}.fa-lock-open:before{content:\\\"\\\\f3c1\\\"}.fa-lock-open-alt:before{content:\\\"\\\\f3c2\\\"}.fa-long-arrow-alt-down:before{content:\\\"\\\\f309\\\"}.fa-long-arrow-alt-left:before{content:\\\"\\\\f30a\\\"}.fa-long-arrow-alt-right:before{content:\\\"\\\\f30b\\\"}.fa-long-arrow-alt-up:before{content:\\\"\\\\f30c\\\"}.fa-long-arrow-down:before{content:\\\"\\\\f175\\\"}.fa-long-arrow-left:before{content:\\\"\\\\f177\\\"}.fa-long-arrow-right:before{content:\\\"\\\\f178\\\"}.fa-long-arrow-up:before{content:\\\"\\\\f176\\\"}.fa-loveseat:before{content:\\\"\\\\f4cc\\\"}.fa-low-vision:before{content:\\\"\\\\f2a8\\\"}.fa-luchador:before{content:\\\"\\\\f455\\\"}.fa-luggage-cart:before{content:\\\"\\\\f59d\\\"}.fa-lungs:before{content:\\\"\\\\f604\\\"}.fa-lungs-virus:before{content:\\\"\\\\f967\\\"}.fa-lyft:before{content:\\\"\\\\f3c3\\\"}.fa-mace:before{content:\\\"\\\\f6f8\\\"}.fa-magento:before{content:\\\"\\\\f3c4\\\"}.fa-magic:before{content:\\\"\\\\f0d0\\\"}.fa-magnet:before{content:\\\"\\\\f076\\\"}.fa-mail-bulk:before{content:\\\"\\\\f674\\\"}.fa-mailbox:before{content:\\\"\\\\f813\\\"}.fa-mailchimp:before{content:\\\"\\\\f59e\\\"}.fa-male:before{content:\\\"\\\\f183\\\"}.fa-mandalorian:before{content:\\\"\\\\f50f\\\"}.fa-mandolin:before{content:\\\"\\\\f6f9\\\"}.fa-map:before{content:\\\"\\\\f279\\\"}.fa-map-marked:before{content:\\\"\\\\f59f\\\"}.fa-map-marked-alt:before{content:\\\"\\\\f5a0\\\"}.fa-map-marker:before{content:\\\"\\\\f041\\\"}.fa-map-marker-alt:before{content:\\\"\\\\f3c5\\\"}.fa-map-marker-alt-slash:before{content:\\\"\\\\f605\\\"}.fa-map-marker-check:before{content:\\\"\\\\f606\\\"}.fa-map-marker-edit:before{content:\\\"\\\\f607\\\"}.fa-map-marker-exclamation:before{content:\\\"\\\\f608\\\"}.fa-map-marker-minus:before{content:\\\"\\\\f609\\\"}.fa-map-marker-plus:before{content:\\\"\\\\f60a\\\"}.fa-map-marker-question:before{content:\\\"\\\\f60b\\\"}.fa-map-marker-slash:before{content:\\\"\\\\f60c\\\"}.fa-map-marker-smile:before{content:\\\"\\\\f60d\\\"}.fa-map-marker-times:before{content:\\\"\\\\f60e\\\"}.fa-map-pin:before{content:\\\"\\\\f276\\\"}.fa-map-signs:before{content:\\\"\\\\f277\\\"}.fa-markdown:before{content:\\\"\\\\f60f\\\"}.fa-marker:before{content:\\\"\\\\f5a1\\\"}.fa-mars:before{content:\\\"\\\\f222\\\"}.fa-mars-double:before{content:\\\"\\\\f227\\\"}.fa-mars-stroke:before{content:\\\"\\\\f229\\\"}.fa-mars-stroke-h:before{content:\\\"\\\\f22b\\\"}.fa-mars-stroke-v:before{content:\\\"\\\\f22a\\\"}.fa-mask:before{content:\\\"\\\\f6fa\\\"}.fa-mastodon:before{content:\\\"\\\\f4f6\\\"}.fa-maxcdn:before{content:\\\"\\\\f136\\\"}.fa-mdb:before{content:\\\"\\\\f8ca\\\"}.fa-meat:before{content:\\\"\\\\f814\\\"}.fa-medal:before{content:\\\"\\\\f5a2\\\"}.fa-medapps:before{content:\\\"\\\\f3c6\\\"}.fa-medium:before{content:\\\"\\\\f23a\\\"}.fa-medium-m:before{content:\\\"\\\\f3c7\\\"}.fa-medkit:before{content:\\\"\\\\f0fa\\\"}.fa-medrt:before{content:\\\"\\\\f3c8\\\"}.fa-meetup:before{content:\\\"\\\\f2e0\\\"}.fa-megaphone:before{content:\\\"\\\\f675\\\"}.fa-megaport:before{content:\\\"\\\\f5a3\\\"}.fa-meh:before{content:\\\"\\\\f11a\\\"}.fa-meh-blank:before{content:\\\"\\\\f5a4\\\"}.fa-meh-rolling-eyes:before{content:\\\"\\\\f5a5\\\"}.fa-memory:before{content:\\\"\\\\f538\\\"}.fa-mendeley:before{content:\\\"\\\\f7b3\\\"}.fa-menorah:before{content:\\\"\\\\f676\\\"}.fa-mercury:before{content:\\\"\\\\f223\\\"}.fa-meteor:before{content:\\\"\\\\f753\\\"}.fa-microblog:before{content:\\\"\\\\f91a\\\"}.fa-microchip:before{content:\\\"\\\\f2db\\\"}.fa-microphone:before{content:\\\"\\\\f130\\\"}.fa-microphone-alt:before{content:\\\"\\\\f3c9\\\"}.fa-microphone-alt-slash:before{content:\\\"\\\\f539\\\"}.fa-microphone-slash:before{content:\\\"\\\\f131\\\"}.fa-microphone-stand:before{content:\\\"\\\\f8cb\\\"}.fa-microscope:before{content:\\\"\\\\f610\\\"}.fa-microsoft:before{content:\\\"\\\\f3ca\\\"}.fa-microwave:before{content:\\\"\\\\f91b\\\"}.fa-mind-share:before{content:\\\"\\\\f677\\\"}.fa-minus:before{content:\\\"\\\\f068\\\"}.fa-minus-circle:before{content:\\\"\\\\f056\\\"}.fa-minus-hexagon:before{content:\\\"\\\\f307\\\"}.fa-minus-octagon:before{content:\\\"\\\\f308\\\"}.fa-minus-square:before{content:\\\"\\\\f146\\\"}.fa-mistletoe:before{content:\\\"\\\\f7b4\\\"}.fa-mitten:before{content:\\\"\\\\f7b5\\\"}.fa-mix:before{content:\\\"\\\\f3cb\\\"}.fa-mixcloud:before{content:\\\"\\\\f289\\\"}.fa-mixer:before{content:\\\"\\\\f956\\\"}.fa-mizuni:before{content:\\\"\\\\f3cc\\\"}.fa-mobile:before{content:\\\"\\\\f10b\\\"}.fa-mobile-alt:before{content:\\\"\\\\f3cd\\\"}.fa-mobile-android:before{content:\\\"\\\\f3ce\\\"}.fa-mobile-android-alt:before{content:\\\"\\\\f3cf\\\"}.fa-modx:before{content:\\\"\\\\f285\\\"}.fa-monero:before{content:\\\"\\\\f3d0\\\"}.fa-money-bill:before{content:\\\"\\\\f0d6\\\"}.fa-money-bill-alt:before{content:\\\"\\\\f3d1\\\"}.fa-money-bill-wave:before{content:\\\"\\\\f53a\\\"}.fa-money-bill-wave-alt:before{content:\\\"\\\\f53b\\\"}.fa-money-check:before{content:\\\"\\\\f53c\\\"}.fa-money-check-alt:before{content:\\\"\\\\f53d\\\"}.fa-money-check-edit:before{content:\\\"\\\\f872\\\"}.fa-money-check-edit-alt:before{content:\\\"\\\\f873\\\"}.fa-monitor-heart-rate:before{content:\\\"\\\\f611\\\"}.fa-monkey:before{content:\\\"\\\\f6fb\\\"}.fa-monument:before{content:\\\"\\\\f5a6\\\"}.fa-moon:before{content:\\\"\\\\f186\\\"}.fa-moon-cloud:before{content:\\\"\\\\f754\\\"}.fa-moon-stars:before{content:\\\"\\\\f755\\\"}.fa-mortar-pestle:before{content:\\\"\\\\f5a7\\\"}.fa-mosque:before{content:\\\"\\\\f678\\\"}.fa-motorcycle:before{content:\\\"\\\\f21c\\\"}.fa-mountain:before{content:\\\"\\\\f6fc\\\"}.fa-mountains:before{content:\\\"\\\\f6fd\\\"}.fa-mouse:before{content:\\\"\\\\f8cc\\\"}.fa-mouse-alt:before{content:\\\"\\\\f8cd\\\"}.fa-mouse-pointer:before{content:\\\"\\\\f245\\\"}.fa-mp3-player:before{content:\\\"\\\\f8ce\\\"}.fa-mug:before{content:\\\"\\\\f874\\\"}.fa-mug-hot:before{content:\\\"\\\\f7b6\\\"}.fa-mug-marshmallows:before{content:\\\"\\\\f7b7\\\"}.fa-mug-tea:before{content:\\\"\\\\f875\\\"}.fa-music:before{content:\\\"\\\\f001\\\"}.fa-music-alt:before{content:\\\"\\\\f8cf\\\"}.fa-music-alt-slash:before{content:\\\"\\\\f8d0\\\"}.fa-music-slash:before{content:\\\"\\\\f8d1\\\"}.fa-napster:before{content:\\\"\\\\f3d2\\\"}.fa-narwhal:before{content:\\\"\\\\f6fe\\\"}.fa-neos:before{content:\\\"\\\\f612\\\"}.fa-network-wired:before{content:\\\"\\\\f6ff\\\"}.fa-neuter:before{content:\\\"\\\\f22c\\\"}.fa-newspaper:before{content:\\\"\\\\f1ea\\\"}.fa-nimblr:before{content:\\\"\\\\f5a8\\\"}.fa-node:before{content:\\\"\\\\f419\\\"}.fa-node-js:before{content:\\\"\\\\f3d3\\\"}.fa-not-equal:before{content:\\\"\\\\f53e\\\"}.fa-notes-medical:before{content:\\\"\\\\f481\\\"}.fa-npm:before{content:\\\"\\\\f3d4\\\"}.fa-ns8:before{content:\\\"\\\\f3d5\\\"}.fa-nutritionix:before{content:\\\"\\\\f3d6\\\"}.fa-object-group:before{content:\\\"\\\\f247\\\"}.fa-object-ungroup:before{content:\\\"\\\\f248\\\"}.fa-octagon:before{content:\\\"\\\\f306\\\"}.fa-odnoklassniki:before{content:\\\"\\\\f263\\\"}.fa-odnoklassniki-square:before{content:\\\"\\\\f264\\\"}.fa-oil-can:before{content:\\\"\\\\f613\\\"}.fa-oil-temp:before{content:\\\"\\\\f614\\\"}.fa-old-republic:before{content:\\\"\\\\f510\\\"}.fa-om:before{content:\\\"\\\\f679\\\"}.fa-omega:before{content:\\\"\\\\f67a\\\"}.fa-opencart:before{content:\\\"\\\\f23d\\\"}.fa-openid:before{content:\\\"\\\\f19b\\\"}.fa-opera:before{content:\\\"\\\\f26a\\\"}.fa-optin-monster:before{content:\\\"\\\\f23c\\\"}.fa-orcid:before{content:\\\"\\\\f8d2\\\"}.fa-ornament:before{content:\\\"\\\\f7b8\\\"}.fa-osi:before{content:\\\"\\\\f41a\\\"}.fa-otter:before{content:\\\"\\\\f700\\\"}.fa-outdent:before{content:\\\"\\\\f03b\\\"}.fa-outlet:before{content:\\\"\\\\f91c\\\"}.fa-oven:before{content:\\\"\\\\f91d\\\"}.fa-overline:before{content:\\\"\\\\f876\\\"}.fa-page-break:before{content:\\\"\\\\f877\\\"}.fa-page4:before{content:\\\"\\\\f3d7\\\"}.fa-pagelines:before{content:\\\"\\\\f18c\\\"}.fa-pager:before{content:\\\"\\\\f815\\\"}.fa-paint-brush:before{content:\\\"\\\\f1fc\\\"}.fa-paint-brush-alt:before{content:\\\"\\\\f5a9\\\"}.fa-paint-roller:before{content:\\\"\\\\f5aa\\\"}.fa-palette:before{content:\\\"\\\\f53f\\\"}.fa-palfed:before{content:\\\"\\\\f3d8\\\"}.fa-pallet:before{content:\\\"\\\\f482\\\"}.fa-pallet-alt:before{content:\\\"\\\\f483\\\"}.fa-paper-plane:before{content:\\\"\\\\f1d8\\\"}.fa-paperclip:before{content:\\\"\\\\f0c6\\\"}.fa-parachute-box:before{content:\\\"\\\\f4cd\\\"}.fa-paragraph:before{content:\\\"\\\\f1dd\\\"}.fa-paragraph-rtl:before{content:\\\"\\\\f878\\\"}.fa-parking:before{content:\\\"\\\\f540\\\"}.fa-parking-circle:before{content:\\\"\\\\f615\\\"}.fa-parking-circle-slash:before{content:\\\"\\\\f616\\\"}.fa-parking-slash:before{content:\\\"\\\\f617\\\"}.fa-passport:before{content:\\\"\\\\f5ab\\\"}.fa-pastafarianism:before{content:\\\"\\\\f67b\\\"}.fa-paste:before{content:\\\"\\\\f0ea\\\"}.fa-patreon:before{content:\\\"\\\\f3d9\\\"}.fa-pause:before{content:\\\"\\\\f04c\\\"}.fa-pause-circle:before{content:\\\"\\\\f28b\\\"}.fa-paw:before{content:\\\"\\\\f1b0\\\"}.fa-paw-alt:before{content:\\\"\\\\f701\\\"}.fa-paw-claws:before{content:\\\"\\\\f702\\\"}.fa-paypal:before{content:\\\"\\\\f1ed\\\"}.fa-peace:before{content:\\\"\\\\f67c\\\"}.fa-pegasus:before{content:\\\"\\\\f703\\\"}.fa-pen:before{content:\\\"\\\\f304\\\"}.fa-pen-alt:before{content:\\\"\\\\f305\\\"}.fa-pen-fancy:before{content:\\\"\\\\f5ac\\\"}.fa-pen-nib:before{content:\\\"\\\\f5ad\\\"}.fa-pen-square:before{content:\\\"\\\\f14b\\\"}.fa-pencil:before{content:\\\"\\\\f040\\\"}.fa-pencil-alt:before{content:\\\"\\\\f303\\\"}.fa-pencil-paintbrush:before{content:\\\"\\\\f618\\\"}.fa-pencil-ruler:before{content:\\\"\\\\f5ae\\\"}.fa-pennant:before{content:\\\"\\\\f456\\\"}.fa-penny-arcade:before{content:\\\"\\\\f704\\\"}.fa-people-arrows:before{content:\\\"\\\\f968\\\"}.fa-people-carry:before{content:\\\"\\\\f4ce\\\"}.fa-pepper-hot:before{content:\\\"\\\\f816\\\"}.fa-percent:before{content:\\\"\\\\f295\\\"}.fa-percentage:before{content:\\\"\\\\f541\\\"}.fa-periscope:before{content:\\\"\\\\f3da\\\"}.fa-person-booth:before{content:\\\"\\\\f756\\\"}.fa-person-carry:before{content:\\\"\\\\f4cf\\\"}.fa-person-dolly:before{content:\\\"\\\\f4d0\\\"}.fa-person-dolly-empty:before{content:\\\"\\\\f4d1\\\"}.fa-person-sign:before{content:\\\"\\\\f757\\\"}.fa-phabricator:before{content:\\\"\\\\f3db\\\"}.fa-phoenix-framework:before{content:\\\"\\\\f3dc\\\"}.fa-phoenix-squadron:before{content:\\\"\\\\f511\\\"}.fa-phone:before{content:\\\"\\\\f095\\\"}.fa-phone-alt:before{content:\\\"\\\\f879\\\"}.fa-phone-laptop:before{content:\\\"\\\\f87a\\\"}.fa-phone-office:before{content:\\\"\\\\f67d\\\"}.fa-phone-plus:before{content:\\\"\\\\f4d2\\\"}.fa-phone-rotary:before{content:\\\"\\\\f8d3\\\"}.fa-phone-slash:before{content:\\\"\\\\f3dd\\\"}.fa-phone-square:before{content:\\\"\\\\f098\\\"}.fa-phone-square-alt:before{content:\\\"\\\\f87b\\\"}.fa-phone-volume:before{content:\\\"\\\\f2a0\\\"}.fa-photo-video:before{content:\\\"\\\\f87c\\\"}.fa-php:before{content:\\\"\\\\f457\\\"}.fa-pi:before{content:\\\"\\\\f67e\\\"}.fa-piano:before{content:\\\"\\\\f8d4\\\"}.fa-piano-keyboard:before{content:\\\"\\\\f8d5\\\"}.fa-pie:before{content:\\\"\\\\f705\\\"}.fa-pied-piper:before{content:\\\"\\\\f2ae\\\"}.fa-pied-piper-alt:before{content:\\\"\\\\f1a8\\\"}.fa-pied-piper-hat:before{content:\\\"\\\\f4e5\\\"}.fa-pied-piper-pp:before{content:\\\"\\\\f1a7\\\"}.fa-pied-piper-square:before{content:\\\"\\\\f91e\\\"}.fa-pig:before{content:\\\"\\\\f706\\\"}.fa-piggy-bank:before{content:\\\"\\\\f4d3\\\"}.fa-pills:before{content:\\\"\\\\f484\\\"}.fa-pinterest:before{content:\\\"\\\\f0d2\\\"}.fa-pinterest-p:before{content:\\\"\\\\f231\\\"}.fa-pinterest-square:before{content:\\\"\\\\f0d3\\\"}.fa-pizza:before{content:\\\"\\\\f817\\\"}.fa-pizza-slice:before{content:\\\"\\\\f818\\\"}.fa-place-of-worship:before{content:\\\"\\\\f67f\\\"}.fa-plane:before{content:\\\"\\\\f072\\\"}.fa-plane-alt:before{content:\\\"\\\\f3de\\\"}.fa-plane-arrival:before{content:\\\"\\\\f5af\\\"}.fa-plane-departure:before{content:\\\"\\\\f5b0\\\"}.fa-plane-slash:before{content:\\\"\\\\f969\\\"}.fa-planet-moon:before{content:\\\"\\\\f91f\\\"}.fa-planet-ringed:before{content:\\\"\\\\f920\\\"}.fa-play:before{content:\\\"\\\\f04b\\\"}.fa-play-circle:before{content:\\\"\\\\f144\\\"}.fa-playstation:before{content:\\\"\\\\f3df\\\"}.fa-plug:before{content:\\\"\\\\f1e6\\\"}.fa-plus:before{content:\\\"\\\\f067\\\"}.fa-plus-circle:before{content:\\\"\\\\f055\\\"}.fa-plus-hexagon:before{content:\\\"\\\\f300\\\"}.fa-plus-octagon:before{content:\\\"\\\\f301\\\"}.fa-plus-square:before{content:\\\"\\\\f0fe\\\"}.fa-podcast:before{content:\\\"\\\\f2ce\\\"}.fa-podium:before{content:\\\"\\\\f680\\\"}.fa-podium-star:before{content:\\\"\\\\f758\\\"}.fa-police-box:before{content:\\\"\\\\f921\\\"}.fa-poll:before{content:\\\"\\\\f681\\\"}.fa-poll-h:before{content:\\\"\\\\f682\\\"}.fa-poll-people:before{content:\\\"\\\\f759\\\"}.fa-poo:before{content:\\\"\\\\f2fe\\\"}.fa-poo-storm:before{content:\\\"\\\\f75a\\\"}.fa-poop:before{content:\\\"\\\\f619\\\"}.fa-popcorn:before{content:\\\"\\\\f819\\\"}.fa-portal-enter:before{content:\\\"\\\\f922\\\"}.fa-portal-exit:before{content:\\\"\\\\f923\\\"}.fa-portrait:before{content:\\\"\\\\f3e0\\\"}.fa-pound-sign:before{content:\\\"\\\\f154\\\"}.fa-power-off:before{content:\\\"\\\\f011\\\"}.fa-pray:before{content:\\\"\\\\f683\\\"}.fa-praying-hands:before{content:\\\"\\\\f684\\\"}.fa-prescription:before{content:\\\"\\\\f5b1\\\"}.fa-prescription-bottle:before{content:\\\"\\\\f485\\\"}.fa-prescription-bottle-alt:before{content:\\\"\\\\f486\\\"}.fa-presentation:before{content:\\\"\\\\f685\\\"}.fa-print:before{content:\\\"\\\\f02f\\\"}.fa-print-search:before{content:\\\"\\\\f81a\\\"}.fa-print-slash:before{content:\\\"\\\\f686\\\"}.fa-procedures:before{content:\\\"\\\\f487\\\"}.fa-product-hunt:before{content:\\\"\\\\f288\\\"}.fa-project-diagram:before{content:\\\"\\\\f542\\\"}.fa-projector:before{content:\\\"\\\\f8d6\\\"}.fa-pump-medical:before{content:\\\"\\\\f96a\\\"}.fa-pump-soap:before{content:\\\"\\\\f96b\\\"}.fa-pumpkin:before{content:\\\"\\\\f707\\\"}.fa-pushed:before{content:\\\"\\\\f3e1\\\"}.fa-puzzle-piece:before{content:\\\"\\\\f12e\\\"}.fa-python:before{content:\\\"\\\\f3e2\\\"}.fa-qq:before{content:\\\"\\\\f1d6\\\"}.fa-qrcode:before{content:\\\"\\\\f029\\\"}.fa-question:before{content:\\\"\\\\f128\\\"}.fa-question-circle:before{content:\\\"\\\\f059\\\"}.fa-question-square:before{content:\\\"\\\\f2fd\\\"}.fa-quidditch:before{content:\\\"\\\\f458\\\"}.fa-quinscape:before{content:\\\"\\\\f459\\\"}.fa-quora:before{content:\\\"\\\\f2c4\\\"}.fa-quote-left:before{content:\\\"\\\\f10d\\\"}.fa-quote-right:before{content:\\\"\\\\f10e\\\"}.fa-quran:before{content:\\\"\\\\f687\\\"}.fa-r-project:before{content:\\\"\\\\f4f7\\\"}.fa-rabbit:before{content:\\\"\\\\f708\\\"}.fa-rabbit-fast:before{content:\\\"\\\\f709\\\"}.fa-racquet:before{content:\\\"\\\\f45a\\\"}.fa-radar:before{content:\\\"\\\\f924\\\"}.fa-radiation:before{content:\\\"\\\\f7b9\\\"}.fa-radiation-alt:before{content:\\\"\\\\f7ba\\\"}.fa-radio:before{content:\\\"\\\\f8d7\\\"}.fa-radio-alt:before{content:\\\"\\\\f8d8\\\"}.fa-rainbow:before{content:\\\"\\\\f75b\\\"}.fa-raindrops:before{content:\\\"\\\\f75c\\\"}.fa-ram:before{content:\\\"\\\\f70a\\\"}.fa-ramp-loading:before{content:\\\"\\\\f4d4\\\"}.fa-random:before{content:\\\"\\\\f074\\\"}.fa-raspberry-pi:before{content:\\\"\\\\f7bb\\\"}.fa-ravelry:before{content:\\\"\\\\f2d9\\\"}.fa-raygun:before{content:\\\"\\\\f925\\\"}.fa-react:before{content:\\\"\\\\f41b\\\"}.fa-reacteurope:before{content:\\\"\\\\f75d\\\"}.fa-readme:before{content:\\\"\\\\f4d5\\\"}.fa-rebel:before{content:\\\"\\\\f1d0\\\"}.fa-receipt:before{content:\\\"\\\\f543\\\"}.fa-record-vinyl:before{content:\\\"\\\\f8d9\\\"}.fa-rectangle-landscape:before{content:\\\"\\\\f2fa\\\"}.fa-rectangle-portrait:before{content:\\\"\\\\f2fb\\\"}.fa-rectangle-wide:before{content:\\\"\\\\f2fc\\\"}.fa-recycle:before{content:\\\"\\\\f1b8\\\"}.fa-red-river:before{content:\\\"\\\\f3e3\\\"}.fa-reddit:before{content:\\\"\\\\f1a1\\\"}.fa-reddit-alien:before{content:\\\"\\\\f281\\\"}.fa-reddit-square:before{content:\\\"\\\\f1a2\\\"}.fa-redhat:before{content:\\\"\\\\f7bc\\\"}.fa-redo:before{content:\\\"\\\\f01e\\\"}.fa-redo-alt:before{content:\\\"\\\\f2f9\\\"}.fa-refrigerator:before{content:\\\"\\\\f926\\\"}.fa-registered:before{content:\\\"\\\\f25d\\\"}.fa-remove-format:before{content:\\\"\\\\f87d\\\"}.fa-renren:before{content:\\\"\\\\f18b\\\"}.fa-repeat:before{content:\\\"\\\\f363\\\"}.fa-repeat-1:before{content:\\\"\\\\f365\\\"}.fa-repeat-1-alt:before{content:\\\"\\\\f366\\\"}.fa-repeat-alt:before{content:\\\"\\\\f364\\\"}.fa-reply:before{content:\\\"\\\\f3e5\\\"}.fa-reply-all:before{content:\\\"\\\\f122\\\"}.fa-replyd:before{content:\\\"\\\\f3e6\\\"}.fa-republican:before{content:\\\"\\\\f75e\\\"}.fa-researchgate:before{content:\\\"\\\\f4f8\\\"}.fa-resolving:before{content:\\\"\\\\f3e7\\\"}.fa-restroom:before{content:\\\"\\\\f7bd\\\"}.fa-retweet:before{content:\\\"\\\\f079\\\"}.fa-retweet-alt:before{content:\\\"\\\\f361\\\"}.fa-rev:before{content:\\\"\\\\f5b2\\\"}.fa-ribbon:before{content:\\\"\\\\f4d6\\\"}.fa-ring:before{content:\\\"\\\\f70b\\\"}.fa-rings-wedding:before{content:\\\"\\\\f81b\\\"}.fa-road:before{content:\\\"\\\\f018\\\"}.fa-robot:before{content:\\\"\\\\f544\\\"}.fa-rocket:before{content:\\\"\\\\f135\\\"}.fa-rocket-launch:before{content:\\\"\\\\f927\\\"}.fa-rocketchat:before{content:\\\"\\\\f3e8\\\"}.fa-rockrms:before{content:\\\"\\\\f3e9\\\"}.fa-route:before{content:\\\"\\\\f4d7\\\"}.fa-route-highway:before{content:\\\"\\\\f61a\\\"}.fa-route-interstate:before{content:\\\"\\\\f61b\\\"}.fa-router:before{content:\\\"\\\\f8da\\\"}.fa-rss:before{content:\\\"\\\\f09e\\\"}.fa-rss-square:before{content:\\\"\\\\f143\\\"}.fa-ruble-sign:before{content:\\\"\\\\f158\\\"}.fa-ruler:before{content:\\\"\\\\f545\\\"}.fa-ruler-combined:before{content:\\\"\\\\f546\\\"}.fa-ruler-horizontal:before{content:\\\"\\\\f547\\\"}.fa-ruler-triangle:before{content:\\\"\\\\f61c\\\"}.fa-ruler-vertical:before{content:\\\"\\\\f548\\\"}.fa-running:before{content:\\\"\\\\f70c\\\"}.fa-rupee-sign:before{content:\\\"\\\\f156\\\"}.fa-rv:before{content:\\\"\\\\f7be\\\"}.fa-sack:before{content:\\\"\\\\f81c\\\"}.fa-sack-dollar:before{content:\\\"\\\\f81d\\\"}.fa-sad-cry:before{content:\\\"\\\\f5b3\\\"}.fa-sad-tear:before{content:\\\"\\\\f5b4\\\"}.fa-safari:before{content:\\\"\\\\f267\\\"}.fa-salad:before{content:\\\"\\\\f81e\\\"}.fa-salesforce:before{content:\\\"\\\\f83b\\\"}.fa-sandwich:before{content:\\\"\\\\f81f\\\"}.fa-sass:before{content:\\\"\\\\f41e\\\"}.fa-satellite:before{content:\\\"\\\\f7bf\\\"}.fa-satellite-dish:before{content:\\\"\\\\f7c0\\\"}.fa-sausage:before{content:\\\"\\\\f820\\\"}.fa-save:before{content:\\\"\\\\f0c7\\\"}.fa-sax-hot:before{content:\\\"\\\\f8db\\\"}.fa-saxophone:before{content:\\\"\\\\f8dc\\\"}.fa-scalpel:before{content:\\\"\\\\f61d\\\"}.fa-scalpel-path:before{content:\\\"\\\\f61e\\\"}.fa-scanner:before{content:\\\"\\\\f488\\\"}.fa-scanner-image:before{content:\\\"\\\\f8f3\\\"}.fa-scanner-keyboard:before{content:\\\"\\\\f489\\\"}.fa-scanner-touchscreen:before{content:\\\"\\\\f48a\\\"}.fa-scarecrow:before{content:\\\"\\\\f70d\\\"}.fa-scarf:before{content:\\\"\\\\f7c1\\\"}.fa-schlix:before{content:\\\"\\\\f3ea\\\"}.fa-school:before{content:\\\"\\\\f549\\\"}.fa-screwdriver:before{content:\\\"\\\\f54a\\\"}.fa-scribd:before{content:\\\"\\\\f28a\\\"}.fa-scroll:before{content:\\\"\\\\f70e\\\"}.fa-scroll-old:before{content:\\\"\\\\f70f\\\"}.fa-scrubber:before{content:\\\"\\\\f2f8\\\"}.fa-scythe:before{content:\\\"\\\\f710\\\"}.fa-sd-card:before{content:\\\"\\\\f7c2\\\"}.fa-search:before{content:\\\"\\\\f002\\\"}.fa-search-dollar:before{content:\\\"\\\\f688\\\"}.fa-search-location:before{content:\\\"\\\\f689\\\"}.fa-search-minus:before{content:\\\"\\\\f010\\\"}.fa-search-plus:before{content:\\\"\\\\f00e\\\"}.fa-searchengin:before{content:\\\"\\\\f3eb\\\"}.fa-seedling:before{content:\\\"\\\\f4d8\\\"}.fa-sellcast:before{content:\\\"\\\\f2da\\\"}.fa-sellsy:before{content:\\\"\\\\f213\\\"}.fa-send-back:before{content:\\\"\\\\f87e\\\"}.fa-send-backward:before{content:\\\"\\\\f87f\\\"}.fa-sensor:before{content:\\\"\\\\f928\\\"}.fa-sensor-alert:before{content:\\\"\\\\f929\\\"}.fa-sensor-fire:before{content:\\\"\\\\f92a\\\"}.fa-sensor-on:before{content:\\\"\\\\f92b\\\"}.fa-sensor-smoke:before{content:\\\"\\\\f92c\\\"}.fa-server:before{content:\\\"\\\\f233\\\"}.fa-servicestack:before{content:\\\"\\\\f3ec\\\"}.fa-shapes:before{content:\\\"\\\\f61f\\\"}.fa-share:before{content:\\\"\\\\f064\\\"}.fa-share-all:before{content:\\\"\\\\f367\\\"}.fa-share-alt:before{content:\\\"\\\\f1e0\\\"}.fa-share-alt-square:before{content:\\\"\\\\f1e1\\\"}.fa-share-square:before{content:\\\"\\\\f14d\\\"}.fa-sheep:before{content:\\\"\\\\f711\\\"}.fa-shekel-sign:before{content:\\\"\\\\f20b\\\"}.fa-shield:before{content:\\\"\\\\f132\\\"}.fa-shield-alt:before{content:\\\"\\\\f3ed\\\"}.fa-shield-check:before{content:\\\"\\\\f2f7\\\"}.fa-shield-cross:before{content:\\\"\\\\f712\\\"}.fa-shield-virus:before{content:\\\"\\\\f96c\\\"}.fa-ship:before{content:\\\"\\\\f21a\\\"}.fa-shipping-fast:before{content:\\\"\\\\f48b\\\"}.fa-shipping-timed:before{content:\\\"\\\\f48c\\\"}.fa-shirtsinbulk:before{content:\\\"\\\\f214\\\"}.fa-shish-kebab:before{content:\\\"\\\\f821\\\"}.fa-shoe-prints:before{content:\\\"\\\\f54b\\\"}.fa-shopify:before{content:\\\"\\\\f957\\\"}.fa-shopping-bag:before{content:\\\"\\\\f290\\\"}.fa-shopping-basket:before{content:\\\"\\\\f291\\\"}.fa-shopping-cart:before{content:\\\"\\\\f07a\\\"}.fa-shopware:before{content:\\\"\\\\f5b5\\\"}.fa-shovel:before{content:\\\"\\\\f713\\\"}.fa-shovel-snow:before{content:\\\"\\\\f7c3\\\"}.fa-shower:before{content:\\\"\\\\f2cc\\\"}.fa-shredder:before{content:\\\"\\\\f68a\\\"}.fa-shuttle-van:before{content:\\\"\\\\f5b6\\\"}.fa-shuttlecock:before{content:\\\"\\\\f45b\\\"}.fa-sickle:before{content:\\\"\\\\f822\\\"}.fa-sigma:before{content:\\\"\\\\f68b\\\"}.fa-sign:before{content:\\\"\\\\f4d9\\\"}.fa-sign-in:before{content:\\\"\\\\f090\\\"}.fa-sign-in-alt:before{content:\\\"\\\\f2f6\\\"}.fa-sign-language:before{content:\\\"\\\\f2a7\\\"}.fa-sign-out:before{content:\\\"\\\\f08b\\\"}.fa-sign-out-alt:before{content:\\\"\\\\f2f5\\\"}.fa-signal:before{content:\\\"\\\\f012\\\"}.fa-signal-1:before{content:\\\"\\\\f68c\\\"}.fa-signal-2:before{content:\\\"\\\\f68d\\\"}.fa-signal-3:before{content:\\\"\\\\f68e\\\"}.fa-signal-4:before{content:\\\"\\\\f68f\\\"}.fa-signal-alt:before{content:\\\"\\\\f690\\\"}.fa-signal-alt-1:before{content:\\\"\\\\f691\\\"}.fa-signal-alt-2:before{content:\\\"\\\\f692\\\"}.fa-signal-alt-3:before{content:\\\"\\\\f693\\\"}.fa-signal-alt-slash:before{content:\\\"\\\\f694\\\"}.fa-signal-slash:before{content:\\\"\\\\f695\\\"}.fa-signal-stream:before{content:\\\"\\\\f8dd\\\"}.fa-signature:before{content:\\\"\\\\f5b7\\\"}.fa-sim-card:before{content:\\\"\\\\f7c4\\\"}.fa-simplybuilt:before{content:\\\"\\\\f215\\\"}.fa-sink:before{content:\\\"\\\\f96d\\\"}.fa-siren:before{content:\\\"\\\\f92d\\\"}.fa-siren-on:before{content:\\\"\\\\f92e\\\"}.fa-sistrix:before{content:\\\"\\\\f3ee\\\"}.fa-sitemap:before{content:\\\"\\\\f0e8\\\"}.fa-sith:before{content:\\\"\\\\f512\\\"}.fa-skating:before{content:\\\"\\\\f7c5\\\"}.fa-skeleton:before{content:\\\"\\\\f620\\\"}.fa-sketch:before{content:\\\"\\\\f7c6\\\"}.fa-ski-jump:before{content:\\\"\\\\f7c7\\\"}.fa-ski-lift:before{content:\\\"\\\\f7c8\\\"}.fa-skiing:before{content:\\\"\\\\f7c9\\\"}.fa-skiing-nordic:before{content:\\\"\\\\f7ca\\\"}.fa-skull:before{content:\\\"\\\\f54c\\\"}.fa-skull-cow:before{content:\\\"\\\\f8de\\\"}.fa-skull-crossbones:before{content:\\\"\\\\f714\\\"}.fa-skyatlas:before{content:\\\"\\\\f216\\\"}.fa-skype:before{content:\\\"\\\\f17e\\\"}.fa-slack:before{content:\\\"\\\\f198\\\"}.fa-slack-hash:before{content:\\\"\\\\f3ef\\\"}.fa-slash:before{content:\\\"\\\\f715\\\"}.fa-sledding:before{content:\\\"\\\\f7cb\\\"}.fa-sleigh:before{content:\\\"\\\\f7cc\\\"}.fa-sliders-h:before{content:\\\"\\\\f1de\\\"}.fa-sliders-h-square:before{content:\\\"\\\\f3f0\\\"}.fa-sliders-v:before{content:\\\"\\\\f3f1\\\"}.fa-sliders-v-square:before{content:\\\"\\\\f3f2\\\"}.fa-slideshare:before{content:\\\"\\\\f1e7\\\"}.fa-smile:before{content:\\\"\\\\f118\\\"}.fa-smile-beam:before{content:\\\"\\\\f5b8\\\"}.fa-smile-plus:before{content:\\\"\\\\f5b9\\\"}.fa-smile-wink:before{content:\\\"\\\\f4da\\\"}.fa-smog:before{content:\\\"\\\\f75f\\\"}.fa-smoke:before{content:\\\"\\\\f760\\\"}.fa-smoking:before{content:\\\"\\\\f48d\\\"}.fa-smoking-ban:before{content:\\\"\\\\f54d\\\"}.fa-sms:before{content:\\\"\\\\f7cd\\\"}.fa-snake:before{content:\\\"\\\\f716\\\"}.fa-snapchat:before{content:\\\"\\\\f2ab\\\"}.fa-snapchat-ghost:before{content:\\\"\\\\f2ac\\\"}.fa-snapchat-square:before{content:\\\"\\\\f2ad\\\"}.fa-snooze:before{content:\\\"\\\\f880\\\"}.fa-snow-blowing:before{content:\\\"\\\\f761\\\"}.fa-snowboarding:before{content:\\\"\\\\f7ce\\\"}.fa-snowflake:before{content:\\\"\\\\f2dc\\\"}.fa-snowflakes:before{content:\\\"\\\\f7cf\\\"}.fa-snowman:before{content:\\\"\\\\f7d0\\\"}.fa-snowmobile:before{content:\\\"\\\\f7d1\\\"}.fa-snowplow:before{content:\\\"\\\\f7d2\\\"}.fa-soap:before{content:\\\"\\\\f96e\\\"}.fa-socks:before{content:\\\"\\\\f696\\\"}.fa-solar-panel:before{content:\\\"\\\\f5ba\\\"}.fa-solar-system:before{content:\\\"\\\\f92f\\\"}.fa-sort:before{content:\\\"\\\\f0dc\\\"}.fa-sort-alpha-down:before{content:\\\"\\\\f15d\\\"}.fa-sort-alpha-down-alt:before{content:\\\"\\\\f881\\\"}.fa-sort-alpha-up:before{content:\\\"\\\\f15e\\\"}.fa-sort-alpha-up-alt:before{content:\\\"\\\\f882\\\"}.fa-sort-alt:before{content:\\\"\\\\f883\\\"}.fa-sort-amount-down:before{content:\\\"\\\\f160\\\"}.fa-sort-amount-down-alt:before{content:\\\"\\\\f884\\\"}.fa-sort-amount-up:before{content:\\\"\\\\f161\\\"}.fa-sort-amount-up-alt:before{content:\\\"\\\\f885\\\"}.fa-sort-circle:before{content:\\\"\\\\f930\\\"}.fa-sort-circle-down:before{content:\\\"\\\\f931\\\"}.fa-sort-circle-up:before{content:\\\"\\\\f932\\\"}.fa-sort-down:before{content:\\\"\\\\f0dd\\\"}.fa-sort-numeric-down:before{content:\\\"\\\\f162\\\"}.fa-sort-numeric-down-alt:before{content:\\\"\\\\f886\\\"}.fa-sort-numeric-up:before{content:\\\"\\\\f163\\\"}.fa-sort-numeric-up-alt:before{content:\\\"\\\\f887\\\"}.fa-sort-shapes-down:before{content:\\\"\\\\f888\\\"}.fa-sort-shapes-down-alt:before{content:\\\"\\\\f889\\\"}.fa-sort-shapes-up:before{content:\\\"\\\\f88a\\\"}.fa-sort-shapes-up-alt:before{content:\\\"\\\\f88b\\\"}.fa-sort-size-down:before{content:\\\"\\\\f88c\\\"}.fa-sort-size-down-alt:before{content:\\\"\\\\f88d\\\"}.fa-sort-size-up:before{content:\\\"\\\\f88e\\\"}.fa-sort-size-up-alt:before{content:\\\"\\\\f88f\\\"}.fa-sort-up:before{content:\\\"\\\\f0de\\\"}.fa-soundcloud:before{content:\\\"\\\\f1be\\\"}.fa-soup:before{content:\\\"\\\\f823\\\"}.fa-sourcetree:before{content:\\\"\\\\f7d3\\\"}.fa-spa:before{content:\\\"\\\\f5bb\\\"}.fa-space-shuttle:before{content:\\\"\\\\f197\\\"}.fa-space-station-moon:before{content:\\\"\\\\f933\\\"}.fa-space-station-moon-alt:before{content:\\\"\\\\f934\\\"}.fa-spade:before{content:\\\"\\\\f2f4\\\"}.fa-sparkles:before{content:\\\"\\\\f890\\\"}.fa-speakap:before{content:\\\"\\\\f3f3\\\"}.fa-speaker:before{content:\\\"\\\\f8df\\\"}.fa-speaker-deck:before{content:\\\"\\\\f83c\\\"}.fa-speakers:before{content:\\\"\\\\f8e0\\\"}.fa-spell-check:before{content:\\\"\\\\f891\\\"}.fa-spider:before{content:\\\"\\\\f717\\\"}.fa-spider-black-widow:before{content:\\\"\\\\f718\\\"}.fa-spider-web:before{content:\\\"\\\\f719\\\"}.fa-spinner:before{content:\\\"\\\\f110\\\"}.fa-spinner-third:before{content:\\\"\\\\f3f4\\\"}.fa-splotch:before{content:\\\"\\\\f5bc\\\"}.fa-spotify:before{content:\\\"\\\\f1bc\\\"}.fa-spray-can:before{content:\\\"\\\\f5bd\\\"}.fa-sprinkler:before{content:\\\"\\\\f935\\\"}.fa-square:before{content:\\\"\\\\f0c8\\\"}.fa-square-full:before{content:\\\"\\\\f45c\\\"}.fa-square-root:before{content:\\\"\\\\f697\\\"}.fa-square-root-alt:before{content:\\\"\\\\f698\\\"}.fa-squarespace:before{content:\\\"\\\\f5be\\\"}.fa-squirrel:before{content:\\\"\\\\f71a\\\"}.fa-stack-exchange:before{content:\\\"\\\\f18d\\\"}.fa-stack-overflow:before{content:\\\"\\\\f16c\\\"}.fa-stackpath:before{content:\\\"\\\\f842\\\"}.fa-staff:before{content:\\\"\\\\f71b\\\"}.fa-stamp:before{content:\\\"\\\\f5bf\\\"}.fa-star:before{content:\\\"\\\\f005\\\"}.fa-star-and-crescent:before{content:\\\"\\\\f699\\\"}.fa-star-christmas:before{content:\\\"\\\\f7d4\\\"}.fa-star-exclamation:before{content:\\\"\\\\f2f3\\\"}.fa-star-half:before{content:\\\"\\\\f089\\\"}.fa-star-half-alt:before{content:\\\"\\\\f5c0\\\"}.fa-star-of-david:before{content:\\\"\\\\f69a\\\"}.fa-star-of-life:before{content:\\\"\\\\f621\\\"}.fa-star-shooting:before{content:\\\"\\\\f936\\\"}.fa-starfighter:before{content:\\\"\\\\f937\\\"}.fa-starfighter-alt:before{content:\\\"\\\\f938\\\"}.fa-stars:before{content:\\\"\\\\f762\\\"}.fa-starship:before{content:\\\"\\\\f939\\\"}.fa-starship-freighter:before{content:\\\"\\\\f93a\\\"}.fa-staylinked:before{content:\\\"\\\\f3f5\\\"}.fa-steak:before{content:\\\"\\\\f824\\\"}.fa-steam:before{content:\\\"\\\\f1b6\\\"}.fa-steam-square:before{content:\\\"\\\\f1b7\\\"}.fa-steam-symbol:before{content:\\\"\\\\f3f6\\\"}.fa-steering-wheel:before{content:\\\"\\\\f622\\\"}.fa-step-backward:before{content:\\\"\\\\f048\\\"}.fa-step-forward:before{content:\\\"\\\\f051\\\"}.fa-stethoscope:before{content:\\\"\\\\f0f1\\\"}.fa-sticker-mule:before{content:\\\"\\\\f3f7\\\"}.fa-sticky-note:before{content:\\\"\\\\f249\\\"}.fa-stocking:before{content:\\\"\\\\f7d5\\\"}.fa-stomach:before{content:\\\"\\\\f623\\\"}.fa-stop:before{content:\\\"\\\\f04d\\\"}.fa-stop-circle:before{content:\\\"\\\\f28d\\\"}.fa-stopwatch:before{content:\\\"\\\\f2f2\\\"}.fa-stopwatch-20:before{content:\\\"\\\\f96f\\\"}.fa-store:before{content:\\\"\\\\f54e\\\"}.fa-store-alt:before{content:\\\"\\\\f54f\\\"}.fa-store-alt-slash:before{content:\\\"\\\\f970\\\"}.fa-store-slash:before{content:\\\"\\\\f971\\\"}.fa-strava:before{content:\\\"\\\\f428\\\"}.fa-stream:before{content:\\\"\\\\f550\\\"}.fa-street-view:before{content:\\\"\\\\f21d\\\"}.fa-stretcher:before{content:\\\"\\\\f825\\\"}.fa-strikethrough:before{content:\\\"\\\\f0cc\\\"}.fa-stripe:before{content:\\\"\\\\f429\\\"}.fa-stripe-s:before{content:\\\"\\\\f42a\\\"}.fa-stroopwafel:before{content:\\\"\\\\f551\\\"}.fa-studiovinari:before{content:\\\"\\\\f3f8\\\"}.fa-stumbleupon:before{content:\\\"\\\\f1a4\\\"}.fa-stumbleupon-circle:before{content:\\\"\\\\f1a3\\\"}.fa-subscript:before{content:\\\"\\\\f12c\\\"}.fa-subway:before{content:\\\"\\\\f239\\\"}.fa-suitcase:before{content:\\\"\\\\f0f2\\\"}.fa-suitcase-rolling:before{content:\\\"\\\\f5c1\\\"}.fa-sun:before{content:\\\"\\\\f185\\\"}.fa-sun-cloud:before{content:\\\"\\\\f763\\\"}.fa-sun-dust:before{content:\\\"\\\\f764\\\"}.fa-sun-haze:before{content:\\\"\\\\f765\\\"}.fa-sunglasses:before{content:\\\"\\\\f892\\\"}.fa-sunrise:before{content:\\\"\\\\f766\\\"}.fa-sunset:before{content:\\\"\\\\f767\\\"}.fa-superpowers:before{content:\\\"\\\\f2dd\\\"}.fa-superscript:before{content:\\\"\\\\f12b\\\"}.fa-supple:before{content:\\\"\\\\f3f9\\\"}.fa-surprise:before{content:\\\"\\\\f5c2\\\"}.fa-suse:before{content:\\\"\\\\f7d6\\\"}.fa-swatchbook:before{content:\\\"\\\\f5c3\\\"}.fa-swift:before{content:\\\"\\\\f8e1\\\"}.fa-swimmer:before{content:\\\"\\\\f5c4\\\"}.fa-swimming-pool:before{content:\\\"\\\\f5c5\\\"}.fa-sword:before{content:\\\"\\\\f71c\\\"}.fa-sword-laser:before{content:\\\"\\\\f93b\\\"}.fa-sword-laser-alt:before{content:\\\"\\\\f93c\\\"}.fa-swords:before{content:\\\"\\\\f71d\\\"}.fa-swords-laser:before{content:\\\"\\\\f93d\\\"}.fa-symfony:before{content:\\\"\\\\f83d\\\"}.fa-synagogue:before{content:\\\"\\\\f69b\\\"}.fa-sync:before{content:\\\"\\\\f021\\\"}.fa-sync-alt:before{content:\\\"\\\\f2f1\\\"}.fa-syringe:before{content:\\\"\\\\f48e\\\"}.fa-table:before{content:\\\"\\\\f0ce\\\"}.fa-table-tennis:before{content:\\\"\\\\f45d\\\"}.fa-tablet:before{content:\\\"\\\\f10a\\\"}.fa-tablet-alt:before{content:\\\"\\\\f3fa\\\"}.fa-tablet-android:before{content:\\\"\\\\f3fb\\\"}.fa-tablet-android-alt:before{content:\\\"\\\\f3fc\\\"}.fa-tablet-rugged:before{content:\\\"\\\\f48f\\\"}.fa-tablets:before{content:\\\"\\\\f490\\\"}.fa-tachometer:before{content:\\\"\\\\f0e4\\\"}.fa-tachometer-alt:before{content:\\\"\\\\f3fd\\\"}.fa-tachometer-alt-average:before{content:\\\"\\\\f624\\\"}.fa-tachometer-alt-fast:before{content:\\\"\\\\f625\\\"}.fa-tachometer-alt-fastest:before{content:\\\"\\\\f626\\\"}.fa-tachometer-alt-slow:before{content:\\\"\\\\f627\\\"}.fa-tachometer-alt-slowest:before{content:\\\"\\\\f628\\\"}.fa-tachometer-average:before{content:\\\"\\\\f629\\\"}.fa-tachometer-fast:before{content:\\\"\\\\f62a\\\"}.fa-tachometer-fastest:before{content:\\\"\\\\f62b\\\"}.fa-tachometer-slow:before{content:\\\"\\\\f62c\\\"}.fa-tachometer-slowest:before{content:\\\"\\\\f62d\\\"}.fa-taco:before{content:\\\"\\\\f826\\\"}.fa-tag:before{content:\\\"\\\\f02b\\\"}.fa-tags:before{content:\\\"\\\\f02c\\\"}.fa-tally:before{content:\\\"\\\\f69c\\\"}.fa-tanakh:before{content:\\\"\\\\f827\\\"}.fa-tape:before{content:\\\"\\\\f4db\\\"}.fa-tasks:before{content:\\\"\\\\f0ae\\\"}.fa-tasks-alt:before{content:\\\"\\\\f828\\\"}.fa-taxi:before{content:\\\"\\\\f1ba\\\"}.fa-teamspeak:before{content:\\\"\\\\f4f9\\\"}.fa-teeth:before{content:\\\"\\\\f62e\\\"}.fa-teeth-open:before{content:\\\"\\\\f62f\\\"}.fa-telegram:before{content:\\\"\\\\f2c6\\\"}.fa-telegram-plane:before{content:\\\"\\\\f3fe\\\"}.fa-telescope:before{content:\\\"\\\\f93e\\\"}.fa-temperature-down:before{content:\\\"\\\\f93f\\\"}.fa-temperature-frigid:before{content:\\\"\\\\f768\\\"}.fa-temperature-high:before{content:\\\"\\\\f769\\\"}.fa-temperature-hot:before{content:\\\"\\\\f76a\\\"}.fa-temperature-low:before{content:\\\"\\\\f76b\\\"}.fa-temperature-up:before{content:\\\"\\\\f940\\\"}.fa-tencent-weibo:before{content:\\\"\\\\f1d5\\\"}.fa-tenge:before{content:\\\"\\\\f7d7\\\"}.fa-tennis-ball:before{content:\\\"\\\\f45e\\\"}.fa-terminal:before{content:\\\"\\\\f120\\\"}.fa-text:before{content:\\\"\\\\f893\\\"}.fa-text-height:before{content:\\\"\\\\f034\\\"}.fa-text-size:before{content:\\\"\\\\f894\\\"}.fa-text-width:before{content:\\\"\\\\f035\\\"}.fa-th:before{content:\\\"\\\\f00a\\\"}.fa-th-large:before{content:\\\"\\\\f009\\\"}.fa-th-list:before{content:\\\"\\\\f00b\\\"}.fa-the-red-yeti:before{content:\\\"\\\\f69d\\\"}.fa-theater-masks:before{content:\\\"\\\\f630\\\"}.fa-themeco:before{content:\\\"\\\\f5c6\\\"}.fa-themeisle:before{content:\\\"\\\\f2b2\\\"}.fa-thermometer:before{content:\\\"\\\\f491\\\"}.fa-thermometer-empty:before{content:\\\"\\\\f2cb\\\"}.fa-thermometer-full:before{content:\\\"\\\\f2c7\\\"}.fa-thermometer-half:before{content:\\\"\\\\f2c9\\\"}.fa-thermometer-quarter:before{content:\\\"\\\\f2ca\\\"}.fa-thermometer-three-quarters:before{content:\\\"\\\\f2c8\\\"}.fa-theta:before{content:\\\"\\\\f69e\\\"}.fa-think-peaks:before{content:\\\"\\\\f731\\\"}.fa-thumbs-down:before{content:\\\"\\\\f165\\\"}.fa-thumbs-up:before{content:\\\"\\\\f164\\\"}.fa-thumbtack:before{content:\\\"\\\\f08d\\\"}.fa-thunderstorm:before{content:\\\"\\\\f76c\\\"}.fa-thunderstorm-moon:before{content:\\\"\\\\f76d\\\"}.fa-thunderstorm-sun:before{content:\\\"\\\\f76e\\\"}.fa-ticket:before{content:\\\"\\\\f145\\\"}.fa-ticket-alt:before{content:\\\"\\\\f3ff\\\"}.fa-tilde:before{content:\\\"\\\\f69f\\\"}.fa-times:before{content:\\\"\\\\f00d\\\"}.fa-times-circle:before{content:\\\"\\\\f057\\\"}.fa-times-hexagon:before{content:\\\"\\\\f2ee\\\"}.fa-times-octagon:before{content:\\\"\\\\f2f0\\\"}.fa-times-square:before{content:\\\"\\\\f2d3\\\"}.fa-tint:before{content:\\\"\\\\f043\\\"}.fa-tint-slash:before{content:\\\"\\\\f5c7\\\"}.fa-tire:before{content:\\\"\\\\f631\\\"}.fa-tire-flat:before{content:\\\"\\\\f632\\\"}.fa-tire-pressure-warning:before{content:\\\"\\\\f633\\\"}.fa-tire-rugged:before{content:\\\"\\\\f634\\\"}.fa-tired:before{content:\\\"\\\\f5c8\\\"}.fa-toggle-off:before{content:\\\"\\\\f204\\\"}.fa-toggle-on:before{content:\\\"\\\\f205\\\"}.fa-toilet:before{content:\\\"\\\\f7d8\\\"}.fa-toilet-paper:before{content:\\\"\\\\f71e\\\"}.fa-toilet-paper-alt:before{content:\\\"\\\\f71f\\\"}.fa-toilet-paper-slash:before{content:\\\"\\\\f972\\\"}.fa-tombstone:before{content:\\\"\\\\f720\\\"}.fa-tombstone-alt:before{content:\\\"\\\\f721\\\"}.fa-toolbox:before{content:\\\"\\\\f552\\\"}.fa-tools:before{content:\\\"\\\\f7d9\\\"}.fa-tooth:before{content:\\\"\\\\f5c9\\\"}.fa-toothbrush:before{content:\\\"\\\\f635\\\"}.fa-torah:before{content:\\\"\\\\f6a0\\\"}.fa-torii-gate:before{content:\\\"\\\\f6a1\\\"}.fa-tornado:before{content:\\\"\\\\f76f\\\"}.fa-tractor:before{content:\\\"\\\\f722\\\"}.fa-trade-federation:before{content:\\\"\\\\f513\\\"}.fa-trademark:before{content:\\\"\\\\f25c\\\"}.fa-traffic-cone:before{content:\\\"\\\\f636\\\"}.fa-traffic-light:before{content:\\\"\\\\f637\\\"}.fa-traffic-light-go:before{content:\\\"\\\\f638\\\"}.fa-traffic-light-slow:before{content:\\\"\\\\f639\\\"}.fa-traffic-light-stop:before{content:\\\"\\\\f63a\\\"}.fa-trailer:before{content:\\\"\\\\f941\\\"}.fa-train:before{content:\\\"\\\\f238\\\"}.fa-tram:before{content:\\\"\\\\f7da\\\"}.fa-transgender:before{content:\\\"\\\\f224\\\"}.fa-transgender-alt:before{content:\\\"\\\\f225\\\"}.fa-transporter:before{content:\\\"\\\\f942\\\"}.fa-transporter-1:before{content:\\\"\\\\f943\\\"}.fa-transporter-2:before{content:\\\"\\\\f944\\\"}.fa-transporter-3:before{content:\\\"\\\\f945\\\"}.fa-transporter-empty:before{content:\\\"\\\\f946\\\"}.fa-trash:before{content:\\\"\\\\f1f8\\\"}.fa-trash-alt:before{content:\\\"\\\\f2ed\\\"}.fa-trash-restore:before{content:\\\"\\\\f829\\\"}.fa-trash-restore-alt:before{content:\\\"\\\\f82a\\\"}.fa-trash-undo:before{content:\\\"\\\\f895\\\"}.fa-trash-undo-alt:before{content:\\\"\\\\f896\\\"}.fa-treasure-chest:before{content:\\\"\\\\f723\\\"}.fa-tree:before{content:\\\"\\\\f1bb\\\"}.fa-tree-alt:before{content:\\\"\\\\f400\\\"}.fa-tree-christmas:before{content:\\\"\\\\f7db\\\"}.fa-tree-decorated:before{content:\\\"\\\\f7dc\\\"}.fa-tree-large:before{content:\\\"\\\\f7dd\\\"}.fa-tree-palm:before{content:\\\"\\\\f82b\\\"}.fa-trees:before{content:\\\"\\\\f724\\\"}.fa-trello:before{content:\\\"\\\\f181\\\"}.fa-triangle:before{content:\\\"\\\\f2ec\\\"}.fa-triangle-music:before{content:\\\"\\\\f8e2\\\"}.fa-tripadvisor:before{content:\\\"\\\\f262\\\"}.fa-trophy:before{content:\\\"\\\\f091\\\"}.fa-trophy-alt:before{content:\\\"\\\\f2eb\\\"}.fa-truck:before{content:\\\"\\\\f0d1\\\"}.fa-truck-container:before{content:\\\"\\\\f4dc\\\"}.fa-truck-couch:before{content:\\\"\\\\f4dd\\\"}.fa-truck-loading:before{content:\\\"\\\\f4de\\\"}.fa-truck-monster:before{content:\\\"\\\\f63b\\\"}.fa-truck-moving:before{content:\\\"\\\\f4df\\\"}.fa-truck-pickup:before{content:\\\"\\\\f63c\\\"}.fa-truck-plow:before{content:\\\"\\\\f7de\\\"}.fa-truck-ramp:before{content:\\\"\\\\f4e0\\\"}.fa-trumpet:before{content:\\\"\\\\f8e3\\\"}.fa-tshirt:before{content:\\\"\\\\f553\\\"}.fa-tty:before{content:\\\"\\\\f1e4\\\"}.fa-tumblr:before{content:\\\"\\\\f173\\\"}.fa-tumblr-square:before{content:\\\"\\\\f174\\\"}.fa-turkey:before{content:\\\"\\\\f725\\\"}.fa-turntable:before{content:\\\"\\\\f8e4\\\"}.fa-turtle:before{content:\\\"\\\\f726\\\"}.fa-tv:before{content:\\\"\\\\f26c\\\"}.fa-tv-alt:before{content:\\\"\\\\f8e5\\\"}.fa-tv-music:before{content:\\\"\\\\f8e6\\\"}.fa-tv-retro:before{content:\\\"\\\\f401\\\"}.fa-twitch:before{content:\\\"\\\\f1e8\\\"}.fa-twitter:before{content:\\\"\\\\f099\\\"}.fa-twitter-square:before{content:\\\"\\\\f081\\\"}.fa-typewriter:before{content:\\\"\\\\f8e7\\\"}.fa-typo3:before{content:\\\"\\\\f42b\\\"}.fa-uber:before{content:\\\"\\\\f402\\\"}.fa-ubuntu:before{content:\\\"\\\\f7df\\\"}.fa-ufo:before{content:\\\"\\\\f947\\\"}.fa-ufo-beam:before{content:\\\"\\\\f948\\\"}.fa-uikit:before{content:\\\"\\\\f403\\\"}.fa-umbraco:before{content:\\\"\\\\f8e8\\\"}.fa-umbrella:before{content:\\\"\\\\f0e9\\\"}.fa-umbrella-beach:before{content:\\\"\\\\f5ca\\\"}.fa-underline:before{content:\\\"\\\\f0cd\\\"}.fa-undo:before{content:\\\"\\\\f0e2\\\"}.fa-undo-alt:before{content:\\\"\\\\f2ea\\\"}.fa-unicorn:before{content:\\\"\\\\f727\\\"}.fa-union:before{content:\\\"\\\\f6a2\\\"}.fa-uniregistry:before{content:\\\"\\\\f404\\\"}.fa-unity:before{content:\\\"\\\\f949\\\"}.fa-universal-access:before{content:\\\"\\\\f29a\\\"}.fa-university:before{content:\\\"\\\\f19c\\\"}.fa-unlink:before{content:\\\"\\\\f127\\\"}.fa-unlock:before{content:\\\"\\\\f09c\\\"}.fa-unlock-alt:before{content:\\\"\\\\f13e\\\"}.fa-untappd:before{content:\\\"\\\\f405\\\"}.fa-upload:before{content:\\\"\\\\f093\\\"}.fa-ups:before{content:\\\"\\\\f7e0\\\"}.fa-usb:before{content:\\\"\\\\f287\\\"}.fa-usb-drive:before{content:\\\"\\\\f8e9\\\"}.fa-usd-circle:before{content:\\\"\\\\f2e8\\\"}.fa-usd-square:before{content:\\\"\\\\f2e9\\\"}.fa-user:before{content:\\\"\\\\f007\\\"}.fa-user-alien:before{content:\\\"\\\\f94a\\\"}.fa-user-alt:before{content:\\\"\\\\f406\\\"}.fa-user-alt-slash:before{content:\\\"\\\\f4fa\\\"}.fa-user-astronaut:before{content:\\\"\\\\f4fb\\\"}.fa-user-chart:before{content:\\\"\\\\f6a3\\\"}.fa-user-check:before{content:\\\"\\\\f4fc\\\"}.fa-user-circle:before{content:\\\"\\\\f2bd\\\"}.fa-user-clock:before{content:\\\"\\\\f4fd\\\"}.fa-user-cog:before{content:\\\"\\\\f4fe\\\"}.fa-user-cowboy:before{content:\\\"\\\\f8ea\\\"}.fa-user-crown:before{content:\\\"\\\\f6a4\\\"}.fa-user-edit:before{content:\\\"\\\\f4ff\\\"}.fa-user-friends:before{content:\\\"\\\\f500\\\"}.fa-user-graduate:before{content:\\\"\\\\f501\\\"}.fa-user-hard-hat:before{content:\\\"\\\\f82c\\\"}.fa-user-headset:before{content:\\\"\\\\f82d\\\"}.fa-user-injured:before{content:\\\"\\\\f728\\\"}.fa-user-lock:before{content:\\\"\\\\f502\\\"}.fa-user-md:before{content:\\\"\\\\f0f0\\\"}.fa-user-md-chat:before{content:\\\"\\\\f82e\\\"}.fa-user-minus:before{content:\\\"\\\\f503\\\"}.fa-user-music:before{content:\\\"\\\\f8eb\\\"}.fa-user-ninja:before{content:\\\"\\\\f504\\\"}.fa-user-nurse:before{content:\\\"\\\\f82f\\\"}.fa-user-plus:before{content:\\\"\\\\f234\\\"}.fa-user-robot:before{content:\\\"\\\\f94b\\\"}.fa-user-secret:before{content:\\\"\\\\f21b\\\"}.fa-user-shield:before{content:\\\"\\\\f505\\\"}.fa-user-slash:before{content:\\\"\\\\f506\\\"}.fa-user-tag:before{content:\\\"\\\\f507\\\"}.fa-user-tie:before{content:\\\"\\\\f508\\\"}.fa-user-times:before{content:\\\"\\\\f235\\\"}.fa-user-unlock:before{content:\\\"\\\\f958\\\"}.fa-user-visor:before{content:\\\"\\\\f94c\\\"}.fa-users:before{content:\\\"\\\\f0c0\\\"}.fa-users-class:before{content:\\\"\\\\f63d\\\"}.fa-users-cog:before{content:\\\"\\\\f509\\\"}.fa-users-crown:before{content:\\\"\\\\f6a5\\\"}.fa-users-medical:before{content:\\\"\\\\f830\\\"}.fa-users-slash:before{content:\\\"\\\\f973\\\"}.fa-usps:before{content:\\\"\\\\f7e1\\\"}.fa-ussunnah:before{content:\\\"\\\\f407\\\"}.fa-utensil-fork:before{content:\\\"\\\\f2e3\\\"}.fa-utensil-knife:before{content:\\\"\\\\f2e4\\\"}.fa-utensil-spoon:before{content:\\\"\\\\f2e5\\\"}.fa-utensils:before{content:\\\"\\\\f2e7\\\"}.fa-utensils-alt:before{content:\\\"\\\\f2e6\\\"}.fa-vaadin:before{content:\\\"\\\\f408\\\"}.fa-vacuum:before{content:\\\"\\\\f94d\\\"}.fa-vacuum-robot:before{content:\\\"\\\\f94e\\\"}.fa-value-absolute:before{content:\\\"\\\\f6a6\\\"}.fa-vector-square:before{content:\\\"\\\\f5cb\\\"}.fa-venus:before{content:\\\"\\\\f221\\\"}.fa-venus-double:before{content:\\\"\\\\f226\\\"}.fa-venus-mars:before{content:\\\"\\\\f228\\\"}.fa-vhs:before{content:\\\"\\\\f8ec\\\"}.fa-viacoin:before{content:\\\"\\\\f237\\\"}.fa-viadeo:before{content:\\\"\\\\f2a9\\\"}.fa-viadeo-square:before{content:\\\"\\\\f2aa\\\"}.fa-vial:before{content:\\\"\\\\f492\\\"}.fa-vials:before{content:\\\"\\\\f493\\\"}.fa-viber:before{content:\\\"\\\\f409\\\"}.fa-video:before{content:\\\"\\\\f03d\\\"}.fa-video-plus:before{content:\\\"\\\\f4e1\\\"}.fa-video-slash:before{content:\\\"\\\\f4e2\\\"}.fa-vihara:before{content:\\\"\\\\f6a7\\\"}.fa-vimeo:before{content:\\\"\\\\f40a\\\"}.fa-vimeo-square:before{content:\\\"\\\\f194\\\"}.fa-vimeo-v:before{content:\\\"\\\\f27d\\\"}.fa-vine:before{content:\\\"\\\\f1ca\\\"}.fa-violin:before{content:\\\"\\\\f8ed\\\"}.fa-virus:before{content:\\\"\\\\f974\\\"}.fa-virus-slash:before{content:\\\"\\\\f975\\\"}.fa-viruses:before{content:\\\"\\\\f976\\\"}.fa-vk:before{content:\\\"\\\\f189\\\"}.fa-vnv:before{content:\\\"\\\\f40b\\\"}.fa-voicemail:before{content:\\\"\\\\f897\\\"}.fa-volcano:before{content:\\\"\\\\f770\\\"}.fa-volleyball-ball:before{content:\\\"\\\\f45f\\\"}.fa-volume:before{content:\\\"\\\\f6a8\\\"}.fa-volume-down:before{content:\\\"\\\\f027\\\"}.fa-volume-mute:before{content:\\\"\\\\f6a9\\\"}.fa-volume-off:before{content:\\\"\\\\f026\\\"}.fa-volume-slash:before{content:\\\"\\\\f2e2\\\"}.fa-volume-up:before{content:\\\"\\\\f028\\\"}.fa-vote-nay:before{content:\\\"\\\\f771\\\"}.fa-vote-yea:before{content:\\\"\\\\f772\\\"}.fa-vr-cardboard:before{content:\\\"\\\\f729\\\"}.fa-vuejs:before{content:\\\"\\\\f41f\\\"}.fa-wagon-covered:before{content:\\\"\\\\f8ee\\\"}.fa-walker:before{content:\\\"\\\\f831\\\"}.fa-walkie-talkie:before{content:\\\"\\\\f8ef\\\"}.fa-walking:before{content:\\\"\\\\f554\\\"}.fa-wallet:before{content:\\\"\\\\f555\\\"}.fa-wand:before{content:\\\"\\\\f72a\\\"}.fa-wand-magic:before{content:\\\"\\\\f72b\\\"}.fa-warehouse:before{content:\\\"\\\\f494\\\"}.fa-warehouse-alt:before{content:\\\"\\\\f495\\\"}.fa-washer:before{content:\\\"\\\\f898\\\"}.fa-watch:before{content:\\\"\\\\f2e1\\\"}.fa-watch-calculator:before{content:\\\"\\\\f8f0\\\"}.fa-watch-fitness:before{content:\\\"\\\\f63e\\\"}.fa-water:before{content:\\\"\\\\f773\\\"}.fa-water-lower:before{content:\\\"\\\\f774\\\"}.fa-water-rise:before{content:\\\"\\\\f775\\\"}.fa-wave-sine:before{content:\\\"\\\\f899\\\"}.fa-wave-square:before{content:\\\"\\\\f83e\\\"}.fa-wave-triangle:before{content:\\\"\\\\f89a\\\"}.fa-waveform:before{content:\\\"\\\\f8f1\\\"}.fa-waveform-path:before{content:\\\"\\\\f8f2\\\"}.fa-waze:before{content:\\\"\\\\f83f\\\"}.fa-webcam:before{content:\\\"\\\\f832\\\"}.fa-webcam-slash:before{content:\\\"\\\\f833\\\"}.fa-weebly:before{content:\\\"\\\\f5cc\\\"}.fa-weibo:before{content:\\\"\\\\f18a\\\"}.fa-weight:before{content:\\\"\\\\f496\\\"}.fa-weight-hanging:before{content:\\\"\\\\f5cd\\\"}.fa-weixin:before{content:\\\"\\\\f1d7\\\"}.fa-whale:before{content:\\\"\\\\f72c\\\"}.fa-whatsapp:before{content:\\\"\\\\f232\\\"}.fa-whatsapp-square:before{content:\\\"\\\\f40c\\\"}.fa-wheat:before{content:\\\"\\\\f72d\\\"}.fa-wheelchair:before{content:\\\"\\\\f193\\\"}.fa-whistle:before{content:\\\"\\\\f460\\\"}.fa-whmcs:before{content:\\\"\\\\f40d\\\"}.fa-wifi:before{content:\\\"\\\\f1eb\\\"}.fa-wifi-1:before{content:\\\"\\\\f6aa\\\"}.fa-wifi-2:before{content:\\\"\\\\f6ab\\\"}.fa-wifi-slash:before{content:\\\"\\\\f6ac\\\"}.fa-wikipedia-w:before{content:\\\"\\\\f266\\\"}.fa-wind:before{content:\\\"\\\\f72e\\\"}.fa-wind-turbine:before{content:\\\"\\\\f89b\\\"}.fa-wind-warning:before{content:\\\"\\\\f776\\\"}.fa-window:before{content:\\\"\\\\f40e\\\"}.fa-window-alt:before{content:\\\"\\\\f40f\\\"}.fa-window-close:before{content:\\\"\\\\f410\\\"}.fa-window-frame:before{content:\\\"\\\\f94f\\\"}.fa-window-frame-open:before{content:\\\"\\\\f950\\\"}.fa-window-maximize:before{content:\\\"\\\\f2d0\\\"}.fa-window-minimize:before{content:\\\"\\\\f2d1\\\"}.fa-window-restore:before{content:\\\"\\\\f2d2\\\"}.fa-windows:before{content:\\\"\\\\f17a\\\"}.fa-windsock:before{content:\\\"\\\\f777\\\"}.fa-wine-bottle:before{content:\\\"\\\\f72f\\\"}.fa-wine-glass:before{content:\\\"\\\\f4e3\\\"}.fa-wine-glass-alt:before{content:\\\"\\\\f5ce\\\"}.fa-wix:before{content:\\\"\\\\f5cf\\\"}.fa-wizards-of-the-coast:before{content:\\\"\\\\f730\\\"}.fa-wolf-pack-battalion:before{content:\\\"\\\\f514\\\"}.fa-won-sign:before{content:\\\"\\\\f159\\\"}.fa-wordpress:before{content:\\\"\\\\f19a\\\"}.fa-wordpress-simple:before{content:\\\"\\\\f411\\\"}.fa-wpbeginner:before{content:\\\"\\\\f297\\\"}.fa-wpexplorer:before{content:\\\"\\\\f2de\\\"}.fa-wpforms:before{content:\\\"\\\\f298\\\"}.fa-wpressr:before{content:\\\"\\\\f3e4\\\"}.fa-wreath:before{content:\\\"\\\\f7e2\\\"}.fa-wrench:before{content:\\\"\\\\f0ad\\\"}.fa-x-ray:before{content:\\\"\\\\f497\\\"}.fa-xbox:before{content:\\\"\\\\f412\\\"}.fa-xing:before{content:\\\"\\\\f168\\\"}.fa-xing-square:before{content:\\\"\\\\f169\\\"}.fa-y-combinator:before{content:\\\"\\\\f23b\\\"}.fa-yahoo:before{content:\\\"\\\\f19e\\\"}.fa-yammer:before{content:\\\"\\\\f840\\\"}.fa-yandex:before{content:\\\"\\\\f413\\\"}.fa-yandex-international:before{content:\\\"\\\\f414\\\"}.fa-yarn:before{content:\\\"\\\\f7e3\\\"}.fa-yelp:before{content:\\\"\\\\f1e9\\\"}.fa-yen-sign:before{content:\\\"\\\\f157\\\"}.fa-yin-yang:before{content:\\\"\\\\f6ad\\\"}.fa-yoast:before{content:\\\"\\\\f2b1\\\"}.fa-youtube:before{content:\\\"\\\\f167\\\"}.fa-youtube-square:before{content:\\\"\\\\f431\\\"}.fa-zhihu:before{content:\\\"\\\\f63f\\\"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:\\\"Font Awesome 5 Brands\\\";font-style:normal;font-weight:400;font-display:block;src:url(/src/static/webfonts/fa-brands-400.eot);src:url(/src/static/webfonts/fa-brands-400.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-brands-400.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-brands-400.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-brands-400.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-brands-400.svg#fontawesome) format(\\\"svg\\\")}.fab{font-family:\\\"Font Awesome 5 Brands\\\";font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Duotone\\\";font-style:normal;font-weight:900;font-display:block;src:url(/src/static/webfonts/fa-duotone-900.eot);src:url(/src/static/webfonts/fa-duotone-900.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-duotone-900.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-duotone-900.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-duotone-900.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-duotone-900.svg#fontawesome) format(\\\"svg\\\")}.fad{position:relative;font-family:\\\"Font Awesome 5 Duotone\\\";font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color,inherit);opacity:1;opacity:var(--fa-primary-opacity,1)}.fad:after{color:var(--fa-secondary-color,inherit)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity,1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-fw:before,.fad.fa-stack-1x:before,.fad.fa-stack-2x:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-abacus:after{content:\\\"\\\\10f640\\\"}.fad.fa-acorn:after{content:\\\"\\\\10f6ae\\\"}.fad.fa-ad:after{content:\\\"\\\\10f641\\\"}.fad.fa-address-book:after{content:\\\"\\\\10f2b9\\\"}.fad.fa-address-card:after{content:\\\"\\\\10f2bb\\\"}.fad.fa-adjust:after{content:\\\"\\\\10f042\\\"}.fad.fa-air-conditioner:after{content:\\\"\\\\10f8f4\\\"}.fad.fa-air-freshener:after{content:\\\"\\\\10f5d0\\\"}.fad.fa-alarm-clock:after{content:\\\"\\\\10f34e\\\"}.fad.fa-alarm-exclamation:after{content:\\\"\\\\10f843\\\"}.fad.fa-alarm-plus:after{content:\\\"\\\\10f844\\\"}.fad.fa-alarm-snooze:after{content:\\\"\\\\10f845\\\"}.fad.fa-album:after{content:\\\"\\\\10f89f\\\"}.fad.fa-album-collection:after{content:\\\"\\\\10f8a0\\\"}.fad.fa-alicorn:after{content:\\\"\\\\10f6b0\\\"}.fad.fa-alien:after{content:\\\"\\\\10f8f5\\\"}.fad.fa-alien-monster:after{content:\\\"\\\\10f8f6\\\"}.fad.fa-align-center:after{content:\\\"\\\\10f037\\\"}.fad.fa-align-justify:after{content:\\\"\\\\10f039\\\"}.fad.fa-align-left:after{content:\\\"\\\\10f036\\\"}.fad.fa-align-right:after{content:\\\"\\\\10f038\\\"}.fad.fa-align-slash:after{content:\\\"\\\\10f846\\\"}.fad.fa-allergies:after{content:\\\"\\\\10f461\\\"}.fad.fa-ambulance:after{content:\\\"\\\\10f0f9\\\"}.fad.fa-american-sign-language-interpreting:after{content:\\\"\\\\10f2a3\\\"}.fad.fa-amp-guitar:after{content:\\\"\\\\10f8a1\\\"}.fad.fa-analytics:after{content:\\\"\\\\10f643\\\"}.fad.fa-anchor:after{content:\\\"\\\\10f13d\\\"}.fad.fa-angel:after{content:\\\"\\\\10f779\\\"}.fad.fa-angle-double-down:after{content:\\\"\\\\10f103\\\"}.fad.fa-angle-double-left:after{content:\\\"\\\\10f100\\\"}.fad.fa-angle-double-right:after{content:\\\"\\\\10f101\\\"}.fad.fa-angle-double-up:after{content:\\\"\\\\10f102\\\"}.fad.fa-angle-down:after{content:\\\"\\\\10f107\\\"}.fad.fa-angle-left:after{content:\\\"\\\\10f104\\\"}.fad.fa-angle-right:after{content:\\\"\\\\10f105\\\"}.fad.fa-angle-up:after{content:\\\"\\\\10f106\\\"}.fad.fa-angry:after{content:\\\"\\\\10f556\\\"}.fad.fa-ankh:after{content:\\\"\\\\10f644\\\"}.fad.fa-apple-alt:after{content:\\\"\\\\10f5d1\\\"}.fad.fa-apple-crate:after{content:\\\"\\\\10f6b1\\\"}.fad.fa-archive:after{content:\\\"\\\\10f187\\\"}.fad.fa-archway:after{content:\\\"\\\\10f557\\\"}.fad.fa-arrow-alt-circle-down:after{content:\\\"\\\\10f358\\\"}.fad.fa-arrow-alt-circle-left:after{content:\\\"\\\\10f359\\\"}.fad.fa-arrow-alt-circle-right:after{content:\\\"\\\\10f35a\\\"}.fad.fa-arrow-alt-circle-up:after{content:\\\"\\\\10f35b\\\"}.fad.fa-arrow-alt-down:after{content:\\\"\\\\10f354\\\"}.fad.fa-arrow-alt-from-bottom:after{content:\\\"\\\\10f346\\\"}.fad.fa-arrow-alt-from-left:after{content:\\\"\\\\10f347\\\"}.fad.fa-arrow-alt-from-right:after{content:\\\"\\\\10f348\\\"}.fad.fa-arrow-alt-from-top:after{content:\\\"\\\\10f349\\\"}.fad.fa-arrow-alt-left:after{content:\\\"\\\\10f355\\\"}.fad.fa-arrow-alt-right:after{content:\\\"\\\\10f356\\\"}.fad.fa-arrow-alt-square-down:after{content:\\\"\\\\10f350\\\"}.fad.fa-arrow-alt-square-left:after{content:\\\"\\\\10f351\\\"}.fad.fa-arrow-alt-square-right:after{content:\\\"\\\\10f352\\\"}.fad.fa-arrow-alt-square-up:after{content:\\\"\\\\10f353\\\"}.fad.fa-arrow-alt-to-bottom:after{content:\\\"\\\\10f34a\\\"}.fad.fa-arrow-alt-to-left:after{content:\\\"\\\\10f34b\\\"}.fad.fa-arrow-alt-to-right:after{content:\\\"\\\\10f34c\\\"}.fad.fa-arrow-alt-to-top:after{content:\\\"\\\\10f34d\\\"}.fad.fa-arrow-alt-up:after{content:\\\"\\\\10f357\\\"}.fad.fa-arrow-circle-down:after{content:\\\"\\\\10f0ab\\\"}.fad.fa-arrow-circle-left:after{content:\\\"\\\\10f0a8\\\"}.fad.fa-arrow-circle-right:after{content:\\\"\\\\10f0a9\\\"}.fad.fa-arrow-circle-up:after{content:\\\"\\\\10f0aa\\\"}.fad.fa-arrow-down:after{content:\\\"\\\\10f063\\\"}.fad.fa-arrow-from-bottom:after{content:\\\"\\\\10f342\\\"}.fad.fa-arrow-from-left:after{content:\\\"\\\\10f343\\\"}.fad.fa-arrow-from-right:after{content:\\\"\\\\10f344\\\"}.fad.fa-arrow-from-top:after{content:\\\"\\\\10f345\\\"}.fad.fa-arrow-left:after{content:\\\"\\\\10f060\\\"}.fad.fa-arrow-right:after{content:\\\"\\\\10f061\\\"}.fad.fa-arrow-square-down:after{content:\\\"\\\\10f339\\\"}.fad.fa-arrow-square-left:after{content:\\\"\\\\10f33a\\\"}.fad.fa-arrow-square-right:after{content:\\\"\\\\10f33b\\\"}.fad.fa-arrow-square-up:after{content:\\\"\\\\10f33c\\\"}.fad.fa-arrow-to-bottom:after{content:\\\"\\\\10f33d\\\"}.fad.fa-arrow-to-left:after{content:\\\"\\\\10f33e\\\"}.fad.fa-arrow-to-right:after{content:\\\"\\\\10f340\\\"}.fad.fa-arrow-to-top:after{content:\\\"\\\\10f341\\\"}.fad.fa-arrow-up:after{content:\\\"\\\\10f062\\\"}.fad.fa-arrows:after{content:\\\"\\\\10f047\\\"}.fad.fa-arrows-alt:after{content:\\\"\\\\10f0b2\\\"}.fad.fa-arrows-alt-h:after{content:\\\"\\\\10f337\\\"}.fad.fa-arrows-alt-v:after{content:\\\"\\\\10f338\\\"}.fad.fa-arrows-h:after{content:\\\"\\\\10f07e\\\"}.fad.fa-arrows-v:after{content:\\\"\\\\10f07d\\\"}.fad.fa-assistive-listening-systems:after{content:\\\"\\\\10f2a2\\\"}.fad.fa-asterisk:after{content:\\\"\\\\10f069\\\"}.fad.fa-at:after{content:\\\"\\\\10f1fa\\\"}.fad.fa-atlas:after{content:\\\"\\\\10f558\\\"}.fad.fa-atom:after{content:\\\"\\\\10f5d2\\\"}.fad.fa-atom-alt:after{content:\\\"\\\\10f5d3\\\"}.fad.fa-audio-description:after{content:\\\"\\\\10f29e\\\"}.fad.fa-award:after{content:\\\"\\\\10f559\\\"}.fad.fa-axe:after{content:\\\"\\\\10f6b2\\\"}.fad.fa-axe-battle:after{content:\\\"\\\\10f6b3\\\"}.fad.fa-baby:after{content:\\\"\\\\10f77c\\\"}.fad.fa-baby-carriage:after{content:\\\"\\\\10f77d\\\"}.fad.fa-backpack:after{content:\\\"\\\\10f5d4\\\"}.fad.fa-backspace:after{content:\\\"\\\\10f55a\\\"}.fad.fa-backward:after{content:\\\"\\\\10f04a\\\"}.fad.fa-bacon:after{content:\\\"\\\\10f7e5\\\"}.fad.fa-bacteria:after{content:\\\"\\\\10f959\\\"}.fad.fa-bacterium:after{content:\\\"\\\\10f95a\\\"}.fad.fa-badge:after{content:\\\"\\\\10f335\\\"}.fad.fa-badge-check:after{content:\\\"\\\\10f336\\\"}.fad.fa-badge-dollar:after{content:\\\"\\\\10f645\\\"}.fad.fa-badge-percent:after{content:\\\"\\\\10f646\\\"}.fad.fa-badge-sheriff:after{content:\\\"\\\\10f8a2\\\"}.fad.fa-badger-honey:after{content:\\\"\\\\10f6b4\\\"}.fad.fa-bags-shopping:after{content:\\\"\\\\10f847\\\"}.fad.fa-bahai:after{content:\\\"\\\\10f666\\\"}.fad.fa-balance-scale:after{content:\\\"\\\\10f24e\\\"}.fad.fa-balance-scale-left:after{content:\\\"\\\\10f515\\\"}.fad.fa-balance-scale-right:after{content:\\\"\\\\10f516\\\"}.fad.fa-ball-pile:after{content:\\\"\\\\10f77e\\\"}.fad.fa-ballot:after{content:\\\"\\\\10f732\\\"}.fad.fa-ballot-check:after{content:\\\"\\\\10f733\\\"}.fad.fa-ban:after{content:\\\"\\\\10f05e\\\"}.fad.fa-band-aid:after{content:\\\"\\\\10f462\\\"}.fad.fa-banjo:after{content:\\\"\\\\10f8a3\\\"}.fad.fa-barcode:after{content:\\\"\\\\10f02a\\\"}.fad.fa-barcode-alt:after{content:\\\"\\\\10f463\\\"}.fad.fa-barcode-read:after{content:\\\"\\\\10f464\\\"}.fad.fa-barcode-scan:after{content:\\\"\\\\10f465\\\"}.fad.fa-bars:after{content:\\\"\\\\10f0c9\\\"}.fad.fa-baseball:after{content:\\\"\\\\10f432\\\"}.fad.fa-baseball-ball:after{content:\\\"\\\\10f433\\\"}.fad.fa-basketball-ball:after{content:\\\"\\\\10f434\\\"}.fad.fa-basketball-hoop:after{content:\\\"\\\\10f435\\\"}.fad.fa-bat:after{content:\\\"\\\\10f6b5\\\"}.fad.fa-bath:after{content:\\\"\\\\10f2cd\\\"}.fad.fa-battery-bolt:after{content:\\\"\\\\10f376\\\"}.fad.fa-battery-empty:after{content:\\\"\\\\10f244\\\"}.fad.fa-battery-full:after{content:\\\"\\\\10f240\\\"}.fad.fa-battery-half:after{content:\\\"\\\\10f242\\\"}.fad.fa-battery-quarter:after{content:\\\"\\\\10f243\\\"}.fad.fa-battery-slash:after{content:\\\"\\\\10f377\\\"}.fad.fa-battery-three-quarters:after{content:\\\"\\\\10f241\\\"}.fad.fa-bed:after{content:\\\"\\\\10f236\\\"}.fad.fa-bed-alt:after{content:\\\"\\\\10f8f7\\\"}.fad.fa-bed-bunk:after{content:\\\"\\\\10f8f8\\\"}.fad.fa-bed-empty:after{content:\\\"\\\\10f8f9\\\"}.fad.fa-beer:after{content:\\\"\\\\10f0fc\\\"}.fad.fa-bell:after{content:\\\"\\\\10f0f3\\\"}.fad.fa-bell-exclamation:after{content:\\\"\\\\10f848\\\"}.fad.fa-bell-on:after{content:\\\"\\\\10f8fa\\\"}.fad.fa-bell-plus:after{content:\\\"\\\\10f849\\\"}.fad.fa-bell-school:after{content:\\\"\\\\10f5d5\\\"}.fad.fa-bell-school-slash:after{content:\\\"\\\\10f5d6\\\"}.fad.fa-bell-slash:after{content:\\\"\\\\10f1f6\\\"}.fad.fa-bells:after{content:\\\"\\\\10f77f\\\"}.fad.fa-betamax:after{content:\\\"\\\\10f8a4\\\"}.fad.fa-bezier-curve:after{content:\\\"\\\\10f55b\\\"}.fad.fa-bible:after{content:\\\"\\\\10f647\\\"}.fad.fa-bicycle:after{content:\\\"\\\\10f206\\\"}.fad.fa-biking:after{content:\\\"\\\\10f84a\\\"}.fad.fa-biking-mountain:after{content:\\\"\\\\10f84b\\\"}.fad.fa-binoculars:after{content:\\\"\\\\10f1e5\\\"}.fad.fa-biohazard:after{content:\\\"\\\\10f780\\\"}.fad.fa-birthday-cake:after{content:\\\"\\\\10f1fd\\\"}.fad.fa-blanket:after{content:\\\"\\\\10f498\\\"}.fad.fa-blender:after{content:\\\"\\\\10f517\\\"}.fad.fa-blender-phone:after{content:\\\"\\\\10f6b6\\\"}.fad.fa-blind:after{content:\\\"\\\\10f29d\\\"}.fad.fa-blinds:after{content:\\\"\\\\10f8fb\\\"}.fad.fa-blinds-open:after{content:\\\"\\\\10f8fc\\\"}.fad.fa-blinds-raised:after{content:\\\"\\\\10f8fd\\\"}.fad.fa-blog:after{content:\\\"\\\\10f781\\\"}.fad.fa-bold:after{content:\\\"\\\\10f032\\\"}.fad.fa-bolt:after{content:\\\"\\\\10f0e7\\\"}.fad.fa-bomb:after{content:\\\"\\\\10f1e2\\\"}.fad.fa-bone:after{content:\\\"\\\\10f5d7\\\"}.fad.fa-bone-break:after{content:\\\"\\\\10f5d8\\\"}.fad.fa-bong:after{content:\\\"\\\\10f55c\\\"}.fad.fa-book:after{content:\\\"\\\\10f02d\\\"}.fad.fa-book-alt:after{content:\\\"\\\\10f5d9\\\"}.fad.fa-book-dead:after{content:\\\"\\\\10f6b7\\\"}.fad.fa-book-heart:after{content:\\\"\\\\10f499\\\"}.fad.fa-book-medical:after{content:\\\"\\\\10f7e6\\\"}.fad.fa-book-open:after{content:\\\"\\\\10f518\\\"}.fad.fa-book-reader:after{content:\\\"\\\\10f5da\\\"}.fad.fa-book-spells:after{content:\\\"\\\\10f6b8\\\"}.fad.fa-book-user:after{content:\\\"\\\\10f7e7\\\"}.fad.fa-bookmark:after{content:\\\"\\\\10f02e\\\"}.fad.fa-books:after{content:\\\"\\\\10f5db\\\"}.fad.fa-books-medical:after{content:\\\"\\\\10f7e8\\\"}.fad.fa-boombox:after{content:\\\"\\\\10f8a5\\\"}.fad.fa-boot:after{content:\\\"\\\\10f782\\\"}.fad.fa-booth-curtain:after{content:\\\"\\\\10f734\\\"}.fad.fa-border-all:after{content:\\\"\\\\10f84c\\\"}.fad.fa-border-bottom:after{content:\\\"\\\\10f84d\\\"}.fad.fa-border-center-h:after{content:\\\"\\\\10f89c\\\"}.fad.fa-border-center-v:after{content:\\\"\\\\10f89d\\\"}.fad.fa-border-inner:after{content:\\\"\\\\10f84e\\\"}.fad.fa-border-left:after{content:\\\"\\\\10f84f\\\"}.fad.fa-border-none:after{content:\\\"\\\\10f850\\\"}.fad.fa-border-outer:after{content:\\\"\\\\10f851\\\"}.fad.fa-border-right:after{content:\\\"\\\\10f852\\\"}.fad.fa-border-style:after{content:\\\"\\\\10f853\\\"}.fad.fa-border-style-alt:after{content:\\\"\\\\10f854\\\"}.fad.fa-border-top:after{content:\\\"\\\\10f855\\\"}.fad.fa-bow-arrow:after{content:\\\"\\\\10f6b9\\\"}.fad.fa-bowling-ball:after{content:\\\"\\\\10f436\\\"}.fad.fa-bowling-pins:after{content:\\\"\\\\10f437\\\"}.fad.fa-box:after{content:\\\"\\\\10f466\\\"}.fad.fa-box-alt:after{content:\\\"\\\\10f49a\\\"}.fad.fa-box-ballot:after{content:\\\"\\\\10f735\\\"}.fad.fa-box-check:after{content:\\\"\\\\10f467\\\"}.fad.fa-box-fragile:after{content:\\\"\\\\10f49b\\\"}.fad.fa-box-full:after{content:\\\"\\\\10f49c\\\"}.fad.fa-box-heart:after{content:\\\"\\\\10f49d\\\"}.fad.fa-box-open:after{content:\\\"\\\\10f49e\\\"}.fad.fa-box-tissue:after{content:\\\"\\\\10f95b\\\"}.fad.fa-box-up:after{content:\\\"\\\\10f49f\\\"}.fad.fa-box-usd:after{content:\\\"\\\\10f4a0\\\"}.fad.fa-boxes:after{content:\\\"\\\\10f468\\\"}.fad.fa-boxes-alt:after{content:\\\"\\\\10f4a1\\\"}.fad.fa-boxing-glove:after{content:\\\"\\\\10f438\\\"}.fad.fa-brackets:after{content:\\\"\\\\10f7e9\\\"}.fad.fa-brackets-curly:after{content:\\\"\\\\10f7ea\\\"}.fad.fa-braille:after{content:\\\"\\\\10f2a1\\\"}.fad.fa-brain:after{content:\\\"\\\\10f5dc\\\"}.fad.fa-bread-loaf:after{content:\\\"\\\\10f7eb\\\"}.fad.fa-bread-slice:after{content:\\\"\\\\10f7ec\\\"}.fad.fa-briefcase:after{content:\\\"\\\\10f0b1\\\"}.fad.fa-briefcase-medical:after{content:\\\"\\\\10f469\\\"}.fad.fa-bring-forward:after{content:\\\"\\\\10f856\\\"}.fad.fa-bring-front:after{content:\\\"\\\\10f857\\\"}.fad.fa-broadcast-tower:after{content:\\\"\\\\10f519\\\"}.fad.fa-broom:after{content:\\\"\\\\10f51a\\\"}.fad.fa-browser:after{content:\\\"\\\\10f37e\\\"}.fad.fa-brush:after{content:\\\"\\\\10f55d\\\"}.fad.fa-bug:after{content:\\\"\\\\10f188\\\"}.fad.fa-building:after{content:\\\"\\\\10f1ad\\\"}.fad.fa-bullhorn:after{content:\\\"\\\\10f0a1\\\"}.fad.fa-bullseye:after{content:\\\"\\\\10f140\\\"}.fad.fa-bullseye-arrow:after{content:\\\"\\\\10f648\\\"}.fad.fa-bullseye-pointer:after{content:\\\"\\\\10f649\\\"}.fad.fa-burger-soda:after{content:\\\"\\\\10f858\\\"}.fad.fa-burn:after{content:\\\"\\\\10f46a\\\"}.fad.fa-burrito:after{content:\\\"\\\\10f7ed\\\"}.fad.fa-bus:after{content:\\\"\\\\10f207\\\"}.fad.fa-bus-alt:after{content:\\\"\\\\10f55e\\\"}.fad.fa-bus-school:after{content:\\\"\\\\10f5dd\\\"}.fad.fa-business-time:after{content:\\\"\\\\10f64a\\\"}.fad.fa-cabinet-filing:after{content:\\\"\\\\10f64b\\\"}.fad.fa-cactus:after{content:\\\"\\\\10f8a7\\\"}.fad.fa-calculator:after{content:\\\"\\\\10f1ec\\\"}.fad.fa-calculator-alt:after{content:\\\"\\\\10f64c\\\"}.fad.fa-calendar:after{content:\\\"\\\\10f133\\\"}.fad.fa-calendar-alt:after{content:\\\"\\\\10f073\\\"}.fad.fa-calendar-check:after{content:\\\"\\\\10f274\\\"}.fad.fa-calendar-day:after{content:\\\"\\\\10f783\\\"}.fad.fa-calendar-edit:after{content:\\\"\\\\10f333\\\"}.fad.fa-calendar-exclamation:after{content:\\\"\\\\10f334\\\"}.fad.fa-calendar-minus:after{content:\\\"\\\\10f272\\\"}.fad.fa-calendar-plus:after{content:\\\"\\\\10f271\\\"}.fad.fa-calendar-star:after{content:\\\"\\\\10f736\\\"}.fad.fa-calendar-times:after{content:\\\"\\\\10f273\\\"}.fad.fa-calendar-week:after{content:\\\"\\\\10f784\\\"}.fad.fa-camcorder:after{content:\\\"\\\\10f8a8\\\"}.fad.fa-camera:after{content:\\\"\\\\10f030\\\"}.fad.fa-camera-alt:after{content:\\\"\\\\10f332\\\"}.fad.fa-camera-home:after{content:\\\"\\\\10f8fe\\\"}.fad.fa-camera-movie:after{content:\\\"\\\\10f8a9\\\"}.fad.fa-camera-polaroid:after{content:\\\"\\\\10f8aa\\\"}.fad.fa-camera-retro:after{content:\\\"\\\\10f083\\\"}.fad.fa-campfire:after{content:\\\"\\\\10f6ba\\\"}.fad.fa-campground:after{content:\\\"\\\\10f6bb\\\"}.fad.fa-candle-holder:after{content:\\\"\\\\10f6bc\\\"}.fad.fa-candy-cane:after{content:\\\"\\\\10f786\\\"}.fad.fa-candy-corn:after{content:\\\"\\\\10f6bd\\\"}.fad.fa-cannabis:after{content:\\\"\\\\10f55f\\\"}.fad.fa-capsules:after{content:\\\"\\\\10f46b\\\"}.fad.fa-car:after{content:\\\"\\\\10f1b9\\\"}.fad.fa-car-alt:after{content:\\\"\\\\10f5de\\\"}.fad.fa-car-battery:after{content:\\\"\\\\10f5df\\\"}.fad.fa-car-building:after{content:\\\"\\\\10f859\\\"}.fad.fa-car-bump:after{content:\\\"\\\\10f5e0\\\"}.fad.fa-car-bus:after{content:\\\"\\\\10f85a\\\"}.fad.fa-car-crash:after{content:\\\"\\\\10f5e1\\\"}.fad.fa-car-garage:after{content:\\\"\\\\10f5e2\\\"}.fad.fa-car-mechanic:after{content:\\\"\\\\10f5e3\\\"}.fad.fa-car-side:after{content:\\\"\\\\10f5e4\\\"}.fad.fa-car-tilt:after{content:\\\"\\\\10f5e5\\\"}.fad.fa-car-wash:after{content:\\\"\\\\10f5e6\\\"}.fad.fa-caravan:after{content:\\\"\\\\10f8ff\\\"}.fad.fa-caravan-alt:after{content:\\\"\\\\10f900\\\"}.fad.fa-caret-circle-down:after{content:\\\"\\\\10f32d\\\"}.fad.fa-caret-circle-left:after{content:\\\"\\\\10f32e\\\"}.fad.fa-caret-circle-right:after{content:\\\"\\\\10f330\\\"}.fad.fa-caret-circle-up:after{content:\\\"\\\\10f331\\\"}.fad.fa-caret-down:after{content:\\\"\\\\10f0d7\\\"}.fad.fa-caret-left:after{content:\\\"\\\\10f0d9\\\"}.fad.fa-caret-right:after{content:\\\"\\\\10f0da\\\"}.fad.fa-caret-square-down:after{content:\\\"\\\\10f150\\\"}.fad.fa-caret-square-left:after{content:\\\"\\\\10f191\\\"}.fad.fa-caret-square-right:after{content:\\\"\\\\10f152\\\"}.fad.fa-caret-square-up:after{content:\\\"\\\\10f151\\\"}.fad.fa-caret-up:after{content:\\\"\\\\10f0d8\\\"}.fad.fa-carrot:after{content:\\\"\\\\10f787\\\"}.fad.fa-cars:after{content:\\\"\\\\10f85b\\\"}.fad.fa-cart-arrow-down:after{content:\\\"\\\\10f218\\\"}.fad.fa-cart-plus:after{content:\\\"\\\\10f217\\\"}.fad.fa-cash-register:after{content:\\\"\\\\10f788\\\"}.fad.fa-cassette-tape:after{content:\\\"\\\\10f8ab\\\"}.fad.fa-cat:after{content:\\\"\\\\10f6be\\\"}.fad.fa-cat-space:after{content:\\\"\\\\10f901\\\"}.fad.fa-cauldron:after{content:\\\"\\\\10f6bf\\\"}.fad.fa-cctv:after{content:\\\"\\\\10f8ac\\\"}.fad.fa-certificate:after{content:\\\"\\\\10f0a3\\\"}.fad.fa-chair:after{content:\\\"\\\\10f6c0\\\"}.fad.fa-chair-office:after{content:\\\"\\\\10f6c1\\\"}.fad.fa-chalkboard:after{content:\\\"\\\\10f51b\\\"}.fad.fa-chalkboard-teacher:after{content:\\\"\\\\10f51c\\\"}.fad.fa-charging-station:after{content:\\\"\\\\10f5e7\\\"}.fad.fa-chart-area:after{content:\\\"\\\\10f1fe\\\"}.fad.fa-chart-bar:after{content:\\\"\\\\10f080\\\"}.fad.fa-chart-line:after{content:\\\"\\\\10f201\\\"}.fad.fa-chart-line-down:after{content:\\\"\\\\10f64d\\\"}.fad.fa-chart-network:after{content:\\\"\\\\10f78a\\\"}.fad.fa-chart-pie:after{content:\\\"\\\\10f200\\\"}.fad.fa-chart-pie-alt:after{content:\\\"\\\\10f64e\\\"}.fad.fa-chart-scatter:after{content:\\\"\\\\10f7ee\\\"}.fad.fa-check:after{content:\\\"\\\\10f00c\\\"}.fad.fa-check-circle:after{content:\\\"\\\\10f058\\\"}.fad.fa-check-double:after{content:\\\"\\\\10f560\\\"}.fad.fa-check-square:after{content:\\\"\\\\10f14a\\\"}.fad.fa-cheese:after{content:\\\"\\\\10f7ef\\\"}.fad.fa-cheese-swiss:after{content:\\\"\\\\10f7f0\\\"}.fad.fa-cheeseburger:after{content:\\\"\\\\10f7f1\\\"}.fad.fa-chess:after{content:\\\"\\\\10f439\\\"}.fad.fa-chess-bishop:after{content:\\\"\\\\10f43a\\\"}.fad.fa-chess-bishop-alt:after{content:\\\"\\\\10f43b\\\"}.fad.fa-chess-board:after{content:\\\"\\\\10f43c\\\"}.fad.fa-chess-clock:after{content:\\\"\\\\10f43d\\\"}.fad.fa-chess-clock-alt:after{content:\\\"\\\\10f43e\\\"}.fad.fa-chess-king:after{content:\\\"\\\\10f43f\\\"}.fad.fa-chess-king-alt:after{content:\\\"\\\\10f440\\\"}.fad.fa-chess-knight:after{content:\\\"\\\\10f441\\\"}.fad.fa-chess-knight-alt:after{content:\\\"\\\\10f442\\\"}.fad.fa-chess-pawn:after{content:\\\"\\\\10f443\\\"}.fad.fa-chess-pawn-alt:after{content:\\\"\\\\10f444\\\"}.fad.fa-chess-queen:after{content:\\\"\\\\10f445\\\"}.fad.fa-chess-queen-alt:after{content:\\\"\\\\10f446\\\"}.fad.fa-chess-rook:after{content:\\\"\\\\10f447\\\"}.fad.fa-chess-rook-alt:after{content:\\\"\\\\10f448\\\"}.fad.fa-chevron-circle-down:after{content:\\\"\\\\10f13a\\\"}.fad.fa-chevron-circle-left:after{content:\\\"\\\\10f137\\\"}.fad.fa-chevron-circle-right:after{content:\\\"\\\\10f138\\\"}.fad.fa-chevron-circle-up:after{content:\\\"\\\\10f139\\\"}.fad.fa-chevron-double-down:after{content:\\\"\\\\10f322\\\"}.fad.fa-chevron-double-left:after{content:\\\"\\\\10f323\\\"}.fad.fa-chevron-double-right:after{content:\\\"\\\\10f324\\\"}.fad.fa-chevron-double-up:after{content:\\\"\\\\10f325\\\"}.fad.fa-chevron-down:after{content:\\\"\\\\10f078\\\"}.fad.fa-chevron-left:after{content:\\\"\\\\10f053\\\"}.fad.fa-chevron-right:after{content:\\\"\\\\10f054\\\"}.fad.fa-chevron-square-down:after{content:\\\"\\\\10f329\\\"}.fad.fa-chevron-square-left:after{content:\\\"\\\\10f32a\\\"}.fad.fa-chevron-square-right:after{content:\\\"\\\\10f32b\\\"}.fad.fa-chevron-square-up:after{content:\\\"\\\\10f32c\\\"}.fad.fa-chevron-up:after{content:\\\"\\\\10f077\\\"}.fad.fa-child:after{content:\\\"\\\\10f1ae\\\"}.fad.fa-chimney:after{content:\\\"\\\\10f78b\\\"}.fad.fa-church:after{content:\\\"\\\\10f51d\\\"}.fad.fa-circle:after{content:\\\"\\\\10f111\\\"}.fad.fa-circle-notch:after{content:\\\"\\\\10f1ce\\\"}.fad.fa-city:after{content:\\\"\\\\10f64f\\\"}.fad.fa-clarinet:after{content:\\\"\\\\10f8ad\\\"}.fad.fa-claw-marks:after{content:\\\"\\\\10f6c2\\\"}.fad.fa-clinic-medical:after{content:\\\"\\\\10f7f2\\\"}.fad.fa-clipboard:after{content:\\\"\\\\10f328\\\"}.fad.fa-clipboard-check:after{content:\\\"\\\\10f46c\\\"}.fad.fa-clipboard-list:after{content:\\\"\\\\10f46d\\\"}.fad.fa-clipboard-list-check:after{content:\\\"\\\\10f737\\\"}.fad.fa-clipboard-prescription:after{content:\\\"\\\\10f5e8\\\"}.fad.fa-clipboard-user:after{content:\\\"\\\\10f7f3\\\"}.fad.fa-clock:after{content:\\\"\\\\10f017\\\"}.fad.fa-clone:after{content:\\\"\\\\10f24d\\\"}.fad.fa-closed-captioning:after{content:\\\"\\\\10f20a\\\"}.fad.fa-cloud:after{content:\\\"\\\\10f0c2\\\"}.fad.fa-cloud-download:after{content:\\\"\\\\10f0ed\\\"}.fad.fa-cloud-download-alt:after{content:\\\"\\\\10f381\\\"}.fad.fa-cloud-drizzle:after{content:\\\"\\\\10f738\\\"}.fad.fa-cloud-hail:after{content:\\\"\\\\10f739\\\"}.fad.fa-cloud-hail-mixed:after{content:\\\"\\\\10f73a\\\"}.fad.fa-cloud-meatball:after{content:\\\"\\\\10f73b\\\"}.fad.fa-cloud-moon:after{content:\\\"\\\\10f6c3\\\"}.fad.fa-cloud-moon-rain:after{content:\\\"\\\\10f73c\\\"}.fad.fa-cloud-music:after{content:\\\"\\\\10f8ae\\\"}.fad.fa-cloud-rain:after{content:\\\"\\\\10f73d\\\"}.fad.fa-cloud-rainbow:after{content:\\\"\\\\10f73e\\\"}.fad.fa-cloud-showers:after{content:\\\"\\\\10f73f\\\"}.fad.fa-cloud-showers-heavy:after{content:\\\"\\\\10f740\\\"}.fad.fa-cloud-sleet:after{content:\\\"\\\\10f741\\\"}.fad.fa-cloud-snow:after{content:\\\"\\\\10f742\\\"}.fad.fa-cloud-sun:after{content:\\\"\\\\10f6c4\\\"}.fad.fa-cloud-sun-rain:after{content:\\\"\\\\10f743\\\"}.fad.fa-cloud-upload:after{content:\\\"\\\\10f0ee\\\"}.fad.fa-cloud-upload-alt:after{content:\\\"\\\\10f382\\\"}.fad.fa-clouds:after{content:\\\"\\\\10f744\\\"}.fad.fa-clouds-moon:after{content:\\\"\\\\10f745\\\"}.fad.fa-clouds-sun:after{content:\\\"\\\\10f746\\\"}.fad.fa-club:after{content:\\\"\\\\10f327\\\"}.fad.fa-cocktail:after{content:\\\"\\\\10f561\\\"}.fad.fa-code:after{content:\\\"\\\\10f121\\\"}.fad.fa-code-branch:after{content:\\\"\\\\10f126\\\"}.fad.fa-code-commit:after{content:\\\"\\\\10f386\\\"}.fad.fa-code-merge:after{content:\\\"\\\\10f387\\\"}.fad.fa-coffee:after{content:\\\"\\\\10f0f4\\\"}.fad.fa-coffee-pot:after{content:\\\"\\\\10f902\\\"}.fad.fa-coffee-togo:after{content:\\\"\\\\10f6c5\\\"}.fad.fa-coffin:after{content:\\\"\\\\10f6c6\\\"}.fad.fa-coffin-cross:after{content:\\\"\\\\10f951\\\"}.fad.fa-cog:after{content:\\\"\\\\10f013\\\"}.fad.fa-cogs:after{content:\\\"\\\\10f085\\\"}.fad.fa-coin:after{content:\\\"\\\\10f85c\\\"}.fad.fa-coins:after{content:\\\"\\\\10f51e\\\"}.fad.fa-columns:after{content:\\\"\\\\10f0db\\\"}.fad.fa-comet:after{content:\\\"\\\\10f903\\\"}.fad.fa-comment:after{content:\\\"\\\\10f075\\\"}.fad.fa-comment-alt:after{content:\\\"\\\\10f27a\\\"}.fad.fa-comment-alt-check:after{content:\\\"\\\\10f4a2\\\"}.fad.fa-comment-alt-dollar:after{content:\\\"\\\\10f650\\\"}.fad.fa-comment-alt-dots:after{content:\\\"\\\\10f4a3\\\"}.fad.fa-comment-alt-edit:after{content:\\\"\\\\10f4a4\\\"}.fad.fa-comment-alt-exclamation:after{content:\\\"\\\\10f4a5\\\"}.fad.fa-comment-alt-lines:after{content:\\\"\\\\10f4a6\\\"}.fad.fa-comment-alt-medical:after{content:\\\"\\\\10f7f4\\\"}.fad.fa-comment-alt-minus:after{content:\\\"\\\\10f4a7\\\"}.fad.fa-comment-alt-music:after{content:\\\"\\\\10f8af\\\"}.fad.fa-comment-alt-plus:after{content:\\\"\\\\10f4a8\\\"}.fad.fa-comment-alt-slash:after{content:\\\"\\\\10f4a9\\\"}.fad.fa-comment-alt-smile:after{content:\\\"\\\\10f4aa\\\"}.fad.fa-comment-alt-times:after{content:\\\"\\\\10f4ab\\\"}.fad.fa-comment-check:after{content:\\\"\\\\10f4ac\\\"}.fad.fa-comment-dollar:after{content:\\\"\\\\10f651\\\"}.fad.fa-comment-dots:after{content:\\\"\\\\10f4ad\\\"}.fad.fa-comment-edit:after{content:\\\"\\\\10f4ae\\\"}.fad.fa-comment-exclamation:after{content:\\\"\\\\10f4af\\\"}.fad.fa-comment-lines:after{content:\\\"\\\\10f4b0\\\"}.fad.fa-comment-medical:after{content:\\\"\\\\10f7f5\\\"}.fad.fa-comment-minus:after{content:\\\"\\\\10f4b1\\\"}.fad.fa-comment-music:after{content:\\\"\\\\10f8b0\\\"}.fad.fa-comment-plus:after{content:\\\"\\\\10f4b2\\\"}.fad.fa-comment-slash:after{content:\\\"\\\\10f4b3\\\"}.fad.fa-comment-smile:after{content:\\\"\\\\10f4b4\\\"}.fad.fa-comment-times:after{content:\\\"\\\\10f4b5\\\"}.fad.fa-comments:after{content:\\\"\\\\10f086\\\"}.fad.fa-comments-alt:after{content:\\\"\\\\10f4b6\\\"}.fad.fa-comments-alt-dollar:after{content:\\\"\\\\10f652\\\"}.fad.fa-comments-dollar:after{content:\\\"\\\\10f653\\\"}.fad.fa-compact-disc:after{content:\\\"\\\\10f51f\\\"}.fad.fa-compass:after{content:\\\"\\\\10f14e\\\"}.fad.fa-compass-slash:after{content:\\\"\\\\10f5e9\\\"}.fad.fa-compress:after{content:\\\"\\\\10f066\\\"}.fad.fa-compress-alt:after{content:\\\"\\\\10f422\\\"}.fad.fa-compress-arrows-alt:after{content:\\\"\\\\10f78c\\\"}.fad.fa-compress-wide:after{content:\\\"\\\\10f326\\\"}.fad.fa-computer-classic:after{content:\\\"\\\\10f8b1\\\"}.fad.fa-computer-speaker:after{content:\\\"\\\\10f8b2\\\"}.fad.fa-concierge-bell:after{content:\\\"\\\\10f562\\\"}.fad.fa-construction:after{content:\\\"\\\\10f85d\\\"}.fad.fa-container-storage:after{content:\\\"\\\\10f4b7\\\"}.fad.fa-conveyor-belt:after{content:\\\"\\\\10f46e\\\"}.fad.fa-conveyor-belt-alt:after{content:\\\"\\\\10f46f\\\"}.fad.fa-cookie:after{content:\\\"\\\\10f563\\\"}.fad.fa-cookie-bite:after{content:\\\"\\\\10f564\\\"}.fad.fa-copy:after{content:\\\"\\\\10f0c5\\\"}.fad.fa-copyright:after{content:\\\"\\\\10f1f9\\\"}.fad.fa-corn:after{content:\\\"\\\\10f6c7\\\"}.fad.fa-couch:after{content:\\\"\\\\10f4b8\\\"}.fad.fa-cow:after{content:\\\"\\\\10f6c8\\\"}.fad.fa-cowbell:after{content:\\\"\\\\10f8b3\\\"}.fad.fa-cowbell-more:after{content:\\\"\\\\10f8b4\\\"}.fad.fa-credit-card:after{content:\\\"\\\\10f09d\\\"}.fad.fa-credit-card-blank:after{content:\\\"\\\\10f389\\\"}.fad.fa-credit-card-front:after{content:\\\"\\\\10f38a\\\"}.fad.fa-cricket:after{content:\\\"\\\\10f449\\\"}.fad.fa-croissant:after{content:\\\"\\\\10f7f6\\\"}.fad.fa-crop:after{content:\\\"\\\\10f125\\\"}.fad.fa-crop-alt:after{content:\\\"\\\\10f565\\\"}.fad.fa-cross:after{content:\\\"\\\\10f654\\\"}.fad.fa-crosshairs:after{content:\\\"\\\\10f05b\\\"}.fad.fa-crow:after{content:\\\"\\\\10f520\\\"}.fad.fa-crown:after{content:\\\"\\\\10f521\\\"}.fad.fa-crutch:after{content:\\\"\\\\10f7f7\\\"}.fad.fa-crutches:after{content:\\\"\\\\10f7f8\\\"}.fad.fa-cube:after{content:\\\"\\\\10f1b2\\\"}.fad.fa-cubes:after{content:\\\"\\\\10f1b3\\\"}.fad.fa-curling:after{content:\\\"\\\\10f44a\\\"}.fad.fa-cut:after{content:\\\"\\\\10f0c4\\\"}.fad.fa-dagger:after{content:\\\"\\\\10f6cb\\\"}.fad.fa-database:after{content:\\\"\\\\10f1c0\\\"}.fad.fa-deaf:after{content:\\\"\\\\10f2a4\\\"}.fad.fa-debug:after{content:\\\"\\\\10f7f9\\\"}.fad.fa-deer:after{content:\\\"\\\\10f78e\\\"}.fad.fa-deer-rudolph:after{content:\\\"\\\\10f78f\\\"}.fad.fa-democrat:after{content:\\\"\\\\10f747\\\"}.fad.fa-desktop:after{content:\\\"\\\\10f108\\\"}.fad.fa-desktop-alt:after{content:\\\"\\\\10f390\\\"}.fad.fa-dewpoint:after{content:\\\"\\\\10f748\\\"}.fad.fa-dharmachakra:after{content:\\\"\\\\10f655\\\"}.fad.fa-diagnoses:after{content:\\\"\\\\10f470\\\"}.fad.fa-diamond:after{content:\\\"\\\\10f219\\\"}.fad.fa-dice:after{content:\\\"\\\\10f522\\\"}.fad.fa-dice-d10:after{content:\\\"\\\\10f6cd\\\"}.fad.fa-dice-d12:after{content:\\\"\\\\10f6ce\\\"}.fad.fa-dice-d20:after{content:\\\"\\\\10f6cf\\\"}.fad.fa-dice-d4:after{content:\\\"\\\\10f6d0\\\"}.fad.fa-dice-d6:after{content:\\\"\\\\10f6d1\\\"}.fad.fa-dice-d8:after{content:\\\"\\\\10f6d2\\\"}.fad.fa-dice-five:after{content:\\\"\\\\10f523\\\"}.fad.fa-dice-four:after{content:\\\"\\\\10f524\\\"}.fad.fa-dice-one:after{content:\\\"\\\\10f525\\\"}.fad.fa-dice-six:after{content:\\\"\\\\10f526\\\"}.fad.fa-dice-three:after{content:\\\"\\\\10f527\\\"}.fad.fa-dice-two:after{content:\\\"\\\\10f528\\\"}.fad.fa-digging:after{content:\\\"\\\\10f85e\\\"}.fad.fa-digital-tachograph:after{content:\\\"\\\\10f566\\\"}.fad.fa-diploma:after{content:\\\"\\\\10f5ea\\\"}.fad.fa-directions:after{content:\\\"\\\\10f5eb\\\"}.fad.fa-disc-drive:after{content:\\\"\\\\10f8b5\\\"}.fad.fa-disease:after{content:\\\"\\\\10f7fa\\\"}.fad.fa-divide:after{content:\\\"\\\\10f529\\\"}.fad.fa-dizzy:after{content:\\\"\\\\10f567\\\"}.fad.fa-dna:after{content:\\\"\\\\10f471\\\"}.fad.fa-do-not-enter:after{content:\\\"\\\\10f5ec\\\"}.fad.fa-dog:after{content:\\\"\\\\10f6d3\\\"}.fad.fa-dog-leashed:after{content:\\\"\\\\10f6d4\\\"}.fad.fa-dollar-sign:after{content:\\\"\\\\10f155\\\"}.fad.fa-dolly:after{content:\\\"\\\\10f472\\\"}.fad.fa-dolly-empty:after{content:\\\"\\\\10f473\\\"}.fad.fa-dolly-flatbed:after{content:\\\"\\\\10f474\\\"}.fad.fa-dolly-flatbed-alt:after{content:\\\"\\\\10f475\\\"}.fad.fa-dolly-flatbed-empty:after{content:\\\"\\\\10f476\\\"}.fad.fa-donate:after{content:\\\"\\\\10f4b9\\\"}.fad.fa-door-closed:after{content:\\\"\\\\10f52a\\\"}.fad.fa-door-open:after{content:\\\"\\\\10f52b\\\"}.fad.fa-dot-circle:after{content:\\\"\\\\10f192\\\"}.fad.fa-dove:after{content:\\\"\\\\10f4ba\\\"}.fad.fa-download:after{content:\\\"\\\\10f019\\\"}.fad.fa-drafting-compass:after{content:\\\"\\\\10f568\\\"}.fad.fa-dragon:after{content:\\\"\\\\10f6d5\\\"}.fad.fa-draw-circle:after{content:\\\"\\\\10f5ed\\\"}.fad.fa-draw-polygon:after{content:\\\"\\\\10f5ee\\\"}.fad.fa-draw-square:after{content:\\\"\\\\10f5ef\\\"}.fad.fa-dreidel:after{content:\\\"\\\\10f792\\\"}.fad.fa-drone:after{content:\\\"\\\\10f85f\\\"}.fad.fa-drone-alt:after{content:\\\"\\\\10f860\\\"}.fad.fa-drum:after{content:\\\"\\\\10f569\\\"}.fad.fa-drum-steelpan:after{content:\\\"\\\\10f56a\\\"}.fad.fa-drumstick:after{content:\\\"\\\\10f6d6\\\"}.fad.fa-drumstick-bite:after{content:\\\"\\\\10f6d7\\\"}.fad.fa-dryer:after{content:\\\"\\\\10f861\\\"}.fad.fa-dryer-alt:after{content:\\\"\\\\10f862\\\"}.fad.fa-duck:after{content:\\\"\\\\10f6d8\\\"}.fad.fa-dumbbell:after{content:\\\"\\\\10f44b\\\"}.fad.fa-dumpster:after{content:\\\"\\\\10f793\\\"}.fad.fa-dumpster-fire:after{content:\\\"\\\\10f794\\\"}.fad.fa-dungeon:after{content:\\\"\\\\10f6d9\\\"}.fad.fa-ear:after{content:\\\"\\\\10f5f0\\\"}.fad.fa-ear-muffs:after{content:\\\"\\\\10f795\\\"}.fad.fa-eclipse:after{content:\\\"\\\\10f749\\\"}.fad.fa-eclipse-alt:after{content:\\\"\\\\10f74a\\\"}.fad.fa-edit:after{content:\\\"\\\\10f044\\\"}.fad.fa-egg:after{content:\\\"\\\\10f7fb\\\"}.fad.fa-egg-fried:after{content:\\\"\\\\10f7fc\\\"}.fad.fa-eject:after{content:\\\"\\\\10f052\\\"}.fad.fa-elephant:after{content:\\\"\\\\10f6da\\\"}.fad.fa-ellipsis-h:after{content:\\\"\\\\10f141\\\"}.fad.fa-ellipsis-h-alt:after{content:\\\"\\\\10f39b\\\"}.fad.fa-ellipsis-v:after{content:\\\"\\\\10f142\\\"}.fad.fa-ellipsis-v-alt:after{content:\\\"\\\\10f39c\\\"}.fad.fa-empty-set:after{content:\\\"\\\\10f656\\\"}.fad.fa-engine-warning:after{content:\\\"\\\\10f5f2\\\"}.fad.fa-envelope:after{content:\\\"\\\\10f0e0\\\"}.fad.fa-envelope-open:after{content:\\\"\\\\10f2b6\\\"}.fad.fa-envelope-open-dollar:after{content:\\\"\\\\10f657\\\"}.fad.fa-envelope-open-text:after{content:\\\"\\\\10f658\\\"}.fad.fa-envelope-square:after{content:\\\"\\\\10f199\\\"}.fad.fa-equals:after{content:\\\"\\\\10f52c\\\"}.fad.fa-eraser:after{content:\\\"\\\\10f12d\\\"}.fad.fa-ethernet:after{content:\\\"\\\\10f796\\\"}.fad.fa-euro-sign:after{content:\\\"\\\\10f153\\\"}.fad.fa-exchange:after{content:\\\"\\\\10f0ec\\\"}.fad.fa-exchange-alt:after{content:\\\"\\\\10f362\\\"}.fad.fa-exclamation:after{content:\\\"\\\\10f12a\\\"}.fad.fa-exclamation-circle:after{content:\\\"\\\\10f06a\\\"}.fad.fa-exclamation-square:after{content:\\\"\\\\10f321\\\"}.fad.fa-exclamation-triangle:after{content:\\\"\\\\10f071\\\"}.fad.fa-expand:after{content:\\\"\\\\10f065\\\"}.fad.fa-expand-alt:after{content:\\\"\\\\10f424\\\"}.fad.fa-expand-arrows:after{content:\\\"\\\\10f31d\\\"}.fad.fa-expand-arrows-alt:after{content:\\\"\\\\10f31e\\\"}.fad.fa-expand-wide:after{content:\\\"\\\\10f320\\\"}.fad.fa-external-link:after{content:\\\"\\\\10f08e\\\"}.fad.fa-external-link-alt:after{content:\\\"\\\\10f35d\\\"}.fad.fa-external-link-square:after{content:\\\"\\\\10f14c\\\"}.fad.fa-external-link-square-alt:after{content:\\\"\\\\10f360\\\"}.fad.fa-eye:after{content:\\\"\\\\10f06e\\\"}.fad.fa-eye-dropper:after{content:\\\"\\\\10f1fb\\\"}.fad.fa-eye-evil:after{content:\\\"\\\\10f6db\\\"}.fad.fa-eye-slash:after{content:\\\"\\\\10f070\\\"}.fad.fa-fan:after{content:\\\"\\\\10f863\\\"}.fad.fa-fan-table:after{content:\\\"\\\\10f904\\\"}.fad.fa-farm:after{content:\\\"\\\\10f864\\\"}.fad.fa-fast-backward:after{content:\\\"\\\\10f049\\\"}.fad.fa-fast-forward:after{content:\\\"\\\\10f050\\\"}.fad.fa-faucet:after{content:\\\"\\\\10f905\\\"}.fad.fa-faucet-drip:after{content:\\\"\\\\10f906\\\"}.fad.fa-fax:after{content:\\\"\\\\10f1ac\\\"}.fad.fa-feather:after{content:\\\"\\\\10f52d\\\"}.fad.fa-feather-alt:after{content:\\\"\\\\10f56b\\\"}.fad.fa-female:after{content:\\\"\\\\10f182\\\"}.fad.fa-field-hockey:after{content:\\\"\\\\10f44c\\\"}.fad.fa-fighter-jet:after{content:\\\"\\\\10f0fb\\\"}.fad.fa-file:after{content:\\\"\\\\10f15b\\\"}.fad.fa-file-alt:after{content:\\\"\\\\10f15c\\\"}.fad.fa-file-archive:after{content:\\\"\\\\10f1c6\\\"}.fad.fa-file-audio:after{content:\\\"\\\\10f1c7\\\"}.fad.fa-file-certificate:after{content:\\\"\\\\10f5f3\\\"}.fad.fa-file-chart-line:after{content:\\\"\\\\10f659\\\"}.fad.fa-file-chart-pie:after{content:\\\"\\\\10f65a\\\"}.fad.fa-file-check:after{content:\\\"\\\\10f316\\\"}.fad.fa-file-code:after{content:\\\"\\\\10f1c9\\\"}.fad.fa-file-contract:after{content:\\\"\\\\10f56c\\\"}.fad.fa-file-csv:after{content:\\\"\\\\10f6dd\\\"}.fad.fa-file-download:after{content:\\\"\\\\10f56d\\\"}.fad.fa-file-edit:after{content:\\\"\\\\10f31c\\\"}.fad.fa-file-excel:after{content:\\\"\\\\10f1c3\\\"}.fad.fa-file-exclamation:after{content:\\\"\\\\10f31a\\\"}.fad.fa-file-export:after{content:\\\"\\\\10f56e\\\"}.fad.fa-file-image:after{content:\\\"\\\\10f1c5\\\"}.fad.fa-file-import:after{content:\\\"\\\\10f56f\\\"}.fad.fa-file-invoice:after{content:\\\"\\\\10f570\\\"}.fad.fa-file-invoice-dollar:after{content:\\\"\\\\10f571\\\"}.fad.fa-file-medical:after{content:\\\"\\\\10f477\\\"}.fad.fa-file-medical-alt:after{content:\\\"\\\\10f478\\\"}.fad.fa-file-minus:after{content:\\\"\\\\10f318\\\"}.fad.fa-file-music:after{content:\\\"\\\\10f8b6\\\"}.fad.fa-file-pdf:after{content:\\\"\\\\10f1c1\\\"}.fad.fa-file-plus:after{content:\\\"\\\\10f319\\\"}.fad.fa-file-powerpoint:after{content:\\\"\\\\10f1c4\\\"}.fad.fa-file-prescription:after{content:\\\"\\\\10f572\\\"}.fad.fa-file-search:after{content:\\\"\\\\10f865\\\"}.fad.fa-file-signature:after{content:\\\"\\\\10f573\\\"}.fad.fa-file-spreadsheet:after{content:\\\"\\\\10f65b\\\"}.fad.fa-file-times:after{content:\\\"\\\\10f317\\\"}.fad.fa-file-upload:after{content:\\\"\\\\10f574\\\"}.fad.fa-file-user:after{content:\\\"\\\\10f65c\\\"}.fad.fa-file-video:after{content:\\\"\\\\10f1c8\\\"}.fad.fa-file-word:after{content:\\\"\\\\10f1c2\\\"}.fad.fa-files-medical:after{content:\\\"\\\\10f7fd\\\"}.fad.fa-fill:after{content:\\\"\\\\10f575\\\"}.fad.fa-fill-drip:after{content:\\\"\\\\10f576\\\"}.fad.fa-film:after{content:\\\"\\\\10f008\\\"}.fad.fa-film-alt:after{content:\\\"\\\\10f3a0\\\"}.fad.fa-film-canister:after{content:\\\"\\\\10f8b7\\\"}.fad.fa-filter:after{content:\\\"\\\\10f0b0\\\"}.fad.fa-fingerprint:after{content:\\\"\\\\10f577\\\"}.fad.fa-fire:after{content:\\\"\\\\10f06d\\\"}.fad.fa-fire-alt:after{content:\\\"\\\\10f7e4\\\"}.fad.fa-fire-extinguisher:after{content:\\\"\\\\10f134\\\"}.fad.fa-fire-smoke:after{content:\\\"\\\\10f74b\\\"}.fad.fa-fireplace:after{content:\\\"\\\\10f79a\\\"}.fad.fa-first-aid:after{content:\\\"\\\\10f479\\\"}.fad.fa-fish:after{content:\\\"\\\\10f578\\\"}.fad.fa-fish-cooked:after{content:\\\"\\\\10f7fe\\\"}.fad.fa-fist-raised:after{content:\\\"\\\\10f6de\\\"}.fad.fa-flag:after{content:\\\"\\\\10f024\\\"}.fad.fa-flag-alt:after{content:\\\"\\\\10f74c\\\"}.fad.fa-flag-checkered:after{content:\\\"\\\\10f11e\\\"}.fad.fa-flag-usa:after{content:\\\"\\\\10f74d\\\"}.fad.fa-flame:after{content:\\\"\\\\10f6df\\\"}.fad.fa-flashlight:after{content:\\\"\\\\10f8b8\\\"}.fad.fa-flask:after{content:\\\"\\\\10f0c3\\\"}.fad.fa-flask-poison:after{content:\\\"\\\\10f6e0\\\"}.fad.fa-flask-potion:after{content:\\\"\\\\10f6e1\\\"}.fad.fa-flower:after{content:\\\"\\\\10f7ff\\\"}.fad.fa-flower-daffodil:after{content:\\\"\\\\10f800\\\"}.fad.fa-flower-tulip:after{content:\\\"\\\\10f801\\\"}.fad.fa-flushed:after{content:\\\"\\\\10f579\\\"}.fad.fa-flute:after{content:\\\"\\\\10f8b9\\\"}.fad.fa-flux-capacitor:after{content:\\\"\\\\10f8ba\\\"}.fad.fa-fog:after{content:\\\"\\\\10f74e\\\"}.fad.fa-folder:after{content:\\\"\\\\10f07b\\\"}.fad.fa-folder-download:after{content:\\\"\\\\10f953\\\"}.fad.fa-folder-minus:after{content:\\\"\\\\10f65d\\\"}.fad.fa-folder-open:after{content:\\\"\\\\10f07c\\\"}.fad.fa-folder-plus:after{content:\\\"\\\\10f65e\\\"}.fad.fa-folder-times:after{content:\\\"\\\\10f65f\\\"}.fad.fa-folder-tree:after{content:\\\"\\\\10f802\\\"}.fad.fa-folder-upload:after{content:\\\"\\\\10f954\\\"}.fad.fa-folders:after{content:\\\"\\\\10f660\\\"}.fad.fa-font:after{content:\\\"\\\\10f031\\\"}.fad.fa-font-awesome-logo-full:after{content:\\\"\\\\10f4e6\\\"}.fad.fa-font-case:after{content:\\\"\\\\10f866\\\"}.fad.fa-football-ball:after{content:\\\"\\\\10f44e\\\"}.fad.fa-football-helmet:after{content:\\\"\\\\10f44f\\\"}.fad.fa-forklift:after{content:\\\"\\\\10f47a\\\"}.fad.fa-forward:after{content:\\\"\\\\10f04e\\\"}.fad.fa-fragile:after{content:\\\"\\\\10f4bb\\\"}.fad.fa-french-fries:after{content:\\\"\\\\10f803\\\"}.fad.fa-frog:after{content:\\\"\\\\10f52e\\\"}.fad.fa-frosty-head:after{content:\\\"\\\\10f79b\\\"}.fad.fa-frown:after{content:\\\"\\\\10f119\\\"}.fad.fa-frown-open:after{content:\\\"\\\\10f57a\\\"}.fad.fa-function:after{content:\\\"\\\\10f661\\\"}.fad.fa-funnel-dollar:after{content:\\\"\\\\10f662\\\"}.fad.fa-futbol:after{content:\\\"\\\\10f1e3\\\"}.fad.fa-galaxy:after{content:\\\"\\\\10f908\\\"}.fad.fa-game-board:after{content:\\\"\\\\10f867\\\"}.fad.fa-game-board-alt:after{content:\\\"\\\\10f868\\\"}.fad.fa-game-console-handheld:after{content:\\\"\\\\10f8bb\\\"}.fad.fa-gamepad:after{content:\\\"\\\\10f11b\\\"}.fad.fa-gamepad-alt:after{content:\\\"\\\\10f8bc\\\"}.fad.fa-garage:after{content:\\\"\\\\10f909\\\"}.fad.fa-garage-car:after{content:\\\"\\\\10f90a\\\"}.fad.fa-garage-open:after{content:\\\"\\\\10f90b\\\"}.fad.fa-gas-pump:after{content:\\\"\\\\10f52f\\\"}.fad.fa-gas-pump-slash:after{content:\\\"\\\\10f5f4\\\"}.fad.fa-gavel:after{content:\\\"\\\\10f0e3\\\"}.fad.fa-gem:after{content:\\\"\\\\10f3a5\\\"}.fad.fa-genderless:after{content:\\\"\\\\10f22d\\\"}.fad.fa-ghost:after{content:\\\"\\\\10f6e2\\\"}.fad.fa-gift:after{content:\\\"\\\\10f06b\\\"}.fad.fa-gift-card:after{content:\\\"\\\\10f663\\\"}.fad.fa-gifts:after{content:\\\"\\\\10f79c\\\"}.fad.fa-gingerbread-man:after{content:\\\"\\\\10f79d\\\"}.fad.fa-glass:after{content:\\\"\\\\10f804\\\"}.fad.fa-glass-champagne:after{content:\\\"\\\\10f79e\\\"}.fad.fa-glass-cheers:after{content:\\\"\\\\10f79f\\\"}.fad.fa-glass-citrus:after{content:\\\"\\\\10f869\\\"}.fad.fa-glass-martini:after{content:\\\"\\\\10f000\\\"}.fad.fa-glass-martini-alt:after{content:\\\"\\\\10f57b\\\"}.fad.fa-glass-whiskey:after{content:\\\"\\\\10f7a0\\\"}.fad.fa-glass-whiskey-rocks:after{content:\\\"\\\\10f7a1\\\"}.fad.fa-glasses:after{content:\\\"\\\\10f530\\\"}.fad.fa-glasses-alt:after{content:\\\"\\\\10f5f5\\\"}.fad.fa-globe:after{content:\\\"\\\\10f0ac\\\"}.fad.fa-globe-africa:after{content:\\\"\\\\10f57c\\\"}.fad.fa-globe-americas:after{content:\\\"\\\\10f57d\\\"}.fad.fa-globe-asia:after{content:\\\"\\\\10f57e\\\"}.fad.fa-globe-europe:after{content:\\\"\\\\10f7a2\\\"}.fad.fa-globe-snow:after{content:\\\"\\\\10f7a3\\\"}.fad.fa-globe-stand:after{content:\\\"\\\\10f5f6\\\"}.fad.fa-golf-ball:after{content:\\\"\\\\10f450\\\"}.fad.fa-golf-club:after{content:\\\"\\\\10f451\\\"}.fad.fa-gopuram:after{content:\\\"\\\\10f664\\\"}.fad.fa-graduation-cap:after{content:\\\"\\\\10f19d\\\"}.fad.fa-gramophone:after{content:\\\"\\\\10f8bd\\\"}.fad.fa-greater-than:after{content:\\\"\\\\10f531\\\"}.fad.fa-greater-than-equal:after{content:\\\"\\\\10f532\\\"}.fad.fa-grimace:after{content:\\\"\\\\10f57f\\\"}.fad.fa-grin:after{content:\\\"\\\\10f580\\\"}.fad.fa-grin-alt:after{content:\\\"\\\\10f581\\\"}.fad.fa-grin-beam:after{content:\\\"\\\\10f582\\\"}.fad.fa-grin-beam-sweat:after{content:\\\"\\\\10f583\\\"}.fad.fa-grin-hearts:after{content:\\\"\\\\10f584\\\"}.fad.fa-grin-squint:after{content:\\\"\\\\10f585\\\"}.fad.fa-grin-squint-tears:after{content:\\\"\\\\10f586\\\"}.fad.fa-grin-stars:after{content:\\\"\\\\10f587\\\"}.fad.fa-grin-tears:after{content:\\\"\\\\10f588\\\"}.fad.fa-grin-tongue:after{content:\\\"\\\\10f589\\\"}.fad.fa-grin-tongue-squint:after{content:\\\"\\\\10f58a\\\"}.fad.fa-grin-tongue-wink:after{content:\\\"\\\\10f58b\\\"}.fad.fa-grin-wink:after{content:\\\"\\\\10f58c\\\"}.fad.fa-grip-horizontal:after{content:\\\"\\\\10f58d\\\"}.fad.fa-grip-lines:after{content:\\\"\\\\10f7a4\\\"}.fad.fa-grip-lines-vertical:after{content:\\\"\\\\10f7a5\\\"}.fad.fa-grip-vertical:after{content:\\\"\\\\10f58e\\\"}.fad.fa-guitar:after{content:\\\"\\\\10f7a6\\\"}.fad.fa-guitar-electric:after{content:\\\"\\\\10f8be\\\"}.fad.fa-guitars:after{content:\\\"\\\\10f8bf\\\"}.fad.fa-h-square:after{content:\\\"\\\\10f0fd\\\"}.fad.fa-h1:after{content:\\\"\\\\10f313\\\"}.fad.fa-h2:after{content:\\\"\\\\10f314\\\"}.fad.fa-h3:after{content:\\\"\\\\10f315\\\"}.fad.fa-h4:after{content:\\\"\\\\10f86a\\\"}.fad.fa-hamburger:after{content:\\\"\\\\10f805\\\"}.fad.fa-hammer:after{content:\\\"\\\\10f6e3\\\"}.fad.fa-hammer-war:after{content:\\\"\\\\10f6e4\\\"}.fad.fa-hamsa:after{content:\\\"\\\\10f665\\\"}.fad.fa-hand-heart:after{content:\\\"\\\\10f4bc\\\"}.fad.fa-hand-holding:after{content:\\\"\\\\10f4bd\\\"}.fad.fa-hand-holding-box:after{content:\\\"\\\\10f47b\\\"}.fad.fa-hand-holding-heart:after{content:\\\"\\\\10f4be\\\"}.fad.fa-hand-holding-magic:after{content:\\\"\\\\10f6e5\\\"}.fad.fa-hand-holding-medical:after{content:\\\"\\\\10f95c\\\"}.fad.fa-hand-holding-seedling:after{content:\\\"\\\\10f4bf\\\"}.fad.fa-hand-holding-usd:after{content:\\\"\\\\10f4c0\\\"}.fad.fa-hand-holding-water:after{content:\\\"\\\\10f4c1\\\"}.fad.fa-hand-lizard:after{content:\\\"\\\\10f258\\\"}.fad.fa-hand-middle-finger:after{content:\\\"\\\\10f806\\\"}.fad.fa-hand-paper:after{content:\\\"\\\\10f256\\\"}.fad.fa-hand-peace:after{content:\\\"\\\\10f25b\\\"}.fad.fa-hand-point-down:after{content:\\\"\\\\10f0a7\\\"}.fad.fa-hand-point-left:after{content:\\\"\\\\10f0a5\\\"}.fad.fa-hand-point-right:after{content:\\\"\\\\10f0a4\\\"}.fad.fa-hand-point-up:after{content:\\\"\\\\10f0a6\\\"}.fad.fa-hand-pointer:after{content:\\\"\\\\10f25a\\\"}.fad.fa-hand-receiving:after{content:\\\"\\\\10f47c\\\"}.fad.fa-hand-rock:after{content:\\\"\\\\10f255\\\"}.fad.fa-hand-scissors:after{content:\\\"\\\\10f257\\\"}.fad.fa-hand-sparkles:after{content:\\\"\\\\10f95d\\\"}.fad.fa-hand-spock:after{content:\\\"\\\\10f259\\\"}.fad.fa-hands:after{content:\\\"\\\\10f4c2\\\"}.fad.fa-hands-heart:after{content:\\\"\\\\10f4c3\\\"}.fad.fa-hands-helping:after{content:\\\"\\\\10f4c4\\\"}.fad.fa-hands-usd:after{content:\\\"\\\\10f4c5\\\"}.fad.fa-hands-wash:after{content:\\\"\\\\10f95e\\\"}.fad.fa-handshake:after{content:\\\"\\\\10f2b5\\\"}.fad.fa-handshake-alt:after{content:\\\"\\\\10f4c6\\\"}.fad.fa-handshake-alt-slash:after{content:\\\"\\\\10f95f\\\"}.fad.fa-handshake-slash:after{content:\\\"\\\\10f960\\\"}.fad.fa-hanukiah:after{content:\\\"\\\\10f6e6\\\"}.fad.fa-hard-hat:after{content:\\\"\\\\10f807\\\"}.fad.fa-hashtag:after{content:\\\"\\\\10f292\\\"}.fad.fa-hat-chef:after{content:\\\"\\\\10f86b\\\"}.fad.fa-hat-cowboy:after{content:\\\"\\\\10f8c0\\\"}.fad.fa-hat-cowboy-side:after{content:\\\"\\\\10f8c1\\\"}.fad.fa-hat-santa:after{content:\\\"\\\\10f7a7\\\"}.fad.fa-hat-winter:after{content:\\\"\\\\10f7a8\\\"}.fad.fa-hat-witch:after{content:\\\"\\\\10f6e7\\\"}.fad.fa-hat-wizard:after{content:\\\"\\\\10f6e8\\\"}.fad.fa-hdd:after{content:\\\"\\\\10f0a0\\\"}.fad.fa-head-side:after{content:\\\"\\\\10f6e9\\\"}.fad.fa-head-side-brain:after{content:\\\"\\\\10f808\\\"}.fad.fa-head-side-cough:after{content:\\\"\\\\10f961\\\"}.fad.fa-head-side-cough-slash:after{content:\\\"\\\\10f962\\\"}.fad.fa-head-side-headphones:after{content:\\\"\\\\10f8c2\\\"}.fad.fa-head-side-mask:after{content:\\\"\\\\10f963\\\"}.fad.fa-head-side-medical:after{content:\\\"\\\\10f809\\\"}.fad.fa-head-side-virus:after{content:\\\"\\\\10f964\\\"}.fad.fa-head-vr:after{content:\\\"\\\\10f6ea\\\"}.fad.fa-heading:after{content:\\\"\\\\10f1dc\\\"}.fad.fa-headphones:after{content:\\\"\\\\10f025\\\"}.fad.fa-headphones-alt:after{content:\\\"\\\\10f58f\\\"}.fad.fa-headset:after{content:\\\"\\\\10f590\\\"}.fad.fa-heart:after{content:\\\"\\\\10f004\\\"}.fad.fa-heart-broken:after{content:\\\"\\\\10f7a9\\\"}.fad.fa-heart-circle:after{content:\\\"\\\\10f4c7\\\"}.fad.fa-heart-rate:after{content:\\\"\\\\10f5f8\\\"}.fad.fa-heart-square:after{content:\\\"\\\\10f4c8\\\"}.fad.fa-heartbeat:after{content:\\\"\\\\10f21e\\\"}.fad.fa-heat:after{content:\\\"\\\\10f90c\\\"}.fad.fa-helicopter:after{content:\\\"\\\\10f533\\\"}.fad.fa-helmet-battle:after{content:\\\"\\\\10f6eb\\\"}.fad.fa-hexagon:after{content:\\\"\\\\10f312\\\"}.fad.fa-highlighter:after{content:\\\"\\\\10f591\\\"}.fad.fa-hiking:after{content:\\\"\\\\10f6ec\\\"}.fad.fa-hippo:after{content:\\\"\\\\10f6ed\\\"}.fad.fa-history:after{content:\\\"\\\\10f1da\\\"}.fad.fa-hockey-mask:after{content:\\\"\\\\10f6ee\\\"}.fad.fa-hockey-puck:after{content:\\\"\\\\10f453\\\"}.fad.fa-hockey-sticks:after{content:\\\"\\\\10f454\\\"}.fad.fa-holly-berry:after{content:\\\"\\\\10f7aa\\\"}.fad.fa-home:after{content:\\\"\\\\10f015\\\"}.fad.fa-home-alt:after{content:\\\"\\\\10f80a\\\"}.fad.fa-home-heart:after{content:\\\"\\\\10f4c9\\\"}.fad.fa-home-lg:after{content:\\\"\\\\10f80b\\\"}.fad.fa-home-lg-alt:after{content:\\\"\\\\10f80c\\\"}.fad.fa-hood-cloak:after{content:\\\"\\\\10f6ef\\\"}.fad.fa-horizontal-rule:after{content:\\\"\\\\10f86c\\\"}.fad.fa-horse:after{content:\\\"\\\\10f6f0\\\"}.fad.fa-horse-head:after{content:\\\"\\\\10f7ab\\\"}.fad.fa-horse-saddle:after{content:\\\"\\\\10f8c3\\\"}.fad.fa-hospital:after{content:\\\"\\\\10f0f8\\\"}.fad.fa-hospital-alt:after{content:\\\"\\\\10f47d\\\"}.fad.fa-hospital-symbol:after{content:\\\"\\\\10f47e\\\"}.fad.fa-hospital-user:after{content:\\\"\\\\10f80d\\\"}.fad.fa-hospitals:after{content:\\\"\\\\10f80e\\\"}.fad.fa-hot-tub:after{content:\\\"\\\\10f593\\\"}.fad.fa-hotdog:after{content:\\\"\\\\10f80f\\\"}.fad.fa-hotel:after{content:\\\"\\\\10f594\\\"}.fad.fa-hourglass:after{content:\\\"\\\\10f254\\\"}.fad.fa-hourglass-end:after{content:\\\"\\\\10f253\\\"}.fad.fa-hourglass-half:after{content:\\\"\\\\10f252\\\"}.fad.fa-hourglass-start:after{content:\\\"\\\\10f251\\\"}.fad.fa-house:after{content:\\\"\\\\10f90d\\\"}.fad.fa-house-damage:after{content:\\\"\\\\10f6f1\\\"}.fad.fa-house-day:after{content:\\\"\\\\10f90e\\\"}.fad.fa-house-flood:after{content:\\\"\\\\10f74f\\\"}.fad.fa-house-leave:after{content:\\\"\\\\10f90f\\\"}.fad.fa-house-night:after{content:\\\"\\\\10f910\\\"}.fad.fa-house-return:after{content:\\\"\\\\10f911\\\"}.fad.fa-house-signal:after{content:\\\"\\\\10f912\\\"}.fad.fa-house-user:after{content:\\\"\\\\10f965\\\"}.fad.fa-hryvnia:after{content:\\\"\\\\10f6f2\\\"}.fad.fa-humidity:after{content:\\\"\\\\10f750\\\"}.fad.fa-hurricane:after{content:\\\"\\\\10f751\\\"}.fad.fa-i-cursor:after{content:\\\"\\\\10f246\\\"}.fad.fa-ice-cream:after{content:\\\"\\\\10f810\\\"}.fad.fa-ice-skate:after{content:\\\"\\\\10f7ac\\\"}.fad.fa-icicles:after{content:\\\"\\\\10f7ad\\\"}.fad.fa-icons:after{content:\\\"\\\\10f86d\\\"}.fad.fa-icons-alt:after{content:\\\"\\\\10f86e\\\"}.fad.fa-id-badge:after{content:\\\"\\\\10f2c1\\\"}.fad.fa-id-card:after{content:\\\"\\\\10f2c2\\\"}.fad.fa-id-card-alt:after{content:\\\"\\\\10f47f\\\"}.fad.fa-igloo:after{content:\\\"\\\\10f7ae\\\"}.fad.fa-image:after{content:\\\"\\\\10f03e\\\"}.fad.fa-image-polaroid:after{content:\\\"\\\\10f8c4\\\"}.fad.fa-images:after{content:\\\"\\\\10f302\\\"}.fad.fa-inbox:after{content:\\\"\\\\10f01c\\\"}.fad.fa-inbox-in:after{content:\\\"\\\\10f310\\\"}.fad.fa-inbox-out:after{content:\\\"\\\\10f311\\\"}.fad.fa-indent:after{content:\\\"\\\\10f03c\\\"}.fad.fa-industry:after{content:\\\"\\\\10f275\\\"}.fad.fa-industry-alt:after{content:\\\"\\\\10f3b3\\\"}.fad.fa-infinity:after{content:\\\"\\\\10f534\\\"}.fad.fa-info:after{content:\\\"\\\\10f129\\\"}.fad.fa-info-circle:after{content:\\\"\\\\10f05a\\\"}.fad.fa-info-square:after{content:\\\"\\\\10f30f\\\"}.fad.fa-inhaler:after{content:\\\"\\\\10f5f9\\\"}.fad.fa-integral:after{content:\\\"\\\\10f667\\\"}.fad.fa-intersection:after{content:\\\"\\\\10f668\\\"}.fad.fa-inventory:after{content:\\\"\\\\10f480\\\"}.fad.fa-island-tropical:after{content:\\\"\\\\10f811\\\"}.fad.fa-italic:after{content:\\\"\\\\10f033\\\"}.fad.fa-jack-o-lantern:after{content:\\\"\\\\10f30e\\\"}.fad.fa-jedi:after{content:\\\"\\\\10f669\\\"}.fad.fa-joint:after{content:\\\"\\\\10f595\\\"}.fad.fa-journal-whills:after{content:\\\"\\\\10f66a\\\"}.fad.fa-joystick:after{content:\\\"\\\\10f8c5\\\"}.fad.fa-jug:after{content:\\\"\\\\10f8c6\\\"}.fad.fa-kaaba:after{content:\\\"\\\\10f66b\\\"}.fad.fa-kazoo:after{content:\\\"\\\\10f8c7\\\"}.fad.fa-kerning:after{content:\\\"\\\\10f86f\\\"}.fad.fa-key:after{content:\\\"\\\\10f084\\\"}.fad.fa-key-skeleton:after{content:\\\"\\\\10f6f3\\\"}.fad.fa-keyboard:after{content:\\\"\\\\10f11c\\\"}.fad.fa-keynote:after{content:\\\"\\\\10f66c\\\"}.fad.fa-khanda:after{content:\\\"\\\\10f66d\\\"}.fad.fa-kidneys:after{content:\\\"\\\\10f5fb\\\"}.fad.fa-kiss:after{content:\\\"\\\\10f596\\\"}.fad.fa-kiss-beam:after{content:\\\"\\\\10f597\\\"}.fad.fa-kiss-wink-heart:after{content:\\\"\\\\10f598\\\"}.fad.fa-kite:after{content:\\\"\\\\10f6f4\\\"}.fad.fa-kiwi-bird:after{content:\\\"\\\\10f535\\\"}.fad.fa-knife-kitchen:after{content:\\\"\\\\10f6f5\\\"}.fad.fa-lambda:after{content:\\\"\\\\10f66e\\\"}.fad.fa-lamp:after{content:\\\"\\\\10f4ca\\\"}.fad.fa-lamp-desk:after{content:\\\"\\\\10f914\\\"}.fad.fa-lamp-floor:after{content:\\\"\\\\10f915\\\"}.fad.fa-landmark:after{content:\\\"\\\\10f66f\\\"}.fad.fa-landmark-alt:after{content:\\\"\\\\10f752\\\"}.fad.fa-language:after{content:\\\"\\\\10f1ab\\\"}.fad.fa-laptop:after{content:\\\"\\\\10f109\\\"}.fad.fa-laptop-code:after{content:\\\"\\\\10f5fc\\\"}.fad.fa-laptop-house:after{content:\\\"\\\\10f966\\\"}.fad.fa-laptop-medical:after{content:\\\"\\\\10f812\\\"}.fad.fa-lasso:after{content:\\\"\\\\10f8c8\\\"}.fad.fa-laugh:after{content:\\\"\\\\10f599\\\"}.fad.fa-laugh-beam:after{content:\\\"\\\\10f59a\\\"}.fad.fa-laugh-squint:after{content:\\\"\\\\10f59b\\\"}.fad.fa-laugh-wink:after{content:\\\"\\\\10f59c\\\"}.fad.fa-layer-group:after{content:\\\"\\\\10f5fd\\\"}.fad.fa-layer-minus:after{content:\\\"\\\\10f5fe\\\"}.fad.fa-layer-plus:after{content:\\\"\\\\10f5ff\\\"}.fad.fa-leaf:after{content:\\\"\\\\10f06c\\\"}.fad.fa-leaf-heart:after{content:\\\"\\\\10f4cb\\\"}.fad.fa-leaf-maple:after{content:\\\"\\\\10f6f6\\\"}.fad.fa-leaf-oak:after{content:\\\"\\\\10f6f7\\\"}.fad.fa-lemon:after{content:\\\"\\\\10f094\\\"}.fad.fa-less-than:after{content:\\\"\\\\10f536\\\"}.fad.fa-less-than-equal:after{content:\\\"\\\\10f537\\\"}.fad.fa-level-down:after{content:\\\"\\\\10f149\\\"}.fad.fa-level-down-alt:after{content:\\\"\\\\10f3be\\\"}.fad.fa-level-up:after{content:\\\"\\\\10f148\\\"}.fad.fa-level-up-alt:after{content:\\\"\\\\10f3bf\\\"}.fad.fa-life-ring:after{content:\\\"\\\\10f1cd\\\"}.fad.fa-light-ceiling:after{content:\\\"\\\\10f916\\\"}.fad.fa-light-switch:after{content:\\\"\\\\10f917\\\"}.fad.fa-light-switch-off:after{content:\\\"\\\\10f918\\\"}.fad.fa-light-switch-on:after{content:\\\"\\\\10f919\\\"}.fad.fa-lightbulb:after{content:\\\"\\\\10f0eb\\\"}.fad.fa-lightbulb-dollar:after{content:\\\"\\\\10f670\\\"}.fad.fa-lightbulb-exclamation:after{content:\\\"\\\\10f671\\\"}.fad.fa-lightbulb-on:after{content:\\\"\\\\10f672\\\"}.fad.fa-lightbulb-slash:after{content:\\\"\\\\10f673\\\"}.fad.fa-lights-holiday:after{content:\\\"\\\\10f7b2\\\"}.fad.fa-line-columns:after{content:\\\"\\\\10f870\\\"}.fad.fa-line-height:after{content:\\\"\\\\10f871\\\"}.fad.fa-link:after{content:\\\"\\\\10f0c1\\\"}.fad.fa-lips:after{content:\\\"\\\\10f600\\\"}.fad.fa-lira-sign:after{content:\\\"\\\\10f195\\\"}.fad.fa-list:after{content:\\\"\\\\10f03a\\\"}.fad.fa-list-alt:after{content:\\\"\\\\10f022\\\"}.fad.fa-list-music:after{content:\\\"\\\\10f8c9\\\"}.fad.fa-list-ol:after{content:\\\"\\\\10f0cb\\\"}.fad.fa-list-ul:after{content:\\\"\\\\10f0ca\\\"}.fad.fa-location:after{content:\\\"\\\\10f601\\\"}.fad.fa-location-arrow:after{content:\\\"\\\\10f124\\\"}.fad.fa-location-circle:after{content:\\\"\\\\10f602\\\"}.fad.fa-location-slash:after{content:\\\"\\\\10f603\\\"}.fad.fa-lock:after{content:\\\"\\\\10f023\\\"}.fad.fa-lock-alt:after{content:\\\"\\\\10f30d\\\"}.fad.fa-lock-open:after{content:\\\"\\\\10f3c1\\\"}.fad.fa-lock-open-alt:after{content:\\\"\\\\10f3c2\\\"}.fad.fa-long-arrow-alt-down:after{content:\\\"\\\\10f309\\\"}.fad.fa-long-arrow-alt-left:after{content:\\\"\\\\10f30a\\\"}.fad.fa-long-arrow-alt-right:after{content:\\\"\\\\10f30b\\\"}.fad.fa-long-arrow-alt-up:after{content:\\\"\\\\10f30c\\\"}.fad.fa-long-arrow-down:after{content:\\\"\\\\10f175\\\"}.fad.fa-long-arrow-left:after{content:\\\"\\\\10f177\\\"}.fad.fa-long-arrow-right:after{content:\\\"\\\\10f178\\\"}.fad.fa-long-arrow-up:after{content:\\\"\\\\10f176\\\"}.fad.fa-loveseat:after{content:\\\"\\\\10f4cc\\\"}.fad.fa-low-vision:after{content:\\\"\\\\10f2a8\\\"}.fad.fa-luchador:after{content:\\\"\\\\10f455\\\"}.fad.fa-luggage-cart:after{content:\\\"\\\\10f59d\\\"}.fad.fa-lungs:after{content:\\\"\\\\10f604\\\"}.fad.fa-lungs-virus:after{content:\\\"\\\\10f967\\\"}.fad.fa-mace:after{content:\\\"\\\\10f6f8\\\"}.fad.fa-magic:after{content:\\\"\\\\10f0d0\\\"}.fad.fa-magnet:after{content:\\\"\\\\10f076\\\"}.fad.fa-mail-bulk:after{content:\\\"\\\\10f674\\\"}.fad.fa-mailbox:after{content:\\\"\\\\10f813\\\"}.fad.fa-male:after{content:\\\"\\\\10f183\\\"}.fad.fa-mandolin:after{content:\\\"\\\\10f6f9\\\"}.fad.fa-map:after{content:\\\"\\\\10f279\\\"}.fad.fa-map-marked:after{content:\\\"\\\\10f59f\\\"}.fad.fa-map-marked-alt:after{content:\\\"\\\\10f5a0\\\"}.fad.fa-map-marker:after{content:\\\"\\\\10f041\\\"}.fad.fa-map-marker-alt:after{content:\\\"\\\\10f3c5\\\"}.fad.fa-map-marker-alt-slash:after{content:\\\"\\\\10f605\\\"}.fad.fa-map-marker-check:after{content:\\\"\\\\10f606\\\"}.fad.fa-map-marker-edit:after{content:\\\"\\\\10f607\\\"}.fad.fa-map-marker-exclamation:after{content:\\\"\\\\10f608\\\"}.fad.fa-map-marker-minus:after{content:\\\"\\\\10f609\\\"}.fad.fa-map-marker-plus:after{content:\\\"\\\\10f60a\\\"}.fad.fa-map-marker-question:after{content:\\\"\\\\10f60b\\\"}.fad.fa-map-marker-slash:after{content:\\\"\\\\10f60c\\\"}.fad.fa-map-marker-smile:after{content:\\\"\\\\10f60d\\\"}.fad.fa-map-marker-times:after{content:\\\"\\\\10f60e\\\"}.fad.fa-map-pin:after{content:\\\"\\\\10f276\\\"}.fad.fa-map-signs:after{content:\\\"\\\\10f277\\\"}.fad.fa-marker:after{content:\\\"\\\\10f5a1\\\"}.fad.fa-mars:after{content:\\\"\\\\10f222\\\"}.fad.fa-mars-double:after{content:\\\"\\\\10f227\\\"}.fad.fa-mars-stroke:after{content:\\\"\\\\10f229\\\"}.fad.fa-mars-stroke-h:after{content:\\\"\\\\10f22b\\\"}.fad.fa-mars-stroke-v:after{content:\\\"\\\\10f22a\\\"}.fad.fa-mask:after{content:\\\"\\\\10f6fa\\\"}.fad.fa-meat:after{content:\\\"\\\\10f814\\\"}.fad.fa-medal:after{content:\\\"\\\\10f5a2\\\"}.fad.fa-medkit:after{content:\\\"\\\\10f0fa\\\"}.fad.fa-megaphone:after{content:\\\"\\\\10f675\\\"}.fad.fa-meh:after{content:\\\"\\\\10f11a\\\"}.fad.fa-meh-blank:after{content:\\\"\\\\10f5a4\\\"}.fad.fa-meh-rolling-eyes:after{content:\\\"\\\\10f5a5\\\"}.fad.fa-memory:after{content:\\\"\\\\10f538\\\"}.fad.fa-menorah:after{content:\\\"\\\\10f676\\\"}.fad.fa-mercury:after{content:\\\"\\\\10f223\\\"}.fad.fa-meteor:after{content:\\\"\\\\10f753\\\"}.fad.fa-microchip:after{content:\\\"\\\\10f2db\\\"}.fad.fa-microphone:after{content:\\\"\\\\10f130\\\"}.fad.fa-microphone-alt:after{content:\\\"\\\\10f3c9\\\"}.fad.fa-microphone-alt-slash:after{content:\\\"\\\\10f539\\\"}.fad.fa-microphone-slash:after{content:\\\"\\\\10f131\\\"}.fad.fa-microphone-stand:after{content:\\\"\\\\10f8cb\\\"}.fad.fa-microscope:after{content:\\\"\\\\10f610\\\"}.fad.fa-microwave:after{content:\\\"\\\\10f91b\\\"}.fad.fa-mind-share:after{content:\\\"\\\\10f677\\\"}.fad.fa-minus:after{content:\\\"\\\\10f068\\\"}.fad.fa-minus-circle:after{content:\\\"\\\\10f056\\\"}.fad.fa-minus-hexagon:after{content:\\\"\\\\10f307\\\"}.fad.fa-minus-octagon:after{content:\\\"\\\\10f308\\\"}.fad.fa-minus-square:after{content:\\\"\\\\10f146\\\"}.fad.fa-mistletoe:after{content:\\\"\\\\10f7b4\\\"}.fad.fa-mitten:after{content:\\\"\\\\10f7b5\\\"}.fad.fa-mobile:after{content:\\\"\\\\10f10b\\\"}.fad.fa-mobile-alt:after{content:\\\"\\\\10f3cd\\\"}.fad.fa-mobile-android:after{content:\\\"\\\\10f3ce\\\"}.fad.fa-mobile-android-alt:after{content:\\\"\\\\10f3cf\\\"}.fad.fa-money-bill:after{content:\\\"\\\\10f0d6\\\"}.fad.fa-money-bill-alt:after{content:\\\"\\\\10f3d1\\\"}.fad.fa-money-bill-wave:after{content:\\\"\\\\10f53a\\\"}.fad.fa-money-bill-wave-alt:after{content:\\\"\\\\10f53b\\\"}.fad.fa-money-check:after{content:\\\"\\\\10f53c\\\"}.fad.fa-money-check-alt:after{content:\\\"\\\\10f53d\\\"}.fad.fa-money-check-edit:after{content:\\\"\\\\10f872\\\"}.fad.fa-money-check-edit-alt:after{content:\\\"\\\\10f873\\\"}.fad.fa-monitor-heart-rate:after{content:\\\"\\\\10f611\\\"}.fad.fa-monkey:after{content:\\\"\\\\10f6fb\\\"}.fad.fa-monument:after{content:\\\"\\\\10f5a6\\\"}.fad.fa-moon:after{content:\\\"\\\\10f186\\\"}.fad.fa-moon-cloud:after{content:\\\"\\\\10f754\\\"}.fad.fa-moon-stars:after{content:\\\"\\\\10f755\\\"}.fad.fa-mortar-pestle:after{content:\\\"\\\\10f5a7\\\"}.fad.fa-mosque:after{content:\\\"\\\\10f678\\\"}.fad.fa-motorcycle:after{content:\\\"\\\\10f21c\\\"}.fad.fa-mountain:after{content:\\\"\\\\10f6fc\\\"}.fad.fa-mountains:after{content:\\\"\\\\10f6fd\\\"}.fad.fa-mouse:after{content:\\\"\\\\10f8cc\\\"}.fad.fa-mouse-alt:after{content:\\\"\\\\10f8cd\\\"}.fad.fa-mouse-pointer:after{content:\\\"\\\\10f245\\\"}.fad.fa-mp3-player:after{content:\\\"\\\\10f8ce\\\"}.fad.fa-mug:after{content:\\\"\\\\10f874\\\"}.fad.fa-mug-hot:after{content:\\\"\\\\10f7b6\\\"}.fad.fa-mug-marshmallows:after{content:\\\"\\\\10f7b7\\\"}.fad.fa-mug-tea:after{content:\\\"\\\\10f875\\\"}.fad.fa-music:after{content:\\\"\\\\10f001\\\"}.fad.fa-music-alt:after{content:\\\"\\\\10f8cf\\\"}.fad.fa-music-alt-slash:after{content:\\\"\\\\10f8d0\\\"}.fad.fa-music-slash:after{content:\\\"\\\\10f8d1\\\"}.fad.fa-narwhal:after{content:\\\"\\\\10f6fe\\\"}.fad.fa-network-wired:after{content:\\\"\\\\10f6ff\\\"}.fad.fa-neuter:after{content:\\\"\\\\10f22c\\\"}.fad.fa-newspaper:after{content:\\\"\\\\10f1ea\\\"}.fad.fa-not-equal:after{content:\\\"\\\\10f53e\\\"}.fad.fa-notes-medical:after{content:\\\"\\\\10f481\\\"}.fad.fa-object-group:after{content:\\\"\\\\10f247\\\"}.fad.fa-object-ungroup:after{content:\\\"\\\\10f248\\\"}.fad.fa-octagon:after{content:\\\"\\\\10f306\\\"}.fad.fa-oil-can:after{content:\\\"\\\\10f613\\\"}.fad.fa-oil-temp:after{content:\\\"\\\\10f614\\\"}.fad.fa-om:after{content:\\\"\\\\10f679\\\"}.fad.fa-omega:after{content:\\\"\\\\10f67a\\\"}.fad.fa-ornament:after{content:\\\"\\\\10f7b8\\\"}.fad.fa-otter:after{content:\\\"\\\\10f700\\\"}.fad.fa-outdent:after{content:\\\"\\\\10f03b\\\"}.fad.fa-outlet:after{content:\\\"\\\\10f91c\\\"}.fad.fa-oven:after{content:\\\"\\\\10f91d\\\"}.fad.fa-overline:after{content:\\\"\\\\10f876\\\"}.fad.fa-page-break:after{content:\\\"\\\\10f877\\\"}.fad.fa-pager:after{content:\\\"\\\\10f815\\\"}.fad.fa-paint-brush:after{content:\\\"\\\\10f1fc\\\"}.fad.fa-paint-brush-alt:after{content:\\\"\\\\10f5a9\\\"}.fad.fa-paint-roller:after{content:\\\"\\\\10f5aa\\\"}.fad.fa-palette:after{content:\\\"\\\\10f53f\\\"}.fad.fa-pallet:after{content:\\\"\\\\10f482\\\"}.fad.fa-pallet-alt:after{content:\\\"\\\\10f483\\\"}.fad.fa-paper-plane:after{content:\\\"\\\\10f1d8\\\"}.fad.fa-paperclip:after{content:\\\"\\\\10f0c6\\\"}.fad.fa-parachute-box:after{content:\\\"\\\\10f4cd\\\"}.fad.fa-paragraph:after{content:\\\"\\\\10f1dd\\\"}.fad.fa-paragraph-rtl:after{content:\\\"\\\\10f878\\\"}.fad.fa-parking:after{content:\\\"\\\\10f540\\\"}.fad.fa-parking-circle:after{content:\\\"\\\\10f615\\\"}.fad.fa-parking-circle-slash:after{content:\\\"\\\\10f616\\\"}.fad.fa-parking-slash:after{content:\\\"\\\\10f617\\\"}.fad.fa-passport:after{content:\\\"\\\\10f5ab\\\"}.fad.fa-pastafarianism:after{content:\\\"\\\\10f67b\\\"}.fad.fa-paste:after{content:\\\"\\\\10f0ea\\\"}.fad.fa-pause:after{content:\\\"\\\\10f04c\\\"}.fad.fa-pause-circle:after{content:\\\"\\\\10f28b\\\"}.fad.fa-paw:after{content:\\\"\\\\10f1b0\\\"}.fad.fa-paw-alt:after{content:\\\"\\\\10f701\\\"}.fad.fa-paw-claws:after{content:\\\"\\\\10f702\\\"}.fad.fa-peace:after{content:\\\"\\\\10f67c\\\"}.fad.fa-pegasus:after{content:\\\"\\\\10f703\\\"}.fad.fa-pen:after{content:\\\"\\\\10f304\\\"}.fad.fa-pen-alt:after{content:\\\"\\\\10f305\\\"}.fad.fa-pen-fancy:after{content:\\\"\\\\10f5ac\\\"}.fad.fa-pen-nib:after{content:\\\"\\\\10f5ad\\\"}.fad.fa-pen-square:after{content:\\\"\\\\10f14b\\\"}.fad.fa-pencil:after{content:\\\"\\\\10f040\\\"}.fad.fa-pencil-alt:after{content:\\\"\\\\10f303\\\"}.fad.fa-pencil-paintbrush:after{content:\\\"\\\\10f618\\\"}.fad.fa-pencil-ruler:after{content:\\\"\\\\10f5ae\\\"}.fad.fa-pennant:after{content:\\\"\\\\10f456\\\"}.fad.fa-people-arrows:after{content:\\\"\\\\10f968\\\"}.fad.fa-people-carry:after{content:\\\"\\\\10f4ce\\\"}.fad.fa-pepper-hot:after{content:\\\"\\\\10f816\\\"}.fad.fa-percent:after{content:\\\"\\\\10f295\\\"}.fad.fa-percentage:after{content:\\\"\\\\10f541\\\"}.fad.fa-person-booth:after{content:\\\"\\\\10f756\\\"}.fad.fa-person-carry:after{content:\\\"\\\\10f4cf\\\"}.fad.fa-person-dolly:after{content:\\\"\\\\10f4d0\\\"}.fad.fa-person-dolly-empty:after{content:\\\"\\\\10f4d1\\\"}.fad.fa-person-sign:after{content:\\\"\\\\10f757\\\"}.fad.fa-phone:after{content:\\\"\\\\10f095\\\"}.fad.fa-phone-alt:after{content:\\\"\\\\10f879\\\"}.fad.fa-phone-laptop:after{content:\\\"\\\\10f87a\\\"}.fad.fa-phone-office:after{content:\\\"\\\\10f67d\\\"}.fad.fa-phone-plus:after{content:\\\"\\\\10f4d2\\\"}.fad.fa-phone-rotary:after{content:\\\"\\\\10f8d3\\\"}.fad.fa-phone-slash:after{content:\\\"\\\\10f3dd\\\"}.fad.fa-phone-square:after{content:\\\"\\\\10f098\\\"}.fad.fa-phone-square-alt:after{content:\\\"\\\\10f87b\\\"}.fad.fa-phone-volume:after{content:\\\"\\\\10f2a0\\\"}.fad.fa-photo-video:after{content:\\\"\\\\10f87c\\\"}.fad.fa-pi:after{content:\\\"\\\\10f67e\\\"}.fad.fa-piano:after{content:\\\"\\\\10f8d4\\\"}.fad.fa-piano-keyboard:after{content:\\\"\\\\10f8d5\\\"}.fad.fa-pie:after{content:\\\"\\\\10f705\\\"}.fad.fa-pig:after{content:\\\"\\\\10f706\\\"}.fad.fa-piggy-bank:after{content:\\\"\\\\10f4d3\\\"}.fad.fa-pills:after{content:\\\"\\\\10f484\\\"}.fad.fa-pizza:after{content:\\\"\\\\10f817\\\"}.fad.fa-pizza-slice:after{content:\\\"\\\\10f818\\\"}.fad.fa-place-of-worship:after{content:\\\"\\\\10f67f\\\"}.fad.fa-plane:after{content:\\\"\\\\10f072\\\"}.fad.fa-plane-alt:after{content:\\\"\\\\10f3de\\\"}.fad.fa-plane-arrival:after{content:\\\"\\\\10f5af\\\"}.fad.fa-plane-departure:after{content:\\\"\\\\10f5b0\\\"}.fad.fa-plane-slash:after{content:\\\"\\\\10f969\\\"}.fad.fa-planet-moon:after{content:\\\"\\\\10f91f\\\"}.fad.fa-planet-ringed:after{content:\\\"\\\\10f920\\\"}.fad.fa-play:after{content:\\\"\\\\10f04b\\\"}.fad.fa-play-circle:after{content:\\\"\\\\10f144\\\"}.fad.fa-plug:after{content:\\\"\\\\10f1e6\\\"}.fad.fa-plus:after{content:\\\"\\\\10f067\\\"}.fad.fa-plus-circle:after{content:\\\"\\\\10f055\\\"}.fad.fa-plus-hexagon:after{content:\\\"\\\\10f300\\\"}.fad.fa-plus-octagon:after{content:\\\"\\\\10f301\\\"}.fad.fa-plus-square:after{content:\\\"\\\\10f0fe\\\"}.fad.fa-podcast:after{content:\\\"\\\\10f2ce\\\"}.fad.fa-podium:after{content:\\\"\\\\10f680\\\"}.fad.fa-podium-star:after{content:\\\"\\\\10f758\\\"}.fad.fa-police-box:after{content:\\\"\\\\10f921\\\"}.fad.fa-poll:after{content:\\\"\\\\10f681\\\"}.fad.fa-poll-h:after{content:\\\"\\\\10f682\\\"}.fad.fa-poll-people:after{content:\\\"\\\\10f759\\\"}.fad.fa-poo:after{content:\\\"\\\\10f2fe\\\"}.fad.fa-poo-storm:after{content:\\\"\\\\10f75a\\\"}.fad.fa-poop:after{content:\\\"\\\\10f619\\\"}.fad.fa-popcorn:after{content:\\\"\\\\10f819\\\"}.fad.fa-portal-enter:after{content:\\\"\\\\10f922\\\"}.fad.fa-portal-exit:after{content:\\\"\\\\10f923\\\"}.fad.fa-portrait:after{content:\\\"\\\\10f3e0\\\"}.fad.fa-pound-sign:after{content:\\\"\\\\10f154\\\"}.fad.fa-power-off:after{content:\\\"\\\\10f011\\\"}.fad.fa-pray:after{content:\\\"\\\\10f683\\\"}.fad.fa-praying-hands:after{content:\\\"\\\\10f684\\\"}.fad.fa-prescription:after{content:\\\"\\\\10f5b1\\\"}.fad.fa-prescription-bottle:after{content:\\\"\\\\10f485\\\"}.fad.fa-prescription-bottle-alt:after{content:\\\"\\\\10f486\\\"}.fad.fa-presentation:after{content:\\\"\\\\10f685\\\"}.fad.fa-print:after{content:\\\"\\\\10f02f\\\"}.fad.fa-print-search:after{content:\\\"\\\\10f81a\\\"}.fad.fa-print-slash:after{content:\\\"\\\\10f686\\\"}.fad.fa-procedures:after{content:\\\"\\\\10f487\\\"}.fad.fa-project-diagram:after{content:\\\"\\\\10f542\\\"}.fad.fa-projector:after{content:\\\"\\\\10f8d6\\\"}.fad.fa-pump-medical:after{content:\\\"\\\\10f96a\\\"}.fad.fa-pump-soap:after{content:\\\"\\\\10f96b\\\"}.fad.fa-pumpkin:after{content:\\\"\\\\10f707\\\"}.fad.fa-puzzle-piece:after{content:\\\"\\\\10f12e\\\"}.fad.fa-qrcode:after{content:\\\"\\\\10f029\\\"}.fad.fa-question:after{content:\\\"\\\\10f128\\\"}.fad.fa-question-circle:after{content:\\\"\\\\10f059\\\"}.fad.fa-question-square:after{content:\\\"\\\\10f2fd\\\"}.fad.fa-quidditch:after{content:\\\"\\\\10f458\\\"}.fad.fa-quote-left:after{content:\\\"\\\\10f10d\\\"}.fad.fa-quote-right:after{content:\\\"\\\\10f10e\\\"}.fad.fa-quran:after{content:\\\"\\\\10f687\\\"}.fad.fa-rabbit:after{content:\\\"\\\\10f708\\\"}.fad.fa-rabbit-fast:after{content:\\\"\\\\10f709\\\"}.fad.fa-racquet:after{content:\\\"\\\\10f45a\\\"}.fad.fa-radar:after{content:\\\"\\\\10f924\\\"}.fad.fa-radiation:after{content:\\\"\\\\10f7b9\\\"}.fad.fa-radiation-alt:after{content:\\\"\\\\10f7ba\\\"}.fad.fa-radio:after{content:\\\"\\\\10f8d7\\\"}.fad.fa-radio-alt:after{content:\\\"\\\\10f8d8\\\"}.fad.fa-rainbow:after{content:\\\"\\\\10f75b\\\"}.fad.fa-raindrops:after{content:\\\"\\\\10f75c\\\"}.fad.fa-ram:after{content:\\\"\\\\10f70a\\\"}.fad.fa-ramp-loading:after{content:\\\"\\\\10f4d4\\\"}.fad.fa-random:after{content:\\\"\\\\10f074\\\"}.fad.fa-raygun:after{content:\\\"\\\\10f925\\\"}.fad.fa-receipt:after{content:\\\"\\\\10f543\\\"}.fad.fa-record-vinyl:after{content:\\\"\\\\10f8d9\\\"}.fad.fa-rectangle-landscape:after{content:\\\"\\\\10f2fa\\\"}.fad.fa-rectangle-portrait:after{content:\\\"\\\\10f2fb\\\"}.fad.fa-rectangle-wide:after{content:\\\"\\\\10f2fc\\\"}.fad.fa-recycle:after{content:\\\"\\\\10f1b8\\\"}.fad.fa-redo:after{content:\\\"\\\\10f01e\\\"}.fad.fa-redo-alt:after{content:\\\"\\\\10f2f9\\\"}.fad.fa-refrigerator:after{content:\\\"\\\\10f926\\\"}.fad.fa-registered:after{content:\\\"\\\\10f25d\\\"}.fad.fa-remove-format:after{content:\\\"\\\\10f87d\\\"}.fad.fa-repeat:after{content:\\\"\\\\10f363\\\"}.fad.fa-repeat-1:after{content:\\\"\\\\10f365\\\"}.fad.fa-repeat-1-alt:after{content:\\\"\\\\10f366\\\"}.fad.fa-repeat-alt:after{content:\\\"\\\\10f364\\\"}.fad.fa-reply:after{content:\\\"\\\\10f3e5\\\"}.fad.fa-reply-all:after{content:\\\"\\\\10f122\\\"}.fad.fa-republican:after{content:\\\"\\\\10f75e\\\"}.fad.fa-restroom:after{content:\\\"\\\\10f7bd\\\"}.fad.fa-retweet:after{content:\\\"\\\\10f079\\\"}.fad.fa-retweet-alt:after{content:\\\"\\\\10f361\\\"}.fad.fa-ribbon:after{content:\\\"\\\\10f4d6\\\"}.fad.fa-ring:after{content:\\\"\\\\10f70b\\\"}.fad.fa-rings-wedding:after{content:\\\"\\\\10f81b\\\"}.fad.fa-road:after{content:\\\"\\\\10f018\\\"}.fad.fa-robot:after{content:\\\"\\\\10f544\\\"}.fad.fa-rocket:after{content:\\\"\\\\10f135\\\"}.fad.fa-rocket-launch:after{content:\\\"\\\\10f927\\\"}.fad.fa-route:after{content:\\\"\\\\10f4d7\\\"}.fad.fa-route-highway:after{content:\\\"\\\\10f61a\\\"}.fad.fa-route-interstate:after{content:\\\"\\\\10f61b\\\"}.fad.fa-router:after{content:\\\"\\\\10f8da\\\"}.fad.fa-rss:after{content:\\\"\\\\10f09e\\\"}.fad.fa-rss-square:after{content:\\\"\\\\10f143\\\"}.fad.fa-ruble-sign:after{content:\\\"\\\\10f158\\\"}.fad.fa-ruler:after{content:\\\"\\\\10f545\\\"}.fad.fa-ruler-combined:after{content:\\\"\\\\10f546\\\"}.fad.fa-ruler-horizontal:after{content:\\\"\\\\10f547\\\"}.fad.fa-ruler-triangle:after{content:\\\"\\\\10f61c\\\"}.fad.fa-ruler-vertical:after{content:\\\"\\\\10f548\\\"}.fad.fa-running:after{content:\\\"\\\\10f70c\\\"}.fad.fa-rupee-sign:after{content:\\\"\\\\10f156\\\"}.fad.fa-rv:after{content:\\\"\\\\10f7be\\\"}.fad.fa-sack:after{content:\\\"\\\\10f81c\\\"}.fad.fa-sack-dollar:after{content:\\\"\\\\10f81d\\\"}.fad.fa-sad-cry:after{content:\\\"\\\\10f5b3\\\"}.fad.fa-sad-tear:after{content:\\\"\\\\10f5b4\\\"}.fad.fa-salad:after{content:\\\"\\\\10f81e\\\"}.fad.fa-sandwich:after{content:\\\"\\\\10f81f\\\"}.fad.fa-satellite:after{content:\\\"\\\\10f7bf\\\"}.fad.fa-satellite-dish:after{content:\\\"\\\\10f7c0\\\"}.fad.fa-sausage:after{content:\\\"\\\\10f820\\\"}.fad.fa-save:after{content:\\\"\\\\10f0c7\\\"}.fad.fa-sax-hot:after{content:\\\"\\\\10f8db\\\"}.fad.fa-saxophone:after{content:\\\"\\\\10f8dc\\\"}.fad.fa-scalpel:after{content:\\\"\\\\10f61d\\\"}.fad.fa-scalpel-path:after{content:\\\"\\\\10f61e\\\"}.fad.fa-scanner:after{content:\\\"\\\\10f488\\\"}.fad.fa-scanner-image:after{content:\\\"\\\\10f8f3\\\"}.fad.fa-scanner-keyboard:after{content:\\\"\\\\10f489\\\"}.fad.fa-scanner-touchscreen:after{content:\\\"\\\\10f48a\\\"}.fad.fa-scarecrow:after{content:\\\"\\\\10f70d\\\"}.fad.fa-scarf:after{content:\\\"\\\\10f7c1\\\"}.fad.fa-school:after{content:\\\"\\\\10f549\\\"}.fad.fa-screwdriver:after{content:\\\"\\\\10f54a\\\"}.fad.fa-scroll:after{content:\\\"\\\\10f70e\\\"}.fad.fa-scroll-old:after{content:\\\"\\\\10f70f\\\"}.fad.fa-scrubber:after{content:\\\"\\\\10f2f8\\\"}.fad.fa-scythe:after{content:\\\"\\\\10f710\\\"}.fad.fa-sd-card:after{content:\\\"\\\\10f7c2\\\"}.fad.fa-search:after{content:\\\"\\\\10f002\\\"}.fad.fa-search-dollar:after{content:\\\"\\\\10f688\\\"}.fad.fa-search-location:after{content:\\\"\\\\10f689\\\"}.fad.fa-search-minus:after{content:\\\"\\\\10f010\\\"}.fad.fa-search-plus:after{content:\\\"\\\\10f00e\\\"}.fad.fa-seedling:after{content:\\\"\\\\10f4d8\\\"}.fad.fa-send-back:after{content:\\\"\\\\10f87e\\\"}.fad.fa-send-backward:after{content:\\\"\\\\10f87f\\\"}.fad.fa-sensor:after{content:\\\"\\\\10f928\\\"}.fad.fa-sensor-alert:after{content:\\\"\\\\10f929\\\"}.fad.fa-sensor-fire:after{content:\\\"\\\\10f92a\\\"}.fad.fa-sensor-on:after{content:\\\"\\\\10f92b\\\"}.fad.fa-sensor-smoke:after{content:\\\"\\\\10f92c\\\"}.fad.fa-server:after{content:\\\"\\\\10f233\\\"}.fad.fa-shapes:after{content:\\\"\\\\10f61f\\\"}.fad.fa-share:after{content:\\\"\\\\10f064\\\"}.fad.fa-share-all:after{content:\\\"\\\\10f367\\\"}.fad.fa-share-alt:after{content:\\\"\\\\10f1e0\\\"}.fad.fa-share-alt-square:after{content:\\\"\\\\10f1e1\\\"}.fad.fa-share-square:after{content:\\\"\\\\10f14d\\\"}.fad.fa-sheep:after{content:\\\"\\\\10f711\\\"}.fad.fa-shekel-sign:after{content:\\\"\\\\10f20b\\\"}.fad.fa-shield:after{content:\\\"\\\\10f132\\\"}.fad.fa-shield-alt:after{content:\\\"\\\\10f3ed\\\"}.fad.fa-shield-check:after{content:\\\"\\\\10f2f7\\\"}.fad.fa-shield-cross:after{content:\\\"\\\\10f712\\\"}.fad.fa-shield-virus:after{content:\\\"\\\\10f96c\\\"}.fad.fa-ship:after{content:\\\"\\\\10f21a\\\"}.fad.fa-shipping-fast:after{content:\\\"\\\\10f48b\\\"}.fad.fa-shipping-timed:after{content:\\\"\\\\10f48c\\\"}.fad.fa-shish-kebab:after{content:\\\"\\\\10f821\\\"}.fad.fa-shoe-prints:after{content:\\\"\\\\10f54b\\\"}.fad.fa-shopping-bag:after{content:\\\"\\\\10f290\\\"}.fad.fa-shopping-basket:after{content:\\\"\\\\10f291\\\"}.fad.fa-shopping-cart:after{content:\\\"\\\\10f07a\\\"}.fad.fa-shovel:after{content:\\\"\\\\10f713\\\"}.fad.fa-shovel-snow:after{content:\\\"\\\\10f7c3\\\"}.fad.fa-shower:after{content:\\\"\\\\10f2cc\\\"}.fad.fa-shredder:after{content:\\\"\\\\10f68a\\\"}.fad.fa-shuttle-van:after{content:\\\"\\\\10f5b6\\\"}.fad.fa-shuttlecock:after{content:\\\"\\\\10f45b\\\"}.fad.fa-sickle:after{content:\\\"\\\\10f822\\\"}.fad.fa-sigma:after{content:\\\"\\\\10f68b\\\"}.fad.fa-sign:after{content:\\\"\\\\10f4d9\\\"}.fad.fa-sign-in:after{content:\\\"\\\\10f090\\\"}.fad.fa-sign-in-alt:after{content:\\\"\\\\10f2f6\\\"}.fad.fa-sign-language:after{content:\\\"\\\\10f2a7\\\"}.fad.fa-sign-out:after{content:\\\"\\\\10f08b\\\"}.fad.fa-sign-out-alt:after{content:\\\"\\\\10f2f5\\\"}.fad.fa-signal:after{content:\\\"\\\\10f012\\\"}.fad.fa-signal-1:after{content:\\\"\\\\10f68c\\\"}.fad.fa-signal-2:after{content:\\\"\\\\10f68d\\\"}.fad.fa-signal-3:after{content:\\\"\\\\10f68e\\\"}.fad.fa-signal-4:after{content:\\\"\\\\10f68f\\\"}.fad.fa-signal-alt:after{content:\\\"\\\\10f690\\\"}.fad.fa-signal-alt-1:after{content:\\\"\\\\10f691\\\"}.fad.fa-signal-alt-2:after{content:\\\"\\\\10f692\\\"}.fad.fa-signal-alt-3:after{content:\\\"\\\\10f693\\\"}.fad.fa-signal-alt-slash:after{content:\\\"\\\\10f694\\\"}.fad.fa-signal-slash:after{content:\\\"\\\\10f695\\\"}.fad.fa-signal-stream:after{content:\\\"\\\\10f8dd\\\"}.fad.fa-signature:after{content:\\\"\\\\10f5b7\\\"}.fad.fa-sim-card:after{content:\\\"\\\\10f7c4\\\"}.fad.fa-sink:after{content:\\\"\\\\10f96d\\\"}.fad.fa-siren:after{content:\\\"\\\\10f92d\\\"}.fad.fa-siren-on:after{content:\\\"\\\\10f92e\\\"}.fad.fa-sitemap:after{content:\\\"\\\\10f0e8\\\"}.fad.fa-skating:after{content:\\\"\\\\10f7c5\\\"}.fad.fa-skeleton:after{content:\\\"\\\\10f620\\\"}.fad.fa-ski-jump:after{content:\\\"\\\\10f7c7\\\"}.fad.fa-ski-lift:after{content:\\\"\\\\10f7c8\\\"}.fad.fa-skiing:after{content:\\\"\\\\10f7c9\\\"}.fad.fa-skiing-nordic:after{content:\\\"\\\\10f7ca\\\"}.fad.fa-skull:after{content:\\\"\\\\10f54c\\\"}.fad.fa-skull-cow:after{content:\\\"\\\\10f8de\\\"}.fad.fa-skull-crossbones:after{content:\\\"\\\\10f714\\\"}.fad.fa-slash:after{content:\\\"\\\\10f715\\\"}.fad.fa-sledding:after{content:\\\"\\\\10f7cb\\\"}.fad.fa-sleigh:after{content:\\\"\\\\10f7cc\\\"}.fad.fa-sliders-h:after{content:\\\"\\\\10f1de\\\"}.fad.fa-sliders-h-square:after{content:\\\"\\\\10f3f0\\\"}.fad.fa-sliders-v:after{content:\\\"\\\\10f3f1\\\"}.fad.fa-sliders-v-square:after{content:\\\"\\\\10f3f2\\\"}.fad.fa-smile:after{content:\\\"\\\\10f118\\\"}.fad.fa-smile-beam:after{content:\\\"\\\\10f5b8\\\"}.fad.fa-smile-plus:after{content:\\\"\\\\10f5b9\\\"}.fad.fa-smile-wink:after{content:\\\"\\\\10f4da\\\"}.fad.fa-smog:after{content:\\\"\\\\10f75f\\\"}.fad.fa-smoke:after{content:\\\"\\\\10f760\\\"}.fad.fa-smoking:after{content:\\\"\\\\10f48d\\\"}.fad.fa-smoking-ban:after{content:\\\"\\\\10f54d\\\"}.fad.fa-sms:after{content:\\\"\\\\10f7cd\\\"}.fad.fa-snake:after{content:\\\"\\\\10f716\\\"}.fad.fa-snooze:after{content:\\\"\\\\10f880\\\"}.fad.fa-snow-blowing:after{content:\\\"\\\\10f761\\\"}.fad.fa-snowboarding:after{content:\\\"\\\\10f7ce\\\"}.fad.fa-snowflake:after{content:\\\"\\\\10f2dc\\\"}.fad.fa-snowflakes:after{content:\\\"\\\\10f7cf\\\"}.fad.fa-snowman:after{content:\\\"\\\\10f7d0\\\"}.fad.fa-snowmobile:after{content:\\\"\\\\10f7d1\\\"}.fad.fa-snowplow:after{content:\\\"\\\\10f7d2\\\"}.fad.fa-soap:after{content:\\\"\\\\10f96e\\\"}.fad.fa-socks:after{content:\\\"\\\\10f696\\\"}.fad.fa-solar-panel:after{content:\\\"\\\\10f5ba\\\"}.fad.fa-solar-system:after{content:\\\"\\\\10f92f\\\"}.fad.fa-sort:after{content:\\\"\\\\10f0dc\\\"}.fad.fa-sort-alpha-down:after{content:\\\"\\\\10f15d\\\"}.fad.fa-sort-alpha-down-alt:after{content:\\\"\\\\10f881\\\"}.fad.fa-sort-alpha-up:after{content:\\\"\\\\10f15e\\\"}.fad.fa-sort-alpha-up-alt:after{content:\\\"\\\\10f882\\\"}.fad.fa-sort-alt:after{content:\\\"\\\\10f883\\\"}.fad.fa-sort-amount-down:after{content:\\\"\\\\10f160\\\"}.fad.fa-sort-amount-down-alt:after{content:\\\"\\\\10f884\\\"}.fad.fa-sort-amount-up:after{content:\\\"\\\\10f161\\\"}.fad.fa-sort-amount-up-alt:after{content:\\\"\\\\10f885\\\"}.fad.fa-sort-circle:after{content:\\\"\\\\10f930\\\"}.fad.fa-sort-circle-down:after{content:\\\"\\\\10f931\\\"}.fad.fa-sort-circle-up:after{content:\\\"\\\\10f932\\\"}.fad.fa-sort-down:after{content:\\\"\\\\10f0dd\\\"}.fad.fa-sort-numeric-down:after{content:\\\"\\\\10f162\\\"}.fad.fa-sort-numeric-down-alt:after{content:\\\"\\\\10f886\\\"}.fad.fa-sort-numeric-up:after{content:\\\"\\\\10f163\\\"}.fad.fa-sort-numeric-up-alt:after{content:\\\"\\\\10f887\\\"}.fad.fa-sort-shapes-down:after{content:\\\"\\\\10f888\\\"}.fad.fa-sort-shapes-down-alt:after{content:\\\"\\\\10f889\\\"}.fad.fa-sort-shapes-up:after{content:\\\"\\\\10f88a\\\"}.fad.fa-sort-shapes-up-alt:after{content:\\\"\\\\10f88b\\\"}.fad.fa-sort-size-down:after{content:\\\"\\\\10f88c\\\"}.fad.fa-sort-size-down-alt:after{content:\\\"\\\\10f88d\\\"}.fad.fa-sort-size-up:after{content:\\\"\\\\10f88e\\\"}.fad.fa-sort-size-up-alt:after{content:\\\"\\\\10f88f\\\"}.fad.fa-sort-up:after{content:\\\"\\\\10f0de\\\"}.fad.fa-soup:after{content:\\\"\\\\10f823\\\"}.fad.fa-spa:after{content:\\\"\\\\10f5bb\\\"}.fad.fa-space-shuttle:after{content:\\\"\\\\10f197\\\"}.fad.fa-space-station-moon:after{content:\\\"\\\\10f933\\\"}.fad.fa-space-station-moon-alt:after{content:\\\"\\\\10f934\\\"}.fad.fa-spade:after{content:\\\"\\\\10f2f4\\\"}.fad.fa-sparkles:after{content:\\\"\\\\10f890\\\"}.fad.fa-speaker:after{content:\\\"\\\\10f8df\\\"}.fad.fa-speakers:after{content:\\\"\\\\10f8e0\\\"}.fad.fa-spell-check:after{content:\\\"\\\\10f891\\\"}.fad.fa-spider:after{content:\\\"\\\\10f717\\\"}.fad.fa-spider-black-widow:after{content:\\\"\\\\10f718\\\"}.fad.fa-spider-web:after{content:\\\"\\\\10f719\\\"}.fad.fa-spinner:after{content:\\\"\\\\10f110\\\"}.fad.fa-spinner-third:after{content:\\\"\\\\10f3f4\\\"}.fad.fa-splotch:after{content:\\\"\\\\10f5bc\\\"}.fad.fa-spray-can:after{content:\\\"\\\\10f5bd\\\"}.fad.fa-sprinkler:after{content:\\\"\\\\10f935\\\"}.fad.fa-square:after{content:\\\"\\\\10f0c8\\\"}.fad.fa-square-full:after{content:\\\"\\\\10f45c\\\"}.fad.fa-square-root:after{content:\\\"\\\\10f697\\\"}.fad.fa-square-root-alt:after{content:\\\"\\\\10f698\\\"}.fad.fa-squirrel:after{content:\\\"\\\\10f71a\\\"}.fad.fa-staff:after{content:\\\"\\\\10f71b\\\"}.fad.fa-stamp:after{content:\\\"\\\\10f5bf\\\"}.fad.fa-star:after{content:\\\"\\\\10f005\\\"}.fad.fa-star-and-crescent:after{content:\\\"\\\\10f699\\\"}.fad.fa-star-christmas:after{content:\\\"\\\\10f7d4\\\"}.fad.fa-star-exclamation:after{content:\\\"\\\\10f2f3\\\"}.fad.fa-star-half:after{content:\\\"\\\\10f089\\\"}.fad.fa-star-half-alt:after{content:\\\"\\\\10f5c0\\\"}.fad.fa-star-of-david:after{content:\\\"\\\\10f69a\\\"}.fad.fa-star-of-life:after{content:\\\"\\\\10f621\\\"}.fad.fa-star-shooting:after{content:\\\"\\\\10f936\\\"}.fad.fa-starfighter:after{content:\\\"\\\\10f937\\\"}.fad.fa-starfighter-alt:after{content:\\\"\\\\10f938\\\"}.fad.fa-stars:after{content:\\\"\\\\10f762\\\"}.fad.fa-starship:after{content:\\\"\\\\10f939\\\"}.fad.fa-starship-freighter:after{content:\\\"\\\\10f93a\\\"}.fad.fa-steak:after{content:\\\"\\\\10f824\\\"}.fad.fa-steering-wheel:after{content:\\\"\\\\10f622\\\"}.fad.fa-step-backward:after{content:\\\"\\\\10f048\\\"}.fad.fa-step-forward:after{content:\\\"\\\\10f051\\\"}.fad.fa-stethoscope:after{content:\\\"\\\\10f0f1\\\"}.fad.fa-sticky-note:after{content:\\\"\\\\10f249\\\"}.fad.fa-stocking:after{content:\\\"\\\\10f7d5\\\"}.fad.fa-stomach:after{content:\\\"\\\\10f623\\\"}.fad.fa-stop:after{content:\\\"\\\\10f04d\\\"}.fad.fa-stop-circle:after{content:\\\"\\\\10f28d\\\"}.fad.fa-stopwatch:after{content:\\\"\\\\10f2f2\\\"}.fad.fa-stopwatch-20:after{content:\\\"\\\\10f96f\\\"}.fad.fa-store:after{content:\\\"\\\\10f54e\\\"}.fad.fa-store-alt:after{content:\\\"\\\\10f54f\\\"}.fad.fa-store-alt-slash:after{content:\\\"\\\\10f970\\\"}.fad.fa-store-slash:after{content:\\\"\\\\10f971\\\"}.fad.fa-stream:after{content:\\\"\\\\10f550\\\"}.fad.fa-street-view:after{content:\\\"\\\\10f21d\\\"}.fad.fa-stretcher:after{content:\\\"\\\\10f825\\\"}.fad.fa-strikethrough:after{content:\\\"\\\\10f0cc\\\"}.fad.fa-stroopwafel:after{content:\\\"\\\\10f551\\\"}.fad.fa-subscript:after{content:\\\"\\\\10f12c\\\"}.fad.fa-subway:after{content:\\\"\\\\10f239\\\"}.fad.fa-suitcase:after{content:\\\"\\\\10f0f2\\\"}.fad.fa-suitcase-rolling:after{content:\\\"\\\\10f5c1\\\"}.fad.fa-sun:after{content:\\\"\\\\10f185\\\"}.fad.fa-sun-cloud:after{content:\\\"\\\\10f763\\\"}.fad.fa-sun-dust:after{content:\\\"\\\\10f764\\\"}.fad.fa-sun-haze:after{content:\\\"\\\\10f765\\\"}.fad.fa-sunglasses:after{content:\\\"\\\\10f892\\\"}.fad.fa-sunrise:after{content:\\\"\\\\10f766\\\"}.fad.fa-sunset:after{content:\\\"\\\\10f767\\\"}.fad.fa-superscript:after{content:\\\"\\\\10f12b\\\"}.fad.fa-surprise:after{content:\\\"\\\\10f5c2\\\"}.fad.fa-swatchbook:after{content:\\\"\\\\10f5c3\\\"}.fad.fa-swimmer:after{content:\\\"\\\\10f5c4\\\"}.fad.fa-swimming-pool:after{content:\\\"\\\\10f5c5\\\"}.fad.fa-sword:after{content:\\\"\\\\10f71c\\\"}.fad.fa-sword-laser:after{content:\\\"\\\\10f93b\\\"}.fad.fa-sword-laser-alt:after{content:\\\"\\\\10f93c\\\"}.fad.fa-swords:after{content:\\\"\\\\10f71d\\\"}.fad.fa-swords-laser:after{content:\\\"\\\\10f93d\\\"}.fad.fa-synagogue:after{content:\\\"\\\\10f69b\\\"}.fad.fa-sync:after{content:\\\"\\\\10f021\\\"}.fad.fa-sync-alt:after{content:\\\"\\\\10f2f1\\\"}.fad.fa-syringe:after{content:\\\"\\\\10f48e\\\"}.fad.fa-table:after{content:\\\"\\\\10f0ce\\\"}.fad.fa-table-tennis:after{content:\\\"\\\\10f45d\\\"}.fad.fa-tablet:after{content:\\\"\\\\10f10a\\\"}.fad.fa-tablet-alt:after{content:\\\"\\\\10f3fa\\\"}.fad.fa-tablet-android:after{content:\\\"\\\\10f3fb\\\"}.fad.fa-tablet-android-alt:after{content:\\\"\\\\10f3fc\\\"}.fad.fa-tablet-rugged:after{content:\\\"\\\\10f48f\\\"}.fad.fa-tablets:after{content:\\\"\\\\10f490\\\"}.fad.fa-tachometer:after{content:\\\"\\\\10f0e4\\\"}.fad.fa-tachometer-alt:after{content:\\\"\\\\10f3fd\\\"}.fad.fa-tachometer-alt-average:after{content:\\\"\\\\10f624\\\"}.fad.fa-tachometer-alt-fast:after{content:\\\"\\\\10f625\\\"}.fad.fa-tachometer-alt-fastest:after{content:\\\"\\\\10f626\\\"}.fad.fa-tachometer-alt-slow:after{content:\\\"\\\\10f627\\\"}.fad.fa-tachometer-alt-slowest:after{content:\\\"\\\\10f628\\\"}.fad.fa-tachometer-average:after{content:\\\"\\\\10f629\\\"}.fad.fa-tachometer-fast:after{content:\\\"\\\\10f62a\\\"}.fad.fa-tachometer-fastest:after{content:\\\"\\\\10f62b\\\"}.fad.fa-tachometer-slow:after{content:\\\"\\\\10f62c\\\"}.fad.fa-tachometer-slowest:after{content:\\\"\\\\10f62d\\\"}.fad.fa-taco:after{content:\\\"\\\\10f826\\\"}.fad.fa-tag:after{content:\\\"\\\\10f02b\\\"}.fad.fa-tags:after{content:\\\"\\\\10f02c\\\"}.fad.fa-tally:after{content:\\\"\\\\10f69c\\\"}.fad.fa-tanakh:after{content:\\\"\\\\10f827\\\"}.fad.fa-tape:after{content:\\\"\\\\10f4db\\\"}.fad.fa-tasks:after{content:\\\"\\\\10f0ae\\\"}.fad.fa-tasks-alt:after{content:\\\"\\\\10f828\\\"}.fad.fa-taxi:after{content:\\\"\\\\10f1ba\\\"}.fad.fa-teeth:after{content:\\\"\\\\10f62e\\\"}.fad.fa-teeth-open:after{content:\\\"\\\\10f62f\\\"}.fad.fa-telescope:after{content:\\\"\\\\10f93e\\\"}.fad.fa-temperature-down:after{content:\\\"\\\\10f93f\\\"}.fad.fa-temperature-frigid:after{content:\\\"\\\\10f768\\\"}.fad.fa-temperature-high:after{content:\\\"\\\\10f769\\\"}.fad.fa-temperature-hot:after{content:\\\"\\\\10f76a\\\"}.fad.fa-temperature-low:after{content:\\\"\\\\10f76b\\\"}.fad.fa-temperature-up:after{content:\\\"\\\\10f940\\\"}.fad.fa-tenge:after{content:\\\"\\\\10f7d7\\\"}.fad.fa-tennis-ball:after{content:\\\"\\\\10f45e\\\"}.fad.fa-terminal:after{content:\\\"\\\\10f120\\\"}.fad.fa-text:after{content:\\\"\\\\10f893\\\"}.fad.fa-text-height:after{content:\\\"\\\\10f034\\\"}.fad.fa-text-size:after{content:\\\"\\\\10f894\\\"}.fad.fa-text-width:after{content:\\\"\\\\10f035\\\"}.fad.fa-th:after{content:\\\"\\\\10f00a\\\"}.fad.fa-th-large:after{content:\\\"\\\\10f009\\\"}.fad.fa-th-list:after{content:\\\"\\\\10f00b\\\"}.fad.fa-theater-masks:after{content:\\\"\\\\10f630\\\"}.fad.fa-thermometer:after{content:\\\"\\\\10f491\\\"}.fad.fa-thermometer-empty:after{content:\\\"\\\\10f2cb\\\"}.fad.fa-thermometer-full:after{content:\\\"\\\\10f2c7\\\"}.fad.fa-thermometer-half:after{content:\\\"\\\\10f2c9\\\"}.fad.fa-thermometer-quarter:after{content:\\\"\\\\10f2ca\\\"}.fad.fa-thermometer-three-quarters:after{content:\\\"\\\\10f2c8\\\"}.fad.fa-theta:after{content:\\\"\\\\10f69e\\\"}.fad.fa-thumbs-down:after{content:\\\"\\\\10f165\\\"}.fad.fa-thumbs-up:after{content:\\\"\\\\10f164\\\"}.fad.fa-thumbtack:after{content:\\\"\\\\10f08d\\\"}.fad.fa-thunderstorm:after{content:\\\"\\\\10f76c\\\"}.fad.fa-thunderstorm-moon:after{content:\\\"\\\\10f76d\\\"}.fad.fa-thunderstorm-sun:after{content:\\\"\\\\10f76e\\\"}.fad.fa-ticket:after{content:\\\"\\\\10f145\\\"}.fad.fa-ticket-alt:after{content:\\\"\\\\10f3ff\\\"}.fad.fa-tilde:after{content:\\\"\\\\10f69f\\\"}.fad.fa-times:after{content:\\\"\\\\10f00d\\\"}.fad.fa-times-circle:after{content:\\\"\\\\10f057\\\"}.fad.fa-times-hexagon:after{content:\\\"\\\\10f2ee\\\"}.fad.fa-times-octagon:after{content:\\\"\\\\10f2f0\\\"}.fad.fa-times-square:after{content:\\\"\\\\10f2d3\\\"}.fad.fa-tint:after{content:\\\"\\\\10f043\\\"}.fad.fa-tint-slash:after{content:\\\"\\\\10f5c7\\\"}.fad.fa-tire:after{content:\\\"\\\\10f631\\\"}.fad.fa-tire-flat:after{content:\\\"\\\\10f632\\\"}.fad.fa-tire-pressure-warning:after{content:\\\"\\\\10f633\\\"}.fad.fa-tire-rugged:after{content:\\\"\\\\10f634\\\"}.fad.fa-tired:after{content:\\\"\\\\10f5c8\\\"}.fad.fa-toggle-off:after{content:\\\"\\\\10f204\\\"}.fad.fa-toggle-on:after{content:\\\"\\\\10f205\\\"}.fad.fa-toilet:after{content:\\\"\\\\10f7d8\\\"}.fad.fa-toilet-paper:after{content:\\\"\\\\10f71e\\\"}.fad.fa-toilet-paper-alt:after{content:\\\"\\\\10f71f\\\"}.fad.fa-toilet-paper-slash:after{content:\\\"\\\\10f972\\\"}.fad.fa-tombstone:after{content:\\\"\\\\10f720\\\"}.fad.fa-tombstone-alt:after{content:\\\"\\\\10f721\\\"}.fad.fa-toolbox:after{content:\\\"\\\\10f552\\\"}.fad.fa-tools:after{content:\\\"\\\\10f7d9\\\"}.fad.fa-tooth:after{content:\\\"\\\\10f5c9\\\"}.fad.fa-toothbrush:after{content:\\\"\\\\10f635\\\"}.fad.fa-torah:after{content:\\\"\\\\10f6a0\\\"}.fad.fa-torii-gate:after{content:\\\"\\\\10f6a1\\\"}.fad.fa-tornado:after{content:\\\"\\\\10f76f\\\"}.fad.fa-tractor:after{content:\\\"\\\\10f722\\\"}.fad.fa-trademark:after{content:\\\"\\\\10f25c\\\"}.fad.fa-traffic-cone:after{content:\\\"\\\\10f636\\\"}.fad.fa-traffic-light:after{content:\\\"\\\\10f637\\\"}.fad.fa-traffic-light-go:after{content:\\\"\\\\10f638\\\"}.fad.fa-traffic-light-slow:after{content:\\\"\\\\10f639\\\"}.fad.fa-traffic-light-stop:after{content:\\\"\\\\10f63a\\\"}.fad.fa-trailer:after{content:\\\"\\\\10f941\\\"}.fad.fa-train:after{content:\\\"\\\\10f238\\\"}.fad.fa-tram:after{content:\\\"\\\\10f7da\\\"}.fad.fa-transgender:after{content:\\\"\\\\10f224\\\"}.fad.fa-transgender-alt:after{content:\\\"\\\\10f225\\\"}.fad.fa-transporter:after{content:\\\"\\\\10f942\\\"}.fad.fa-transporter-1:after{content:\\\"\\\\10f943\\\"}.fad.fa-transporter-2:after{content:\\\"\\\\10f944\\\"}.fad.fa-transporter-3:after{content:\\\"\\\\10f945\\\"}.fad.fa-transporter-empty:after{content:\\\"\\\\10f946\\\"}.fad.fa-trash:after{content:\\\"\\\\10f1f8\\\"}.fad.fa-trash-alt:after{content:\\\"\\\\10f2ed\\\"}.fad.fa-trash-restore:after{content:\\\"\\\\10f829\\\"}.fad.fa-trash-restore-alt:after{content:\\\"\\\\10f82a\\\"}.fad.fa-trash-undo:after{content:\\\"\\\\10f895\\\"}.fad.fa-trash-undo-alt:after{content:\\\"\\\\10f896\\\"}.fad.fa-treasure-chest:after{content:\\\"\\\\10f723\\\"}.fad.fa-tree:after{content:\\\"\\\\10f1bb\\\"}.fad.fa-tree-alt:after{content:\\\"\\\\10f400\\\"}.fad.fa-tree-christmas:after{content:\\\"\\\\10f7db\\\"}.fad.fa-tree-decorated:after{content:\\\"\\\\10f7dc\\\"}.fad.fa-tree-large:after{content:\\\"\\\\10f7dd\\\"}.fad.fa-tree-palm:after{content:\\\"\\\\10f82b\\\"}.fad.fa-trees:after{content:\\\"\\\\10f724\\\"}.fad.fa-triangle:after{content:\\\"\\\\10f2ec\\\"}.fad.fa-triangle-music:after{content:\\\"\\\\10f8e2\\\"}.fad.fa-trophy:after{content:\\\"\\\\10f091\\\"}.fad.fa-trophy-alt:after{content:\\\"\\\\10f2eb\\\"}.fad.fa-truck:after{content:\\\"\\\\10f0d1\\\"}.fad.fa-truck-container:after{content:\\\"\\\\10f4dc\\\"}.fad.fa-truck-couch:after{content:\\\"\\\\10f4dd\\\"}.fad.fa-truck-loading:after{content:\\\"\\\\10f4de\\\"}.fad.fa-truck-monster:after{content:\\\"\\\\10f63b\\\"}.fad.fa-truck-moving:after{content:\\\"\\\\10f4df\\\"}.fad.fa-truck-pickup:after{content:\\\"\\\\10f63c\\\"}.fad.fa-truck-plow:after{content:\\\"\\\\10f7de\\\"}.fad.fa-truck-ramp:after{content:\\\"\\\\10f4e0\\\"}.fad.fa-trumpet:after{content:\\\"\\\\10f8e3\\\"}.fad.fa-tshirt:after{content:\\\"\\\\10f553\\\"}.fad.fa-tty:after{content:\\\"\\\\10f1e4\\\"}.fad.fa-turkey:after{content:\\\"\\\\10f725\\\"}.fad.fa-turntable:after{content:\\\"\\\\10f8e4\\\"}.fad.fa-turtle:after{content:\\\"\\\\10f726\\\"}.fad.fa-tv:after{content:\\\"\\\\10f26c\\\"}.fad.fa-tv-alt:after{content:\\\"\\\\10f8e5\\\"}.fad.fa-tv-music:after{content:\\\"\\\\10f8e6\\\"}.fad.fa-tv-retro:after{content:\\\"\\\\10f401\\\"}.fad.fa-typewriter:after{content:\\\"\\\\10f8e7\\\"}.fad.fa-ufo:after{content:\\\"\\\\10f947\\\"}.fad.fa-ufo-beam:after{content:\\\"\\\\10f948\\\"}.fad.fa-umbrella:after{content:\\\"\\\\10f0e9\\\"}.fad.fa-umbrella-beach:after{content:\\\"\\\\10f5ca\\\"}.fad.fa-underline:after{content:\\\"\\\\10f0cd\\\"}.fad.fa-undo:after{content:\\\"\\\\10f0e2\\\"}.fad.fa-undo-alt:after{content:\\\"\\\\10f2ea\\\"}.fad.fa-unicorn:after{content:\\\"\\\\10f727\\\"}.fad.fa-union:after{content:\\\"\\\\10f6a2\\\"}.fad.fa-universal-access:after{content:\\\"\\\\10f29a\\\"}.fad.fa-university:after{content:\\\"\\\\10f19c\\\"}.fad.fa-unlink:after{content:\\\"\\\\10f127\\\"}.fad.fa-unlock:after{content:\\\"\\\\10f09c\\\"}.fad.fa-unlock-alt:after{content:\\\"\\\\10f13e\\\"}.fad.fa-upload:after{content:\\\"\\\\10f093\\\"}.fad.fa-usb-drive:after{content:\\\"\\\\10f8e9\\\"}.fad.fa-usd-circle:after{content:\\\"\\\\10f2e8\\\"}.fad.fa-usd-square:after{content:\\\"\\\\10f2e9\\\"}.fad.fa-user:after{content:\\\"\\\\10f007\\\"}.fad.fa-user-alien:after{content:\\\"\\\\10f94a\\\"}.fad.fa-user-alt:after{content:\\\"\\\\10f406\\\"}.fad.fa-user-alt-slash:after{content:\\\"\\\\10f4fa\\\"}.fad.fa-user-astronaut:after{content:\\\"\\\\10f4fb\\\"}.fad.fa-user-chart:after{content:\\\"\\\\10f6a3\\\"}.fad.fa-user-check:after{content:\\\"\\\\10f4fc\\\"}.fad.fa-user-circle:after{content:\\\"\\\\10f2bd\\\"}.fad.fa-user-clock:after{content:\\\"\\\\10f4fd\\\"}.fad.fa-user-cog:after{content:\\\"\\\\10f4fe\\\"}.fad.fa-user-cowboy:after{content:\\\"\\\\10f8ea\\\"}.fad.fa-user-crown:after{content:\\\"\\\\10f6a4\\\"}.fad.fa-user-edit:after{content:\\\"\\\\10f4ff\\\"}.fad.fa-user-friends:after{content:\\\"\\\\10f500\\\"}.fad.fa-user-graduate:after{content:\\\"\\\\10f501\\\"}.fad.fa-user-hard-hat:after{content:\\\"\\\\10f82c\\\"}.fad.fa-user-headset:after{content:\\\"\\\\10f82d\\\"}.fad.fa-user-injured:after{content:\\\"\\\\10f728\\\"}.fad.fa-user-lock:after{content:\\\"\\\\10f502\\\"}.fad.fa-user-md:after{content:\\\"\\\\10f0f0\\\"}.fad.fa-user-md-chat:after{content:\\\"\\\\10f82e\\\"}.fad.fa-user-minus:after{content:\\\"\\\\10f503\\\"}.fad.fa-user-music:after{content:\\\"\\\\10f8eb\\\"}.fad.fa-user-ninja:after{content:\\\"\\\\10f504\\\"}.fad.fa-user-nurse:after{content:\\\"\\\\10f82f\\\"}.fad.fa-user-plus:after{content:\\\"\\\\10f234\\\"}.fad.fa-user-robot:after{content:\\\"\\\\10f94b\\\"}.fad.fa-user-secret:after{content:\\\"\\\\10f21b\\\"}.fad.fa-user-shield:after{content:\\\"\\\\10f505\\\"}.fad.fa-user-slash:after{content:\\\"\\\\10f506\\\"}.fad.fa-user-tag:after{content:\\\"\\\\10f507\\\"}.fad.fa-user-tie:after{content:\\\"\\\\10f508\\\"}.fad.fa-user-times:after{content:\\\"\\\\10f235\\\"}.fad.fa-user-unlock:after{content:\\\"\\\\10f958\\\"}.fad.fa-user-visor:after{content:\\\"\\\\10f94c\\\"}.fad.fa-users:after{content:\\\"\\\\10f0c0\\\"}.fad.fa-users-class:after{content:\\\"\\\\10f63d\\\"}.fad.fa-users-cog:after{content:\\\"\\\\10f509\\\"}.fad.fa-users-crown:after{content:\\\"\\\\10f6a5\\\"}.fad.fa-users-medical:after{content:\\\"\\\\10f830\\\"}.fad.fa-users-slash:after{content:\\\"\\\\10f973\\\"}.fad.fa-utensil-fork:after{content:\\\"\\\\10f2e3\\\"}.fad.fa-utensil-knife:after{content:\\\"\\\\10f2e4\\\"}.fad.fa-utensil-spoon:after{content:\\\"\\\\10f2e5\\\"}.fad.fa-utensils:after{content:\\\"\\\\10f2e7\\\"}.fad.fa-utensils-alt:after{content:\\\"\\\\10f2e6\\\"}.fad.fa-vacuum:after{content:\\\"\\\\10f94d\\\"}.fad.fa-vacuum-robot:after{content:\\\"\\\\10f94e\\\"}.fad.fa-value-absolute:after{content:\\\"\\\\10f6a6\\\"}.fad.fa-vector-square:after{content:\\\"\\\\10f5cb\\\"}.fad.fa-venus:after{content:\\\"\\\\10f221\\\"}.fad.fa-venus-double:after{content:\\\"\\\\10f226\\\"}.fad.fa-venus-mars:after{content:\\\"\\\\10f228\\\"}.fad.fa-vhs:after{content:\\\"\\\\10f8ec\\\"}.fad.fa-vial:after{content:\\\"\\\\10f492\\\"}.fad.fa-vials:after{content:\\\"\\\\10f493\\\"}.fad.fa-video:after{content:\\\"\\\\10f03d\\\"}.fad.fa-video-plus:after{content:\\\"\\\\10f4e1\\\"}.fad.fa-video-slash:after{content:\\\"\\\\10f4e2\\\"}.fad.fa-vihara:after{content:\\\"\\\\10f6a7\\\"}.fad.fa-violin:after{content:\\\"\\\\10f8ed\\\"}.fad.fa-virus:after{content:\\\"\\\\10f974\\\"}.fad.fa-virus-slash:after{content:\\\"\\\\10f975\\\"}.fad.fa-viruses:after{content:\\\"\\\\10f976\\\"}.fad.fa-voicemail:after{content:\\\"\\\\10f897\\\"}.fad.fa-volcano:after{content:\\\"\\\\10f770\\\"}.fad.fa-volleyball-ball:after{content:\\\"\\\\10f45f\\\"}.fad.fa-volume:after{content:\\\"\\\\10f6a8\\\"}.fad.fa-volume-down:after{content:\\\"\\\\10f027\\\"}.fad.fa-volume-mute:after{content:\\\"\\\\10f6a9\\\"}.fad.fa-volume-off:after{content:\\\"\\\\10f026\\\"}.fad.fa-volume-slash:after{content:\\\"\\\\10f2e2\\\"}.fad.fa-volume-up:after{content:\\\"\\\\10f028\\\"}.fad.fa-vote-nay:after{content:\\\"\\\\10f771\\\"}.fad.fa-vote-yea:after{content:\\\"\\\\10f772\\\"}.fad.fa-vr-cardboard:after{content:\\\"\\\\10f729\\\"}.fad.fa-wagon-covered:after{content:\\\"\\\\10f8ee\\\"}.fad.fa-walker:after{content:\\\"\\\\10f831\\\"}.fad.fa-walkie-talkie:after{content:\\\"\\\\10f8ef\\\"}.fad.fa-walking:after{content:\\\"\\\\10f554\\\"}.fad.fa-wallet:after{content:\\\"\\\\10f555\\\"}.fad.fa-wand:after{content:\\\"\\\\10f72a\\\"}.fad.fa-wand-magic:after{content:\\\"\\\\10f72b\\\"}.fad.fa-warehouse:after{content:\\\"\\\\10f494\\\"}.fad.fa-warehouse-alt:after{content:\\\"\\\\10f495\\\"}.fad.fa-washer:after{content:\\\"\\\\10f898\\\"}.fad.fa-watch:after{content:\\\"\\\\10f2e1\\\"}.fad.fa-watch-calculator:after{content:\\\"\\\\10f8f0\\\"}.fad.fa-watch-fitness:after{content:\\\"\\\\10f63e\\\"}.fad.fa-water:after{content:\\\"\\\\10f773\\\"}.fad.fa-water-lower:after{content:\\\"\\\\10f774\\\"}.fad.fa-water-rise:after{content:\\\"\\\\10f775\\\"}.fad.fa-wave-sine:after{content:\\\"\\\\10f899\\\"}.fad.fa-wave-square:after{content:\\\"\\\\10f83e\\\"}.fad.fa-wave-triangle:after{content:\\\"\\\\10f89a\\\"}.fad.fa-waveform:after{content:\\\"\\\\10f8f1\\\"}.fad.fa-waveform-path:after{content:\\\"\\\\10f8f2\\\"}.fad.fa-webcam:after{content:\\\"\\\\10f832\\\"}.fad.fa-webcam-slash:after{content:\\\"\\\\10f833\\\"}.fad.fa-weight:after{content:\\\"\\\\10f496\\\"}.fad.fa-weight-hanging:after{content:\\\"\\\\10f5cd\\\"}.fad.fa-whale:after{content:\\\"\\\\10f72c\\\"}.fad.fa-wheat:after{content:\\\"\\\\10f72d\\\"}.fad.fa-wheelchair:after{content:\\\"\\\\10f193\\\"}.fad.fa-whistle:after{content:\\\"\\\\10f460\\\"}.fad.fa-wifi:after{content:\\\"\\\\10f1eb\\\"}.fad.fa-wifi-1:after{content:\\\"\\\\10f6aa\\\"}.fad.fa-wifi-2:after{content:\\\"\\\\10f6ab\\\"}.fad.fa-wifi-slash:after{content:\\\"\\\\10f6ac\\\"}.fad.fa-wind:after{content:\\\"\\\\10f72e\\\"}.fad.fa-wind-turbine:after{content:\\\"\\\\10f89b\\\"}.fad.fa-wind-warning:after{content:\\\"\\\\10f776\\\"}.fad.fa-window:after{content:\\\"\\\\10f40e\\\"}.fad.fa-window-alt:after{content:\\\"\\\\10f40f\\\"}.fad.fa-window-close:after{content:\\\"\\\\10f410\\\"}.fad.fa-window-frame:after{content:\\\"\\\\10f94f\\\"}.fad.fa-window-frame-open:after{content:\\\"\\\\10f950\\\"}.fad.fa-window-maximize:after{content:\\\"\\\\10f2d0\\\"}.fad.fa-window-minimize:after{content:\\\"\\\\10f2d1\\\"}.fad.fa-window-restore:after{content:\\\"\\\\10f2d2\\\"}.fad.fa-windsock:after{content:\\\"\\\\10f777\\\"}.fad.fa-wine-bottle:after{content:\\\"\\\\10f72f\\\"}.fad.fa-wine-glass:after{content:\\\"\\\\10f4e3\\\"}.fad.fa-wine-glass-alt:after{content:\\\"\\\\10f5ce\\\"}.fad.fa-won-sign:after{content:\\\"\\\\10f159\\\"}.fad.fa-wreath:after{content:\\\"\\\\10f7e2\\\"}.fad.fa-wrench:after{content:\\\"\\\\10f0ad\\\"}.fad.fa-x-ray:after{content:\\\"\\\\10f497\\\"}.fad.fa-yen-sign:after{content:\\\"\\\\10f157\\\"}.fad.fa-yin-yang:after{content:\\\"\\\\10f6ad\\\"}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:300;font-display:block;src:url(/src/static/webfonts/fa-light-300.eot);src:url(/src/static/webfonts/fa-light-300.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-light-300.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-light-300.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-light-300.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-light-300.svg#fontawesome) format(\\\"svg\\\")}.fal{font-weight:300}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:400;font-display:block;src:url(/src/static/webfonts/fa-regular-400.eot);src:url(/src/static/webfonts/fa-regular-400.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-regular-400.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-regular-400.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-regular-400.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-regular-400.svg#fontawesome) format(\\\"svg\\\")}.fal,.far{font-family:\\\"Font Awesome 5 Pro\\\"}.far{font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:900;font-display:block;src:url(/src/static/webfonts/fa-solid-900.eot);src:url(/src/static/webfonts/fa-solid-900.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-solid-900.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-solid-900.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-solid-900.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-solid-900.svg#fontawesome) format(\\\"svg\\\")}.fa,.fas{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900}\",\"$ka-flex-pad: 1rem\\n\\nka-flex-row,\\nka-flex-col\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n  padding-left: $ka-flex-pad\\n  padding-right: $ka-flex-pad\\n\\nka-flex-row\\n  -webkit-box-direction: normal\\n  -webkit-box-orient: horizontal\\n  -webkit-flex-direction: row\\n  -moz-flex-direction: row\\n  -ms-flex-direction: row\\n  flex-direction: row\\n\\nka-flex-col\\n  -webkit-box-direction: normal\\n  -webkit-box-orient: vertical\\n  -webkit-flex-direction: column\\n  -moz-flex-direction: column\\n  -ms-flex-direction: column\\n  flex-direction: column\\n\\n  -webkit-align-content: flex-start\\n  -moz-align-content: flex-start\\n  -ms-flex-line-pack: start\\n  align-content: flex-start\\n  -webkit-box-pack: start\\n  -ms-flex-pack: start\\n  -webkit-justify-content: flex-start\\n  -moz-justify-content: flex-start\\n  justify-content: flex-start\\n\\n[ka-flex],\\nka-flex-row > ka-flex-col\\n  -webkit-box-flex: 1\\n  -webkit-flex: 1\\n  -moz-box-flex: 1\\n  -moz-flex: 1\\n  -ms-flex: 1\\n  flex: 1\\n\\nka-flex-row > ka-flex-col,\\nka-flex-col > ka-flex-row\\n  padding: 0\\n\\nka-flex-row > ka-flex-col > ka-flex-row\\n  width: 100%\\n\\nka-flex-row > [ka-flex],\\nka-flex-row > ka-flex-col\\n  margin-left: $ka-flex-pad/2\\n  margin-right: $ka-flex-pad/2\\n  &:first-of-type\\n    margin-left: 0\\n  &:last-of-type\\n    margin-right: 0\\nka-flex-row.no-padding > [ka-flex],\\nka-flex-row.no-padding > ka-flex-col\\n  margin-left: 0\\n  margin-right: 0\\n\\nka-flex-row.no-padding,\\nka-flex-col.no-padding\\n  padding: 0\\n\\n\\nka-flex-row > ka-tabs[ka-flex]\\n  margin-left: 0\\n  margin-right: 0\\n\\n/**********************\\n  KA-CONTROL VARIATIONS\\n **********************/\\n\\nka-flex-row > ka-control:first-of-type\\n  margin-left: 0\\nka-flex-row > ka-control:last-of-type\\n  margin-right: 0\\nka-flex-col > ka-control\\n  margin-left: 0\\n  margin-right: 0\\n\\n@import 'ka-grid'\",\"\\n@media (min-width:0) {\\n  [ka-flex*=\\\"10\\\"],\\n  [ka-flex*=\\\"10-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xs\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"10\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"10\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"10-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"10-xs\\\"] {\\n    width: 10%;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-xs\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15\\\"],\\n  [ka-flex*=\\\"15-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xs\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-xs\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20\\\"],\\n  [ka-flex*=\\\"20-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xs\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-xs\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25\\\"],\\n  [ka-flex*=\\\"25-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xs\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-xs\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30\\\"],\\n  [ka-flex*=\\\"30-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xs\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-xs\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33\\\"],\\n  [ka-flex*=\\\"33-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xs\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-xs\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35\\\"],\\n  [ka-flex*=\\\"35-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xs\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-xs\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40\\\"],\\n  [ka-flex*=\\\"40-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xs\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-xs\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45\\\"],\\n  [ka-flex*=\\\"45-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xs\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-xs\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50\\\"],\\n  [ka-flex*=\\\"50-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xs\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-xs\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55\\\"],\\n  [ka-flex*=\\\"55-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xs\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-xs\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60\\\"],\\n  [ka-flex*=\\\"60-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xs\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-xs\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65\\\"],\\n  [ka-flex*=\\\"65-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xs\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-xs\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66\\\"],\\n  [ka-flex*=\\\"66-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xs\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-xs\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70\\\"],\\n  [ka-flex*=\\\"70-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xs\\\"] {\\n    height: calc(70% - $ka-flex-pad*2);\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-xs\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75\\\"],\\n  [ka-flex*=\\\"75-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - $ka-flex-pad*2);\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xs\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-xs\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80\\\"],\\n  [ka-flex*=\\\"80-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xs\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-xs\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85\\\"],\\n  [ka-flex*=\\\"85-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xs\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-xs\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90\\\"],\\n  [ka-flex*=\\\"90-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xs\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-xs\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95\\\"],\\n  [ka-flex*=\\\"95-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xs\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-xs\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100\\\"],\\n  [ka-flex*=\\\"100-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xs\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:34em) {\\n  [ka-flex*=\\\"10-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-sm\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-sm\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-sm\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-sm\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-sm\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-sm\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-sm\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-sm\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-sm\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-sm\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-sm\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-sm\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-sm\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-sm\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-sm\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-sm\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-sm\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-sm\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-sm\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-sm\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-sm\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-sm\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-sm\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-sm\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-sm\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-sm\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-sm\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-sm\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-sm\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-sm\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-sm\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-sm\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-sm\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-sm\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-sm\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-sm\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-sm\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-sm\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-sm\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-sm\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-sm\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:48em) {\\n  [ka-flex*=\\\"10-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-md\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-md\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-md\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-md\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-md\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-md\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-md\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-md\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-md\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-md\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-md\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-md\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-md\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-md\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-md\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-md\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-md\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-md\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-md\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-md\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-md\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-md\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-md\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-md\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-md\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-md\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-md\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-md\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-md\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-md\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-md\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-md\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-md\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-md\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-md\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-md\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-md\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-md\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-md\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-md\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-md\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:62em) {\\n  [ka-flex*=\\\"10-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-lg\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-lg\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-lg\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-lg\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-lg\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-lg\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-lg\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-lg\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-lg\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-lg\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-lg\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-lg\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-lg\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-lg\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-lg\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-lg\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-lg\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-lg\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-lg\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-lg\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-lg\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-lg\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-lg\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-lg\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-lg\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-lg\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-lg\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-lg\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-lg\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-lg\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-lg\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-lg\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-lg\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-lg\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-lg\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-lg\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-lg\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-lg\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-lg\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-lg\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-lg\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:75em) {\\n  [ka-flex*=\\\"10-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-xl\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-xl\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-xl\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-xl\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-xl\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-xl\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-xl\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-xl\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-xl\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-xl\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-xl\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-xl\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-xl\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-xl\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-xl\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-xl\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-xl\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-xl\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-xl\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-xl\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-xl\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-xl\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-xl\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-xl\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-xl\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-xl\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-xl\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-xl\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-xl\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-xl\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-xl\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-xl\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-xl\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-xl\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-xl\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-xl\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-xl\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-xl\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-xl\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-xl\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-xl\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\",\"ka-navbar\\n  +flexbox\\n  padding: 0\\n  height: 5rem\\n  color: #fff\\n  background-color: $primary-color\\n\\n  .ka-navbar-menu-button\\n    position: relative\\n    display: block\\n\\n    width: 5rem\\n    height: 5rem\\n    text-align: center\\n    cursor: pointer\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      position: absolute\\n      right: 0\\n      top: 1rem\\n      bottom: 1rem\\n      width: 1px\\n      background-color: #ffffff99\\n    .material-icons, i[class*=\\\"fa\\\"]\\n      font-size: 5rem/2\\n      line-height:  5rem\\n\\n  .ka-navbar-menu\\n    display: block\\n    position: absolute\\n    top: 5rem/10\\n    left: 0\\n    z-index: 50\\n    min-width: 20rem\\n    background: #f9f9f9\\n    transform: translateX(-110%)\\n    transition: all 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    +shadow1\\n    &.visible\\n      transform: translateX(0%)\\n    .ka-navbar-menu-label\\n      padding: 0 1rem\\n      border-bottom: 1px solid #e0e0e0\\n      font-size: 1.2rem\\n      font-weight: 700\\n      line-height: 4rem\\n      text-transform: uppercase\\n      color: $primary-color\\n\\n    .ka-navbar-menu-item\\n      display: block\\n      border-bottom: 1px solid #e0e0e0\\n      padding: 0 1rem\\n      line-height: 4rem\\n      font-size: 1.4rem\\n      color: rgba($text-color, 0.7)\\n      text-decoration: none\\n      transition: all 0.5s ease-out\\n      &:hover\\n        color: $primary-color\\n        background-color: #f0f0f0\\n      &.emphasis\\n        color: $primary-color\\n      .material-icons, i[class*=\\\"fa\\\"]\\n        width: 5rem - 5rem/10\\n        font-size: 2rem\\n        line-height: 5rem - 5rem/10\\n        text-align: center\\n        vertical-align: middle\\n  h1\\n    display: block\\n    margin: 0\\n    padding: 0 1rem\\n    font-size: 1.8rem\\n    font-weight: 300\\n    line-height: 5rem\\n    color: #ffffff\\n\",\"=flexbox\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n\\n=shadow1\\n  box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\",\"ka-input, md-input\\n  display: block\\n  box-sizing: border-box\\n  position: relative\\n  margin: 1.5rem 0\\n  width: 100%\\n  height: 3rem\\n  color: $text-color\\n  background-color: #ffffff\\n  box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n  transition: all 0.5s\\n\\n  &.type-editor\\n    height: auto\\n\\n  &.type-textarea\\n    height: 3rem*3\\n    > textarea\\n      padding: 7px auto 7px 7px\\n      height: 3rem*3\\n      resize: none\\n  &.type-checklist\\n    height: auto\\n    background-color: transparent\\n    box-shadow: none !important\\n\\n  &.error\\n    background-color: #ffffff\\n    box-shadow: inset 0 -1px 0 0 red\\n    > label\\n      color: red\\n  &.focus, &.focus:hover\\n    box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n  &:hover\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n\\n  &.readonly, &.readonly.focus, &.readonly:hover\\n    background-color: transparent\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.1)\\n\\n  &.type-checkbox,\\n  &.type-checkbox.error,\\n  &.type-checkbox.focus,\\n  &.type-checkbox.focus:hover,\\n  &.type-checkbox:hover,\\n  &.type-checkbox.readonly,\\n  &.type-checkbox.readonly.focus,\\n  &.type-checkbox.readonly:hover\\n    box-shadow: none\\n    background-color: transparent\\n  &.type-checkbox > .ka-input-checkbox-description\\n    display: inline-block\\n    position: absolute\\n    left: 0\\n    overflow: hidden\\n    padding-left: 21px\\n    max-width: 100%\\n    line-height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    text-overflow: ellipsis\\n    white-space: nowrap\\n    cursor: pointer\\n  &.type-checkbox.readonly\\n    > input, > .ka-input-checkbox-description\\n      opacity: 0.7\\n  &.type-checkbox.expand\\n    height: fit-content\\n    > .ka-input-checkbox-description\\n      position: static\\n      white-space: normal\\n      line-height: 2rem\\n      margin-top: 6px\\n\\n\\n  > label\\n    display: block\\n    position: absolute\\n    width: 100%\\n    height: 1.5rem\\n    overflow: hidden\\n    line-height: 1.5rem\\n    font-size: 12px\\n    color: rgba($primary-color, 0.7)\\n    white-space: nowrap\\n    text-overflow: ellipsis\\n    transform: translateY(-1.5rem)\\n  &.show-label-overflow > label\\n    overflow: visible\\n  &.no-label > label\\n    display: none\\n  > .ka-input-error\\n    display: block\\n    position: absolute\\n    bottom: 0\\n    width: 100%\\n    height: 1.5rem\\n    line-height: 1.5rem\\n    font-size: 11px\\n    color: rgba(red, 0.7)\\n    transform: translateY(1.5rem)\\n    span\\n      &::after\\n        content: \\\" - \\\"\\n      &:last-of-type::after\\n        content: \\\"\\\"\\n  > .ka-input-description\\n    display: block\\n    position: absolute\\n    bottom: 0\\n    width: 100%\\n    height: 1.5rem\\n    line-height: 1.5rem\\n    font-size: 11px\\n    color: rgba($text-color, 0.5)\\n    text-align: right\\n    transform: translateY(1.5rem)\\n    transition: all 0.2s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    span\\n      &::after\\n        content: \\\" - \\\"\\n      &:last-of-type::after\\n        content: \\\"\\\"\\n  &.readonly > .ka-input-description\\n    opacity: 0\\n  > .ka-input-error + .ka-input-description\\n    opacity: 0\\n  &.required label::after\\n    content: \\\" *\\\"\\n\\n  > .ka-input[type], > .ka-input-combo .ka-input, > textarea\\n    display: block\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    position: absolute\\n    box-sizing: border-box\\n    margin: 0\\n    border: 0 !important\\n    outline: none\\n    padding: 0\\n    padding-left: 7px\\n    width: 100%\\n    height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    background-color: transparent\\n    transition: all 0.2s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    &:focus\\n      border: 0 !important\\n    &.pad1\\n      padding-right: 1*3rem\\n    &.pad2\\n      padding-right: 2*3rem\\n    &.pad3\\n      padding-right: 3*3rem\\n  > .ka-input[type], > .ka-input-combo .ka-input\\n    &[type=\\\"checkbox\\\"]\\n      display: block\\n      margin-top: 8px\\n      width: 14px\\n      height: 14px\\n      border-radius: 1px\\n      box-shadow: inset 0 0 0 1px $text-color\\n      &:checked\\n        background-color: $primary-color\\n        box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n    &[type=\\\"file\\\"]\\n      opacity: 0\\n      z-index: 2\\n      &[readonly]\\n        display: none\\n      & + [type=\\\"text\\\"]\\n\\n  &.error > .ka-input[type=\\\"checkbox\\\"]\\n    box-shadow: inset 0 0 0 1px red\\n    &:checked\\n      box-shadow: inset 0 0 0 1px red, inset 0 0 0 3px #fff\\n\\n  &.readonly > .ka-input[type], &.readonly > .ka-input-combo .ka-input, &.readonly > textarea\\n    padding-left: 0\\n    &.pad1, &.pad2, &.pad3\\n      padding-right: 0\\n  &.readonly button\\n    display: none\\n\\n  &.type-file.readonly > .ka-input[type=\\\"text\\\"],\\n  &.type-combo.readonly > .ka-input-combo > .ka-input[type=\\\"text\\\"]\\n    padding-right: 3rem\\n  &.readonly button.download,\\n  &.readonly button.download:focus,\\n  &.readonly button.open,\\n  &.readonly button.open:focus\\n    display: inline-block\\n    right: 0\\n\\n  .ka-input-combo\\n    display: block\\n    position: absolute\\n    top: 0\\n    width: 100%\\n    > .ka-input\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n  .ka-input-editor\\n    height: 200px\\n\\n  .ka-input-button, .ka-input-button:focus\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    position: absolute\\n    display: inline-block\\n    top: 0\\n    right: 0\\n    margin: 0\\n    outline: 0\\n    border: 0\\n    border-left: 1px solid #e0e0e0\\n    border-radius: 0\\n    padding: 0\\n    width: 3rem\\n    height: 3rem\\n    z-index: 2\\n    font-size: 14px\\n    line-height: 3rem\\n    text-align: center\\n    background: transparent\\n    .material-icons, i[class*=\\\"fa\\\"]\\n      font-size: inherit\\n      line-height: inherit\\n      color: inherit\\n    &:hover\\n      color: $primary-color\\n    &.hide\\n      display: block !important\\n    &.open, &.add, &.show, &.hide, &.download, &.dropdown\\n      right: 3rem\\n  \\n  &.no-clear button.open, &.no-clear button.open:focus,\\n  &.no-clear button.add, &.no-clear button.add:focus,\\n  &.no-clear button.show, &.no-clear button.show:focus,\\n  &.no-clear button.hide, &.no-clear button.hide:focus,\\n  &.no-clear button.download, &.no-clear button.download:focus,\\n  &.no-clear button.dropdown, &.no-clear button.dropdown:focus\\n    right: 0\\n\\n.ka-input-backdrop\\n  position: fixed\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  z-index: 1999\\n\\n.ka-input-combo .ka-input-combo-drawer,\\n.ka-input-backdrop .ka-input-combo-drawer\\n  display: block\\n  position: absolute\\n  top: 3rem\\n  z-index: 2000\\n  width: 100%\\n  background-color: #fff\\n  box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\\n  .ka-input\\n    display: block\\n    position: static\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    box-sizing: border-box\\n    margin: 0\\n    border: 0 !important\\n    outline: none\\n    padding: 0 10px\\n    width: 100%\\n    height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    background-color: transparent\\n    box-shadow: none !important\\n    &:focus\\n      border: 0 !important\\n.ka-input-combo .ka-input-combo-drawer ul,\\n.ka-input-backdrop .ka-input-combo-drawer ul,\\n.ka-input-checklist ul\\n    margin: 0\\n    padding: 0\\n    width: 100%\\n    max-height: 250px\\n    overflow: hidden\\n    overflow-y: auto\\n    list-style: none\\n    li\\n      position: relative\\n      margin: 0\\n      padding: 0 10px\\n      overflow: hidden\\n      font-size: 14px\\n      line-height: 3rem\\n      cursor: pointer\\n      color: $text-color\\n      white-space: nowrap\\n      text-overflow: ellipsis\\n      &:hover\\n        background-color: rgba($primary-color, 0.1)\\n      &.selected\\n        color: $primary-color\\n    &.multiple li\\n      padding-left: 30px\\n      &::before\\n        content: \\\" \\\"\\n        display: block\\n        position: absolute\\n        top: 8px\\n        left: 8px\\n        width: 14px\\n        height: 14px\\n        border-radius: 1px\\n        //border-radius: 50%\\n        //background-color: #e0e0e0\\n        box-shadow: inset 0 0 0 1px $text-color\\n      &.selected::before\\n        background-color: $primary-color\\n        box-shadow: inset 0 0 0 1px $primary-color, inset 0 0 0 3px #fff\\n.ka-input-checklist ul\\n  li\\n    &:hover\\n      background-color: transparent\\n    &.selected\\n        color: $text-color\\n  &.multiple li\\n     &.selected::before\\n       box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n\\n.ck.ck-content\\n  h1, h2, h3, h4, h5, p, ul, ol, ul ul, ul ol, ol ol, ol ul, blockquote, table, div\\n    margin: 0\\n    padding: 0\\n    border: 0\\n    border-radius: 0\\n    font-size: 14px\\n    line-height: 1.6\\n    color: $text-color\\n    background: none\\n    box-shadow: none\\n    transform: none\\n    &:before, &:after\\n      display: none\\n      content: none\\n  h1\\n    margin: 35px 10px 20px\\n    font-size: 24px\\n    font-weight: bold\\n  h2\\n    margin: 25px 10px 15px\\n    font-size: 22px\\n    font-weight: bold\\n  h3\\n    margin: 15px 10px 10px\\n    font-size: 20px\\n    font-weight: bold\\n  h4\\n    margin: 15px 10px 10px\\n    font-size: 18px\\n    font-weight: bold\\n  h5\\n    margin: 15px 10px 10px\\n    font-size: 16px\\n    font-weight: bold\\n  p\\n    margin: 10px\\n  ul, ul ul, ul ol, ol, ol ul, ol ol\\n    margin: 10px\\n    padding-left: 15px\\n    li\\n      margin: 0\\n      padding: 0\\n  blockquote\\n    margin: 10px\\n    padding: 0 10px\\n    overflow: hidden\\n    font-style: italic\\n    border-left: 5px solid #ccc\\n\",\".ka-button\\n  display: inline-block\\n  appearance: none\\n  -moz-appearance: none\\n  -webkit-appearance: none\\n  outline: none\\n  cursor: pointer\\n  margin: 10px\\n  border: 0\\n  border-radius: 3px\\n  padding: 0 10px\\n  height: 3rem\\n  font-size: 1.4rem\\n  font-weight: bold\\n  line-height: 3rem\\n  color: #fff\\n  text-align: center\\n  text-decoration: none\\n  background-color: $primary-color\\n  box-shadow: 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n  transition: all 0.5s\\n\\n  &.icon\\n    padding: 0\\n    width: 3rem\\n    i\\n      line-height: inherit\\n  &.round\\n    padding: 0\\n    width: 3rem\\n    border-radius: 50%\\n    overflow: hidden\\n  &.flat\\n    box-shadow: none !important\\n\\n  &:disabled\\n    background-color: #c0c0c0\\n  &:hover:enabled\\n    color: #fff\\n    background-color: darken($primary-color, 7%)\\n    box-shadow: none\\n    transform: translateY(3px)\\n  &.accent\\n    background-color: $accent-color\\n  &.accent:hover:enabled\\n    background-color: darken($accent-color, 7%)\\n  &.inverted\\n    color: $primary-color\\n    background-color: #ffffff\\n  &.inverted:hover:enabled\\n    color: $primary-color\\n    background-color: darken(#ffffff, 7%)\\n  &.inverted-accent\\n    color: $accent-color\\n    background-color: #ffffff\\n  &.inverted-accent:hover:enabled\\n    color: $accent-color\\n    background-color: darken(#ffffff, 7%)\\n  \\n  > i\\n    line-height: inherit\\n    vertical-align: middle\\n\\na.ka-button\\n  &:hover\\n    color: #fff\\n    background-color: darken($primary-color, 7%)\\n    box-shadow: none\\n    transform: translateY(3px)\\n  &.accent:hover\\n    background-color: darken($accent-color, 7%)\\n  &.inverted:hover\\n    color: $primary-color\\n    background-color: darken(#ffffff, 7%)\\n  &.inverted-accent:hover\\n    color: $accent-color\\n    background-color: darken(#ffffff, 7%)\",\"ka-button\\n  display: inline-block\\n  position: relative\\n  align-items: flex-start\\n\\n  outline: none\\n  cursor: pointer\\n\\n  margin: 10px\\n  border: 0\\n  border-radius: 3px\\n  padding: 0 10px\\n  height: 3rem\\n  //overflow: hidden\\n\\n  font-size: 1.4rem\\n  font-weight: bold\\n  line-height: 3rem\\n  text-align: center\\n  text-decoration: none\\n  \\n  box-shadow: 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n  transition: all 0.5s\\n\\n  &.icon\\n    padding: 0\\n    width: 3rem\\n  &.round\\n    padding: 0\\n    width: 3rem\\n    border-radius: 50%\\n    overflow: hidden\\n  &.active\\n    box-shadow: none\\n    transform: translateY(3px)\\n\\n  &:not(.disabled)\\n    color: #fff\\n    background-color: $primary-color\\n\\n    &.flat\\n      box-shadow: none\\n    &:hover\\n      color: #fff\\n      background-color: darken($primary-color, 7%)\\n\\n    &.accent\\n      color: #fff\\n      background-color: $accent-color\\n      &.flat\\n        box-shadow: none\\n      &:hover\\n        color: #fff\\n        background-color: darken($accent-color, 7%)\\n      .busy\\n        background-color: $accent-color\\n        &:before, &:after\\n          background-color: #fff\\n    &.secondary\\n      color: #fff\\n      background-color: $secondary-color\\n      &.flat\\n        box-shadow: none\\n      &:hover\\n        color: #fff\\n        background-color: darken($secondary-color, 7%)\\n      .busy\\n        background-color: $secondary-color\\n        &:before, &:after\\n          background-color: #fff\\n\\n    &.inverted\\n      color: $primary-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($primary-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($primary-color, 0.7)\\n      &:hover\\n        color: $primary-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $primary-color\\n    &.inverted.accent\\n      color: $accent-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($accent-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($accent-color, 0.7)\\n      &:hover\\n        color: $accent-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $accent-color\\n    &.inverted.secondary\\n      color: $secondary-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($secondary-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($secondary-color, 0.7)\\n      &:hover\\n        color: $secondary-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $secondary-color\\n\\n  &.disabled\\n    color: #c0c0c0\\n    background-color: rgba(#c0c0c0, 0.3)\\n    &.flat\\n      box-shadow: none\\n  \\n  > i\\n    line-height: inherit\\n    vertical-align: middle\\n  \\n  .busy\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    background-color: $primary-color\\n    &:before, &:after\\n      content: ''\\n      position: absolute\\n      border-radius: 50%\\n      width: 1rem\\n      height: 1rem\\n      top: 50%\\n      background-color: #fff\\n      transform: translate(-50%, -50%)\\n      will-change: left, transform\\n    &:after\\n      animation: left-to-right 0.5s linear infinite\\n    &:before\\n      animation: right-to-left 0.5s linear infinite\\n    \\n\\n@keyframes left-to-right\\n  0%\\n    opacity: 0.5\\n    left: calc(50% - 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n  50%\\n    opacity: 1\\n    left: 50%\\n    transform: translate(-50%, -50%) scale(1.5)\\n  100%\\n    opacity: 0.5\\n    left: calc(50% + 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n\\n@keyframes right-to-left\\n  0%\\n    opacity: 0.5\\n    left: calc(50% + 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n  50%\\n    opacity: 0\\n    left: 50%\\n    transform: translate(-50%, -50%) scale(0.5)\\n  100%\\n    opacity: 0.5\\n    left: calc(50% - 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n    \",\".ka-toast\\n  position: fixed\\n  bottom: 0\\n  left: 0\\n  right: 0\\n  z-index: 2000\\n  padding: 10px\\n  font-size: 1.3rem\\n  text-align: center\\n  background-color: white\\n  box-shadow: 0 0 10px rgba(#000, 0.1), 0 -10px 10px -10px rgba(#000, 0.1)\\n\\n  &.ka-toast-error\\n    color: #ffffff\\n    background-color: $error-color\\n  &.ka-toast-success\\n    color: #ffffff\\n    background-color: $success-color\\n  &.ka-toast-accent\\n    color: #ffffff\\n    background-color: $accent-color\\n  &.ka-toast-primary\\n    color: #ffffff\\n    background-color: $primary-color\\n\",\"ka-table,\\n.ka-table\\n  display: block\\n  position: relative\\n  max-width: 100%\\n  background-color: #ffffff\\n  &:not(.full-height)\\n    box-shadow: 0 0 0 1px #e0e0e0\\n  .ka-toolbar\\n    display: flex\\n    height: 4rem\\n    font-size: 12px\\n    line-height: 4rem\\n    color: #606060\\n    box-shadow: inset 0 -1px 0 #e0e0e0\\n    .ka-navigation\\n      display: flex\\n      .ka-position\\n        padding: 0 10px\\n        min-width: 100px\\n        text-align: center\\n        cursor: pointer\\n\\n    .ka-tools-left\\n      flex: 1\\n      display: flex\\n      justify-content: flex-start\\n    .ka-tools-right\\n      flex: 1\\n      display: flex\\n      justify-content: flex-end\\n  .ka-wrapper\\n    overflow: auto\\n  .ka-toolbar+.ka-wrapper\\n    //UNUSED?// border-top: 0\\n  &.full-height .ka-wrapper\\n    position: relative // needed to make tr .floater work\\n    height: calc(100% - 4rem)\\n\\nka-table,\\n.ka-table,\\ntable.ka-table-like\\n  &.no-wrap\\n    th, td\\n      white-space: nowrap\\n  .ka-table-button\\n    display: inline-block\\n    appearance: none\\n    -webkit-appearance: none\\n    outline: none\\n    cursor: pointer\\n    margin: 0\\n    border: 0\\n    border-left: 1px solid #e0e0e0\\n    border-right: 1px solid #e0e0e0\\n    padding: 0\\n    width: 4rem\\n    height: 4rem\\n    line-height: 4rem\\n    color: rgba($text-color, 0.5)\\n    vertical-align: top\\n    background: transparent\\n    box-shadow: none\\n    transition: all 0.5s\\n    &+.ka-table-button\\n      border-left: 0\\n    &:not(.disabled):hover\\n      color: rgba($text-color, 1)\\n      background-color: rgba($primary-color, 0.05)\\n    &.primary:not(.disabled)\\n      color: rgba($primary-color, 0.7)\\n    &.primary:not(.disabled):hover\\n      color: rgba($primary-color, 1)\\n    &:first-of-type\\n      border-left: 0\\n    &:last-of-type\\n      border-right: 0\\n\\n    &:focus\\n      background-color: inherit\\n    &.disabled\\n      color: #e0e0e0\\n    &:before\\n      font-size: 20px\\n    i\\n      line-height: inherit\\n      color: inherit\\n\\n    &.filters\\n      &.active\\n        color: $accent-color\\n      &+.reset\\n        margin-left: -2rem\\n        width: 2rem\\n        height: 2rem\\n        line-height: 2rem\\n        i\\n          font-size: 1rem\\n        &:hover\\n          color: $accent-color\\n          background: none\\n\\nka-table .ka-wrapper > table,\\n.ka-table .ka-wrapper > table,\\ntable.ka-table-like\\n  display: table\\n  margin: 0\\n  border: 0\\n  border-collapse: collapse\\n  border-spacing: 0\\n  width: 100%\\n  overflow: hidden\\n  th, td\\n    padding: 1rem\\n    font-size: 14px\\n    line-height: 2rem\\n    color: $text-color\\n    text-align: left\\n    a\\n      cursor: pointer\\n  thead\\n    border-bottom: 1px solid #e0e0e0\\n    th\\n      position: relative\\n      vertical-align: middle\\n      white-space: nowrap\\n      padding-right: 30px\\n      .ka-sort-button\\n        position: absolute\\n        margin-left: 5px\\n        transition: all 0.5s\\n        color: rgba($text-color, 0.5)\\n        text-decoration: none\\n        i\\n          line-height: inherit\\n          transform: rotateX(180deg)\\n        &:hover\\n          color: rgba($text-color, 1)\\n        &.sort-asc i\\n          color: $accent-color\\n        &.sort-desc i\\n          color: $accent-color\\n          transform: rotateX(0deg)\\n        &:after\\n          position: absolute\\n          top: -5px\\n          right: -5px\\n          border-radius: 50%\\n          width: 1.3rem\\n          height: 1.3rem\\n          line-height: 1.3rem\\n          font-size: 1rem\\n          color: #ffffff\\n          text-align: center\\n          background-color: $accent-color\\n        &.sort-0:after\\n        &.sort-1:after\\n          content: \\\"1\\\"\\n        &.sort-2:after\\n          content: \\\"2\\\"\\n        &.sort-3:after\\n          content: \\\"3\\\"\\n        &.sort-4:after\\n          content: \\\"4\\\"\\n        &.sort-5:after\\n          content: \\\"5\\\"\\n  tbody\\n    tr\\n      border-bottom: 1px solid #f4f4f4\\n      background-color: #fcfcfc\\n      &:nth-child(even)\\n        background-color: #f8f8f8\\n      &:hover, &:nth-child(even):hover\\n        background-color: rgba($accent-color, 0.05)\\n    td\\n      vertical-align: top\\n      &.ka-tr-tools:first-of-type\\n        text-align: left\\n      &.ka-tr-tools:last-of-type\\n        text-align: right\\n      &.ka-tr-tools\\n        padding: 0\\n        white-space: nowrap\\n        .ka-table-button, .ka-table-button:hover\\n          display: inline-block\\n          background: transparent\\n        &:first-of-type .ka-table-button,\\n        &:first-of-type .ka-table-button:hover\\n          float: left\\n        &:after\\n          content: \\\" \\\"\\n          display: block\\n          width: 100%\\n        .floater.float\\n          +flexbox\\n          align-content: center\\n          position: absolute\\n          right: 0\\n          background: #fff\\n          background: linear-gradient(180deg, rgba(#fff, 0) 0%, rgba(#fff, 1) 25%, rgba(#fff, 1) 75%, rgba(#fff, 0) 100%)\\n          box-shadow: -5px 0 5px -5px rgba(#000, 0.25)\\n      small\\n        color: rgba($text-color, 0.7)\\n\\n.ka-table-options\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  opacity: 0\\n  justify-content: flex-start\\n  position: absolute\\n  left: 50%\\n  padding: 2rem\\n  width: 26rem\\n  z-index: 97\\n  background-color: #ffffff\\n  +shadow1\\n  transform: translateX(-50%) translateY(50px)\\n  transition: transform 0.5s, opacity 0.5s\\n  &.open\\n    opacity: 1\\n    transform: translateX(-50%) translateY(0px)\\n  &.hidden\\n    display: none\\n  ka-input\\n    margin: 15px 10px 0\\n    -webkit-box-flex: 1\\n    -webkit-flex: 1\\n    -moz-box-flex: 1\\n    -moz-flex: 1\\n    -ms-flex: 1\\n    flex: 1\\n\\n.ka-table-drawer\\n  position: absolute\\n  top: 0\\n  bottom: 0\\n  right: 0\\n  border-right: 1px solid #e0e0e0\\n  width: 90%\\n  max-width: 400px\\n  overflow-y: auto\\n  background-color: #ffffff\\n  box-shadow: -10px 0 10px -10px rgba(#000, 0.1)\\n  transform: translateX(100%)\\n  transition: transform 0.5s\\n  &.open\\n    transform: translateX(0)\\n  &.hidden\\n    display: none\\n  ka-input label\\n    overflow: visible\\n\\n  h2\\n    //margin: 0\\n    //padding: 0 1rem\\n    //font-size: 2rem\\n    //font-weight: 300\\n    //line-height: 5rem\\n    //color: #ffffff\\n    //background-color: $primary-color\\n  h3\\n    //margin: 0\\n    //border-top: 1px solid #e0e0e0\\n    //padding: 0 1rem\\n    //line-height: 4rem\\n    //font-size: 1.4rem\\n    //font-weight: 400\\n    //color: $primary-color\\n    //text-decoration: none\\n  h2+h3\\n    //border-top: 0\\n\\n  &.export ka-input\\n    margin: 0\\n  .ka-table-button\\n    //display: block\\n    //appearance: none\\n    //-moz-appearance: none\\n    //-webkit-appearance: none\\n    //outline: none\\n    //cursor: pointer\\n    //margin: 2rem auto\\n    //border: 0\\n    //border-radius: 3px\\n    //padding: 0 10px\\n    //height: 4rem\\n    //font-size: 14px\\n    //font-weight: bold\\n    //line-height: 4rem\\n    //color: #fff\\n    //text-align: center\\n    //background-color: $primary-color\\n    //transition: all 0.5s\\n    &:hover\\n      //background-color: darken($primary-color, 7%)\\n      //transform: translateY(3px)\\n.ka-table-backdrop\\n  position: fixed\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  z-index: 99\\n\\n// Progress Bar\\n.ka-table-progress\\n  position: absolute\\n  top: calc(4rem - 1px)\\n  left: 0\\n  right: 0\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  > div\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n.ka-table-dialog\\n  background: #f9f9f9\\n  ux-dialog-body\\n    padding: 0\\n    width: 70vw\\n    max-width: calc(100vw - 60px)\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\\n@media only screen and (max-width:575px)\\n\\n  ka-table .ka-wrapper > table, table.ka-table-like\\n    display: block\\n    max-width: 100%\\n    min-width: 300px\\n    width: 100%\\n    thead, tfoot\\n      display: block\\n    tbody\\n      display: block\\n      overflow-x: hidden\\n      overflow-y: visible\\n      width: 100%\\n    tr\\n      display: block\\n      position: relative\\n    tbody tr\\n      min-height: 4rem\\n    th\\n      display: none\\n    td\\n      display: block\\n      padding: 0 0 0.5rem 0.5rem\\n      font-size: 1.3rem\\n      line-height: 1.2\\n      &:first-of-type\\n        padding-top: 0.5rem\\n      &.ka-tr-tools\\n        height: 4rem\\n        position: absolute\\n        right: 0\\n        top: 0\\n        &:before\\n          display: none\\n    td[data-th]\\n      padding: 0 0 0.5rem 25vw\\n      &:before\\n        display: inline-block\\n        content: attr(data-th)\\n        margin-left: -25vw\\n        padding: 0 1rem\\n        width: 25vw\\n        font-weight: bold\\n        text-overflow: ellipsis\\n        overflow: hidden\\n        vertical-align: bottom\\n\\n      \",\".ka-resource-buttons\\n  position: absolute\\n  top: 0\\n  right: 0\\n  a\\n    position: relative\\n    display: inline-block\\n    outline: none\\n    cursor: pointer\\n    margin: 0\\n    border: 0\\n    //border-left: 1px solid rgba(#fff, 0.2)\\n    padding: 0\\n    width: 5rem\\n    height: 5rem\\n    line-height: 5rem\\n    color: rgba(#fff, 0.5)\\n    text-align: center\\n    transition: all 0.2s\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      position: absolute\\n      left: 0\\n      top: 0.5rem\\n      bottom: 0.5rem\\n      width: 1px\\n      background-color: rgba(#fff, 0.2)\\n    &:hover\\n      color: rgba(#fff, 1)\\n    &:first-of-type\\n      border-left: 0\\n    &:last-of-type\\n      border-right: 0\\n    &:focus\\n      background-color: inherit\\n    &:before\\n      font-size: 20px\\n    i\\n      line-height: inherit\\nux-dialog .ka-resource-buttons\\n  z-index: 2\\n  a\\n    color: rgba($primary-color, 0.5)\\n    &::after\\n      background-color: rgba($primary-color, 0.2)\\n    &:hover\\n      color: rgba($primary-color, 1)\\n\\n.ka-resource-progress\\n  position: absolute\\n  top: 5rem\\n  left: 0\\n  right: 0\\n  z-index: 2\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  > div\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n\\nux-dialog .ka-resource-progress\\n  top: auto\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\",\"ux-dialog-container\\n  display: flex\\n  &.active\\n    background-color: rgba(#000,0.2)\\n  >div\\n    margin: auto !important\\nux-dialog\\n  display: block\\n  position: relative\\n  border: 0\\n  border-radius: 3px\\n  padding: 0\\n  overflow: hidden\\n  background-color: #f9f9f9\\n  +shadow1\\n  &.viewModel\\n    width: calc(100vw - 80px)\\n  ux-dialog-header\\n    display: block\\n    border: 0\\n    padding: 0\\n    h2\\n      z-index: 1\\n      margin: 0\\n      font-size: 1.8rem\\n      &::after\\n        border-top-left-radius: 3px\\n        border-top-right-radius: 3px\\n  ux-dialog-body\\n    display: block\\n    padding: 2rem\\n    font-size: 1.4rem\\n    h2\\n      z-index: 1\\n  &.viewModel ux-dialog-body\\n    padding: 0\\n    \\n@media only screen and (max-width:400px)\\n  ux-dialog-container > div\\n    padding: 1rem !important\\n  ux-dialog\\n    &.viewModel\\n      width: calc(100vw - 20px)\",\"ka-tabs\\n  +flexbox\\n  align-content: flex-start\\n  > nav\\n    -webkit-box-flex: 1\\n    -webkit-flex: 1\\n    -moz-box-flex: 1\\n    -moz-flex: 1\\n    -ms-flex: 1\\n    flex: 1\\n    margin: 0\\n    border-bottom: 3px solid #e0e0e0\\n    height: 5rem\\n    background-color: #ffffff\\n    a\\n      position: relative\\n      cursor: pointer\\n      display: inline-block\\n      outline: none\\n      padding: 0 1rem\\n      line-height: 5rem\\n      font-size: 1.2rem\\n      color: rgba($text-color, 0.5)\\n      letter-spacing: 0.1rem\\n      text-decoration: none\\n      text-transform: uppercase\\n      transition: all 0.4s\\n      &::after\\n        content: \\\" \\\"\\n        opacity: 0\\n        display: block\\n        position: absolute\\n        bottom: -0px\\n        left: 50%\\n        z-index: 2\\n        width: 0%\\n        height: 3px\\n        background-color: $primary-color\\n        transform: translateX(-50%)\\n        transition: all 0.2s\\n      &:hover\\n        color: $primary-color\\n        &::after\\n          opacity: 1\\n          width: 100%\\n      &.active\\n        color: $primary-color\\n        &::after\\n          opacity: 1\\n          width: 100%\\n      .counter\\n        display: block\\n        position: absolute\\n        bottom: 0\\n        left: 50%\\n        z-index: 3\\n        margin-left: -0.75rem\\n        border-top-left-radius: 3px\\n        border-top-right-radius: 3px\\n        width: 1.5rem\\n        font-size: 1rem\\n        line-height: 1.5rem\\n        color: #ffffff\\n        text-align: center\\n        background-color: $primary-color\\n        box-shadow: 0 0 0 3px #fff\\n        &.errors\\n          background-color: $error-color\\n  > [ref=\\\"buttons\\\"]\\n    float: right\\n    margin-top: -5rem\\n    a\\n      display: inline-block\\n      outline: none\\n      cursor: pointer\\n      margin: 0\\n      border: 0\\n      border-left: 1px solid #e0e0e0\\n      border-bottom: 3px solid #e0e0e0\\n      padding: 0\\n      width: 5rem\\n      height: 5rem\\n      line-height: 5rem\\n      color: rgba($text-color, 0.5)\\n      text-align: center\\n      background: #fff\\n      transition: all 0.2s\\n      &:hover\\n        color: $primary-color\\n      &:first-of-type\\n        border-left: 0\\n      &:last-of-type\\n        border-right: 0\\n      &:focus\\n        background-color: inherit\\n      &:before\\n        font-size: 20px\\n      i\\n        line-height: inherit\\n  > [ref=\\\"contents\\\"]\\n    > ka-tab\\n      white-space: initial\",\".ka-tooltip\\n  pointer-events: none\\n  display: none\\n  position: absolute\\n  z-index: 1100\\n\\n  border-radius: 5px\\n  padding: 1rem 1rem\\n\\n  font-size: 1.2rem\\n  font-weight: 400\\n  line-height: 1.4rem\\n  color: #ffffff\\n  background-color: $text-color\\n\\n  &.visible\\n    display: block\\n  > div.value\\n    a\\n      color: inherit\\n  > div.arrow\\n    position: absolute\\n    width: 8px\\n    height: 8px\\n    transform: rotate(45deg)\\n    background-color: inherit\\n  \\n  &.primary\\n    background-color: $primary-color\\n  &.secondary\\n    background-color: $accent-color\",\"@use \\\"sass:color\\\"\\n\\nka-control-combo,\\nka-control-text,\\nka-control-date,\\nka-control-datetime,\\nka-control-file,\\nka-control-number,\\nka-control-password,\\nka-control-textarea,\\nka-control-editor,\\nka-control-list,\\nka-control-check\\n  display: block\\n  position: relative\\n  flex: 1 1 0\\n  input\\n    outline: none\\n    appearance: none\\n    -moz-appearance: none\\n    -webkit-appearance: none\\n  .display-value, .display-value[disabled]\\n    outline: none\\n    border: 0\\n    border-radius: 0\\n    padding: 0 0 0 0.7rem\\n    width: 100%\\n    height: 3rem\\n    font-family: inherit\\n    font-size: 1.4rem\\n    line-height: 3rem\\n    color: $text-color\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n    transition: all 0.5s\\n    &:hover\\n      box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n    &:focus, &:focus:hover\\n      box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n    &.readonly, &.readonly:focus, &.readonly:hover\\n      padding: 0 0 0 0.1px\\n      background: transparent\\n      box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.1)\\n  \\nka-control\\n  display: inline-block\\n  position: relative\\n  margin: 0.5rem 0\\n  width: 100%\\n\\n  > label\\n    display: block\\n    margin: 0\\n    padding: 0\\n    width: 100%\\n    height: 1.5rem\\n    overflow: hidden\\n    font-size: 1.2rem\\n    line-height: 1.5rem\\n    color: rgba($primary-color, 0.7)\\n    white-space: nowrap\\n    transition: all 0.5s\\n\\n  > div \\n    display: flex\\n    flex-wrap: nowrap\\n    > .ka-control-buttons\\n      display: flex\\n      button, button:focus\\n        -webkit-appearance: none\\n        -moz-appearance: none\\n        display: block\\n        margin: 0\\n        outline: 0\\n        border: 0\\n        border-left: 1px solid #e0e0e0\\n        border-radius: 0\\n        padding: 0\\n        width: 3rem\\n        height: 3rem\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        text-align: center\\n        background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n        transition: all 0.5s\\n        .material-icons, i[class*=\\\"fa\\\"]\\n          font-size: inherit\\n          line-height: inherit\\n          color: inherit\\n        &:hover\\n          box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n          color: $primary-color\\n        &:focus, &:focus:hover\\n          box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n      .button-dropdown\\n        border-left: 0\\n\\n  > .ka-control-overlay\\n    width: 100%\\n    .ka-control-error\\n      display: block\\n      position: absolute\\n      z-index: 100\\n      margin-top: -1px\\n      border-bottom-left-radius: 3px\\n      border-bottom-right-radius: 3px\\n      padding: 0 0.5rem\\n      width: 100%\\n      height: 0\\n      overflow: hidden\\n      font-size: 1.1rem\\n      line-height: 2rem\\n      color: $error-color\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      background-color: #ffffff\\n      box-shadow: 0 5px 10px -5px rgba(0,0,0, 0.2)\\n      box-shadow: inset 0 0 0 1px rgba($error-color, 0.3), 0 10px 10px -8px rgba($error-color, 0.3), 10px 0 10px -8px rgba($error-color, 0.3), -10px 0 10px -8px rgba($error-color, 0.3)\\n      opacity: 0\\n      transition: height 0.2s, opacity 0.2s\\n      pointer-events: none\\n      &:before\\n        content: \\\" \\\"\\n        position: absolute\\n        inset: 0 0 0 0\\n        background-color: rgba($error-color, 0.1)\\n        z-index: -1\\n      span + span:before\\n        content: \\\"-\\\"\\n        margin: 0 5px\\n      \\n      .ka-control-error-scroller\\n        display: flex\\n        width: fit-content\\n        span.clone\\n          display: none\\n      &.scroll .ka-control-error-scroller\\n        animation: ka-control-error-scroller infinite 10s linear\\n        span.clone\\n          display: inline\\n\\n    .ka-control-description\\n      display: block\\n      position: absolute\\n      z-index: 100\\n      margin-top: -1px\\n      border-bottom-left-radius: 3px\\n      border-bottom-right-radius: 3px\\n      padding: 0 0.5rem\\n      width: 100%\\n      height: 0\\n      overflow: hidden\\n      font-size: 1.1rem\\n      line-height: 2rem\\n      color: $primary-color\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      background-color: #ffffff\\n      box-shadow: 0 5px 10px -5px rgba(0,0,0, 0.2)\\n      box-shadow: inset 0 0 0 1px rgba($primary-color, 0.3), 0 10px 10px -8px rgba($primary-color, 0.3), 10px 0 10px -8px rgba($primary-color, 0.3), -10px 0 10px -8px rgba($primary-color, 0.3)\\n      opacity: 0\\n      transition: height 0.2s, opacity 0.2s\\n      pointer-events: none\\n      &:before\\n        content: \\\" \\\"\\n        position: absolute\\n        inset: 0 0 0 0\\n        background-color: rgba($primary-color, 0.1)\\n        z-index: -1\\n\\nka-control.focus\\n  > div:first-of-type\\n    background: #ffffff\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, 0.3), 0 0 10px 0 rgba($primary-color, 0.3)\\n  &:not(.error) > .ka-control-overlay .ka-control-description\\n    height: 2rem\\n    opacity: 1 \\n  &.error > .ka-control-overlay .ka-control-error\\n    height: 2rem\\n    opacity: 1 \\n\\nka-control.error\\n  > label \\n    color: $error-color\\n    animation: ka-control-shake 0.7s\\n  > div:first-of-type\\n    background-color: #ffffff\\n    box-shadow: inset 0 0 0 1px rgba($error-color, 0.3), 0 0 10px 0 rgba($error-color, 0.3)\\n  &:not(.hadFocus) > .ka-control-overlay .ka-control-error\\n    animation: 4s ka-control-slidedownup\\n\\nka-control.ka-control-combo\\n  &:not(.error) > div:hover + .ka-control-overlay .ka-control-description\\n    display: block\\n\\nka-control.show-label-overflow\\n  > label\\n    overflow: visible\\n\\nka-control.no-label\\n  > label\\n    display: none\\n\\nka-control-backdrop\\n  display: block\\n  position: fixed\\n  top: 0\\n  right: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 1999\\n\\n@keyframes ka-control-slidedown\\n  from\\n    opacity: 0\\n    height: 0\\n  to\\n    opacity: 1\\n    height: 2rem\\n\\n@keyframes ka-control-slidedownup\\n  0%\\n    opacity: 0\\n    height: 0\\n  5%\\n    opacity: 1\\n    height: 2rem\\n  95%\\n    opacity: 1\\n    height: 2rem\\n  100%\\n    opacity: 0\\n    height: 0\\n\\n@keyframes ka-control-error-scroller\\n  0%\\n    transform: translateX(0%)\\n  100%\\n    transform: translateX(-50%)\",\"ka-control-check\\n  position: relative\\n  height: 3rem\\n  display: flex\\n  align-items: center\\n  input[type=\\\"checkbox\\\"]\\n    display: block\\n    margin: 0\\n    border: 0\\n    border-radius: 1px\\n    width: 1.4rem\\n    height: 1.4rem\\n    background: transparent\\n    box-shadow: inset 0 0 0 1px $text-color\\n    &:checked\\n      background-color: $primary-color\\n      box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n  .description\\n    display: inline-block\\n    padding-left: 1rem\\n    max-width: 100%\\n    overflow: hidden\\n    line-height: 3rem\\n    font-size: 1.4rem\\n    color: $text-color\\n    text-overflow: ellipsis\\n    white-space: nowrap\\n    cursor: pointer\",\"ka-control-combo\\n  display: block\\n  position: relative\\n  height: 3rem\\n  overflow: hidden\\n  .display-value\\n    //position: absolute\\n    overflow: hidden\\n    cursor: text\\n    ul\\n      margin: 0\\n      padding: 0 0.1px 0 0\\n      list-style: none\\n      user-select: none\\n      white-space: nowrap\\n\\n      display: flex\\n      flex-direction: row\\n      justify-content: flex-start\\n      flex-wrap: nowrap\\n      li\\n        position: relative\\n        display: block\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        color: $text-color\\n        cursor: pointer\\n        overflow: hidden\\n        text-overflow: ellipsis\\n        flex-grow: 0\\n        flex-shrink: 1\\n        flex-basis: auto\\n        transition: all 0.3s\\n        &:not(:last-child)\\n          margin-right: 0.3rem\\n          &:after\\n            content: \\\",\\\"\\n        i\\n          display: none\\n          position: absolute\\n          top: 0\\n          right: 0\\n          width: 2.4rem\\n          font-size: inherit\\n          line-height: inherit\\n          color: #ffffff\\n          text-align: center\\n          background-color: $primary-color\\n        &:hover\\n          flex-grow: 0\\n          flex-shrink: 0\\n          max-width: calc(100% - 0.6rem)\\n          max-width: --webkit-fill-available\\n          i\\n            display: block\\n  &.multiple\\n    .display-value:not(.readonly)\\n      padding-left: 0\\n      ul\\n        li\\n          margin: 0.3rem\\n          border-radius: 0.2rem\\n          padding: 0 0.5rem\\n          line-height: 2.4rem\\n          box-shadow: inset 0 0 0 1px rgba($primary-color, 0.5)\\n          background-color: rgba($primary-color, 0.2)\\n          &:after\\n            display: none\\n\\nka-control-backdrop\\n  background-color: #00000011\\nka-control-combo, ka-control-backdrop\\n  [ref=drawer]\\n    position: absolute\\n    top: 3rem\\n    z-index: 2000\\n    width: 100%\\n    min-width: fit-content\\n    background-color: #fff\\n    box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\\n    .search\\n      outline: none\\n      border: 0\\n      border-radius: 0\\n      padding: 0 0 0 0.7rem\\n      width: 100%\\n      height: 3rem\\n      font-family: inherit\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: $text-color\\n      background-color: #fff\\n    .search-loader\\n      position: absolute\\n      right: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.5rem\\n      line-height: 3rem\\n      text-align: center\\n      color: $text-color\\n      --fa-animation-duration: 0.5s\\n    ul\\n      margin: 0\\n      padding: 0\\n      width: 100%\\n      max-height: 25rem\\n      overflow: hidden\\n      overflow-y: auto\\n      list-style: none\\n      user-select: none\\n      li\\n        position: relative\\n        margin: 0\\n        padding: 0.5rem 1rem\\n        overflow: hidden\\n        font-size: 1.4rem\\n        line-height: 2rem\\n        cursor: pointer\\n        color: $text-color\\n        white-space: nowrap\\n        text-overflow: ellipsis\\n        &.optgroup\\n          color: rgba($text-color, 0.6)\\n        &:not(.optgroup):not(.readonly)\\n          &:hover\\n            background-color: rgba($primary-color, 0.1)\\n        &:not(.readonly).selected\\n          color: $primary-color\\n\\n    &.multiple\\n      ul\\n        li:not(.optgroup)\\n          padding-left: 30px\\n          &::before\\n            content: \\\" \\\"\\n            display: block\\n            position: absolute\\n            top: 8px\\n            left: 8px\\n            width: 14px\\n            height: 14px\\n            border-radius: 1px\\n            box-shadow: inset 0 0 0 1px $text-color\\n          &.selected::before\\n            background-color: $primary-color\\n            box-shadow: inset 0 0 0 1px $primary-color, inset 0 0 0 3px #fff\\n          &.readonly.selected::before\\n            background-color: rgba($text-color, 0.7)\\n            box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\",\"ka-control-date\\n  .display-value\\n  .ka-control-date-drawer\\n    display: none\",\"ka-control-datetime\\n  .display-value\\n  .ka-control-datetime-drawer\\n    display: none\",\"ka-datetime\\n  display: block\\n  //border: 1px solid #e0e0e0\\n  .selectors\\n    color: rgba($text-color, 0.5)\\n    box-shadow: inset 0 -1px 0 #e0e0e0\\n    &:last-of-type\\n      box-shadow: inset 0 1px 0 #e0e0e0\\n    [class*=col]\\n      &:nth-child(1)\\n        button\\n          box-shadow: inset -1px 0 0 #e0e0e0\\n      &:nth-child(2)\\n        > div\\n          position: relative\\n          margin: 0 0 0 auto\\n          max-width: 100px\\n          text-align: right\\n          select\\n            text-transform: capitalize\\n            box-shadow: inset 1px 0 0 #e0e0e0\\n      &:nth-child(3)\\n        > div\\n          position: relative\\n          margin: 0 auto 0 0\\n          max-width: 100px\\n          text-align: right\\n          select\\n            box-shadow: inset -1px 0 0 #e0e0e0, inset 1px 0 0 #e0e0e0\\n      &:nth-child(4)\\n        button\\n          box-shadow: inset 1px 0 0 #e0e0e0\\n        \\n    button\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: inherit\\n      background: transparent\\n      transition: all 0.5s\\n      &:hover\\n        color: $text-color\\n        background: rgba($primary-color, 0.05)\\n      \\n    select\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0 1rem\\n      width: 100%\\n      height: 3rem\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: $text-color\\n      background: transparent\\n      box-shadow: inset -1px 0 0 #e0e0e0, inset 1px 0 0 #e0e0e0, inset 0 -1px 0 #e0e0e0\\n      transition: all 0.5s\\n      &:hover\\n        color: $text-color\\n        background: rgba($primary-color, 0.05)\\n      + .dropdown\\n        pointer-events: none\\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 3rem\\n        height: 3rem\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        text-align: center\\n        \\n  .weekdays\\n    color: $text-color\\n    font-size: 1rem\\n    font-weight: 700\\n    line-height: 2rem\\n    text-align: center\\n    text-transform: uppercase\\n  \\n  .days\\n    button\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0\\n      width: 100%\\n      height: 2rem\\n      font-size: 1rem\\n      line-height: 2rem\\n      color: inherit\\n      text-align: center\\n      background: transparent\\n      &:not([disabled]):hover\\n        color: $primary-color\\n        background: rgba($primary-color, 0.1)\\n      &.selected, &.selected:hover\\n        color: #ffffff\\n        background: rgba($primary-color, 1)\\n      &[disabled]\\n        opacity: 0.5\\n  \",\"ka-control-backdrop\\n  display: block\\n  position: fixed\\n  top: 0\\n  right: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 1999\\n  background-color: #00000011\\n  [ref=drawer]\\n    display: block !important\\n    position: absolute\\n    z-index: 2000\\n    min-width: fit-content\\n    background-color: #fff\\n    box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\",\"ka-control-file\\n  .display-value\\n  input[type=\\\"file\\\"]\\n    outline: none\\n    position: absolute\\n    top: 0\\n    left: 0\\n    opacity: 0\\n    border: 0\\n    border-radius: 0\\n    padding: 0\\n    width: 100%\\n    height: 3rem\\n  .buttons\\n    display: none\\n    position: absolute\\n    top: 0\\n    right: 0\\n    white-space: nowrap\\n    text-align: right\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    button\\n      display: inline-block\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none\\n      outline: none\\n      cursor: pointer\\n      border: 0\\n      padding: 0\\n      width: 3rem\\n      height: 2.9rem\\n      font-size: 1.4rem\\n      font-weight: bold\\n      line-height: 3rem\\n      color: rgba($text-color, 0.3)\\n      text-align: center\\n      text-decoration: none\\n      background: transparent\\n      transition: all 0.5s\\n      .material-icons\\n        line-height: 3rem\\n        font-size: 2rem\\n      &:hover\\n        color: $primary-color\\n    button + button\\n      box-shadow: inset 1px 0 0 0 rgba($text-color, 0.1)\\n  &:hover .buttons\\n    display: block\\n\",\"ka-control-list\\n  .display-value\\n    background: transparent\\n    box-shadow: inset 0 -1px 0 0 transparent\\n  .item:not(.readonly)\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n  .row\\n    margin-left: 0\\n    margin-right: 0\\n    label\\n      display: none\\n  .buttons\\n    display: inline-block\\n    float: right\\n    width: 6rem\\n    height: 3rem\\n    white-space: nowrap\\n    text-align: right\\n    button\\n      display: inline-block\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none\\n      outline: none\\n      cursor: pointer\\n      border: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.4rem\\n      font-weight: bold\\n      line-height: 3rem\\n      color: rgba($text-color, 0.3)\\n      text-align: center\\n      text-decoration: none\\n      background: transparent\\n      transition: all 0.5s\\n      .material-icons\\n        line-height: 3rem\\n        font-size: 2rem\\n      &:hover\\n        color: $primary-color\",\"ka-control-table\\n  display: block\\n  margin: 1rem 0\\n  h3\\n    padding-left: 0\\n  table.ka-table-like\\n    border: 1px solid #e0e0e0\\n    background-color: #fcfcfc\\n    tbody tr:nth-child(even)\\n      background-color: #fcfcfc\\n    tbody tr\\n      border-bottom: 1px solid #e0e0e0\\n    ka-input\\n      margin: 0\\n      label\\n        display: none\\n    td.ka-tr-tools\\n      width: 5rem\\n      border-left: 1px solid #e0e0e0\\n      text-align: center !important\\n      vertical-align: middle\",\"ka-control-textarea\\n  .display-value\\n    padding-top: 0.4rem !important\\n    padding-bottom: 0.4rem !important\\n    min-height: 10rem\\n    //overflow: hidden\\n    //overflow-y: auto\\n    //white-space: pre\\n    line-height: 1.6 !important\",\"tr.ka-table-filters\\n  border-top: 1px solid #e0e0e0\\n  th\\n    padding: 0 !important\\n    height: 4rem\\n    ka-control\\n      position: absolute\\n      top: 0.5rem\\n      left: 0.5rem\\n      margin: 0\\n      width: calc(100% - 0.75rem)\\n      .display-value, .display-value:hover, .display-value:focus\\n        font-size: 1.1rem\\n        box-shadow: inset 0 0 5px 0 #d0d0d0, inset 0 0 1px 1px #d0d0d0\\n    &:last-of-type\\n      padding-right: 1rem !important\\n      font-size: 1.1rem\\n      font-weight: normal\\n      text-align: right\\n      a\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\",\"ka-progress\\n  &.linear\\n    display: block\\n    position: relative\\n    z-index: 2\\n    height: 3px\\n    background-color: #e0e0e0\\n    overflow: hidden\\n    > div\\n      background-color: $primary-color\\n      &:before\\n        content: ''\\n        position: absolute\\n        background-color: inherit\\n        top: 0\\n        left: 0\\n        bottom: 0\\n        will-change: left, right\\n        // Custom bezier\\n        animation: ka-progress-linear-indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n      &:after\\n        content: ''\\n        position: absolute\\n        background-color: inherit\\n        top: 0\\n        left: 0\\n        bottom: 0\\n        will-change: left, right\\n        // Custom bezier\\n        animation: ka-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n        animation-delay: 1.15s\\n\\n@keyframes ka-progress-linear-indeterminate\\n  0%\\n    left: -35%\\n    right: 100%\\n  60%\\n    left: 100%\\n    right: -90%\\n  100%\\n    left: 100%\\n    right: -90%\\n\\n@keyframes ka-progress-linear-indeterminate-short\\n  0%\\n    left: -200%\\n    right: 100%\\n  60%\\n    left: 107%\\n    right: -8%\\n  100%\\n    left: 107%\\n    right: -8%\",\"$text-color: #404040 !default\\n$primary-color: #1976D2 !default\\n$accent-color: #ff8800 !default\\n$error-color: #ff4400 !default\\n$success-color: #1CC800 !default\\n\\n@import 'ka-mixins'\\n@import 'ka-flex'\\n@import 'ka-navbar'\\n@import 'ka-input'\\n@import 'ka-button-deprecated'\\n@import 'ka-button'\\n@import 'ka-toast'\\n@import 'ka-table'\\n@import 'ka-resource'\\n@import 'ka-dialog'\\n@import 'ka-tabs'\\n@import 'ka-tooltip'\\n\\n@import '../ka-control/ka-control'\\n@import '../ka-control-check/ka-control-check'\\n@import '../ka-control-combo/ka-control-combo'\\n@import '../ka-control-date/ka-control-date'\\n@import '../ka-control-datetime/ka-control-datetime'\\n@import '../ka-datetime/ka-datetime'\\n@import '../ka-control-backdrop/ka-control-backdrop'\\n@import '../ka-control-editor/ka-control-editor'\\n@import '../ka-control-file/ka-control-file'\\n@import '../ka-control-list/ka-control-list'\\n@import '../ka-control-number/ka-control-number'\\n@import '../ka-control-password/ka-control-password'\\n@import '../ka-control-table/ka-control-table'\\n@import '../ka-control-text/ka-control-text'\\n@import '../ka-control-textarea/ka-control-textarea'\\n\\n@import '../ka-table/ka-tableFilters'\\n@import '../ka-progress/ka-progress'\\n\\n*\\n  box-sizing: border-box\\n\\nhtml, body\\n  margin: 0\\n  padding: 0\\n  height: 100%\\n  overflow: hidden\\n\\nhtml\\n  font: 62.5% 'Roboto', sans-serif\\n  background: #f9f9f9\\n\\n/* GLOBAL CLASSES */\\n\\n.hidden\\n  display: none\\n\\n.shadow1\\n  +shadow1\\n\\n/* TYPOGRAPHY */\\n\\nh1\\n  color: $primary-color\\nh2\\n  position: relative\\n  margin: 0 0 1rem\\n  border-top: 1px solid #e0e0e0\\n  border-bottom: 1px solid #e0e0e0\\n  padding: 0 0 0 1rem\\n  line-height: 5rem\\n  font-size: 1.6rem\\n  font-weight: 400\\n  color: $primary-color\\n  text-decoration: none\\n  &:first-child\\n    border-top: 0\\n  &::before\\n    content: \\\" \\\"\\n    display: block\\n    position: absolute\\n    left: 0\\n    top: 0px\\n    z-index: -1\\n    border-radius: 50%\\n    height: 10px\\n    width: 100%\\n    background-color: #000\\n    box-shadow: 0 0 10px rgba(0,0,0,0.2)\\n  &::after\\n    content: \\\" \\\"\\n    display: block\\n    position: absolute\\n    left: 0\\n    top: 0\\n    width: 100%\\n    height: 100%\\n    z-index: -1\\n    background-color: #fcfcfc\\n  > i.material-icons\\n    line-height: 5rem\\n    vertical-align: bottom\\n  > i[class*=\\\"fa\\\"]\\n    margin: 0 1rem 0 -1rem\\n    border-right: 1px solid #e0e0e0\\n    width: 5rem\\n    font-size: 2.5rem\\n    line-height: 5rem\\n    vertical-align: bottom\\n    text-align: center\\n\\n  .ka-button, ka-button\\n    float: right\\nh3\\n  margin: 1rem 0\\n  padding: 0 1rem\\n  line-height: 1.4rem\\n  font-size: 1.4rem\\n  font-weight: 400\\n  color: $primary-color\\n  text-decoration: none\\nh4, h5\\n  color: $text-color\\np\\n  margin: 1rem\\n  font-size: 1.4rem\\n  line-height: 1.6\\n  color: $text-color\\nul, ol\\n  margin: 1rem\\n  padding: 0 0 0 1.5rem\\n  font-size: 1.4rem\\n  line-height: 1.6\\n  color: $text-color\\n  li\\n    margin: 0\\n    padding: 0\\n\\np a, ul a, ol a\\n  color: $text-color\\n\\n.primary-text\\n  color: $primary-color\\n.primary-background\\n  background-color: $primary-color\\n.accent-text\\n  color: $accent-color\\n.accent-background\\n  background-color: $accent-color\\n.error-text\\n  color: $error-color\\n.error-background\\n  background-color: $error-color\\n.success-text\\n  color: $success-color\\n.success-background\\n  background-color: $success-color\\n\\n\\n/* LAYOUT ELEMENTS */\\n\\nrouter-view\\n  display: block\\n  min-height: calc(100% - 5rem)\\n  max-height: calc(100% - 5rem)\\n  overflow-y: auto\\n  transition: all 250ms\\n  -moz-transition: all 250ms\\n  -webkit-transition: all 250ms\\n\\n/* COMPONENTS OVERRIDES */\\n\\nka-resource ka-input,\\nka-resource ka-tab > ka-input,\\nka-resource ka-flex-row ka-tab > ka-input,\\nka-resource ka-flex-col ka-tab > ka-input,\\nka-resource md-input,\\nka-resource ka-tab > md-input,\\nka-resource ka-flex-row ka-tab > md-input,\\nka-resource ka-flex-col ka-tab > md-input\\n  margin-left: 1rem\\n  margin-right: 1rem\\n  width: calc(100% - 2rem)\\nka-resource ka-flex-row ka-input,\\nka-resource ka-flex-col ka-input,\\nka-resource ka-flex-row md-input,\\nka-resource ka-flex-col md-input\\n  margin-left: 0\\n  margin-right: 0\\n  width: 100%\\nka-resource ka-table\\n  margin: 1rem\\n  border: 1px solid #e0e0e0\\n\\n\\nka-flex-col > h2\\n  margin-left: -0.5rem\\n  margin-right: -0.5rem\\nka-flex-col:first-of-type > h2\\n  margin-left: -1.5rem\\nka-flex-col:last-of-type > h2\\n  margin-right: -1.5rem\\n\\nka-tabs ka-tab > ka-table:first-child\\n  margin-top: 0\\nka-tabs ka-tab > ka-input,\\nka-tabs ka-tab > md-input\\n  margin-top: 3rem\\nka-tabs ka-tab > ka-input:first-child,\\nka-tabs ka-tab > md-input:first-child\\n  margin-top: 1.5rem\\n  &.no-label\\n    margin-top: 0\\n\\nh2 + ka-input,\\nh2 + md-input\\n  margin-top: 2.5rem\\n\\nka-flex-row > ka-input + .ka-button, ka-flex-row > ka-input + ka-button,\\nka-flex-row > md-input + .ka-button, ka-flex-row > md-input + ka-button\\n  margin-top: 1.5rem\",\"\\n.md-toast\\n  padding: 2rem\\n  border-radius: 5px\\n  position: absolute\\n  z-index: 9999\\n  left: 50%\\n  bottom: -100%\\n  opacity: 0\\n  background: #353535\\n  box-shadow: inset 0 0 0 1px #000, 0 0 5px rgba(#000, .5)\\n  transform: translateX(-50%)\\n  transition: bottom .8s ease-in-out, opacity .4s ease-in-out\\n  &.visible\\n    opacity: 1\\n    bottom: 2rem\\n\\n  &.platform-messages\\n    display: grid\\n    grid-template-columns: min(12vw, 8rem) 1fr min(12vw, 8rem)\\n    padding: 0\\n    min-height: 8rem\\n    min-width: 30rem\\n    > .icon-box, .closure-box\\n      background: linear-gradient(to bottom, rgba(#fff, .1), rgba(#000, .8))\\n    > .icon-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      border-bottom-left-radius: 4px\\n      border-top-left-radius: 4px\\n      box-shadow: inset -1px 0 0 rgba(#000, .3)\\n      > i\\n        font-size:  min(1vw + 1.4rem, 2rem)\\n        text-shadow: 1px 1px 0 #000\\n    > .closure-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      cursor: pointer\\n      transition: background .3s\\n      border-bottom-right-radius: 4px\\n      border-top-right-radius: 4px\\n      box-shadow: inset 1px 0 0 rgba(#000, .3)\\n      &:before\\n        text-shadow: 1px 1px 0 #000\\n        transition: transform .3s\\n        @include fontawesome('\\\\f00d', 'regular', min(1vw + 1.4rem, 2rem), 0, #e0e0e0)\\n      &:hover\\n        background: linear-gradient(to bottom, rgba(#fff, .1), rgba(#000, 1))\\n        &:before\\n          transform: scale(1.2)\\n    > .content-box\\n      display: flex\\n      align-items: center\\n      position: relative\\n      padding: 1rem\\n      &:before, &:after\\n        display: block\\n        position: absolute\\n        content: ''\\n        height: 100%\\n        width: 100%\\n        top: 0\\n        left: 0\\n      &:before\\n        background: linear-gradient(to bottom, rgba(#fff, .2), rgba(#000, .5))\\n      &:after\\n        background-size: 6px 6px\\n        background-image: repeating-linear-gradient(45deg, rgba(#000, .2) 0, rgba(#000, .2) 1px, rgba(#fff, .01) 0, rgba(#fff, .01) 50%)\\n      > p\\n        display: flex\\n        align-items: center\\n        flex-direction: column\\n        justify-content: space-around\\n        margin: 0\\n        position: relative\\n        z-index: 1\\n        max-height: 100%\\n        min-height: 80%\\n        line-height: 1.3\\n        text-align: center\\n        font-size: min(1vw + .9rem, 1.5rem)\\n        font-family: 'Roboto condensed', sans-serif\\n        font-weight: 300\\n        color: #fff\\n        > a\\n          line-height: 2.2   \\n          font-weight: 300\\n          font-size: min(1vw + .8rem, 1.3rem)\\n          font-family: 'Roboto flex', sans-serif\\n          text-shadow: 1px 1px 0 #000\\n          text-underline-offset: .4rem\\n          white-space: nowrap\\n          transition: all .3s\\n          &:hover\\n            color: #fff\\n\\n@keyframes pulse\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.25)\\n  0%\\n    transform: scale(1)\\n\",\"$asideWidth: 30rem\\n$headerHeight: 6rem\\n// Aside\\n$aside-first-level-list-item-height: 4.8rem\\n$aside-second-level-list-item-height: 4rem\\n$aside-third-level-color: #f0f0f0\\n$aside-third-level-list-item-height: 4rem\\n// Header\\n$header-background-color: #232d3d\\n// Toolbar\\n$current-dropdown-list-item-number: 8\\n$toolbar-dropdown-list-item-min-height: 4.8rem \\n\\n@keyframes badge-pulse\\n  0%\\n    transform: scale(1)\\n  15%\\n    transform: scale(0.8)\\n  30%\\n    transform: scale(1)\\n\",\"@import './km-layout-vars'\\n  \\nkm-layout\\n  position: relative\\n  display: block\\n\\n  aside\\n    display: flex\\n    flex-direction: column\\n    align-content: stretch\\n    position: fixed\\n    z-index: 200\\n    top: 0\\n    left: 0\\n    bottom: 0\\n    height: auto\\n    width: $asideWidth\\n    background: #fff\\n    box-shadow: 1px 0 0 0 rgba($header-background-color, .6)\\n    transition: transform .3s ease-in-out\\n    .menu-level\\n      padding: 1rem\\n      font-size: 1rem\\n      font-weight: 700\\n      text-align: center\\n      text-transform: uppercase\\n      color: #ffffff\\n      background-color: $secondary-color\\n\\n    a:link\\n      color: #404040E6\\n      text-decoration: none     \\n\\n    .km-layout-logo\\n      position: relative\\n      display: block\\n      width: 100%\\n      padding-bottom: 50%\\n      background-position: center\\n      background-repeat: no-repeat\\n      background-size: 75%\\n      transition: background-size .3s ease-in-out\\n      transition-delay: 0.1s\\n      animation: logo-start-animation .8s ease-in-out\\n      &.empty\\n        padding-bottom: 0\\n        height: $headerHeight\\n      &:after\\n        content: ''\\n        position: absolute\\n        z-index: -1\\n        width: 100%\\n        height: 100%\\n        box-shadow: inset 0 -12px 20px 10px rgba(239 0 0 / 4%)\\n        background: linear-gradient(to bottom, rgb(0 0 255 / 4%) 30%, rgb(239 0 0 / 4%) 60%)\\n\\n    nav\\n      height: 100%\\n      overflow-y: auto\\n      overflow-x: hidden\\n      box-shadow: 0 -1px 0 0 rgba(239 0 0 / 30%)\\n      background: $aside-third-level-color\\n      /* Hide scrollbar for Chrome, Safari and Opera */\\n      &::-webkit-scrollbar\\n        display: none\\n      /* Hide scrollbar for IE, Edge and Firefox */\\n      &.example\\n        -ms-overflow-style: none\\n        scrollbar-width: none\\n      ul\\n        list-style: none\\n        margin: 0\\n        padding: 0\\n        width: 100%\\n        background: #fff\\n        li\\n          margin: 0\\n          width: 100%\\n          cursor: pointer\\n          > ul\\n            overflow: hidden\\n            interpolate-size: allow-keywords\\n            transition: height .4s ease-in-out, visibility .4s ease-in-out\\n          > .wrapper\\n            position: relative\\n            z-index: 401\\n            display: flex\\n            align-items: center\\n            width: 100%\\n            transition: transform .6s ease-in-out, color .4s ease-in-out, box-shadow .4s ease-in-out, background .6s ease-in-out\\n            > a,\\n            > span\\n              display: flex\\n              align-items: center\\n              height: 100%\\n              flex-grow: 1\\n              > .label\\n                position: relative\\n\\n        li.static\\n          .wrapper \\n            > * > i.after-icon\\n              margin-left: auto\\n              padding: 0\\n              font-size: 1.2rem\\n              color: $secondary-color\\n          &:hover .wrapper > i\\n            color: darken($primary-color, 5%)\\n        li.expandable\\n          .wrapper \\n            > i\\n              display: flex\\n              align-items: center\\n              margin-left: auto\\n              padding: 0 1.5rem\\n              height: $aside-first-level-list-item-height\\n              font-size: 1.2rem\\n              transition: transform .5s ease-in-out\\n        li.expanded\\n          > ul\\n            height: auto\\n            visibility: visible\\n        li.collapsed\\n          > ul\\n            height: 0\\n            visibility: collapse\\n        li:not(.expandable)\\n          > .wrapper\\n            > a,\\n            > span\\n              > .explanation\\n                display: flex\\n                align-items: center\\n                margin-left: auto\\n                border-radius: 3px\\n                font-size: 1.3rem\\n                height: 2rem\\n                padding: .5rem\\n                color: $secondary-color\\n                text-transform: none\\n                font-weight: 400\\n                font-family: 'Roboto condensed', sans-serif\\n                background: rgba($text-color, .08)\\n              > b\\n                display: flex\\n                align-items: center\\n                margin-left: auto\\n                font-size: 1.2rem\\n                text-align: center\\n                position: relative\\n                line-height: 1\\n                height: 2.2rem\\n                padding: 0 .6rem\\n                border-radius: 3px\\n                font-weight: 600\\n                font-family: 'Roboto mono', sans-serif\\n                color: $secondary-color\\n                background: rgba(#fff, .9)\\n                box-shadow: 0 0 0 1px rgba(#000, .04)\\n                > i\\n                  margin: 0 0 0 .6rem\\n                  font-size: 1.4rem\\n                  color: $primary-color\\n                &:not(.custom):after\\n                  content: \\\"\\\\f06a\\\"\\n                  display: inline-block\\n                  font-size: 1.4rem\\n                  font-style: normal\\n                  font-weight: 400\\n                  font-variant: normal\\n                  text-rendering: auto\\n                  margin: 0 0 0 .5rem\\n                  -webkit-font-smoothing: antialiased\\n                  font-family: \\\"Font Awesome 5 Pro\\\"\\n                  color: $primary-color\\n                  vertical-align: top\\n                  animation: badge-pulse 1s ease-in-out infinite alternate\\n\\n      ul.first-level\\n        box-shadow: 0 4px 4px 0 rgba(#000, .2)\\n        > li          \\n          > .wrapper\\n            font-weight: 700\\n            font-size: 1.3rem\\n            text-transform: uppercase\\n            background: transparent\\n            height: $aside-first-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba($header-background-color, .6)              \\n            &:hover > * > .label:before\\n              width: 100%\\n            > a,\\n            > span\\n              padding: 0 1.5rem\\n              color: darken($secondary-color, 5%)\\n              > .label:before\\n                display: block\\n                content: ''\\n                position: absolute\\n                bottom: 0\\n                left: 0\\n                width: 0\\n                height: 1px \\n                background: rgba($secondary-color, .6)\\n                transition: width .5s ease\\n              > i.before-icon\\n                padding: 0 .7rem 0 0\\n                margin-bottom: .2rem\\n                font-size: 1.6rem\\n                color: lighten($secondary-color, 10%)\\n                &.animated\\n                  animation: first-level-before-icon 10s ease-in-out infinite\\n                &.primary\\n                  color: darken($primary-color, 5%)\\n              > i.svg-icon\\n                margin: 0 .7rem 0 0\\n                width: 2rem\\n                height: -moz-available\\n                height: -webkit-fill-available\\n                height: stretch\\n                background-position: 0 45%\\n                background-repeat: no-repeat\\n        > li.expanded > ul.second-level > li:first-of-type > .wrapper\\n          box-shadow: inset 0 -1px 0 0 rgba(#000, .2), inset 1px 4px 4px 0 rgba($header-background-color, .2)\\n        > li:first-of-type > .wrapper\\n          box-shadow: inset 0 -1px 0 0 rgba(#000, .5)\\n        > li.expanded > .wrapper > i\\n          transform: scale(1) rotate(180deg)\\n        > li.collapsed > .wrapper > i\\n          transform: scale(1) rotate(0deg)\\n\\n      ul.second-level\\n        background: $aside-third-level-color\\n        > li\\n          > .wrapper\\n            font-weight: 400\\n            font-size: 1.4rem\\n            font-family: 'Roboto slab', serif\\n            height: $aside-second-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba(#000, .2)\\n            > a,\\n            > span\\n              padding: 0 1.5rem 0 1.5rem\\n              color: $text-color\\n              > i.after-icon\\n                font-size: 1.2rem\\n                margin-left: auto\\n                color: $secondary-color\\n          &:not(.expandable) > .wrapper\\n            font-family: 'Roboto condensed', sans-serif\\n            &:hover\\n              background: rgba($secondary-color, .06)\\n          > ul.third-level\\n            > li:first-of-type\\n              > .wrapper\\n                box-shadow: inset 0 -1px 0 0 rgba(#000, .2), inset 0 1px 5px -2px rgba(#000, .2)\\n        li.expanded > .wrapper > i\\n          transform: rotate(180deg)\\n        li.collapsed > .wrapper > i\\n          transform: rotate(0deg)\\n        > li.expandable\\n          background: #fff\\n          .wrapper > i\\n            color: rgba($text-color, .6)\\n        > li.highlighted\\n          > .wrapper\\n            > a,\\n            > span\\n              font-size: 1.5rem\\n              color: darken($primary-color, 3%)\\n\\n      ul.third-level\\n        background: $aside-third-level-color\\n        > li\\n          > .wrapper\\n            font-weight: 400\\n            font-size: 1.4rem\\n            font-family: 'Roboto condensed', sans-serif\\n            height: $aside-third-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba(#000, .2)\\n            > a,\\n            > span\\n              color: rgba(#000, .7)\\n              padding: 0 1.5rem 0 2rem\\n              > i.after-icon\\n                font-size: 1.3rem\\n                margin-left: auto\\n                color: $secondary-color\\n              > .label\\n                &:before\\n                  display: inline-block\\n                  margin: 0 .7rem 0 0\\n                  content: ''\\n                  width: 3px\\n                  height: 3px\\n                  border-radius: 50%\\n                  background: rgba(#000, .5)\\n                  vertical-align: middle\\n                  transition: color .6s ease\\n        > li.highlighted\\n          > .wrapper \\n            > a,\\n            > span\\n              font-weight: 600\\n              color: $secondary-color\\n              letter-spacing: .01rem\\n              > span\\n                &:before\\n                  width: 3.5px\\n                  height: 3.5px\\n                  background: darken($primary-color, 3%)\\n\\n\\n      ul.second-level, ul.third-level\\n        > li\\n          > .wrapper\\n            > * > .label:after\\n              display: block\\n              content: ''\\n              position: absolute\\n              bottom: 1px\\n              left: 0\\n              width: 0\\n              height: 1px \\n              background: rgba(#000, .5)\\n              transition: width .6s ease\\n            &:hover\\n              > * > .label:after\\n                width: 100%\\n      ul.second-level > li.highlighted > .wrapper > * > .label:after\\n        background: rgba($primary-color, .5)\\n      ul.third-level > li\\n        > .wrapper\\n          > * > .label:after\\n            left: 1rem\\n          &:hover > * > .label:after\\n            width: calc(100% - 1rem)\\n        &:not(.expandable) > .wrapper:hover\\n          background: rgba($secondary-color, .07)\\n        &:not(.highlighted) > .wrapper:hover > * > .label:before\\n          background: #000\\n    div[slot=\\\"afterNav\\\"]\\n      background: $aside-third-level-color\\n  @keyframes first-level-before-icon\\n    0%\\n      opacity: 0\\n      transform: translateX(-200%)\\n    3%\\n      opacity: 1\\n      transform: translateX(0%)\\n    96%\\n      opacity: 1\\n    100%\\n      opacity: 0\\n\\n  @keyframes logo-start-animation\\n    0%\\n      opacity: 0\\n      background-size: 300%\\n    30%\\n      opacity: 0\\n      background-size: 300%\\n    100%\\n      opacity: 1\\n      background-size: 75%\\n\",\"@import './km-layout-vars'\\n  \\nkm-layout\\n  header\\n    position: fixed\\n    top: 0\\n    right: 0\\n    left: 0\\n    z-index: 1\\n    padding-left: 1rem\\n    height: $headerHeight\\n    display: flex\\n    flex-direction: row\\n    justify-content: space-between\\n    align-items: center\\n    color: #fff\\n    background: $header-background-color\\n    *\\n      color: inherit\\n    h1\\n      display: block\\n      margin: 0 1rem 0 0\\n      font-size: min(1rem + 1.5vw, 2.8rem)\\n      font-weight: 100\\n      font-family: 'Roboto flex', sans-serif\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n    .km-layout-info-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      margin-left: auto\\n      > .wrapper\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        border-radius: 2px\\n        padding: .5rem 1.2rem\\n        font-size: 1.1rem\\n        font-weight: 800\\n        line-height: 1.1\\n        color: $secondary-color\\n        text-transform: uppercase\\n        background: #fff\\n        > div\\n          margin-left: 1.2rem\\n          padding-left: 1.6rem\\n          white-space: nowrap\\n          box-shadow: inset 1px 0 0 rgba($secondary-color, .5)\\n          font-size: 1.2rem\\n          font-weight: 500\\n          font-family: 'Roboto condensed', sans-serif\\n          > strong\\n            font-weight: 700\\n            color: $error-color\\n        > i\\n          font-size: 2.8rem\\n          color: $error-color\\n      @media screen and (max-width: 1400px)\\n        display: none\\n\\n    .km-layout-user\\n      position: relative\\n      display: flex\\n      flex-direction: row\\n      align-items: center\\n      flex-shrink: 0\\n      margin-left: auto\\n      overflow: hidden\\n      > span\\n        border-radius: 50%\\n        width: min(2rem + 2.2vw, 4.2rem)\\n        height: min(2rem + 2.2vw, 4.2rem)\\n        overflow: hidden\\n        margin-left: 1rem\\n        background: rgba(#000, .1)\\n        box-shadow: inset 0 0 0 1px rgba(#fff, 1)\\n      > span.profile-icon\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        > i\\n          font-size: min(1rem + 1vw, 2.1rem)\\n      > span.profile-picture\\n        background-position: 50% 50%\\n        background-size: cover\\n        background-repeat: no-repeat\\n      > div.user-profile\\n        display: flex\\n        align-items: flex-start\\n        justify-content: center\\n        flex-direction: column\\n        padding: 0 1rem\\n        font-size: 1.3rem\\n        line-height: 1.5rem\\n        height: $headerHeight\\n        cursor: pointer\\n        > strong.user-name-title\\n          align-self: flex-start\\n          font-size: min(1rem + .5vw, 1.4rem)\\n          line-height: 1.3\\n          font-weight: 600\\n          text-transform: uppercase\\n          letter-spacing: .05rem\\n          font-family: 'Roboto flex', sans-serif\\n          color: #fff\\n        > span\\n          display: block\\n          &.displayName\\n            font-weight: 70\\n          &.user-name\\n            max-width: 15vw\\n            text-overflow: ellipsis\\n            white-space: nowrap\\n            overflow: hidden\\n            font-weight: 200\\n            font-size: min(1rem + .5vw, 1.5rem)\\n            line-height: 1.3\\n            color: rgba(#fff, .8)\\n            font-family: 'Roboto condensed', sans-serif\\n          &.impersonation\\n            border-radius: 2px\\n            padding: 0.5rem\\n            font-size: 11px\\n            font-weight: 700\\n            line-height: 1\\n            color: red\\n            text-transform: uppercase\\n            background-color: #ffffff\\n            box-shadow: 0 0 10px #00000066\\n\\n      > a\\n        display: flex\\n        position: absolute\\n        flex-direction: row\\n        align-items: center\\n        justify-content: center\\n        top: calc($headerHeight * 1)\\n        right: 0\\n        width: 100%\\n        height: 100%\\n        font-size: 1.5rem\\n        text-decoration: none\\n        color: #fff\\n        opacity: .5\\n        font-weight: 200\\n        font-family: 'Roboto flex', sans-serif\\n        text-decoration: underline\\n        text-underline-offset: .4rem\\n        text-decoration-color: rgba(#fff, .4)\\n        background: #181f2b\\n        transition: top .5s ease, opacity .5s ease\\n        box-shadow: inset 1px 0 0 0 rgba(#fff, .2)\\n      &:hover > a\\n        top: 0\\n        opacity: 1\\n\\n  aside + header\\n    left: $asideWidth\\n    transition: all .3s ease-in-out\\n    transition-delay: .1s\\n  & + router-view\\n    position: fixed\\n    top: $headerHeight\\n    right: 0\\n    bottom: 0\\n    left: $asideWidth\\n    transition: left .3s ease-in-out\\n    transition-delay: .2s\\n  \\n  &.collapsed aside\\n    transform: translateX(-100%)\\n    .km-layout-logo\\n      background-size: 200%\\n      transition-delay: .3s\\n  &.collapsed aside+header\\n    padding-left: $headerHeight\\n    left: 0\\n    transition-delay: 0s\\n  &.collapsed+router-view\\n    left: 0\\n    transition-delay: 0s\\n\\n@media screen and (max-width: 860px)\\n  km-layout\\n    aside+header\\n      padding-left: $headerHeight\\n      left: 0\\n    &+router-view\\n      left: 0\\n@media screen and (max-width: 620px)\\n  km-layout\\n    header\\n      .km-layout-user\\n        display: none\\n\",\"@import './km-layout-vars'\\n  \\n$headerHeight: 60px\\n$headerWidth: min(3rem + 3vw, $headerHeight)\\nkm-layout\\n  header\\n    .km-layout-toolbar\\n      display: flex\\n      flex-direction: row\\n      align-items: center\\n      > button, > .button\\n        position: relative\\n        display: flex\\n        flex-direction: column\\n        align-items: center\\n        justify-content: center\\n        appearance: none\\n        -moz-appearance: none\\n        -webkit-appearance: none\\n        outline: none\\n        cursor: pointer\\n        margin: 0\\n        border: 0\\n        padding: 0\\n        width: $headerWidth\\n        height: $headerHeight\\n        font-size: 13px\\n        font-weight: 700\\n        line-height: 1\\n        color: #fff\\n        text-decoration: none\\n        background: rgba(#000, .3)\\n        box-shadow: inset 1px 0 0 0 rgba(#fff, .2)\\n        transition: all 0.3s ease-in-out\\n        i\\n          display: block\\n          font-size: min(1.5rem + 1vw, 2.5rem)\\n        span\\n          display: block\\n          font-size: min(.5rem + .5vw, 1rem)\\n          letter-spacing: .05rem\\n          font-weight: 300\\n          text-transform: uppercase\\n          opacity: 0\\n          font-family: 'Roboto condensed', sans-serif\\n        i+span\\n          height: 0\\n          overflow: hidden\\n          opacity: 0\\n          transition: all 0.3s ease-in-out\\n        &:hover i+span\\n          margin-top: 5px\\n          height: 10px\\n          opacity: .8\\n        b\\n          display: flex\\n          align-items: center\\n          justify-content: center\\n          position: absolute\\n          padding: 0 .5rem\\n          top: 4px\\n          right: 4px\\n          border-radius: 50%\\n          min-width: 24px\\n          height: 24px\\n          font-size: 1.2rem\\n          font-weight: 500\\n          color: darken($error-color, 5%)\\n          text-align: center\\n          background: #fff\\n          font-family: 'Roboto condensed', sans-serif\\n          animation: badge-pulse 1s ease-in-out infinite alternate\\n      > .button b\\n        letter-spacing: -.3px\\n      .notifications-error a[href=\\\"notifiche\\\"] > b\\n        font-size: 1.4rem\\n        color: $secondary-color\\n      > ul[data-subtool]\\n        position: absolute\\n        top: $headerHeight\\n        margin: 0\\n        padding: 0\\n        list-style: none\\n        max-height: 0\\n        overflow: hidden\\n        background: $header-background-color\\n        transition: max-height .6s ease-in-out\\n        &.visible\\n          max-height: calc(#{$toolbar-dropdown-list-item-min-height} * #{$current-dropdown-list-item-number})\\n        li\\n          margin: 0\\n          padding: 0\\n          a\\n            display: flex\\n            align-items: center\\n            padding: 0 2rem\\n            font-size: 1.4rem\\n            color: #fff\\n            height: $toolbar-dropdown-list-item-min-height\\n            text-decoration: none\\n            background-color: rgba(#000,0.15)\\n            box-shadow: inset 0 2px 0 -1px rgba(#fff,0.3)\\n            transition: all 0.3s ease-in-out     \\n            > i\\n              margin-right: 1rem\\n              font-size: 2rem\\n              width: 2.5rem\\n              color: rgba(#fff, .8)\\n            > i.svg-icon\\n              margin-right: 1.1rem\\n              width: 2.3rem\\n              height: -moz-available\\n              height: -webkit-fill-available\\n              height: stretch\\n              background-position: center\\n              background-repeat: no-repeat\\n            > .label\\n              position: relative\\n              &:before\\n                display: block\\n                content: ''\\n                position: absolute\\n                bottom: -1px\\n                left: 0\\n                width: 0\\n                height: 1px \\n                background: #fff\\n                transition: width .3s ease\\n            &:hover\\n              background-color: rgba(#000, .3)   \\n              > .label:before\\n                width: 100%\\n          &:first-of-type > a\\n            box-shadow: none\\n          \",\"@import './km-layout-vars'\\n@import './km-layout-aside'\\n@import './km-layout-header'\\n@import './km-layout-toolbar'\\n\\nkm-layout\\n  .km-layout-burger \\n    display: block\\n    position: fixed\\n    top: #{$headerHeight/2-20}\\n    left: #{$headerHeight/2-20}\\n    width: 4rem\\n    height: 4rem\\n    cursor: pointer\\n    z-index: 100\\n    text-align: center\\n    color: $primary-color\\n    .material-icons\\n      font-size: 2.8rem\\n      color: darken($primary-color, 5%)\\n      line-height: 4rem\\n      transition: color .3s ease-in-out\\n  &.collapsed\\n    .km-layout-burger\\n      color: #fff\\n      .material-icons\\n        color: #fff\\n\",\"body > .md-tooltip\\n  display: block\\n  position: absolute\\n  content: attr(ka-tooltip)\\n  z-index: 1100\\n  padding: 0.5rem\\n  border-radius: 2px\\n  border: 1px solid #e0e0e0\\n  max-width: 20rem\\n  line-height: 1.2rem\\n  font-size: 1rem !important\\n  opacity: 0\\n  color: #606060\\n  background: #f9f9f9\\n  transform: translateX(-50%)\\n  box-shadow: 0 3px 6px -3px rgba(#000,0.5)\\n  pointer-events: none\\n  transition: opacity 0.5s\\n  &.visible\\n    opacity: 1\\n  ul \\n    margin: -0.5rem\\n    padding: 0\\n    list-style: none\\n    li\\n      border-bottom: 1px solid #e0e0e0\\n      padding: 0.5rem\\n      font-size: 1rem\\n      line-height: 1.3\\n      &:last-of-type\\n        border-bottom: 0\\n\\nka-input[md-tooltip], md-input[md-tooltip], ka-control[md-tooltip], md-control[md-tooltip]\\n  i.tooltip-icon\\n    margin-left: 0\\n    font-size: 1.5rem\\n    cursor: pointer\\n    transition: color .3s\\n    vertical-align: bottom\\n  span + i.tooltip-icon\\n    margin-left: .4rem\\n    vertical-align: sub\\n  i.tooltip-icon:hover\\n    color: $primary-color\\n\",\"*[static-tooltip]\\n  display: inline-flex\\n  align-items: flex-start\\n  line-height: inherit\\n  cursor: pointer\\n  transition: color .3s\\n  &:not(.has-custom-icon):after\\n    margin-left: 0.5rem !important\\n    @include fontawesome(\\\"\\\\f059\\\", \\\"regular\\\", inherit, 0 .5rem 0 0, $primary-color)\\n  &:hover\\n    color: $primary-color\\n  > i\\n    display: flex\\n    text-decoration: none\\n\\nbody > .static-tooltip\\n  font-size: 1.2rem\\n  color: #fff\\n  pointer-events: auto\\n  > .header\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    margin-bottom: .8rem\\n    padding: 0 0 1rem\\n    border-bottom: 1px dotted rgba(#fff, .3)\\n    > .header-title \\n      display: flex\\n      align-items: flex-end\\n      > i\\n        margin: 0 !important\\n        > svg\\n          width: 2.2rem\\n          height: 2.2rem\\n          margin: 0 !important\\n      > h3\\n        margin: 0\\n        padding: 0 1rem 0 .6rem\\n        font-size: 1.5rem\\n        font-weight: 500\\n        color: #fff\\n        order: 2\\n        font-family: 'Roboto flex', sans-serif\\n    > .closure:before\\n      cursor: pointer\\n      @include fontawesome(\\\"\\\\f2d3\\\", \\\"solid\\\", 1.7rem, 0, rgba(#fff, .95))\\n  > .value \\n    > p\\n      margin: 0\\n      font-size: 1.2rem\\n      color: #fff\\n      > strong\\n        font-size: 1.4rem\\n        font-weight: 400\\n        font-family: 'Roboto condensed', sans-serif\\n      > a\\n        font-weight: 300\\n        font-size: 1.4rem\\n        font-family: 'Roboto condensed', sans-serif\\n        text-underline-offset: .4rem\\n        color: #ffa150\\n        text-shadow: 1px 1px 0 #000\\n        &:hover\\n          color: #fff\\n        &:before\\n          @include fontawesome('\\\\f08e', 'regular', 1.3rem, 0 .5rem 0 0, #ffa150)\\n\",\"km-layout:not(.collapsed) + router-view\\n  & + .ka-toast, & + style + .ka-toast\\n    left: calc(50% + 15rem) !important\\n    transform: translate(-50%, calc(100% + 3rem)) !important\\n    &.visible\\n      transform: translate(-50%, 0) !important\\n  \\n.ka-toast\\n  position: fixed\\n  right: auto\\n  top: auto\\n  bottom: 2rem\\n  left: 50%\\n  z-index: 2000\\n  border: 0\\n  border-radius: 5px\\n  padding: 2rem\\n  overflow: hidden\\n  font-size: 1.3rem\\n  line-height: 1rem\\n  text-align: center\\n  color: #e0e0e0\\n  text-shadow: 0 0 5px #1a1a1a\\n  background-color: #404040\\n  box-shadow: inset 0 0 0 1px #101010, 0 0 10px rgba(#000, 0.5)\\n  transform: translate(-50%, calc(100% + 3rem))\\n  transition: all 0.5s\\n  &.visible\\n    transform: translate(-50%, 0)\\n  a\\n    color: #e0e0e0\\n\\n  &:before\\n    display: block\\n    position: absolute\\n    top: 0\\n    left: 0\\n    width: 5rem\\n    height: 5rem\\n    font-style: normal\\n    font-variant: normal\\n    font-size: 2rem\\n    line-height: 5rem\\n    text-align: center\\n    text-rendering: auto\\n    -webkit-font-smoothing: antialiased\\n\\n  &.ka-toast-loading\\n    padding-left: 4rem\\n    color: #ffffff\\n    background-color: #202020\\n    &:before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f1ce\\\"\\n      -webkit-animation: fa-spin 2s infinite linear\\n      animation: fa-spin 2s infinite linear\\n\\n  &.ka-toast-error\\n    padding-left: 4rem\\n    color: $error-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f06a\\\"\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      border-radius: 5px\\n      position: absolute\\n      inset: 0 0 0 0\\n      box-shadow: inset 0 0 0 1px #202020, inset 0 0 0 2px rgba($error-color, 0.5)\\n\\n  &.ka-toast-success\\n    padding-left: 4rem\\n    color: $success-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f058\\\"\\n\\n  &.ka-toast-accent, &.ka-toast-warning\\n    color: $accent-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f071\\\"\\n\\n  &.ka-toast-primary\\n    color: $primary-color\\n    background-color: #202020\\n\\n@keyframes animate-katoast-icon\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.5)\\n  0%\\n    transform: scale(1)\\n\",\"#serverStatus, #appUpdate\\n  position: fixed\\n  left: 0\\n  bottom: 0\\n  width: 100vw\\n  height: 5rem\\n  line-height: 5rem\\n  z-index: 200\\n  font-size: 1.4rem\\n  font-weight: 300\\n  color: #fff\\n  text-align: center\\n  background: $error-color\\n  text-shadow: 1px 1px 0 rgba(0, 0, 0, .8)\\n  box-shadow: 0 0 10px rgba(0, 0, 0, .2)\\n  &#appUpdate\\n    display: flex\\n    align-items: center\\n    justify-content: center\\n    strong:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, #fff)\\n    ka-button\\n      text-shadow: none\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.clause{margin:0 2rem}.clause ka-control{display:block;padding:0 !important;margin:0 !important}.clause ka-control .description{font-weight:bold}.clause p{font-size:1.3rem;margin:0;white-space:pre-line}.clause+.clause{margin-top:2rem !important}.agreement .content{margin:2rem 1rem 0 1rem}.agreement .content>h2,.agreement .content h3{border:none;margin:1rem 0;color:#404040;font-weight:bold;font-size:1.6rem;line-height:1}.agreement .content>h2:before,.agreement .content>h2:after,.agreement .content h3:before,.agreement .content h3:after{border:none;box-shadow:none;background:rgba(0,0,0,0)}.agreement .content>h3{margin:1rem 0;font-size:1.4rem}.agreement .content>h4{margin:1rem 0;padding:0 0 0 1rem;font-size:1.4rem}.agreement .content h2+h3{margin-top:0;font-weight:normal;color:#ed5a23}.agreement .content h2+h4{font-weight:normal;color:#ed5a23}.agreement .content p+h2,.agreement .content p+h3,.agreement .content p+h4{margin-top:2rem}.agreement .content>p:last-child{margin-bottom:2rem}.agreement .content+.clauses{margin-top:1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/_agreement/agreement.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,QACE,aAAA,CACA,mBACE,aAAA,CACA,oBAAA,CACA,mBAAA,CACA,gCACE,gBAAA,CACJ,UACE,gBAAA,CACA,QAAA,CACA,oBAAA,CACJ,gBACE,0BAAA,CAGA,oBACE,uBAAA,CACA,8CACE,WAAA,CACA,aAAA,CACA,aCxBO,CDyBP,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,sHACE,WAAA,CACA,eAAA,CACA,wBAAA,CACJ,uBACE,aAAA,CACA,gBAAA,CACF,uBACE,aAAA,CACA,kBAAA,CACA,gBAAA,CACF,0BACE,YAAA,CACA,kBAAA,CACA,aCzCU,CD0CZ,0BACE,kBAAA,CACA,aC5CU,CD6CZ,2EACE,eAAA,CACF,iCACE,kBAAA,CACJ,6BACE,eAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n.clause\\n  margin: 0 2rem\\n  ka-control\\n    display: block\\n    padding: 0 !important\\n    margin: 0 !important\\n    .description \\n      font-weight: bold\\n  p\\n    font-size: 1.3rem \\n    margin: 0\\n    white-space: pre-line\\n.clause + .clause \\n  margin-top: 2rem !important\\n\\n.agreement\\n  .content\\n    margin: 2rem 1rem 0 1rem\\n    > h2, h3\\n      border: none\\n      margin: 1rem 0\\n      color: $text-color\\n      font-weight: bold\\n      font-size: 1.6rem\\n      line-height: 1\\n      &:before, &:after\\n        border: none \\n        box-shadow: none \\n        background: transparent\\n    > h3 \\n      margin: 1rem 0 \\n      font-size: 1.4rem\\n    > h4 \\n      margin: 1rem 0 \\n      padding: 0 0 0 1rem \\n      font-size: 1.4rem\\n    h2 + h3 \\n      margin-top: 0 \\n      font-weight: normal \\n      color: $primary-color\\n    h2 + h4 \\n      font-weight: normal\\n      color: $primary-color\\n    p + h2, p + h3, p + h4 \\n      margin-top: 2rem\\n    > p:last-child \\n      margin-bottom: 2rem\\n  .content + .clauses \\n    margin-top: 1rem\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.login,router-view.password-recovery,router-view.account-delete{min-height:100%;max-height:100%;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.login .wrapper,router-view.password-recovery .wrapper,router-view.account-delete .wrapper{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;flex-direction:column;-ms-flex-direction:column;-moz-flex-direction:column;-webkit-flex-direction:column;padding-top:102px}router-view.login .wrapper .loginbox,router-view.password-recovery .wrapper .loginbox,router-view.account-delete .wrapper .loginbox{position:relative;border-radius:3px;padding:2rem;width:300px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.login .wrapper .loginbox header,router-view.password-recovery .wrapper .loginbox header,router-view.account-delete .wrapper .loginbox header{display:block;padding-bottom:1rem;text-align:center;box-shadow:0 10px 5px -10px rgba(0,0,0,.1)}router-view.login .wrapper .loginbox header img,router-view.password-recovery .wrapper .loginbox header img,router-view.account-delete .wrapper .loginbox header img{display:block;margin:0 auto;margin-bottom:1rem;width:100%;max-width:250px}router-view.login .wrapper .loginbox .form,router-view.password-recovery .wrapper .loginbox .form,router-view.account-delete .wrapper .loginbox .form{padding:2rem 0}router-view.login .wrapper .loginbox p,router-view.password-recovery .wrapper .loginbox p,router-view.account-delete .wrapper .loginbox p{border-radius:.5rem;background-color:rgba(var(--bs-warning-rgb), 0.5);margin:0 0 2rem 0}router-view.login .wrapper .loginbox p.errorMessage,router-view.password-recovery .wrapper .loginbox p.errorMessage,router-view.account-delete .wrapper .loginbox p.errorMessage{margin:-2rem 0 2rem;color:red}router-view.login .wrapper .loginbox button,router-view.login .wrapper .loginbox ka-button,router-view.password-recovery .wrapper .loginbox button,router-view.password-recovery .wrapper .loginbox ka-button,router-view.account-delete .wrapper .loginbox button,router-view.account-delete .wrapper .loginbox ka-button{margin:0}router-view.login .wrapper .loginbox .reset a,router-view.login .wrapper .loginbox .reset i,router-view.password-recovery .wrapper .loginbox .reset a,router-view.password-recovery .wrapper .loginbox .reset i,router-view.account-delete .wrapper .loginbox .reset a,router-view.account-delete .wrapper .loginbox .reset i{display:inline-block;font-size:1.2rem;line-height:3rem;color:#909090;text-decoration:none}router-view.login .wrapper .loginbox .reset a:hover,router-view.login .wrapper .loginbox .reset i:hover,router-view.password-recovery .wrapper .loginbox .reset a:hover,router-view.password-recovery .wrapper .loginbox .reset i:hover,router-view.account-delete .wrapper .loginbox .reset a:hover,router-view.account-delete .wrapper .loginbox .reset i:hover{text-decoration:underline}router-view.login .wrapper .loginbox canvas,router-view.password-recovery .wrapper .loginbox canvas,router-view.account-delete .wrapper .loginbox canvas{display:block;margin:0 1rem 1rem;width:100%;max-width:250px}router-view.login .wrapper .loginbox footer p,router-view.password-recovery .wrapper .loginbox footer p,router-view.account-delete .wrapper .loginbox footer p{margin:5px 0;line-height:1;text-align:right}router-view.login .wrapper .loginbox footer p.title,router-view.password-recovery .wrapper .loginbox footer p.title,router-view.account-delete .wrapper .loginbox footer p.title{margin-bottom:0;font-size:1.8rem;font-weight:300;color:#ed5a23}router-view.login .wrapper .loginbox footer a,router-view.password-recovery .wrapper .loginbox footer a,router-view.account-delete .wrapper .loginbox footer a{color:#404040}router-view.login .wrapper .loginbox footer i.fas.fa-lock-alt::before,router-view.password-recovery .wrapper .loginbox footer i.fas.fa-lock-alt::before,router-view.account-delete .wrapper .loginbox footer i.fas.fa-lock-alt::before{display:inline-block;margin-right:.5rem;border-radius:50%;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center;vertical-align:middle;background-color:#fff;box-shadow:inset 0 0 0 1px #e0e0e0}router-view.login .wrapper .outbox,router-view.password-recovery .wrapper .outbox,router-view.account-delete .wrapper .outbox{padding-top:2rem;text-align:center}router-view.login .wrapper .outbox p,router-view.password-recovery .wrapper .outbox p,router-view.account-delete .wrapper .outbox p{margin:1rem 0;color:#11254b}router-view.login .wrapper .outbox p+.ka-button,router-view.password-recovery .wrapper .outbox p+.ka-button,router-view.account-delete .wrapper .outbox p+.ka-button{margin-top:0}router-view.login .wrapper .outbox .toggler,router-view.password-recovery .wrapper .outbox .toggler,router-view.account-delete .wrapper .outbox .toggler{display:block;cursor:pointer;padding:0;font-size:1.2rem;line-height:2rem;color:#ed5a23;text-decoration:none}router-view.login .wrapper .outbox .toggler:hover,router-view.password-recovery .wrapper .outbox .toggler:hover,router-view.account-delete .wrapper .outbox .toggler:hover{text-decoration:underline}router-view.login .wrapper .scope,router-view.password-recovery .wrapper .scope,router-view.account-delete .wrapper .scope{position:absolute;left:0;right:0;bottom:0;font-size:11px;font-weight:700;color:#d0d0d0;text-align:center;text-transform:uppercase}router-view.password-recovery .wrapper .loginbox .form{padding-bottom:0 !important;box-shadow:none}router-view.login .wrapper .loginbox .form{box-shadow:0 10px 5px -10px rgba(0,0,0,.1)}router-view.account-delete .wrapper .loginbox .form{padding:2rem 0 1rem}router-view.account-delete .wrapper .loginbox .form p{margin-bottom:0;background-color:rgba(0,0,0,0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/accesso/login.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AACA,2EACE,eAAA,CACA,eAAA,CACA,kFAAA,CAEA,sGACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CACA,uBAAA,CACA,oBAAA,CACA,8BAAA,CACA,2BAAA,CACA,sBAAA,CACA,wBAAA,CACA,qBAAA,CACA,0BAAA,CACA,uBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yBAAA,CACA,0BAAA,CACA,6BAAA,CACA,iBAAA,CAEA,oIACE,iBAAA,CACA,iBAAA,CACA,YAAA,CACA,WAAA,CACA,wBAAA,CACA,mEAAA,CACA,yJACE,aAAA,CACA,mBAAA,CACA,iBAAA,CACA,0CAAA,CACA,qKACE,aAAA,CACA,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CACJ,sJACE,cAAA,CACF,0IACE,mBAAA,CACA,iDAAA,CACA,iBAAA,CACF,iLACE,mBAAA,CACA,SAAA,CAEF,2TACE,QAAA,CAEF,8TACE,oBAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,oBAAA,CACA,kWACE,yBAAA,CAEJ,yJACE,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CAGA,+JACE,YAAA,CACA,aAAA,CACA,gBAAA,CACA,iLACE,eAAA,CACA,gBAAA,CACA,eAAA,CACA,aC3FI,CD4FR,+JACE,aC9FG,CD+FL,uOACE,oBAAA,CACA,kBAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,qBAAA,CACA,qBAAA,CACA,kCAAA,CAEN,8HACE,gBAAA,CACA,iBAAA,CACA,oIACE,aAAA,CACA,aC/GU,CDgHZ,qKACE,YAAA,CACF,yJACE,aAAA,CACA,cAAA,CACA,SAAA,CACA,gBAAA,CACA,gBAAA,CACA,aCzHQ,CD0HR,oBAAA,CACA,2KACE,yBAAA,CAEN,2HACE,iBAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,iBAAA,CACA,wBAAA,CAGJ,uDACE,2BAAA,CACA,eAAA,CAEF,2CACE,0CAAA,CAEF,oDACE,mBAAA,CACA,sDACE,eAAA,CACA,8BAAA\",\"sourcesContent\":[\"@import ../../static/vars\\nrouter-view.login, router-view.password-recovery, router-view.account-delete\\n  min-height: 100%\\n  max-height: 100%\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n\\n  .wrapper\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    display: -webkit-box\\n    display: -webkit-flex\\n    display: -moz-flex\\n    display: -ms-flexbox\\n    display: flex\\n    -webkit-flex-wrap: wrap\\n    -moz-flex-wrap: wrap\\n    -ms-flex-wrap: wrap\\n    flex-wrap: wrap\\n    -webkit-box-pack: center\\n    -ms-flex-pack: center\\n    -webkit-justify-content: center\\n    -moz-justify-content: center\\n    justify-content: center\\n    -webkit-box-align: center\\n    -ms-flex-align: center\\n    -webkit-align-items: center\\n    -moz-align-items: center\\n    align-items: center\\n    flex-direction: column\\n    -ms-flex-direction: column\\n    -moz-flex-direction: column\\n    -webkit-flex-direction: column\\n    padding-top: 102px // it os centered but moved 102px up cause the 'register now' button\\n\\n    .loginbox\\n      position: relative\\n      border-radius: 3px\\n      padding: 2rem\\n      width: 300px\\n      background-color: #f9f9f9\\n      box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n      header\\n        display: block\\n        padding-bottom: 1rem\\n        text-align: center\\n        box-shadow: 0 10px 5px -10px rgba(0, 0, 0, 0.1)\\n        img\\n          display: block\\n          margin: 0 auto\\n          margin-bottom: 1rem\\n          width: 100%\\n          max-width: 250px\\n      .form\\n        padding: 2rem 0\\n      p\\n        border-radius: 0.5rem\\n        background-color: rgba(var(--bs-warning-rgb), 0.5)\\n        margin: 0 0 2rem 0\\n      p.errorMessage\\n        margin: -2rem 0 2rem\\n        color: red\\n\\n      button, ka-button\\n        margin: 0\\n\\n      .reset a, .reset i\\n        display: inline-block\\n        font-size: 1.2rem\\n        line-height: 3rem\\n        color: #909090\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\\n\\n      canvas\\n        display: block\\n        margin: 0 1rem 1rem\\n        width: 100%\\n        max-width: 250px\\n\\n      footer\\n        p\\n          margin: 5px 0\\n          line-height: 1\\n          text-align: right\\n          &.title\\n            margin-bottom: 0\\n            font-size: 1.8rem\\n            font-weight: 300\\n            color: $primary-color\\n        a\\n          color: $text-color\\n        i.fas.fa-lock-alt::before\\n          display: inline-block\\n          margin-right: 0.5rem\\n          border-radius: 50%\\n          width: 3rem\\n          height: 3rem\\n          font-size: 1.4rem\\n          line-height: 3rem\\n          text-align: center\\n          vertical-align: middle\\n          background-color: #ffffff\\n          box-shadow: inset 0 0 0 1px #e0e0e0\\n\\n    .outbox\\n      padding-top: 2rem\\n      text-align: center\\n      p\\n        margin: 1rem 0\\n        color: $secondary-color\\n      p + .ka-button\\n        margin-top: 0\\n      .toggler\\n        display: block\\n        cursor: pointer\\n        padding: 0\\n        font-size: 1.2rem\\n        line-height: 2rem\\n        color: $primary-color\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\\n\\n    .scope\\n      position: absolute\\n      left: 0\\n      right: 0\\n      bottom: 0\\n      font-size: 11px\\n      font-weight: 700\\n      color: #d0d0d0\\n      text-align: center\\n      text-transform: uppercase\\n\\nrouter-view.password-recovery\\n  .wrapper .loginbox .form\\n    padding-bottom: 0 !important\\n    box-shadow: none\\nrouter-view.login\\n  .wrapper .loginbox .form\\n    box-shadow: 0 10px 5px -10px rgba(0, 0, 0, 0.1)\\nrouter-view.account-delete\\n  .wrapper .loginbox .form\\n    padding: 2rem 0 1rem\\n    p\\n      margin-bottom: 0\\n      background-color: transparent\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.sponsor-agreement{max-width:fit-content}ux-dialog.sponsor-agreement .body{overflow-x:hidden !important}ux-dialog.sponsor-agreement .body ka-control[name=agreementText]{width:100%}ux-dialog.sponsor-agreement .body ka-control[name=agreementText] .ck.ck-editor__main,ux-dialog.sponsor-agreement .body ka-control[name=agreementText] .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline{height:50vh}ux-dialog.sponsor-agreement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,4BACE,qBAAA,CACA,kCACE,4BAAA,CACA,iEACE,UAAA,CACA,kPACE,WAAA,CACN,oCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.sponsor-agreement\\n  max-width: fit-content\\n  .body\\n    overflow-x: hidden !important\\n    ka-control[name=\\\"agreementText\\\"]\\n      width: 100%\\n      .ck.ck-editor__main, .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline\\n        height: 50vh\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #E5E5E5\\n    text-align: right\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-landing-pages td:not(:first-child),router-view.anagrafiche-landing-pages th:not(:first-child){padding-left:.7rem}router-view.anagrafiche-landing-pages .reseller-tags{text-align:right}router-view.anagrafiche-landing-pages .reseller-tags .tag{position:relative;margin:0 3px 3px 0;padding:3px 5px;border-radius:3px}router-view.anagrafiche-landing-pages .reseller-tags .tag>p{margin:0;font-weight:600;line-height:1.1;font-size:1.1rem;color:#fff}router-view.anagrafiche-landing-pages .reseller-tags .tag>p>span{font-weight:400;font-size:.9rem}router-view.anagrafiche-landing-pages .reseller-tags .tag>i{display:flex;justify-content:center;align-items:center;position:absolute;top:0;right:0;width:0;height:0;border-radius:3px;box-shadow:0 0 0 1px #9d340d;overflow:hidden;font-size:1.4rem;color:#fff;background:#ed5a23;transform:translateX(3rem);transition:transform .3s;cursor:pointer}router-view.anagrafiche-landing-pages .reseller-tags .tag:hover>i{width:3rem;height:100%;transform:translateX(0)}router-view.anagrafiche-landing-pages .sponsor-dialog{cursor:pointer;text-decoration:underline;transition:color .3s}router-view.anagrafiche-landing-pages .sponsor-dialog:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/landing-pages/landing-pages.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,sHACE,kBAAA,CACF,qDACE,gBAAA,CACA,0DACE,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,iBAAA,CACA,4DACE,QAAA,CACA,eAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,iEACE,eAAA,CACA,eAAA,CACJ,4DACE,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CACA,4BAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,kBClCQ,CDmCR,0BAAA,CACA,wBAAA,CACA,cAAA,CACF,kEACE,UAAA,CACA,WAAA,CACA,uBAAA,CACN,sDACE,cAAA,CACA,yBAAA,CACA,oBAAA,CACA,4DACE,aC/CU\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.anagrafiche-landing-pages\\n  td:not(:first-child), th:not(:first-child)\\n    padding-left: .7rem\\n  .reseller-tags\\n    text-align: right\\n    .tag \\n      position: relative\\n      margin: 0 3px 3px 0\\n      padding: 3px 5px\\n      border-radius: 3px\\n      > p\\n        margin: 0\\n        font-weight: 600\\n        line-height: 1.1\\n        font-size: 1.1rem\\n        color: #fff\\n        > span\\n          font-weight: 400\\n          font-size: .9rem\\n      > i\\n        display: flex\\n        justify-content: center\\n        align-items: center\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        border-radius: 3px\\n        box-shadow: 0 0 0 1px darken($primary-color, 20%)\\n        overflow: hidden\\n        font-size: 1.4rem\\n        color: #fff\\n        background: $primary-color\\n        transform: translateX(3rem)\\n        transition: transform 0.3s\\n        cursor: pointer    \\n      &:hover > i\\n        width: 3rem\\n        height: 100%\\n        transform: translateX(0)\\n  .sponsor-dialog\\n    cursor: pointer\\n    text-decoration: underline\\n    transition: color .3s\\n    &:hover\\n      color: $primary-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.gestione-rubrica-importazione .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.gestione-rubrica-importazione h2+.step-box{margin-top:-0.5rem}router-view.gestione-rubrica-importazione ka-flex-row>ka-input+ka-button+ka-button{margin-top:1.5rem}router-view.gestione-rubrica-importazione .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.gestione-rubrica-importazione .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.gestione-rubrica-importazione .step-description{margin:0;padding:1rem}router-view.gestione-rubrica-importazione .step-description ka-button:last-child{margin-right:0;margin-left:0}router-view.gestione-rubrica-importazione .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.gestione-rubrica-importazione .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.gestione-rubrica-importazione .step-separator{display:none}}router-view.gestione-rubrica-importazione h2.table_title{margin:0 0 0}router-view.gestione-rubrica-importazione h2.table_title>ka-button:not(:last-child){margin-left:0}router-view.gestione-rubrica-importazione .table_container{width:100%;height:calc(100% - 5.1rem);overflow-y:auto}router-view.gestione-rubrica-importazione .table_container table.ka-table-like{table-layout:fixed}router-view.gestione-rubrica-importazione .table_container table.ka-table-like.expanded{table-layout:auto}router-view.gestione-rubrica-importazione .table_container table.ka-table-like.expanded tbody td{overflow:visible}router-view.gestione-rubrica-importazione .table_container table.ka-table-like colgroup col.profile{width:4.1666666667%}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th{padding:0;padding-left:.7rem;padding-right:.7rem;overflow:hidden;text-overflow:ellipsis}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody td:last-child,router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th:last-child{border-right:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td{vertical-align:baseline;border-right:1px solid #e0e0e0;min-width:6rem;vertical-align:top}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.medium_size{min-width:14rem}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.max_size{min-width:20rem}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.checkbox{vertical-align:inherit;min-width:unset}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.checkbox .warning{display:block;width:2rem;height:2rem;line-height:2rem;text-align:center;color:#ed5923;cursor:pointer}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.profile,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.billing{padding:0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control{display:block;margin:0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control label{display:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control .display-value{padding:0 0 0 .7rem !important;background:rgba(0,0,0,0);box-shadow:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th{padding:1rem .7rem;border-right:1px solid #e0e0e0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th{padding:2rem;line-height:1;border-bottom:1px solid #e0e0e0;background:linear-gradient(90deg, transparent, #F0F0EF)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th>p{display:inline-block;margin:0;margin-left:1rem;font-size:12px;color:#404040;font-weight:400}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th>p>span{color:#404040;font-weight:600}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tfoot td{padding:0;z-index:-500}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr td{opacity:.5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr td.selected{opacity:1}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated td{opacity:1}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.pending .profile{background:#f5f5f5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.pending .profile ka-control .display-value{color:rgba(0,0,0,.2)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile{background:rgba(255,0,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile{background:rgba(255,102,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .billing{background:#f5f5f5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .billing ka-control .display-value{color:rgba(0,0,0,.2)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .billing{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .billing ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing{background:rgba(255,0,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing{background:rgba(255,102,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:active{box-shadow:none;background:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/rubrica/rubrica-importazione.scss\"],\"names\":[],\"mappings\":\"AAAA,oDACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,uDAEF,kBACE,CAAA,mFAEF,iBACE,CAAA,uDAGF,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,sDAEF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,4DAGF,QACE,CAAA,YACA,CAAA,iFAEA,cACE,CAAA,aACA,CAAA,0DAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,gEAGF,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAEF,0DACE,YAAA,CAAA,CAAA,yDAIF,YACE,CAAA,oFAEA,aACE,CAAA,2DAIJ,UACE,CAAA,0BACA,CAAA,eACA,CAAA,+EAEA,kBACE,CAAA,wFACA,iBACE,CAAA,iGACA,gBACE,CAAA,oGAIF,mBACE,CAAA,gLAGJ,SAEE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,sBACA,CAAA,sMAEA,iBACE,CAAA,wFAIJ,+BACE,CAAA,2FAEA,uBACE,CAAA,8BACA,CAAA,cACA,CAAA,kBACA,CAAA,uGAEA,eACE,CAAA,oGAEF,eACE,CAAA,oGAEF,sBACE,CAAA,eACA,CAAA,6GACA,aACE,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,iBACA,CAAA,aACA,CAAA,cACA,CAAA,sMAIJ,SAEE,CAAA,sGAGF,aACE,CAAA,QACA,CAAA,4GACA,YACE,CAAA,qHAEF,8BACE,CAAA,wBACA,CAAA,eACA,CAAA,wFAON,kBACE,CAAA,8BACA,CAAA,6FAGF,YACE,CAAA,aACA,CAAA,+BACA,CAAA,uDACA,CAAA,+FAEA,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,cACA,CAAA,aACA,CAAA,eACA,CAAA,oGAEA,aACE,CAAA,eACA,CAAA,wFAMR,SACE,CAAA,YACA,CAAA,qFAKA,UACE,CAAA,8FACA,SACE,CAAA,6dAGJ,SACE,CAAA,mGAGA,kBACE,CAAA,6HAEF,oBACE,CAAA,mGAIF,qCACE,CAAA,6HAEF,oBACE,CAAA,iGAIF,oCACE,CAAA,mQAGA,eAEE,CAAA,eACA,CAAA,sGAKJ,sCACE,CAAA,6QAGA,eAEE,CAAA,eACA,CAAA,2GAKJ,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,kBACE,CAAA,qIAEF,oBACE,CAAA,2GAIF,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,qCACE,CAAA,qIAEF,oBACE,CAAA,yGAIF,qCACE,CAAA,mIAEF,oBACE,CAAA,yGAEF,oCACE,CAAA,mRAGA,eAEE,CAAA,eACA,CAAA,8GAKJ,qCACE,CAAA,wIAEF,oBACE,CAAA,8GAEF,sCACE,CAAA,6RAGA,eAEE,CAAA,eACA\",\"sourcesContent\":[\"router-view.gestione-rubrica-importazione {  \\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  }\\n  h2 + .step-box {\\n    margin-top: -0.5rem;\\n  }\\n  ka-flex-row > ka-input + ka-button + ka-button {\\n    margin-top: 1.5rem;\\n  }\\n  \\n  .step-number {\\n    display: inline-block;\\n    margin-right: 1rem;\\n    border-radius: 50%;\\n    width: 3rem;\\n    height: 3rem;\\n    font-size: 2rem;\\n    line-height: 3rem;\\n    text-align: center;\\n    vertical-align: top;\\n    color: #ffffff;\\n    background-color: #ed5923;\\n    background-color: #11254b;\\n  }\\n  .step-title {\\n    display: inline-block;\\n    margin: 0;\\n    font-size: 1.6rem;\\n    line-height: 3rem;\\n    color: #ed5923;\\n    color: #11254b;\\n  }\\n  \\n  .step-description {\\n    margin: 0;\\n    padding: 1rem;\\n  \\n    ka-button:last-child {\\n      margin-right: 0;\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  }\\n\\n  .step-separator:after {\\n    content: \\\"▶\\\";\\n    display: block;\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    z-index: -1;\\n    font-size: 1.8rem;\\n    color: #e0e0e0;\\n    transform: translate(-50%, -50%);\\n  }\\n  @media screen and (max-width: 62em) {\\n    .step-separator { display: none; }\\n  }\\n\\n  /* Table */\\n  h2.table_title {\\n    margin: 0 0 0;\\n\\n    > ka-button:not(:last-child) {\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .table_container {\\n    width: 100%;\\n    height: calc(100% - 5.1rem);\\n    overflow-y: auto;\\n\\n    table.ka-table-like {\\n      table-layout: fixed;\\n      &.expanded {\\n        table-layout: auto;\\n        tbody td {\\n          overflow: visible;\\n        }\\n      }\\n      colgroup {\\n        col.profile {\\n          width: calc(50% / 12);\\n        }\\n      }\\n      tbody td,\\n      thead th {\\n        padding: 0;\\n        padding-left: 0.7rem;\\n        padding-right: 0.7rem;\\n        overflow: hidden;\\n        text-overflow: ellipsis;\\n\\n        &:last-child {\\n          border-right: none;\\n        }\\n      }\\n\\n      tbody tr {\\n        border-bottom: 1px solid #e0e0e0;\\n\\n        > td {\\n          vertical-align: baseline;\\n          border-right: 1px solid #e0e0e0;\\n          min-width: 6rem;\\n          vertical-align: top;\\n    \\n          &.medium_size {\\n            min-width: 14rem;\\n          }\\n          &.max_size {\\n            min-width: 20rem;\\n          }\\n          &.checkbox {\\n            vertical-align: inherit;\\n            min-width: unset;\\n            .warning {\\n              display: block;\\n              width: 2rem;\\n              height: 2rem;\\n              line-height: 2rem;\\n              text-align: center;\\n              color: #ed5923;\\n              cursor: pointer;\\n            }\\n          }\\n    \\n          &.profile,\\n          &.billing {\\n            padding: 0;\\n          }\\n    \\n          ka-control {\\n            display: block;\\n            margin: 0;\\n            label {\\n              display: none;\\n            }\\n            .display-value {\\n              padding: 0 0 0 0.7rem !important;\\n              background: transparent;\\n              box-shadow: none;\\n            }\\n          }\\n        }\\n      }\\n\\n      thead {\\n        th {\\n          padding: 1rem 0.7rem;\\n          border-right: 1px solid #e0e0e0;\\n        }\\n\\n        .top > th {\\n          padding: 2rem;\\n          line-height: 1;\\n          border-bottom: 1px solid #e0e0e0;\\n          background: linear-gradient(90deg, transparent, #F0F0EF);\\n\\n          > p {\\n            display: inline-block;\\n            margin: 0;\\n            margin-left: 1rem;\\n            font-size: 12px;\\n            color: #404040;\\n            font-weight: 400;\\n\\n            > span {\\n              color: #404040;\\n              font-weight: 600;\\n            }\\n          }\\n        }\\n      }\\n\\n      tfoot td {\\n        padding: 0;\\n        z-index: -500;\\n      }\\n\\n      /* Import */\\n      tr {\\n        td {\\n          opacity: 0.5;\\n          &.selected {\\n            opacity: 1;\\n          }\\n        }\\n        &.success td, &.success-success td, &.success-error td, &.error, &.duplicated td {\\n          opacity: 1;\\n        }\\n        &.pending {\\n          .profile {\\n            background:#f5f5f5;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.error {\\n          .profile {\\n            background: #ff000011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.duplicated {\\n          .profile {\\n            background: #ff660011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-pending {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background:#f5f5f5;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success-success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #0dff0011;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.success-error {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff000011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-duplicated {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff660011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n      }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.gestione-rubrica .contacts_table td>*{display:block;white-space:nowrap}router-view.gestione-rubrica ka-button.inverted{background-color:rgba(0,0,0,0)}router-view.gestione-rubrica ka-button.inverted:hover:not(.disabled){background-color:#fff}router-view.gestione-rubrica ka-button.disabled{color:#b0b0b0;background-color:rgba(192,192,192,.2)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/rubrica/rubrica.scss\"],\"names\":[],\"mappings\":\"AACE,kDAAA,aAAA,CAAA,kBAAA,CAEE,gDAAA,8BAAA,CACA,qEAAA,qBAAA,CACA,gDAAA,aAAA,CAAA,qCAAA\",\"sourcesContent\":[\"router-view.gestione-rubrica {\\n  .contacts_table td > * { display: block; white-space: nowrap; }\\n  ka-button {\\n    &.inverted { background-color: transparent; }\\n    &.inverted:hover:not(.disabled) { background-color: #fff; }\\n    &.disabled { color: #b0b0b0; background-color: #c0c0c033; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.migrate-subuser .body{padding:1rem 2rem 2rem}ux-dialog.migrate-subuser .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.migrate-subuser .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/migrate-subuser.sass\"],\"names\":[],\"mappings\":\"AAGE,gCACE,sBAAA,CACF,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,sDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.migrate-subuser\\n  .body \\n    padding: 1rem 2rem 2rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.profilo-add-reseller .footer{padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,uCACE,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.profilo-add-reseller\\n  .footer\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.delete-billing-profile .body{padding:2rem}ux-dialog.delete-billing-profile .body p:first-letter{text-transform:capitalize}ux-dialog.delete-billing-profile .body ul{padding:0;margin:0;list-style:none}ux-dialog.delete-billing-profile .body ul li span{display:block;border:1px solid #e0e0e0;padding:1rem;background-color:#fff}ux-dialog.delete-billing-profile .body ul li+li{margin-top:.5rem}ux-dialog.delete-billing-profile .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.delete-billing-profile .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.sass\"],\"names\":[],\"mappings\":\"AAGE,uCACE,YAAA,CACA,sDACE,yBAAA,CACF,0CACE,SAAA,CACA,QAAA,CACA,eAAA,CAEE,kDACE,aAAA,CACA,wBAAA,CACA,YAAA,CACA,qBAAA,CACJ,gDACE,gBAAA,CACN,yCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,6DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.delete-billing-profile\\n  .body \\n    padding: 2rem\\n    p:first-letter\\n      text-transform: capitalize\\n    ul\\n      padding: 0\\n      margin: 0\\n      list-style: none \\n      li\\n        span\\n          display: block\\n          border: 1px solid #e0e0e0\\n          padding: 1rem\\n          background-color: #ffffff\\n      li + li\\n        margin-top: .5rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.utenti-dialog-documenti-upload .body{padding:1rem 2rem 2rem}ux-dialog.utenti-dialog-documenti-upload .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.utenti-dialog-documenti-upload .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.sass\"],\"names\":[],\"mappings\":\"AACE,+CACE,sBAAA,CACF,iDACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,qEACE,aAAA\",\"sourcesContent\":[\"ux-dialog.utenti-dialog-documenti-upload\\n  .body \\n    padding: 1rem 2rem 2rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-compensi .hidden-content ka-control-date .display-value{color:rgba(0,0,0,0);transition:color .2s}router-view.anagrafiche-utenti-compensi table .user-tag{display:flex;justify-content:flex-end}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control{flex-grow:1;height:3rem}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control>button{cursor:pointer}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control>div{height:100%}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control ka-control-text>input{height:100%}router-view.anagrafiche-utenti-compensi table .user-tag ka-control.readonly.tag-disabled{box-shadow:none}router-view.anagrafiche-utenti-compensi table .user-tag>ka-button{display:inline-flex;justify-content:center;align-items:center;height:3rem;width:4.5rem;margin:0}router-view.anagrafiche-utenti-compensi table .user-service+.user-service:before{content:\\\", \\\"}router-view.anagrafiche-utenti-compensi table tr.service td{font-size:1.1rem;line-height:1;color:#606060}router-view.anagrafiche-utenti-compensi table tr.total{border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-compensi table .not-associated>td{opacity:.5}router-view.anagrafiche-utenti-compensi table.ka-table-like .ka-table-button:not(.disabled):hover{background:rgba(0,0,0,0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/views/compensi.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC5bF,uFACE,mBAAA,CACA,oBAAA,CAIA,wDACE,YAAA,CACA,wBAAA,CACA,mEACE,WAAA,CACA,WAAA,CACA,0EACE,cAAA,CACF,uEACE,WAAA,CACF,yFACE,WAAA,CAEJ,yFACE,eAAA,CACF,kEACE,mBAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CACA,QAAA,CAGF,iFACE,YAAA,CAGF,4DACE,gBAAA,CACA,aAAA,CACA,aAAA,CAEJ,uDACE,4BAAA,CAEF,iEACE,UAAA,CAEF,kGACE,wBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-compensi\\n\\n  .hidden-content ka-control-date .display-value\\n    color: transparent\\n    transition: color .2s\\n\\n  table\\n\\n    .user-tag\\n      display: flex\\n      justify-content: flex-end\\n      > ka-control \\n        flex-grow: 1\\n        height: 3rem\\n        > button\\n          cursor: pointer\\n        > div \\n          height: 100%\\n        ka-control-text > input\\n          height: 100%\\n      \\n      ka-control.readonly.tag-disabled \\n        box-shadow: none\\n      > ka-button\\n        display: inline-flex\\n        justify-content: center\\n        align-items: center\\n        height: 3rem\\n        width: 4.5rem\\n        margin: 0\\n      \\n    .user-service + .user-service\\n      &:before\\n        content: \\\", \\\"\\n    \\n    tr.service\\n      td\\n        font-size: 1.1rem\\n        line-height: 1\\n        color: #606060\\n\\n    tr.total\\n      border-top: 1px solid #e0e0e0\\n    \\n    .not-associated > td\\n      opacity: .5\\n    \\n    &.ka-table-like .ka-table-button:not(.disabled):hover\\n      background: transparent\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-documenti h2>span[static-tooltip]{transition:color .3s}router-view.anagrafiche-utenti-documenti h2>span[static-tooltip]:hover{color:#000}router-view.anagrafiche-utenti-documenti .alert{color:#404040}router-view.anagrafiche-utenti-documenti .alert>i{font-size:1.2rem;color:#ed5a23}router-view.anagrafiche-utenti-documenti .document>i{font-size:2rem;color:rgba(64,64,64,.4)}router-view.anagrafiche-utenti-documenti .document.uploaded>i{color:#ed5a23}router-view.anagrafiche-utenti-documenti .document.refused>i{color:#404040}router-view.anagrafiche-utenti-documenti .document.approved>i{color:#1cc800}router-view.anagrafiche-utenti-documenti .document-type-row{position:relative;z-index:3;background-color:#fff !important}router-view.anagrafiche-utenti-documenti .document-type-row.open{box-shadow:0 5px 5px -5px rgba(64,64,64,.3) !important}router-view.anagrafiche-utenti-documenti .document-type-row:not(:first-of-type){border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-documenti .document-type-row .missing-documents>i{color:#ed5a23}router-view.anagrafiche-utenti-documenti .document-type-row .toggle-content>i{transition:transform ease-in .2s;cursor:pointer}router-view.anagrafiche-utenti-documenti .document-type-row:not(.open) .toggle-content>i{transform:rotate(180deg)}router-view.anagrafiche-utenti-documenti .document-row{background:#f8f8f8;box-shadow:none;border:0;display:none}router-view.anagrafiche-utenti-documenti .document-row+.document-row{border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-documenti .document-row.visible{display:table-row}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/views/documenti.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,iEACE,oBAAA,CACA,uEACE,UAAA,CAEJ,gDACE,aCVS,CDWT,kDACE,gBAAA,CACA,aCZU,CDcZ,qDACE,cAAA,CACA,uBAAA,CACF,8DACE,aClBU,CDmBZ,6DACE,aCrBO,CDsBT,8DACE,aCjBU,CDmBd,4DACE,iBAAA,CACA,SAAA,CACA,gCAAA,CACA,iEACE,sDAAA,CACF,gFACE,4BAAA,CACF,iFACE,aCjCU,CDkCZ,8EACE,gCAAA,CACA,cAAA,CACF,yFACE,wBAAA,CAEJ,uDACE,kBAAA,CACA,eAAA,CACA,QAAA,CACA,YAAA,CACA,qEACE,4BAAA,CACF,+DACE,iBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-documenti\\n  h2 > span[static-tooltip]\\n    transition: color .3s\\n    &:hover\\n      color: #000\\n\\n  .alert\\n    color: $text-color\\n    > i \\n      font-size: 1.2rem\\n      color: $primary-color\\n  .document \\n    & > i \\n      font-size: 2rem\\n      color: rgba($text-color, 0.4)\\n    &.uploaded > i \\n      color: $primary-color\\n    &.refused > i \\n      color: $text-color\\n    &.approved > i \\n      color: $success-color\\n\\n  .document-type-row\\n    position: relative\\n    z-index: 3\\n    background-color: #fff !important\\n    &.open\\n      box-shadow: 0 5px 5px -5px rgba($text-color, 0.3) !important\\n    &:not(:first-of-type)\\n      border-top: 1px solid #e0e0e0    \\n    .missing-documents > i \\n      color: $primary-color \\n    .toggle-content > i\\n      transition: transform ease-in .2s\\n      cursor: pointer\\n    &:not(.open) .toggle-content > i\\n      transform: rotate(180deg)\\n\\n  .document-row\\n    background: #f8f8f8\\n    box-shadow: none\\n    border: 0\\n    display: none\\n    & + .document-row\\n      border-top: 1px solid #e0e0e0\\n    &.visible \\n      display: table-row\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti h2 ka-button{margin:10px 10px 10px 0}router-view.anagrafiche-utenti .ka-input-button.add{display:none}router-view.anagrafiche-utenti .users_search.row{margin:0;padding:0 1rem}router-view.anagrafiche-utenti .users_search.row div[class*=col-],router-view.anagrafiche-utenti .users_search.row div.col{padding:0 1rem 0 0}@media all and (max-width: 1199px){router-view.anagrafiche-utenti .users_search.row div[class*=col-].wrap,router-view.anagrafiche-utenti .users_search.row div.col.wrap{padding-right:0}router-view.anagrafiche-utenti .users_search.row div[class*=col-].wrap.wrap.ricerca_libera,router-view.anagrafiche-utenti .users_search.row div.col.wrap.wrap.ricerca_libera{padding-right:1rem}}router-view.anagrafiche-utenti .users_search.row .row{margin:0;padding:0}router-view.anagrafiche-utenti .users_search.row .button{display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}router-view.anagrafiche-utenti .users_search.row .button>ka-button{margin:0;margin-top:14px;margin-left:1rem}router-view.anagrafiche-utenti .users_table span.id-enabled{display:block;border-radius:3px;padding:.5rem;line-height:1;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800}router-view.anagrafiche-utenti .users_table span.id-disabled{display:block;border-radius:3px;padding:.5rem;line-height:1;color:#fff;text-align:center;background-color:rgba(255,51,0,.7);box-shadow:inset 0 0 0 1px #f30}router-view.anagrafiche-utenti .users_table .sponsors{display:inline-block;padding:0 .5rem;margin-top:.3rem;border-radius:.2rem;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3);white-space:nowrap}router-view.anagrafiche-utenti .users_table .sponsors>span{cursor:pointer}router-view.anagrafiche-utenti .users_table .sponsors>span+span{margin-left:.5rem}router-view.anagrafiche-utenti .users_table td .material-icons.businessType{color:#ed5a23;vertical-align:bottom;padding-right:1rem;text-align:left}router-view.anagrafiche-utenti .users_table td a{color:inherit;text-decoration:none}router-view.anagrafiche-utenti .users_table td a:hover{text-decoration:underline}router-view.anagrafiche-utenti .users_table .migration a{text-decoration:underline}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/elenco.scss\"],\"names\":[],\"mappings\":\"AAGE,4CAAA,uBAAA,CACA,oDAAA,YAAA,CAEA,iDACE,QAAA,CACA,cAAA,CAEA,2HACE,kBAAA,CAEA,mCACE,qIACE,eAAA,CAEA,6KAAA,kBAAA,CAAA,CAIN,sDAAA,QAAA,CAAA,SAAA,CAEA,yDACE,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,gCAAA,CACA,iBAAA,CACA,wBAAA,CACA,mEAAA,QAAA,CAAA,eAAA,CAAA,gBAAA,CAKF,4DACE,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CAGF,6DACE,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,+BAAA,CAGF,sDACE,oBAAA,CACA,eAAA,CACA,gBAAA,CACA,mBAAA,CACA,4BAAA,CACA,sCAAA,CACA,kBAAA,CACA,2DACE,cAAA,CACA,gEAAA,iBAAA,CAIJ,4EACE,aAAA,CACA,qBAAA,CACA,kBAAA,CACA,eAAA,CAGF,iDACE,aAAA,CACA,oBAAA,CACA,uDAAA,yBAAA,CAIA,yDAAA,yBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars';\\n\\nrouter-view.anagrafiche-utenti {\\n  h2 ka-button { margin: 10px 10px 10px 0; }\\n  .ka-input-button.add { display: none; }\\n\\n  .users_search.row {\\n    margin: 0;\\n    padding: 0 1rem;\\n\\n    div[class*=\\\"col-\\\"], div.col {\\n      padding: 0 1rem 0 0;\\n\\n      @media all and (max-width: 1199px) {\\n        &.wrap {\\n          padding-right: 0;\\n\\n          &.wrap.ricerca_libera { padding-right: 1rem; }\\n        }\\n      }\\n    }\\n    .row { margin: 0; padding: 0; }\\n\\n    .button {\\n      display: -ms-flexbox;\\n      display: -webkit-flex;\\n      display: flex;\\n      -webkit-justify-content: flex-end;\\n      -ms-flex-pack: end;\\n      justify-content: flex-end;\\n      > ka-button { margin: 0; margin-top: 14px; margin-left: 1rem; }\\n    }\\n  }\\n\\n  .users_table {\\n    span.id-enabled {\\n      display: block;\\n      border-radius: 3px;\\n      padding: 0.5rem;\\n      line-height: 1;\\n      color: #ffffff;\\n      text-align: center;\\n      background-color: rgba($success-color, 0.7);\\n      box-shadow: inset 0 0 0 1px $success-color;\\n    }\\n\\n    span.id-disabled {\\n      display: block;\\n      border-radius: 3px;\\n      padding: 0.5rem;\\n      line-height: 1;\\n      color: #ffffff;\\n      text-align: center;\\n      background-color: rgba($error-color, 0.7);\\n      box-shadow: inset 0 0 0 1px $error-color;\\n    }\\n\\n    .sponsors {\\n      display: inline-block;\\n      padding: 0 .5rem;\\n      margin-top: .3rem;\\n      border-radius: .2rem;\\n      background: rgba($text-color, 0.1);\\n      box-shadow: 0 0 0 1px rgba($text-color, 0.3);\\n      white-space: nowrap;\\n      > span {\\n        cursor: pointer;\\n        & + span { margin-left: .5rem; }\\n      }\\n    }\\n\\n    td .material-icons.businessType {\\n      color: #ED5A23;\\n      vertical-align: bottom;\\n      padding-right: 1rem;\\n      text-align: left;\\n    }\\n\\n    td a {\\n      color: inherit;\\n      text-decoration: none;\\n      &:hover { text-decoration: underline; }\\n    }\\n\\n    .migration {\\n      a { text-decoration: underline; }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-fatturazione h3.auth-mav-title>span[static-tooltip]{transition:color .3s}router-view.anagrafiche-utenti-fatturazione h3.auth-mav-title>span[static-tooltip]:hover{color:#000}router-view.anagrafiche-utenti-fatturazione .primary-text{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .alert{color:#404040}router-view.anagrafiche-utenti-fatturazione .alert.primary{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .alert.completed>i{color:#1cc800}router-view.anagrafiche-utenti-fatturazione .alert.refused>i{color:#404040}router-view.anagrafiche-utenti-fatturazione .alert>i{margin-right:.4rem;font-size:inherit;color:#ed5a23}router-view.anagrafiche-utenti-fatturazione small.alert>i{font-size:1.2rem}router-view.anagrafiche-utenti-fatturazione table tr.row-error{background:rgba(255,102,0,.05)}router-view.anagrafiche-utenti-fatturazione table td.billing small span{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.iban ka-button.check-iban-btn{border-radius:0;border-bottom:1px solid rgba(64,64,64,.3);box-shadow:none !important}router-view.anagrafiche-utenti-fatturazione table td.iban ka-button.check-iban-btn.readonly{border-bottom:1px solid rgba(64,64,64,.1);cursor:standard}router-view.anagrafiche-utenti-fatturazione table td.sdd>span{display:block;white-space:nowrap}router-view.anagrafiche-utenti-fatturazione table td.sdd>span:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd>span.enabled:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd>span.activation-errors:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd .error-details{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.sdd .error-details>small{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.sdd>small{display:inline-block;margin-top:.25rem}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request,router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request{display:block;text-decoration:underline;transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request:hover,router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request{color:#f30}router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED{transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .ACTIVE:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required{transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione label{display:block;line-height:1.5rem;font-size:1.2rem;color:rgba(237,90,35,.7);white-space:nowrap}router-view.anagrafiche-utenti-fatturazione .mav-button{animation:2.1s ease-in-out infinite pulse-button}router-view.anagrafiche-utenti-fatturazione .mav-requests .alert-message{margin:.5rem 0 0;line-height:1.1}router-view.anagrafiche-utenti-fatturazione .mav-requests .alert-message i{margin-right:.3rem;color:#ed5a23 !important}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td,router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr th{padding:7px;height:4rem}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td small,router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr th small{font-size:1.3rem;color:#404040}router-view.anagrafiche-utenti-fatturazione .mav-requests table thead{border:0}router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr{border:0;background:linear-gradient(180deg, transparent 10%, #fff);box-shadow:inset 0 -1px 0 0 #cacaca}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr{border:0;background:linear-gradient(180deg, #fbfbfb 40%, #f2f2f2 90%)}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td ka-button{flex-shrink:0;margin:1rem 0 0;padding:0 8px;line-height:2.5rem;height:2.5rem;font-size:1.3rem;font-weight:500}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td a{display:block;font-size:1.2rem;color:#ed5a23;text-decoration:underline}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td.deleted>small{color:#f30}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr+tr{box-shadow:inset 0 1px 0 0 #e0e0e0}router-view.anagrafiche-utenti-fatturazione .mav-request-status.ACTIVE:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione .mav-request-status.REFUSED:before,router-view.anagrafiche-utenti-fatturazione .mav-request-status.DELETED:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione .mav-request-status:not(.ACTIVE):not(.REFUSED):not(.DELETED):before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:top;animation:unset;font-weight:900;animation:rotate infinite 3s 1s}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}router-view.anagrafiche-utenti-fatturazione .authorizations .add{position:relative;width:2.6rem;height:2.5rem;overflow:hidden;font-size:1.2rem;border-radius:3px;text-align:center;color:#fff;background-color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .authorizations .add>select{display:block;position:absolute;top:0;left:0;opacity:0;cursor:pointer}router-view.anagrafiche-utenti-fatturazione .authorizations .group{position:relative;height:2.5rem;border-radius:3px;overflow:hidden;font-size:1.2rem;color:#fff;text-transform:uppercase;background-color:rgba(31,36,75,.7333333333)}router-view.anagrafiche-utenti-fatturazione .authorizations .group a{display:block;position:absolute;top:0;right:0;width:0;height:0;font-size:1.2rem;line-height:2.5rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:-1px 0 0 0 #fff;overflow:hidden;transform:translateX(3rem);transition:transform .3s}router-view.anagrafiche-utenti-fatturazione .authorizations .group:hover a{width:2.5rem;height:2.5rem;transform:translateX(0)}@keyframes pulse-button{0%{transform:scale(1)}5%{transform:scale(1.03)}20%{transform:scale(1)}25%{transform:scale(1.03)}40%{transform:scale(1)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/fatturazione.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-fatturazione\\n  h3.auth-mav-title > span[static-tooltip]\\n    transition: color .3s\\n    &:hover\\n      color: #000\\n  .primary-text \\n    color: #ed5a23\\n    \\n  .alert\\n    color: $text-color\\n    &.primary\\n      color: $primary-color\\n    &.completed > i\\n      color: $success-color\\n    &.refused > i\\n      color: $text-color\\n    > i\\n      margin-right: .4rem\\n      font-size: inherit\\n      color: $primary-color\\n  small.alert > i\\n    font-size: 1.2rem\\n\\n  table\\n    tr.row-error\\n      background: rgba(255, 102, 0, 0.05)\\n    td.billing small span\\n      color: $text-color\\n    td.iban\\n      ka-button.check-iban-btn\\n        border-radius: 0\\n        border-bottom: 1px solid rgba(64, 64, 64, 0.3)\\n        box-shadow: none !important\\n        &.readonly\\n          border-bottom: 1px solid rgba(64, 64, 64, 0.1)\\n          cursor: standard\\n    td.sdd\\n      > span\\n        display: block\\n        white-space: nowrap\\n        &:before\\n          @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $secondary-color, top)\\n        &.enabled\\n          &:before\\n            @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $success-color, top)\\n        &.activation-errors\\n          &:before\\n            @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $error-color, top)\\n      .error-details\\n        color: $primary-color\\n        > small\\n          color: $primary-color\\n      > small\\n        display: inline-block\\n        margin-top: .25rem\\n    td.authorization\\n      .create-mav-request, .delete-mav-request\\n        display: block\\n        text-decoration: underline\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n\\n      .create-mav-request\\n        color: $primary-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f067\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color, middle)\\n\\n      .delete-mav-request\\n        color: $error-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $error-color, middle)\\n\\n      .REFUSED\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n\\n      .ACTIVE:before\\n        @include fontawesome(\\\"\\\\f00c\\\", \\\"regular\\\", 1.2rem, 0, $success-color)\\n\\n      .iban-required\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $primary-color)\\n\\n  // Mav (fatturazione-editor)\\n  label \\n    display: block\\n    line-height: 1.5rem\\n    font-size: 1.2rem\\n    color: rgba($primary-color, .7)\\n    white-space: nowrap\\n  .mav-button \\n    animation: 2.1s ease-in-out infinite pulse-button\\n  .mav-requests \\n    .alert-message \\n      margin: .5rem 0 0\\n      line-height: 1.1\\n      i \\n        margin-right: .3rem\\n        color: $primary-color !important\\n    table\\n      tbody tr td, thead tr th \\n        padding: 7px\\n        height: 4rem\\n        small \\n          font-size: 1.3rem\\n          color: $text-color\\n      thead \\n        border: 0\\n        tr \\n          border: 0\\n          background: linear-gradient(180deg, transparent 10%, #fff)\\n          box-shadow: inset 0 -1px 0 0 #cacaca\\n      tbody\\n        tr \\n          border: 0\\n          background: linear-gradient(180deg, #fbfbfb 40%, #f2f2f2 90%)\\n          td\\n            ka-button \\n              flex-shrink: 0\\n              margin: 1rem 0 0\\n              padding: 0 8px\\n              line-height: 2.5rem\\n              height: 2.5rem\\n              font-size: 1.3rem\\n              font-weight: 500\\n            a \\n              display: block\\n              font-size: 1.2rem\\n              color: $primary-color\\n              text-decoration: underline\\n            &.deleted > small \\n              color: $error-color\\n          & + tr \\n            box-shadow: inset 0 1px 0 0 #e0e0e0\\n  .mav-request-status\\n    &.ACTIVE:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $success-color, top)\\n    &.REFUSED:before, &.DELETED:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $error-color, top)\\n    &:not(.ACTIVE):not(.REFUSED):not(.DELETED):before\\n      @include fontawesome(\\\"\\\\f253\\\", \\\"solid\\\", 1.4rem, 0 .5rem 0 0, $pending-color, top)\\n      animation: rotate infinite 3s 1s\\n      @keyframes rotate\\n        0%\\n          transform: rotate(0deg)\\n        100%\\n          transform: rotate(360deg)\\n  // authorizations\\n  .authorizations\\n    .add\\n      position: relative\\n      width: 2.6rem\\n      height: 2.5rem\\n      overflow: hidden\\n      font-size: 1.2rem\\n      border-radius: 3px\\n      text-align: center\\n      color: #ffffff\\n      background-color: #ed5a23\\n      > select\\n        display: block\\n        position: absolute\\n        top: 0\\n        left: 0\\n        opacity: 0\\n        cursor: pointer\\n    .group \\n      position: relative\\n      height: 2.5rem\\n      border-radius: 3px\\n      overflow: hidden\\n      font-size: 1.2rem\\n      color: #fff\\n      text-transform: uppercase\\n      background-color: #1f244bbb\\n      a \\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        font-size: 1.2rem\\n        line-height: 2.5rem\\n        color: #ffffff\\n        text-align: center\\n        text-decoration: none\\n        background-color: #ed5a23\\n        box-shadow: -1px 0 0 0 #ffffff\\n        overflow: hidden\\n        transform: translateX(3rem)\\n        transition: transform 0.3s    \\n      &:hover a\\n        width: 2.5rem\\n        height: 2.5rem\\n        transform: translateX(0)\\n\\n@keyframes pulse-button \\n  0%\\n    transform: scale(1)\\n  5%\\n    transform: scale(1.03)\\n  20% \\n    transform: scale(1)\\n  25%\\n    transform: scale(1.03)\\n  40%\\n    transform: scale(1)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti-importazione .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.anagrafiche-utenti-importazione h2+.step-box{margin-top:-0.5rem}router-view.anagrafiche-utenti-importazione ka-flex-row>ka-input+ka-button+ka-button{margin-top:1.5rem}router-view.anagrafiche-utenti-importazione .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.anagrafiche-utenti-importazione .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.anagrafiche-utenti-importazione .step-description{margin:0;padding:1rem}router-view.anagrafiche-utenti-importazione .step-description ka-button:last-child{margin-right:0;margin-left:0}router-view.anagrafiche-utenti-importazione .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.anagrafiche-utenti-importazione .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.anagrafiche-utenti-importazione .step-separator{display:none}}router-view.anagrafiche-utenti-importazione h2.table_title{margin:0 0 0}router-view.anagrafiche-utenti-importazione h2.table_title>ka-button:not(:last-child){margin-left:0}router-view.anagrafiche-utenti-importazione .table_container{width:100%;height:calc(100% - 5.1rem);overflow-y:auto}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like{table-layout:fixed}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like.expanded{table-layout:auto}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like.expanded tbody td{overflow:visible}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like colgroup col.profile{width:4.1666666667%}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th{padding:0;padding-left:.7rem;padding-right:.7rem;overflow:hidden;text-overflow:ellipsis}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody td:last-child,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th:last-child{border-right:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td{vertical-align:baseline;border-right:1px solid #e0e0e0;min-width:6rem;vertical-align:top}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.medium_size{min-width:14rem}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.max_size{min-width:20rem}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.checkbox{vertical-align:inherit;min-width:unset}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.checkbox .warning{display:block;width:2rem;height:2rem;line-height:2rem;text-align:center;color:#ed5923;cursor:pointer}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.profile,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.billing{padding:0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control{display:block;margin:0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control label{display:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control .display-value{padding:0 0 0 .7rem !important;background:rgba(0,0,0,0);box-shadow:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th{padding:1rem .7rem;border-right:1px solid #e0e0e0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th{padding:2rem;line-height:1;border-bottom:1px solid #e0e0e0;background:linear-gradient(90deg, transparent, #F0F0EF)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th>p{display:inline-block;margin:0;margin-left:1rem;font-size:12px;color:#404040;font-weight:400}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th>p>span{color:#404040;font-weight:600}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tfoot td{padding:0;z-index:-500}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr td{opacity:.5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr td.selected{opacity:1}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated td{opacity:1}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.pending .profile{background:#f5f5f5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.pending .profile ka-control .display-value{color:rgba(0,0,0,.2)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile{background:rgba(255,0,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile{background:rgba(255,102,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .billing{background:#f5f5f5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .billing ka-control .display-value{color:rgba(0,0,0,.2)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .billing{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .billing ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing{background:rgba(255,0,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing{background:rgba(255,102,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:active{box-shadow:none;background:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/importazione.scss\"],\"names\":[],\"mappings\":\"AAAA,sDACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,yDAEF,kBACE,CAAA,qFAEF,iBACE,CAAA,yDAGF,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,wDAEF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,8DAGF,QACE,CAAA,YACA,CAAA,mFAEA,cACE,CAAA,aACA,CAAA,4DAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,kEAGF,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAEF,4DACE,YAAA,CAAA,CAAA,2DAGF,YACE,CAAA,sFAEA,aACE,CAAA,6DAIJ,UACE,CAAA,0BACA,CAAA,eACA,CAAA,iFAEA,kBACE,CAAA,0FACA,iBACE,CAAA,mGACA,gBACE,CAAA,sGAIF,mBACE,CAAA,oLAGJ,SAEE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,sBACA,CAAA,0MAEA,iBACE,CAAA,0FAIJ,+BACE,CAAA,6FAEA,uBACE,CAAA,8BACA,CAAA,cACA,CAAA,kBACA,CAAA,yGAEA,eACE,CAAA,sGAEF,eACE,CAAA,sGAEF,sBACE,CAAA,eACA,CAAA,+GACA,aACE,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,iBACA,CAAA,aACA,CAAA,cACA,CAAA,0MAIJ,SAEE,CAAA,wGAGF,aACE,CAAA,QACA,CAAA,8GACA,YACE,CAAA,uHAEF,8BACE,CAAA,wBACA,CAAA,eACA,CAAA,0FAON,kBACE,CAAA,8BACA,CAAA,+FAGF,YACE,CAAA,aACA,CAAA,+BACA,CAAA,uDACA,CAAA,iGAEA,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,cACA,CAAA,aACA,CAAA,eACA,CAAA,sGAEA,aACE,CAAA,eACA,CAAA,0FAMR,SACE,CAAA,YACA,CAAA,uFAKA,UACE,CAAA,gGACA,SACE,CAAA,ueAGJ,SACE,CAAA,qGAGA,kBACE,CAAA,+HAEF,oBACE,CAAA,qGAIF,qCACE,CAAA,+HAEF,oBACE,CAAA,mGAIF,oCACE,CAAA,uQAGA,eAEE,CAAA,eACA,CAAA,wGAKJ,sCACE,CAAA,iRAGA,eAEE,CAAA,eACA,CAAA,6GAKJ,qCACE,CAAA,uIAEF,oBACE,CAAA,6GAEF,kBACE,CAAA,uIAEF,oBACE,CAAA,6GAIF,qCACE,CAAA,uIAEF,oBACE,CAAA,6GAEF,qCACE,CAAA,uIAEF,oBACE,CAAA,2GAIF,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,oCACE,CAAA,uRAGA,eAEE,CAAA,eACA,CAAA,gHAKJ,qCACE,CAAA,0IAEF,oBACE,CAAA,gHAEF,sCACE,CAAA,iSAGA,eAEE,CAAA,eACA\",\"sourcesContent\":[\"router-view.anagrafiche-utenti-importazione {  \\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  }\\n  h2 + .step-box {\\n    margin-top: -0.5rem;\\n  }\\n  ka-flex-row > ka-input + ka-button + ka-button {\\n    margin-top: 1.5rem;\\n  }\\n  \\n  .step-number {\\n    display: inline-block;\\n    margin-right: 1rem;\\n    border-radius: 50%;\\n    width: 3rem;\\n    height: 3rem;\\n    font-size: 2rem;\\n    line-height: 3rem;\\n    text-align: center;\\n    vertical-align: top;\\n    color: #ffffff;\\n    background-color: #ed5923;\\n    background-color: #11254b;\\n  }\\n  .step-title {\\n    display: inline-block;\\n    margin: 0;\\n    font-size: 1.6rem;\\n    line-height: 3rem;\\n    color: #ed5923;\\n    color: #11254b;\\n  }\\n  \\n  .step-description {\\n    margin: 0;\\n    padding: 1rem;\\n  \\n    ka-button:last-child {\\n      margin-right: 0;\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  }\\n\\n  .step-separator:after {\\n    content: \\\"▶\\\";\\n    display: block;\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    z-index: -1;\\n    font-size: 1.8rem;\\n    color: #e0e0e0;\\n    transform: translate(-50%, -50%);\\n  }\\n  @media screen and (max-width: 62em) {\\n    .step-separator { display: none; }\\n  }\\n  /* Table */\\n  h2.table_title {\\n    margin: 0 0 0;\\n\\n    > ka-button:not(:last-child) {\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .table_container {\\n    width: 100%;\\n    height: calc(100% - 5.1rem);\\n    overflow-y: auto;\\n\\n    table.ka-table-like {\\n      table-layout: fixed;\\n      &.expanded {\\n        table-layout: auto;\\n        tbody td {\\n          overflow: visible;\\n        }\\n      }\\n      colgroup {\\n        col.profile {\\n          width: calc(50% / 12);\\n        }\\n      }\\n      tbody td,\\n      thead th {\\n        padding: 0;\\n        padding-left: 0.7rem;\\n        padding-right: 0.7rem;\\n        overflow: hidden;\\n        text-overflow: ellipsis;\\n\\n        &:last-child {\\n          border-right: none;\\n        }\\n      }\\n\\n      tbody tr {\\n        border-bottom: 1px solid #e0e0e0;\\n\\n        > td {\\n          vertical-align: baseline;\\n          border-right: 1px solid #e0e0e0;\\n          min-width: 6rem;\\n          vertical-align: top;\\n    \\n          &.medium_size {\\n            min-width: 14rem;\\n          }\\n          &.max_size {\\n            min-width: 20rem;\\n          }\\n          &.checkbox {\\n            vertical-align: inherit;\\n            min-width: unset;\\n            .warning {\\n              display: block;\\n              width: 2rem;\\n              height: 2rem;\\n              line-height: 2rem;\\n              text-align: center;\\n              color: #ed5923;\\n              cursor: pointer;\\n            }\\n          }\\n    \\n          &.profile,\\n          &.billing {\\n            padding: 0;\\n          }\\n    \\n          ka-control {\\n            display: block;\\n            margin: 0;\\n            label {\\n              display: none;\\n            }\\n            .display-value {\\n              padding: 0 0 0 0.7rem !important;\\n              background: transparent;\\n              box-shadow: none;\\n            }\\n          }\\n        }\\n      }\\n\\n      thead {\\n        th {\\n          padding: 1rem 0.7rem;\\n          border-right: 1px solid #e0e0e0;\\n        }\\n\\n        .top > th {\\n          padding: 2rem;\\n          line-height: 1;\\n          border-bottom: 1px solid #e0e0e0;\\n          background: linear-gradient(90deg, transparent, #F0F0EF);\\n\\n          > p {\\n            display: inline-block;\\n            margin: 0;\\n            margin-left: 1rem;\\n            font-size: 12px;\\n            color: #404040;\\n            font-weight: 400;\\n\\n            > span {\\n              color: #404040;\\n              font-weight: 600;\\n            }\\n          }\\n        }\\n      }\\n\\n      tfoot td {\\n        padding: 0;\\n        z-index: -500;\\n      }\\n\\n      /* Import */\\n      tr {\\n        td {\\n          opacity: 0.5;\\n          &.selected {\\n            opacity: 1;\\n          }\\n        }\\n        &.success td, &.success-success td, &.success-error td, &.error, &.duplicated td {\\n          opacity: 1;\\n        }\\n        &.pending {\\n          .profile {\\n            background:#f5f5f5;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.error {\\n          .profile {\\n            background: #ff000011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.duplicated {\\n          .profile {\\n            background: #ff660011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-pending {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background:#f5f5f5;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success-success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #0dff0011;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.success-error {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff000011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-duplicated {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff660011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n      }\\n    }\\n  }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-impostazioni .assistance strong+strong:before{content:\\\"e \\\"}router-view.anagrafiche-utenti-impostazioni .assistance strong:last-child:after{content:\\\".\\\"}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/views/impostazioni.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC3bE,6EACE,YAAA,CACJ,gFACE,WAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-impostazioni\\n  .assistance\\n    strong + strong\\n      &:before\\n        content: 'e '\\n    strong:last-child:after\\n      content: '.'\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-segnalatori .service-groups .add{position:relative;width:2.6rem;height:2.5rem;overflow:hidden;font-size:1.2rem;border-radius:3px;text-align:center;color:#fff;background-color:#ed5a23}router-view.anagrafiche-utenti-segnalatori .service-groups .add>select{display:block;position:absolute;top:0;left:0;opacity:0;cursor:pointer}router-view.anagrafiche-utenti-segnalatori .service-groups .group{position:relative;height:2.5rem;border-radius:3px;overflow:hidden;font-size:1.2rem;color:#fff;text-transform:uppercase;background-color:rgba(31,36,75,.7333333333)}router-view.anagrafiche-utenti-segnalatori .service-groups .group a{display:block;position:absolute;top:0;right:0;width:0;height:0;font-size:1.2rem;line-height:2.5rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:-1px 0 0 0 #fff;overflow:hidden;transform:translateX(3rem);transition:transform .3s}router-view.anagrafiche-utenti-segnalatori .service-groups .group:hover a{width:2.5rem;height:2.5rem;transform:translateX(0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/views/segnalatori.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC5bA,gEACE,iBAAA,CACA,YAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,iBAAA,CACA,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,uEACE,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,cAAA,CACJ,kEACE,iBAAA,CACA,aAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,wBAAA,CACA,2CAAA,CACA,oEACE,aAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,OAAA,CACA,QAAA,CACA,gBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,0BAAA,CACA,eAAA,CACA,0BAAA,CACA,wBAAA,CACF,0EACE,YAAA,CACA,aAAA,CACA,uBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-segnalatori\\n  .service-groups\\n    .add\\n      position: relative\\n      width: 2.6rem\\n      height: 2.5rem\\n      overflow: hidden\\n      font-size: 1.2rem\\n      border-radius: 3px\\n      text-align: center\\n      color: #ffffff\\n      background-color: #ed5a23\\n      > select\\n        display: block\\n        position: absolute\\n        top: 0\\n        left: 0\\n        opacity: 0\\n        cursor: pointer\\n    .group \\n      position: relative\\n      height: 2.5rem\\n      border-radius: 3px\\n      overflow: hidden\\n      font-size: 1.2rem\\n      color: #fff\\n      text-transform: uppercase\\n      background-color: #1f244bbb\\n      a \\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        font-size: 1.2rem\\n        line-height: 2.5rem\\n        color: #ffffff\\n        text-align: center\\n        text-decoration: none\\n        background-color: #ed5a23\\n        box-shadow: -1px 0 0 0 #ffffff\\n        overflow: hidden\\n        transform: translateX(3rem)\\n        transition: transform 0.3s    \\n      &:hover a\\n        width: 2.5rem\\n        height: 2.5rem\\n        transform: translateX(0)\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.not-found,router-view.maintenance{min-height:100%;max-height:100%;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.not-found>div,router-view.maintenance>div{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center}router-view.not-found>div h1,router-view.maintenance>div h1{margin:0;border:0;padding:0;font-size:3rem;line-height:1.5}router-view.not-found>div h2,router-view.maintenance>div h2{margin:1rem 0 0;border:0;padding:0;font-size:2rem;line-height:1.5;color:#11254b}router-view.not-found>div p,router-view.maintenance>div p{margin:.5rem 0 0;font-size:1.6rem;line-height:1.5;color:#11254b}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/app/not-found.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,8CACE,eAAA,CACA,eAAA,CAEA,kFAAA,CAEA,sDACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,iBAAA,CAEA,4DACE,QAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACA,eAAA,CACF,4DACE,eAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACA,eAAA,CACA,aC1BY,CD2Bd,0DACE,gBAAA,CACA,gBAAA,CACA,eAAA,CACA,aC/BY\",\"sourcesContent\":[\"@import ../../static/vars\\n\\nrouter-view.not-found, router-view.maintenance\\n  min-height: 100%\\n  max-height: 100%\\n\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n\\n  > div\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    text-align: center\\n\\n    h1\\n      margin: 0\\n      border: 0\\n      padding: 0\\n      font-size: 3rem\\n      line-height: 1.5\\n    h2 \\n      margin: 1rem 0 0\\n      border: 0\\n      padding: 0\\n      font-size: 2rem\\n      line-height: 1.5\\n      color: $secondary-color\\n    p \\n      margin: 0.5rem 0 0\\n      font-size: 1.6rem\\n      line-height: 1.5\\n      color: $secondary-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.editor-wall-advice{max-width:calc(858.66px + 2rem)}ux-dialog.editor-wall-advice .body{padding:1rem;overflow-x:hidden !important}ux-dialog.editor-wall-advice .body ka-control[name=advice]{width:100%}ux-dialog.editor-wall-advice .body ka-control[name=advice] .ck.ck-editor__main,ux-dialog.editor-wall-advice .body ka-control[name=advice] .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline{height:20vh}ux-dialog.editor-wall-advice .body>.row>.col:first-of-type{box-shadow:inset -1px 0 0 0 rgba(64,64,64,.1)}ux-dialog.editor-wall-advice .footer{display:flex;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.editor-wall-advice .footer ka-button+ka-button{margin-left:0}ux-dialog.confirm-advice ux-dialog-footer button+button{margin-left:0 !important}ux-dialog.confirm-advice ux-dialog-footer button:first-child{background:#11254b}ux-dialog.confirm-advice ux-dialog-footer button:first-child:hover:enabled{background:#081021}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/avvisi/dialogs/editor-wall-advice.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,6BACE,+BAAA,CACA,mCACE,YAAA,CACA,4BAAA,CACA,2DACE,UAAA,CACA,sOACE,WAAA,CACJ,2DACE,6CAAA,CACJ,qCACE,YAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA,CAIF,wDACE,wBAAA,CACF,6DACE,kBCzBY,CD0BZ,2EACE,kBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/_mixins'\\n\\nux-dialog.editor-wall-advice\\n  max-width: calc(858.66px + 2rem)\\n  .body \\n    padding: 1rem\\n    overflow-x: hidden !important\\n    ka-control[name=\\\"advice\\\"]\\n      width: 100%\\n      .ck.ck-editor__main, .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline\\n        height: 20vh\\n    > .row > .col:first-of-type\\n      box-shadow: inset -1px 0 0 0 rgba($text-color, 0.1)\\n  .footer \\n    display: flex\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\\nux-dialog.confirm-advice\\n  ux-dialog-footer\\n    button + button\\n      margin-left: 0 !important\\n    button:first-child\\n      background: $secondary-color\\n      &:hover:enabled\\n        background: darken($secondary-color, 10%)\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2{display:flex;justify-content:space-between;padding:0 2rem}ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2 .date{font-size:1.4rem;color:#404040}ux-dialog.wall-advice .body{padding:2rem}ux-dialog.wall-advice .body h3{margin:0;margin-bottom:2rem;padding:0}ux-dialog.wall-advice .body p{margin:0;padding:0 0 1rem}ux-dialog.wall-advice .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.wall-advice .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/avvisi/dialogs/wall-advice-preview.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,iEACE,YAAA,CACA,6BAAA,CACA,cAAA,CACA,uEACE,gBAAA,CACA,aCTO,CDUX,4BACE,YAAA,CACA,+BACE,QAAA,CACA,kBAAA,CACA,SAAA,CACF,8BACE,QAAA,CACA,gBAAA,CACJ,8BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,kDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.wall-advice\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    justify-content: space-between\\n    padding: 0 2rem\\n    .date\\n      font-size: 1.4rem\\n      color: $text-color\\n  .body \\n    padding: 2rem\\n    h3\\n      margin: 0\\n      margin-bottom: 2rem\\n      padding: 0\\n    p\\n      margin: 0\\n      padding: 0 0 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2{display:flex;justify-content:space-between;padding:0 2rem}ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2 .date{font-size:1.4rem;color:#404040}ux-dialog.wall-advice .body{padding:2rem}ux-dialog.wall-advice .body h3{margin:0;margin-bottom:2rem;padding:0}ux-dialog.wall-advice .body p{margin:0;padding:0 0 1rem}ux-dialog.wall-advice .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.wall-advice .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/avvisi/dialogs/wall-advice.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,iEACE,YAAA,CACA,6BAAA,CACA,cAAA,CACA,uEACE,gBAAA,CACA,aCTO,CDUX,4BACE,YAAA,CACA,+BACE,QAAA,CACA,kBAAA,CACA,SAAA,CACF,8BACE,QAAA,CACA,gBAAA,CACJ,8BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,kDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.wall-advice\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    justify-content: space-between\\n    padding: 0 2rem\\n    .date\\n      font-size: 1.4rem\\n      color: $text-color\\n  .body \\n    padding: 2rem\\n    h3\\n      margin: 0\\n      margin-bottom: 2rem\\n      padding: 0\\n    p\\n      margin: 0\\n      padding: 0 0 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.backoffice-avvisi table .dates>small{display:block;white-space:nowrap}router-view.backoffice-avvisi table .dates>small strong{color:#404040}router-view.backoffice-avvisi table .advice{max-width:10vw}router-view.backoffice-avvisi table .advice small{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/avvisi/wall-advices.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC3bE,iDACE,aAAA,CACA,kBAAA,CACA,wDACE,aCVG,CDWT,4CACE,cAAA,CACA,kDD2DJ,mBAAA,CACA,eAFqC,CAGrC,eAAA,CACA,sBAAA,CACA,YC9DyB,CD+DzB,oBC/DyB,CDgEzB,2BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.backoffice-avvisi\\n  table\\n    .dates\\n      > small\\n        display: block\\n        white-space: nowrap\\n        strong\\n          color: $text-color\\n    .advice\\n      max-width: 10vw\\n      small\\n        @include max-lines(3)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.backoffice-alias .modify-alias{margin:0 0 0 1rem}router-view.backoffice-alias .modify-alias [class*=col]+[class*=col]{margin-top:1rem;padding-left:0}router-view.backoffice-alias .modify-alias [class*=col]:first-child{padding-left:0}router-view.backoffice-alias .modify-alias [class*=col]:nth-child(2){margin-top:0}router-view.backoffice-alias .form-buttons ka-button+ka-button{margin-right:0}router-view.backoffice-agreements td.agreement-status>i{font-size:2rem;color:rgba(64,64,64,.3);cursor:pointer}router-view.backoffice-agreements tr.attivo td.agreement-status>i{color:#ed5a23}router-view.backoffice-agreements .ck-editor{width:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/backoffice.scss\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC5bF,2CACE,iBAAA,CACA,qEAAA,eAAA,CAAA,cAAA,CACA,oEAAA,cAAA,CACA,qEAAA,YAAA,CAGA,+DAAA,cAAA,CAOA,wDACE,cAAA,CACA,uBAAA,CACA,cAAA,CAIF,kEACE,aC1BU,CD6Bd,6CACE,UAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars';\\n@import '../../static/mixins';\\n\\n/* Alias sms */\\nrouter-view.backoffice-alias {\\n  .modify-alias {\\n    margin: 0 0 0 1rem;\\n    [class*=\\\"col\\\"] + [class*=\\\"col\\\"] { margin-top: 1rem; padding-left: 0; }\\n    [class*=\\\"col\\\"]:first-child { padding-left: 0; }\\n    [class*=\\\"col\\\"]:nth-child(2) { margin-top: 0; }\\n  }\\n  .form-buttons {\\n    ka-button + ka-button { margin-right: 0; }\\n  }\\n}\\n\\n/* Agreements */\\nrouter-view.backoffice-agreements {\\n  td.agreement-status {\\n    > i {\\n      font-size: 2rem;\\n      color: rgba($text-color, 0.3);\\n      cursor: pointer;\\n    }\\n  }\\n  tr.attivo {\\n    td.agreement-status > i {\\n      color: $primary-color;\\n    }\\n  }\\n  .ck-editor {\\n    width: 100%;\\n  }\\n}\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.blacklisted-tax-codes{max-width:max(30vw,30rem)}ux-dialog.blacklisted-tax-codes .body{padding:0}ux-dialog.blacklisted-tax-codes .body h2.table-title{margin:0}ux-dialog.blacklisted-tax-codes .body table tbody tr:last-of-type{box-shadow:none}ux-dialog.blacklisted-tax-codes .footer{display:flex;justify-content:flex-end;padding:6px;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,gCACE,yBAAA,CACA,sCACE,SAAA,CACA,qDACE,QAAA,CAGE,kEACE,eAAA,CACR,wCACE,YAAA,CACA,wBAAA,CACA,WAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/_mixins'\\n\\nux-dialog.blacklisted-tax-codes\\n  max-width: max(30vw, 30rem)\\n  .body\\n    padding: 0\\n    h2.table-title\\n      margin: 0\\n    table\\n      tbody\\n        tr:last-of-type\\n          box-shadow: none\\n  .footer \\n    display: flex\\n    justify-content: flex-end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.documenti-approval .body{padding:1rem}ux-dialog.documenti-approval .body .alert-message>i{font-size:1.2rem;color:#ed5a23;vertical-align:middle}ux-dialog.documenti-approval .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.documenti-approval .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/documenti/dialogs/documenti-approval.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,YAAA,CAEE,oDACE,gBAAA,CACA,aCPQ,CDQR,qBAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.documenti-approval\\n  .body \\n    padding: 1rem\\n    .alert-message\\n      > i\\n        font-size: 1.2rem\\n        color: $primary-color\\n        vertical-align: middle\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body .meta{margin-bottom:0}ux-dialog .body .meta>span{display:inline-block;margin-right:1rem;margin-bottom:1rem}ux-dialog .body h2+ka-tabs{margin-top:-1rem}ux-dialog .body ka-tab p{line-height:1.2}ux-dialog .body ka-tab p small{opacity:.5}ux-dialog .body ka-tab .unformat{padding:0 1rem 1rem}ux-dialog .body ka-tab .unformat *{margin:0;padding:0;font-size:1.2rem;line-height:1.4}ux-dialog .body .code{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;height:fit-content;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;font-size:1.2rem;white-space:nowrap;cursor:pointer}ux-dialog .body .key{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;height:fit-content;color:#fff;text-align:center;background-color:rgba(31,36,75,.7);box-shadow:inset 0 0 0 1px rgba(87,88,147,.7333333333);font-size:1.2rem;white-space:nowrap;cursor:pointer}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}#emailFrame{display:block;border:0;width:100%;height:30vh}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.sass\"],\"names\":[],\"mappings\":\"AAII,sBACE,eAAA,CACA,2BACE,oBAAA,CACA,iBAAA,CACA,kBAAA,CACJ,2BACE,gBAAA,CAEA,yBACE,eAAA,CACA,+BACE,UAAA,CACJ,iCACE,mBAAA,CACA,mCACE,QAAA,CACA,SAAA,CACA,gBAAA,CACA,eAAA,CACN,sBACE,oBAAA,CACA,iBAAA,CACA,oBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,gBAAA,CACA,kBAAA,CACA,cAAA,CACF,qBACE,oBAAA,CACA,iBAAA,CACA,oBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,sDAAA,CACA,gBAAA,CACA,kBAAA,CACA,cAAA,CAEJ,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEJ,YACE,aAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog\\n  .body\\n    .meta\\n      margin-bottom: 0\\n      > span\\n        display: inline-block\\n        margin-right: 1rem\\n        margin-bottom: 1rem\\n    h2 + ka-tabs\\n      margin-top: -1rem\\n    ka-tab\\n      p\\n        line-height: 1.2\\n        small\\n          opacity: 0.5\\n      .unformat\\n        padding: 0 1rem 1rem\\n        & *\\n          margin: 0\\n          padding: 0\\n          font-size: 1.2rem\\n          line-height: 1.4         \\n    .code\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      height: fit-content\\n      color: white\\n      text-align: center\\n      background-color: rgba(28, 200, 0, 0.7)\\n      box-shadow: inset 0 0 0 1px #1cc800\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n    .key\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      height: fit-content\\n      color: white\\n      text-align: center\\n      background-color: rgba(31, 36, 75, 0.7)\\n      box-shadow: inset 0 0 0 1px #575893bb\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\\n#emailFrame\\n  display: block\\n  border: 0\\n  width: calc(100%)\\n  height: 30vh\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.backoffice-notifiche ka-tabs>nav{display:none}router-view.backoffice-notifiche .notifications-search{padding:0 1rem 1rem}router-view.backoffice-notifiche .search-channel>.row{min-width:16vw}router-view.backoffice-notifiche .notifications .code{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;font-size:1.2rem;white-space:nowrap;cursor:pointer}router-view.backoffice-notifiche .notifications .code:before{display:inline-block;content:\\\"\\\";margin:0 .4rem 0 0;font-size:100%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:unset;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .code:hover{background-color:rgba(28,200,0,.8);box-shadow:inset 0 0 0 1px #15a000}router-view.backoffice-notifiche .notifications .code:hover:before{font-weight:400}router-view.backoffice-notifiche .notifications .channels{font-size:3rem;color:#ddd;white-space:nowrap}router-view.backoffice-notifiche .notifications .channels i.active{color:#ed5a23}router-view.backoffice-notifiche .notifications .channels i:nth-child(2){margin:0 .5rem}router-view.backoffice-notifiche .notifications .send{width:100%;margin:0;padding:0;list-style:none}router-view.backoffice-notifiche .notifications .send>li{display:flex}router-view.backoffice-notifiche .notifications .send>li.email{display:block}router-view.backoffice-notifiche .notifications .send>li>.emailAdress{display:flex}router-view.backoffice-notifiche .notifications .send>li .emailAdress+.emailAdress{margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li:nth-child(2){margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li:nth-child(3){margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li.email .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li.sms .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li.ui .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li .send-channel{width:max(8vw,12rem)}router-view.backoffice-notifiche .notifications .send>li ul.timeline{position:relative;display:flex;align-items:center;justify-content:space-between;width:max(10vw,15rem);margin:0;padding:0;list-style:none}router-view.backoffice-notifiche .notifications .send>li ul.timeline:before,router-view.backoffice-notifiche .notifications .send>li ul.timeline:after{position:absolute;display:inline-block;height:1.5px;width:calc(max(10vw, 15rem)/2);top:50%;left:0;content:\\\"\\\";transform:translateY(-50%);background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.timeline:after{left:unset;right:0;background:#ddd}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li{position:relative;display:flex;align-items:center;justify-content:center;height:1.8rem;width:1.8rem;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ddd;cursor:pointer;z-index:1}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li:nth-child(1){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li:nth-child(1):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ddd}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:spinner 1s linear infinite;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2){background:#ed5a23;box-shadow:none}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.transit:after{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:spinner 1s linear infinite;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.bounced:after,router-view.backoffice-notifiche .notifications .send>li ul.bounced:before{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3){background:#ed5a23;box-shadow:none}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.delivered:after,router-view.backoffice-notifiche .notifications .send>li ul.delivered:before{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}@media screen and (max-width: 575px){router-view.backoffice-notifiche .notifications .channels{font-size:2.5rem}router-view.backoffice-notifiche .notifications .send>li{display:block}router-view.backoffice-notifiche .notifications .send>li>.emailAdress{display:block}router-view.backoffice-notifiche .notifications .send>li .send-channel{padding-bottom:.5rem}router-view.backoffice-notifiche .notifications .send>li .send-channel:before{display:none !important}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li{height:1.6rem;width:1.6rem}}.notifications-tooltip strong{display:block;margin:0 -1rem .5rem -1rem;border-bottom:1px solid #606060;padding:0 1rem .5rem 1rem;font-size:1.1rem;text-transform:uppercase}.notifications-tooltip strong+br{display:none}.notifications-tooltip.pending strong{margin-bottom:0;border-bottom:0;padding-bottom:0;text-transform:none}.notifications-tooltip em{font-style:normal;font-size:1rem;opacity:.7}@keyframes spinner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes hover{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/notifiche-sistema/notifiche.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$unselected-color: #dddddd\\n$timeline-width: Max(10vw, 15rem)\\n$timeline-point: 1.8rem\\n$timeline-thikness: 1.5px\\nrouter-view.backoffice-notifiche\\n  ka-tabs > nav\\n    display: none\\n  /* Search */\\n  .notifications-search\\n    padding: 0 1rem 1rem\\n  .search-channel > .row\\n    min-width: 16vw\\n  /* Table */\\n  .notifications\\n    .code\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      color: white\\n      text-align: center\\n      background-color: rgba(28, 200, 0, 0.7)\\n      box-shadow: inset 0 0 0 1px #1cc800\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", \\\"light\\\", 100%, 0 0.4rem 0 0, #FFF, unset)\\n      &:hover \\n        background-color: rgba(28, 200, 0, 0.8)\\n        box-shadow: inset 0 0 0 1px #15a000\\n        &:before\\n          font-weight: 400\\n    .channels\\n      font-size: 3rem\\n      color: $unselected-color\\n      white-space: nowrap\\n      i.active\\n        color: $primary-color\\n      i:nth-child(2)\\n        margin: 0 .5rem\\n    .send\\n      width: 100%\\n      margin: 0\\n      padding: 0\\n      list-style: none\\n      > li\\n        display: flex\\n        &.email\\n          display: block\\n        & > .emailAdress\\n          display: flex\\n        .emailAdress + .emailAdress\\n          margin-top: 0.5rem\\n        &:nth-child(2)\\n          margin-top: .5rem\\n        &:nth-child(3)\\n          margin-top: .5rem\\n        &.email .send-channel:before\\n          @include fontawesome(\\\"\\\\f1fa\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        &.sms .send-channel:before\\n          @include fontawesome(\\\"\\\\f7cd\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        &.ui .send-channel:before\\n          @include fontawesome(\\\"\\\\f848\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        .send-channel\\n          width: Max(8vw, 12rem)\\n        ul.timeline\\n          position: relative\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          width: $timeline-width\\n          margin: 0\\n          padding: 0\\n          list-style: none\\n          // Line\\n          &:before, &:after\\n            position: absolute\\n            display: inline-block\\n            height: $timeline-thikness\\n            width: calc(#{$timeline-width} / 2)\\n            top: 50%\\n            left: 0\\n            content: \\\"\\\"\\n            transform: translateY(-50%)\\n            background: $primary-color\\n          &:after\\n            left: unset\\n            right: 0\\n            background: $unselected-color\\n          // Point\\n          > li\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: center\\n            height: $timeline-point\\n            width: $timeline-point\\n            border-radius: 50%\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $unselected-color\\n            cursor: pointer\\n            z-index: 1\\n        // Created\\n        ul.timeline > li:nth-child(1)\\n          background: #FFF\\n          box-shadow: inset 0 0 0 2px $primary-color\\n          &:hover\\n              animation: hover .8s ease-in-out infinite\\n        // Pending  \\n        ul.pending > li:nth-child(2)\\n          background: #FFF\\n          box-shadow: inset 0 0 0 2px $unselected-color\\n          &:hover\\n              animation: hover .8s ease-in-out infinite\\n          &:before\\n            @include fontawesome(\\\"\\\\f3f4\\\", \\\"solid\\\", 70%, 0, $primary-color, middle, spinner 1s linear infinite)\\n        // Error  \\n        ul.error > li:nth-child(2)\\n            background: $primary-color\\n            box-shadow: none\\n            &:hover\\n              animation: hover .8s ease-in-out infinite\\n            &:before\\n              @include fontawesome(\\\"\\\\f00d\\\", \\\"solid\\\", 70%, 0, #FFF, middle)\\n        // Transit\\n        ul.transit\\n          &:after\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n              animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n              &:hover\\n                animation: hover .8s ease-in-out infinite\\n              &:before\\n                @include fontawesome(\\\"\\\\f3f4\\\", \\\"solid\\\", 70%, 0, $primary-color, middle, spinner 1s linear infinite)\\n        // Bounced\\n        ul.bounced\\n          &:after, &:before\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n            background: $primary-color\\n            box-shadow: none\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              @include fontawesome(\\\"\\\\f00d\\\", \\\"solid\\\", 70%, 0, #FFF, middle)\\n        // Delivered\\n        ul.delivered\\n          &:after, &:before\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:before\\n              @include fontawesome(\\\"\\\\f00c\\\", \\\"solid\\\", 70%, 0, $primary-color, middle)\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n    @media screen and (max-width: 575px)\\n      .channels\\n        font-size: 2.5rem\\n      .send\\n        > li\\n          display: block\\n          & > .emailAdress\\n            display: block\\n          & .send-channel\\n            padding-bottom: 0.5rem\\n            &:before\\n              display: none !important\\n          ul.timeline\\n            > li\\n              height: $timeline-point - 0.2rem\\n              width: $timeline-point - 0.2rem\\n// Tooltip\\n.notifications-tooltip\\n  strong\\n    display: block\\n    margin: 0 -1rem 0.5rem -1rem\\n    border-bottom: 1px solid #606060\\n    padding: 0 1rem 0.5rem 1rem\\n    font-size: 1.1rem\\n    text-transform: uppercase\\n    & + br\\n      display: none\\n  &.pending strong\\n    margin-bottom: 0\\n    border-bottom: 0\\n    padding-bottom: 0\\n    text-transform: none\\n  em\\n    font-style: normal\\n    font-size: 1rem\\n    opacity: 0.7\\n\\n/* Animations */\\n@keyframes spinner\\n  from \\n    transform: rotate(0deg)\\n  to\\n    transform: rotate(360deg)\\n@keyframes hover\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.15)\\n  100%\\n    transform: scale(1)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.offerte-editor .body{padding:2rem}ux-dialog.offerte-editor .body div[class*=col-],ux-dialog.offerte-editor .body .col{padding-top:1rem}ux-dialog.offerte-editor .body div[class*=col-]:nth-child(1),ux-dialog.offerte-editor .body div[class*=col-]:nth-child(2),ux-dialog.offerte-editor .body .col:nth-child(1),ux-dialog.offerte-editor .body .col:nth-child(2){padding-top:0}ux-dialog.offerte-editor .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/offerte/dialogs/offerte-editor.sass\"],\"names\":[],\"mappings\":\"AAGE,+BACE,YAAA,CACA,oFACE,gBAAA,CACA,4NACE,aAAA,CACN,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.offerte-editor\\n  .body\\n    padding: 2rem\\n    div[class*='col-'], .col\\n      padding-top: 1rem\\n      &:nth-child(1), &:nth-child(2)\\n        padding-top: 0\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.backoffice-offerte .service-modify-btn{display:block;width:16.5rem;margin:0}router-view.backoffice-offerte .service-modify-btn+.service-modify-btn{margin-top:.5rem}router-view.backoffice-offerte td small a{color:#ed5a23}@media screen and (max-width: 575px){router-view.backoffice-offerte td{max-width:unset !important;min-width:unset !important}}router-view.backoffice-offerte .payment-methods+.payment-methods:before{content:\\\", \\\"}router-view.backoffice-offerte .promo-code{display:flex;justify-content:center;margin-bottom:.2rem;padding:0 .5rem;border-radius:3px;font-size:1.1rem;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);cursor:pointer}@media screen and (max-width: 575px){router-view.backoffice-offerte .promo-code{display:inline-block;padding:.5rem 1rem}router-view.backoffice-offerte .promo-code+.promo-code{margin-left:.5rem}}router-view.backoffice-offerte .offered-by{text-decoration:line-through;color:rgba(64,64,64,.6);white-space:nowrap}router-view.backoffice-offerte .logs{margin-right:.3rem;color:#ed5a23;cursor:pointer}router-view.backoffice-offerte .logs:hover{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/offerte/offerte.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,mDACE,aAAA,CACA,aAAA,CACA,QAAA,CACF,uEACE,gBAAA,CAEA,0CACE,aAAA,CACF,qCAHF,kCAII,0BAAA,CACA,0BAAA,CAAA,CAGJ,wEACE,YAAA,CACF,2CACE,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,eAAA,CACA,iBAAA,CACA,gBAAA,CACA,kBAAA,CACA,6CAAA,CACA,mCAAA,CACA,cAAA,CACA,qCAXF,2CAYI,oBAAA,CACA,kBAAA,CACA,uDACE,iBAAA,CAAA,CAEN,2CACE,4BAAA,CACA,uBAAA,CACA,kBAAA,CAEF,qCACE,kBAAA,CACA,aC3CY,CD4CZ,cAAA,CACA,2CACE,aC/CO\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.backoffice-offerte\\n  .service-modify-btn\\n    display: block\\n    width: 16.5rem\\n    margin: 0\\n  .service-modify-btn + .service-modify-btn \\n    margin-top: 0.5rem\\n  td\\n    small a \\n      color: #ed5a23\\n    @media screen and (max-width: 575px)\\n      max-width: unset !important\\n      min-width: unset !important\\n\\n  // Servizi\\n  .payment-methods + .payment-methods:before\\n    content: ', '\\n  .promo-code\\n    display: flex\\n    justify-content: center\\n    margin-bottom: .2rem\\n    padding: 0 .5rem\\n    border-radius: 3px\\n    font-size: 1.1rem\\n    white-space: nowrap\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n    background-color: rgba($primary-color, 0.2)\\n    cursor: pointer\\n    @media screen and (max-width: 575px)\\n      display: inline-block\\n      padding: .5rem 1rem\\n      & + .promo-code\\n        margin-left: .5rem\\n\\n  .offered-by\\n    text-decoration: line-through\\n    color: rgba($text-color, 0.6)\\n    white-space: nowrap\\n\\n  .logs\\n    margin-right: .3rem\\n    color: $primary-color\\n    cursor: pointer\\n    &:hover\\n      color: $text-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.contract-detail{width:50vw}ux-dialog.contract-detail .content{margin:1rem}ux-dialog.contract-detail .content a{color:#ed5a23}ux-dialog.contract-detail .content>h2,ux-dialog.contract-detail .content h3{border:none;margin:1rem 0;color:#404040;font-weight:bold;font-size:1.6rem;line-height:1}ux-dialog.contract-detail .content>h2:before,ux-dialog.contract-detail .content>h2:after,ux-dialog.contract-detail .content h3:before,ux-dialog.contract-detail .content h3:after{border:none;box-shadow:none;background:rgba(0,0,0,0)}ux-dialog.contract-detail .content>h3{margin:1rem 0;font-size:1.4rem}ux-dialog.contract-detail .content>h4{margin:1rem 0;padding:0 0 0 1rem;font-size:1.4rem}ux-dialog.contract-detail .content h2+h3{margin-top:0;font-weight:normal;color:#ed5a23}ux-dialog.contract-detail .content h2+h4{font-weight:normal;color:#ed5a23}ux-dialog.contract-detail .content p+h2,ux-dialog.contract-detail .content p+h3,ux-dialog.contract-detail .content p+h4{margin-top:2rem}ux-dialog.contract-detail .content>p:last-child{margin-bottom:2rem}ux-dialog.contract-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/contracts/dialogs/contract-detail.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,0BACE,UAAA,CACA,mCACE,WAAA,CACA,qCACE,aCPU,CDQZ,4EACE,WAAA,CACA,aAAA,CACA,aCZO,CDaP,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,kLACE,WAAA,CACA,eAAA,CACA,wBAAA,CACJ,sCACE,aAAA,CACA,gBAAA,CACF,sCACE,aAAA,CACA,kBAAA,CACA,gBAAA,CACF,yCACE,YAAA,CACA,kBAAA,CACA,aC7BU,CD8BZ,yCACE,kBAAA,CACA,aChCU,CDiCZ,wHACE,eAAA,CACF,gDACE,kBAAA,CAEJ,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.contract-detail\\n  width: 50vw\\n  .content\\n    margin: 1rem\\n    a\\n      color: $primary-color\\n    > h2, h3\\n      border: none\\n      margin: 1rem 0\\n      color: $text-color\\n      font-weight: bold\\n      font-size: 1.6rem\\n      line-height: 1\\n      &:before, &:after\\n        border: none \\n        box-shadow: none \\n        background: transparent\\n    > h3 \\n      margin: 1rem 0 \\n      font-size: 1.4rem\\n    > h4 \\n      margin: 1rem 0 \\n      padding: 0 0 0 1rem \\n      font-size: 1.4rem\\n    h2 + h3 \\n      margin-top: 0 \\n      font-weight: normal \\n      color: $primary-color\\n    h2 + h4 \\n      font-weight: normal\\n      color: $primary-color\\n    p + h2, p + h3, p + h4 \\n      margin-top: 2rem\\n    > p:last-child \\n      margin-bottom: 2rem\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.contract-rescission .body .contract-versions{display:block}ux-dialog.contract-rescission .body .contract-versions .flat-service,ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes{display:block;font-weight:bold;white-space:nowrap}ux-dialog.contract-rescission .body .contract-versions .flat-service:before,ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes:before{font-weight:normal}ux-dialog.contract-rescission .body .contract-versions .flat-service:before{content:\\\"Ultima versione di contratto per attivazioni servizi in abbonamento accettata dall'utente: \\\"}ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes:before{content:\\\"Ultima versione di contratto per spedizioni MultInvio accettata dall'utente: \\\"}ux-dialog.contract-rescission .body .reason-alert{display:block}ux-dialog.contract-rescission .body .reason-alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.contract-rescission .footer{display:flex;justify-content:space-between;align-items:center;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/dialogs/contract-rescission.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,uDD5bA,aACE,CAAA,+IACA,aACE,CAAA,gBACA,CAAA,kBACA,CAAA,6JACA,kBACE,CAAA,4EACJ,qGACE,CAAA,iFACF,uFACE,CAAA,kDACJ,aACE,CAAA,yDACA,oBCiCJ,CAAA,WDhC2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCoC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sCD9CF,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.contract-rescission\\n  .body\\n    .contract-versions\\n      display: block\\n      .flat-service, .multinvio-volumes\\n        display: block\\n        font-weight: bold\\n        white-space: nowrap\\n        &:before\\n          font-weight: normal\\n      .flat-service:before\\n        content: 'Ultima versione di contratto per attivazioni servizi in abbonamento accettata dall\\\\'utente: '\\n      .multinvio-volumes:before\\n        content: 'Ultima versione di contratto per spedizioni MultInvio accettata dall\\\\'utente: '\\n    .reason-alert\\n      display: block\\n      &:before\\n        @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: flex\\n    justify-content: space-between\\n    align-items: center\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.create-contract{max-width:fit-content}ux-dialog.create-contract .body{overflow-x:hidden !important}ux-dialog.create-contract .body ka-control[name=htmlTemplate]{width:100%}ux-dialog.create-contract .body ka-control[name=htmlTemplate] .ck.ck-editor__main,ux-dialog.create-contract .body ka-control[name=htmlTemplate] .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline{height:50vh}ux-dialog.create-contract .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/contracts/dialogs/create-contract.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,0BACE,qBAAA,CACA,gCACE,4BAAA,CACA,8DACE,UAAA,CACA,4OACE,WAAA,CACN,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.create-contract\\n  max-width: fit-content\\n  .body\\n    overflow-x: hidden !important\\n    ka-control[name=\\\"htmlTemplate\\\"]\\n      width: 100%\\n      .ck.ck-editor__main, .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline\\n        height: 50vh\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.cashback-contracts #userArchive .subscriptions .subscription{display:flex;flex-direction:column;align-items:center;width:100%;border:none}router-view.cashback-contracts #userArchive .subscriptions .subscription h2{padding-right:1rem;font-size:1.4rem;line-height:4rem;white-space:nowrap;box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody tr:last-of-type{box-shadow:none;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td{font-size:1.3rem;white-space:nowrap;vertical-align:middle !important}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:first-child{box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0 !important}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:last-child{width:0;text-align:right;box-shadow:inset -1px 0 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:not(:last-child){box-shadow:1px 0 0 0 #e0e0e0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/contracts/tabs/user-archive.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC5bA,yEACE,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,4EACE,kBAAA,CACA,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mFAAA,CAGE,qGACE,eAAA,CACA,mCAAA,CACF,wFACE,gBAAA,CACA,kBAAA,CACA,gCAAA,CACA,oGACE,sEAAA,CACF,mGACE,OAAA,CACA,gBAAA,CACA,mCAAA,CACF,yGACE,4BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.cashback-contracts #userArchive\\n  .subscriptions\\n    .subscription\\n      display: flex\\n      flex-direction: column\\n      align-items: center\\n      width: 100%\\n      border: none\\n      h2\\n        padding-right: 1rem\\n        font-size: 1.4rem\\n        line-height: 4rem\\n        white-space: nowrap\\n        box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0\\n      table\\n        tbody\\n          tr:last-of-type\\n            box-shadow: none\\n            box-shadow: inset 0 -1px 0 0 #e0e0e0,\\n          td\\n            font-size: 1.3rem\\n            white-space: nowrap\\n            vertical-align: middle !important\\n            &:first-child\\n              box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0 !important\\n            &:last-child\\n              width: 0\\n              text-align: right\\n              box-shadow: inset -1px 0 0 0 #e0e0e0\\n            &:not(:last-child)\\n              box-shadow: 1px 0 0 0 #e0e0e0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.cashback-contracts #userSubscriptions .contracts .contract{display:flex;flex-direction:column;width:100%;min-height:30vh;max-height:calc(100vh - 5rem - 6rem - 2rem);border:1px solid #e0e0e0;overflow-y:auto;overflow-x:hidden}@media only screen and (max-width: 767px){router-view.cashback-contracts #userSubscriptions .contracts .contract{max-height:calc((100vh - 5rem - 6rem - 2rem)/2)}router-view.cashback-contracts #userSubscriptions .contracts .contract:last-of-type{border-top:none}router-view.cashback-contracts #userSubscriptions .contracts .contract h3{font-size:1.3rem;margin-bottom:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract ka-button{height:2.5rem;margin-top:.5rem;font-size:1.2rem;line-height:2.5rem}}router-view.cashback-contracts #userSubscriptions .contracts .contract:first-child{margin-right:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract:last-child{margin-left:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract p{font-size:1.3rem;line-height:1.3}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .subscripted:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .to-be-subscripted:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .nothing-to-subcribe:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .grace-period-warning:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .content{position:relative;height:100%;min-height:20vh;width:calc(100% - 2rem);border:1px solid #e0e0e0;line-height:2rem;font-size:1.3rem;overflow-y:auto;overflow-x:hidden}@media only screen and (max-width: 767px){router-view.cashback-contracts #userSubscriptions .contracts .contract .content{min-height:10vh}}router-view.cashback-contracts #userSubscriptions .contracts .contract .content .spinner-loader{position:absolute;top:calc(50% - 2.5rem);left:calc(50% - 2.5rem);width:5rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #c0c0c0 94%, rgba(0, 0, 0, 0)) top/8px 8px no-repeat,conic-gradient(rgba(0, 0, 0, 0) 30%, #c0c0c0);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 8px), #000 0);animation:l13 1s infinite linear}router-view.cashback-contracts #userSubscriptions .contracts .contract .fa-exclamation-triangle{color:#f30}router-view.cashback-contracts #userSubscriptions .contracts .contract .tag{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control input{flex-shrink:0;cursor:pointer}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control .description{font-size:1.3rem;line-height:1.3;white-space:normal}router-view.cashback-contracts #userSubscriptions .contracts .clauses ul{margin:0 0 0 2.5rem;padding:0;list-style:none;line-height:1.3;font-size:1.3rem}@media only screen and (max-width: 991px){router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control ka-control-check{height:2.5rem}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control .description{line-height:1;font-size:1.1rem}router-view.cashback-contracts #userSubscriptions .contracts .clauses ul{margin-top:.2rem !important;line-height:1;font-size:1.1rem}}router-view.cashback-contracts #userSubscriptions .contracts .cashback-restriction{display:flex;font-size:1.1rem;background:rgba(255,170,0,.3)}@keyframes l13{100%{transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/tabs/user-subscriptions.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,uED3bA,YACE,CAAA,qBACA,CAAA,UACA,CAAA,eACA,CAAA,2CACA,CAAA,wBACA,CAAA,eACA,CAAA,iBACA,CAAA,0CACA,uEATF,+CAUI,CAAA,oFACA,eACE,CAAA,0EACF,gBACE,CAAA,mBACA,CAAA,iFACF,aACE,CAAA,gBACA,CAAA,gBACA,CAAA,kBACA,CAAA,CAAA,mFACJ,kBACE,CAAA,kFACF,iBACE,CAAA,yEACF,gBACE,CAAA,eACA,CAAA,yGAEA,oBCiBN,CAAA,WDhB6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCoBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aCtDc,CAAA,qBF8BwE,CAAA,eCeA,CAAA,eAgBpF,CAAA,+GD9BI,oBCeN,CAAA,WDd6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCkBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCrDc,CAAA,qBF+BwE,CAAA,eCaA,CAAA,eAgBpF,CAAA,iHD5BI,oBCaN,CAAA,WDZ6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCgBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,qBFmCwE,CAAA,eCWE,CAAA,eAgBpF,CAAA,oGD1BE,oBCWJ,CAAA,WDV6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCcjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,qBFqC8D,CAAA,eCSY,CAAA,eAgBpF,CAAA,gFDxBE,iBACE,CAAA,WACA,CAAA,eACA,CAAA,uBACA,CAAA,wBACA,CAAA,gBACA,CAAA,gBACA,CAAA,eACA,CAAA,iBACA,CAAA,0CACA,gFAVF,eAWI,CAAA,CAAA,gGACF,iBACE,CAAA,sBACA,CAAA,uBACA,CAAA,UAvDK,CAAA,cAyDL,CAAA,iBACA,CAAA,4IACA,CAAA,sFACA,CAAA,gCACA,CAAA,gGACJ,UE5DQ,CAAA,4EF8DR,eACE,CAAA,kBACA,CAAA,eACA,CAAA,sBACA,CAAA,uFAGA,aACE,CAAA,cACA,CAAA,8FACF,gBACE,CAAA,eACA,CAAA,kBACA,CAAA,yEACJ,mBACE,CAAA,SACA,CAAA,eACA,CAAA,eACA,CAAA,gBACA,CAAA,0CACF,kGAEI,aACE,CAAA,8FACF,aACE,CAAA,gBACA,CAAA,yEACJ,2BACE,CAAA,aACA,CAAA,gBACA,CAAA,CAAA,mFACN,YACE,CAAA,gBACA,CAAA,6BACA,CAAA,eAGJ,KACE,uBACE,CAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\n$loader-width: 5rem\\nrouter-view.cashback-contracts #userSubscriptions\\n  .contracts\\n    .contract\\n      display: flex\\n      flex-direction: column\\n      width: 100%\\n      min-height: 30vh\\n      max-height: calc(100vh - 5rem - 6rem - 2rem)\\n      border: 1px solid #e0e0e0\\n      overflow-y: auto\\n      overflow-x: hidden\\n      @media only screen and (max-width: 767px)\\n        max-height: calc((100vh - 5rem - 6rem - 2rem) / 2)\\n        &:last-of-type\\n          border-top: none\\n        h3\\n          font-size: 1.3rem\\n          margin-bottom: .5rem\\n        ka-button\\n          height: 2.5rem\\n          margin-top: .5rem\\n          font-size: 1.2rem\\n          line-height: 2.5rem\\n      &:first-child\\n        margin-right: .5rem\\n      &:last-child\\n        margin-left: .5rem\\n      p\\n        font-size: 1.3rem\\n        line-height: 1.3\\n      .subscription\\n        .subscripted:before\\n          @include fontawesome('\\\\f00c', 'regular', 1.3rem, 0 .5rem 0 0, $success-color, middle)\\n        .to-be-subscripted:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0 .5rem 0 0, $pending-color, middle)\\n        .nothing-to-subcribe:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0 .5rem 0 0, $error-color, middle)\\n      .grace-period-warning:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0, $error-color, middle)\\n      .content\\n        position: relative\\n        height: 100%\\n        min-height: 20vh\\n        width: calc(100% - 2rem)\\n        border: 1px solid #e0e0e0\\n        line-height: 2rem\\n        font-size: 1.3rem\\n        overflow-y: auto\\n        overflow-x: hidden\\n        @media only screen and (max-width: 767px)\\n          min-height: 10vh\\n        .spinner-loader\\n          position: absolute\\n          top: calc(50% - $loader-width / 2)\\n          left: calc(50% - $loader-width / 2)\\n          width: $loader-width\\n          aspect-ratio: 1\\n          border-radius: 50%\\n          background: radial-gradient(farthest-side,#c0c0c0 94%,#0000) top/8px 8px no-repeat, conic-gradient(#0000 30%,#c0c0c0)\\n          -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0)\\n          animation: l13 1s infinite linear\\n      .fa-exclamation-triangle\\n        color: $error-color\\n      .tag\\n        max-width: 300px\\n        white-space: nowrap\\n        overflow: hidden\\n        text-overflow: ellipsis\\n    .clauses\\n      ka-control\\n        input\\n          flex-shrink: 0\\n          cursor: pointer\\n        .description\\n          font-size: 1.3rem\\n          line-height: 1.3\\n          white-space: normal\\n      ul\\n        margin: 0 0 0 2.5rem\\n        padding: 0\\n        list-style: none\\n        line-height: 1.3\\n        font-size: 1.3rem\\n      @media only screen and (max-width: 991px)\\n        ka-control\\n          ka-control-check\\n            height: 2.5rem\\n          .description\\n            line-height: 1\\n            font-size: 1.1rem\\n        ul\\n          margin-top: .2rem !important\\n          line-height: 1\\n          font-size: 1.1rem\\n    .cashback-restriction\\n      display: flex\\n      font-size: 1.1rem\\n      background: rgba($warning-color, .3)\\n      \\n\\n  @keyframes l13 \\n    100%\\n      transform: rotate(1turn)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.credit-transfer .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/transactions/dialogs/credit-transfer.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.credit-transfer\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.edit-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/transactions/dialogs/edit-request.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,+BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.edit-request\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.insert-movement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/transactions/dialogs/insert-movement.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.insert-movement\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.withdrawal-request .download{font-size:1.3rem;color:#404040;text-decoration:underline;cursor:pointer}ux-dialog.withdrawal-request .download:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:unset;font-weight:400}ux-dialog.withdrawal-request .download:hover{color:#ed5a23}ux-dialog.withdrawal-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/dialogs/withdrawal-request.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,uCD7bF,gBACE,CAAA,aELS,CAAA,yBFOT,CAAA,cACA,CAAA,8CACA,oBC2CF,CAAA,WD1CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC8C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,kBFSoE,CAAA,eCyCI,CAAA,eAgBpF,CAAA,6CDxDA,aEVY,CAAA,qCFYd,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.withdrawal-request\\n  .download\\n    font-size: 1.3rem\\n    color: $text-color\\n    text-decoration: underline\\n    cursor: pointer\\n    &:before\\n      @include fontawesome(\\\"\\\\f56d\\\", \\\"regular\\\", 1.3rem, 0 .5rem 0 0, $primary-color, top)\\n    &:hover\\n      color: $primary-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.cashback-transactions #movements .movements-list h2{margin-bottom:0;border-bottom:none}router-view.cashback-transactions #movements .movements-list h2:only-of-type{margin:0 0 1rem}router-view.cashback-transactions #movements .movements-list h2+h2,router-view.cashback-transactions #movements .movements-list .grace-period-warning+h2{display:flex;margin-bottom:1rem;padding:0 1rem;font-size:1.4rem;color:#404040}router-view.cashback-transactions #movements .movements-list h2+h2:before,router-view.cashback-transactions #movements .movements-list .grace-period-warning+h2:before{display:none}router-view.cashback-transactions #movements .grace-period-warning{margin:0 !important;padding:1rem;background:rgba(255,170,0,.3)}router-view.cashback-transactions #movements .grace-period-warning>a{margin-left:.3rem;text-decoration:underline;color:#ed5a23;cursor:pointer;transition:color .3s ease-out}router-view.cashback-transactions #movements .grace-period-warning>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.cashback-transactions #movements .grace-period-warning>a:hover{color:#404040}router-view.cashback-transactions #movements .balance{cursor:pointer}router-view.cashback-transactions #movements .balance:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.inhibition-cashback>p{color:#fff;margin:0}ux-dialog-body .inhibition-cashback>p{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/tabs/movements.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,gED5bA,eACE,CAAA,kBACA,CAAA,6EACA,eACE,CAAA,yJACJ,YACE,CAAA,kBACA,CAAA,cACA,CAAA,gBACA,CAAA,aEdO,CAAA,uKFgBP,YACE,CAAA,mEACN,mBACE,CAAA,YACA,CAAA,6BACA,CAAA,qEACA,iBACE,CAAA,yBACA,CAAA,aEvBU,CAAA,cFyBV,CAAA,6BACA,CAAA,4EACA,oBCwBJ,CAAA,WDvB2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC2B/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2EDrCE,aE9BO,CAAA,sDFgCX,cACE,CAAA,6DACA,oBCkBF,CAAA,WDjByB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCqB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uBD9BF,UACE,CAAA,QACA,CAAA,sCAEF,aEzCW\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.cashback-transactions #movements\\n  .movements-list\\n    h2\\n      margin-bottom: 0\\n      border-bottom: none\\n      &:only-of-type\\n        margin: 0 0 1rem\\n    h2 + h2, .grace-period-warning + h2\\n      display: flex\\n      margin-bottom: 1rem\\n      padding: 0 1rem\\n      font-size: 1.4rem\\n      color: $text-color\\n      &:before\\n        display: none\\n  .grace-period-warning\\n    margin: 0 !important\\n    padding: 1rem\\n    background: rgba($warning-color, .3)\\n    > a\\n      margin-left: .3rem\\n      text-decoration: underline\\n      color: $primary-color\\n      cursor: pointer\\n      transition: color .3s ease-out\\n      &:before\\n        @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $text-color\\n  .balance\\n    cursor: pointer\\n    &:before\\n      @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $primary-color)\\n.inhibition-cashback\\n  > p\\n    color: #fff\\n    margin: 0\\nux-dialog-body .inhibition-cashback\\n  > p\\n    color: $text-color\\n\\n      \\n      \\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.order-detail .copy-text{transition:color .3s;cursor:pointer}ux-dialog.order-detail .copy-text.with-icon:after{display:inline-block;content:\\\"\\\";margin-left:.5rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.3rem;font-style:normal;font-weight:400;vertical-align:unset;-webkit-font-smoothing:antialiased;color:#ed5a23}ux-dialog.order-detail .copy-text:hover{color:#ed5a23}ux-dialog.order-detail .body>.content{padding:2rem}ux-dialog.order-detail .body>.content h3{font-size:1.6rem;margin:2rem 0;padding:0;font-family:\\\"Roboto slab\\\",\\\"sans-serif\\\"}ux-dialog.order-detail .body>.content .mono{font-size:1.4rem;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\";white-space:nowrap}ux-dialog.order-detail .body>.content .ka-table-like{margin:0;box-shadow:0 0 1px 0 #404040}ux-dialog.order-detail .body>.content .ka-table-like+.ka-table-like{box-shadow:1px 0 0 0 rgba(64,64,64,.2),-1px 0 0 0 rgba(64,64,64,.2),0 1px 0 0 rgba(64,64,64,.2)}ux-dialog.order-detail .body>.content .ka-table-like tr{box-shadow:none}ux-dialog.order-detail .body>.content .ka-table-like tr+tr{box-shadow:0 -1px 0 0 rgba(64,64,64,.2)}ux-dialog.order-detail .body>.content .ka-table-like tr td,ux-dialog.order-detail .body>.content .ka-table-like tr th{padding:1rem}ux-dialog.order-detail .body>.content .ka-table-like tr small{font-size:1.4rem;color:rgba(64,64,64,.6);font-family:\\\"Roboto Condensed\\\",sans-serif}ux-dialog.order-detail .body>.content .ka-table-like tr .order-description{width:30%}ux-dialog.order-detail .body>.content .ka-table-like tr .invoice{white-space:nowrap}ux-dialog.order-detail .body>.content .ka-table-like tr .invoice>a{text-decoration:underline;color:#404040;cursor:pointer}ux-dialog.order-detail .body>.content .ka-table-like tr .invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.order-detail .body>.content .ka-table-like tr .invoice>a:hover{color:#ed5a23}ux-dialog.order-detail .body>.content .ka-table-like.billing-profile td:nth-child(1),ux-dialog.order-detail .body>.content .ka-table-like.billing-profile th:nth-child(1){width:max(15vw,20rem)}ux-dialog.order-detail .body>.content .ka-table-like.billing-profile td:nth-child(3),ux-dialog.order-detail .body>.content .ka-table-like.billing-profile th:nth-child(3){width:max(10vw,17rem)}ux-dialog.order-detail .footer{display:flex;justify-content:flex-end;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.order-detail .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/order-detail.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,kCD7bF,oBC+UA,CAAA,cACA,CAAA,kDACA,oBACE,CAAA,WACA,CAAA,iBACA,CAAA,gCACA,CAAA,gBDpVmB,CAAA,iBCsVnB,CAAA,eACA,CAAA,oBAVkD,CAAA,kCAYlD,CAAA,aC7VY,CAAA,wCD+Vd,aC/Vc,CAAA,sCFOZ,YACE,CAAA,yCACA,gBACE,CAAA,aACA,CAAA,SACA,CAAA,sCACA,CAAA,4CACF,gBACE,CAAA,sCACA,CAAA,kBACA,CAAA,qDACF,QACE,CAAA,4BACA,CAAA,oEACA,+FACE,CAAA,wDACF,eACE,CAAA,2DACA,uCACE,CAAA,sHACF,YACE,CAAA,8DACF,gBACE,CAAA,uBACA,CAAA,yCACA,CAAA,2EACF,SACE,CAAA,iEACF,kBACE,CAAA,mEACA,yBACE,CAAA,aEvCD,CAAA,cFyCC,CAAA,0EACA,oBCUZ,CAAA,WDTmC,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCavD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,yEDvBU,aE3CE,CAAA,0KF8CN,qBACE,CAAA,0KACF,qBACE,CAAA,+BACV,YACE,CAAA,wBACA,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,mDACA,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.order-detail\\n  .copy-text\\n    @include copy-text(1.3rem)\\n    \\n  .body\\n    > .content\\n      padding: 2rem\\n      h3\\n        font-size: 1.6rem\\n        margin: 2rem 0\\n        padding: 0\\n        font-family: 'Roboto slab', 'sans-serif'\\n      .mono\\n        font-size: 1.4rem\\n        font-family: 'Roboto mono', 'sans-serif'\\n        white-space: nowrap\\n      .ka-table-like\\n        margin: 0\\n        box-shadow: 0 0 1px 0 $text-color\\n        & + .ka-table-like\\n          box-shadow: 1px 0 0 0 rgba($text-color, .2), -1px 0 0 0 rgba($text-color, .2), 0 1px 0 0 rgba($text-color, .2)\\n        tr\\n          box-shadow: none\\n          & + tr\\n            box-shadow: 0 -1px 0 0 rgba($text-color, .2)\\n          td, th\\n            padding: 1rem\\n          small\\n            font-size: 1.4rem\\n            color: rgba($text-color, .6)\\n            font-family: 'Roboto Condensed', sans-serif\\n          .order-description\\n            width: 30%\\n          .invoice\\n            white-space: nowrap\\n            > a\\n              text-decoration: underline\\n              color: $text-color\\n              cursor: pointer\\n              &:before\\n                @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n              &:hover\\n                color: $primary-color\\n        &.billing-profile\\n          td:nth-child(1), th:nth-child(1)\\n            width: max(15vw, 20rem)\\n          td:nth-child(3), th:nth-child(3)\\n            width: max(10vw, 17rem)\\n  .footer\\n    display: flex\\n    justify-content: flex-end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.payment-instructions .body{padding:2rem}ux-dialog.payment-instructions .body p{margin:0;margin-bottom:1rem;padding:0}ux-dialog.payment-instructions .body ul{margin:0;padding:0 0 1rem;list-style:none}ux-dialog.payment-instructions .body .tips p{margin:0;padding:0}ux-dialog.payment-instructions .body .tips p .important{text-transform:uppercase}ux-dialog.payment-instructions .body .tips p .important:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.payment-instructions .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.payment-instructions .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/payment-instructions.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,qCD7bF,YACE,CAAA,uCACA,QACE,CAAA,kBACA,CAAA,SACA,CAAA,wCACF,QACE,CAAA,gBACA,CAAA,eACA,CAAA,6CACF,QACE,CAAA,SACA,CAAA,wDACA,wBACE,CAAA,+DACA,oBCiCN,CAAA,WDhC6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCoCjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDxC4D,CAAA,oBC+BO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uCD9CF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,2DACA,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.payment-instructions\\n  .body \\n    padding: 2rem\\n    p\\n      margin: 0\\n      margin-bottom: 1rem\\n      padding: 0\\n    ul\\n      margin: 0\\n      padding: 0 0 1rem\\n      list-style: none\\n    .tips p\\n      margin: 0\\n      padding: 0\\n      .important\\n        text-transform: uppercase\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, inherit)\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.settle-invoice .body{padding:2rem;color:#404040}ux-dialog.settle-invoice .body div>div{margin-block:1rem}ux-dialog.settle-invoice .body span.importo::after{content:\\\"€\\\"}ux-dialog.settle-invoice .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right;margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/settle-invoice.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,+BD7bF,YACE,CAAA,aACA,CAAA,uCAEA,iBACE,CAAA,mDAEF,WACE,CAAA,iCAEJ,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,aAEA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.settle-invoice\\n  .body\\n    padding: 2rem\\n    color: #404040\\n\\n    div > div\\n      margin-block: 1rem\\n\\n    span.importo::after\\n      content: \\\"€\\\"\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n    margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.contabilita-invoices-list h2.table-title{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between}router-view.contabilita-invoices-list h2.table-title .download-container{display:flex}router-view.contabilita-invoices-list small.invoice{white-space:nowrap}router-view.contabilita-invoices-list small.invoice>a{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-invoices-list small.invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-invoices-list small.invoice>a:hover{color:#ed5a23}router-view.contabilita-invoices-list div.order-number{white-space:nowrap}router-view.contabilita-invoices-list div.order-number>span:last-child{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-invoices-list div.order-number>span:last-child:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-invoices-list div.order-number>span:last-child:hover{color:#ed5a23}router-view.contabilita-invoices-list .instruction{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.contabilita-invoices-list .instruction:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/invoices/invoices-list.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,qDD7bF,YACE,CAAA,gBACA,CAAA,kBACA,CAAA,6BACA,CAAA,yEACA,YACE,CAAA,oDACJ,kBACE,CAAA,sDACA,yBACE,CAAA,aEdO,CAAA,cFgBP,CAAA,6DACA,oBCmCJ,CAAA,WDlC2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCsC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4DDhDE,aElBU,CAAA,uDFoBd,kBACE,CAAA,uEACA,yBACE,CAAA,aExBO,CAAA,cF0BP,CAAA,8EACA,oBCyBJ,CAAA,WDxB2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC4B/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,6EDtCE,aE5BU,CAAA,mDF8Bd,aACE,CAAA,aE/BY,CAAA,yBFiCZ,CAAA,cACA,CAAA,oBACA,CAAA,aEpCS,CAAA,yDFsCT,aErCY\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.contabilita-invoices-list\\n  h2.table-title\\n    display: flex\\n    flex-wrap: nowrap\\n    align-items: center\\n    justify-content: space-between\\n    .download-container\\n      display: flex\\n  small.invoice\\n    white-space: nowrap\\n    > a\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  div.order-number\\n    white-space: nowrap\\n    > span:last-child\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  .instruction\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:hover\\n      color: $primary-color\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.contabilita-orders small.invoice{white-space:nowrap}router-view.contabilita-orders small.invoice>a{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-orders small.invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-orders small.invoice>a:hover{color:#ed5a23}router-view.contabilita-orders div.order-number{white-space:nowrap}router-view.contabilita-orders div.order-number>span:last-child{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-orders div.order-number>span:last-child:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-orders div.order-number>span:last-child:hover{color:#ed5a23}router-view.contabilita-orders .instruction{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.contabilita-orders .instruction:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/orders.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6CD7bF,kBACE,CAAA,+CACA,yBACE,CAAA,aEPO,CAAA,cFSP,CAAA,sDACA,oBC0CJ,CAAA,WDzC2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC6C/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,qDDvDE,aEXU,CAAA,gDFad,kBACE,CAAA,gEACA,yBACE,CAAA,aEjBO,CAAA,cFmBP,CAAA,uEACA,oBCgCJ,CAAA,WD/B2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCmC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sED7CE,aErBU,CAAA,4CFuBd,aACE,CAAA,aExBY,CAAA,yBF0BZ,CAAA,cACA,CAAA,oBACA,CAAA,aE7BS,CAAA,kDF+BT,aE9BY\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.contabilita-orders\\n  small.invoice\\n    white-space: nowrap\\n    > a\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  div.order-number\\n    white-space: nowrap\\n    > span:last-child\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  .instruction\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:hover\\n      color: $primary-color\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.fidelity-cards-activation{background:rgba(17,37,75,.01)}router-view.fidelity-cards-activation .cards-wrapper{height:100%;overflow:auto;grid-template-columns:repeat(3, 1fr)}router-view.fidelity-cards-activation .cards-wrapper .information-band{padding:1rem;display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;background:#fff;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>h2{margin:0 0 .4rem;padding:0 !important;border:none;padding:0 1rem;line-height:1.2;min-height:unset;height:fit-content}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p{margin:0;line-height:1.2;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p>a{font-weight:600;text-underline-offset:.4rem;transition:color .3s}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p>a:hover{color:#ed5a23}router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages{display:flex;align-items:center;margin-left:auto}router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages .card-title,router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages .promotion-title{text-transform:capitalize}router-view.fidelity-cards-activation .cards-wrapper .cards-1{display:block;max-width:100rem;padding:1rem}router-view.fidelity-cards-activation .cards-wrapper .cards-2,router-view.fidelity-cards-activation .cards-wrapper .cards-3{display:grid;row-gap:1rem;column-gap:1rem;padding:1rem}@media(max-width: 1200px){router-view.fidelity-cards-activation .cards-wrapper .cards-2,router-view.fidelity-cards-activation .cards-wrapper .cards-3{grid-template-columns:repeat(1, 1fr) !important}}router-view.fidelity-cards-activation .cards-wrapper .cards-2{grid-template-columns:repeat(2, 1fr)}@media(max-width: 1980px){router-view.fidelity-cards-activation .cards-wrapper .cards-2{max-width:130rem}}@media(max-width: 1600px){router-view.fidelity-cards-activation .cards-wrapper{grid-template-columns:repeat(2, 1fr)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/fidelity-cards/activation.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,sCACE,6BAAA,CACA,qDACE,WAAA,CACA,aAAA,CAmDA,oCAAA,CAlDA,uEACE,YAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,iBAAA,CACA,eAAA,CACA,6CAAA,CAEE,iFACE,gBAAA,CACA,oBAAA,CACA,WAAA,CACA,cAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACF,gFACE,QAAA,CACA,eAAA,CACA,gBAAA,CACA,yCAAA,CACA,kFACE,eAAA,CACA,2BAAA,CACA,oBAAA,CACA,wFACE,aClCE,CDmCV,iFACE,YAAA,CACA,kBAAA,CACA,gBAAA,CACA,+LACE,yBAAA,CACN,8DACE,aAAA,CACA,gBAAA,CACA,YAAA,CACF,4HACE,YAAA,CACA,YAAA,CACA,eAAA,CACA,YAAA,CACA,0BALF,4HAMI,+CAAA,CAAA,CACJ,8DACE,oCAAA,CACA,0BAFF,8DAGI,gBAAA,CAAA,CAGJ,0BAtDF,qDAuDI,oCAAA,CAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.fidelity-cards-activation\\n  background: rgba($secondary-color, .01)\\n  .cards-wrapper\\n    height: 100%\\n    overflow: auto\\n    .information-band\\n      padding: 1rem\\n      display: flex\\n      align-items: center\\n      justify-content: space-between\\n      min-height: 3.5rem\\n      background: #fff\\n      box-shadow: inset 0 -1px 0 0 rgba($secondary-color, .1)\\n      > .title\\n        > h2\\n          margin: 0 0 .4rem\\n          padding: 0 !important\\n          border: none\\n          padding: 0 1rem\\n          line-height: 1.2\\n          min-height: unset\\n          height: fit-content\\n        > p\\n          margin: 0\\n          line-height: 1.2\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', sans-serif\\n          > a\\n            font-weight: 600\\n            text-underline-offset: .4rem\\n            transition: color .3s\\n            &:hover\\n              color: $primary-color\\n      > .messages\\n        display: flex\\n        align-items: center\\n        margin-left: auto\\n        .card-title, .promotion-title\\n          text-transform: capitalize\\n    .cards-1\\n      display: block\\n      max-width: 100rem\\n      padding: 1rem  \\n    .cards-2, .cards-3\\n      display: grid\\n      row-gap: 1rem\\n      column-gap: 1rem\\n      padding: 1rem\\n      @media (max-width: 1200px)\\n        grid-template-columns: repeat(1, 1fr) !important\\n    .cards-2\\n      grid-template-columns: repeat(2, 1fr)\\n      @media (max-width: 1980px)\\n        max-width: 130rem\\n    .cards-3\\n    grid-template-columns: repeat(3, 1fr)\\n    @media (max-width: 1600px)\\n      grid-template-columns: repeat(2, 1fr)\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.fidelity-card-activation{max-width:min(90vw,100rem)}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2{display:flex;align-items:center;justify-content:space-between;padding:0 2rem}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2>.card-title{color:#11254b;font-family:\\\"Roboto slab\\\",serif}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2>.card-title>strong{font-weight:400;font-family:\\\"Roboto flex\\\",sans-serif;color:#ed5a23}ux-dialog.fidelity-card-activation .body{margin:0;padding:0;position:relative;overflow-y:auto;overflow-x:hidden}ux-dialog.fidelity-card-activation .body .disclosure>*:first-child{margin-top:0 !important}ux-dialog.fidelity-card-activation .body .acknowledgement{margin:2rem}ux-dialog.fidelity-card-activation .body .acknowledgement>h4{margin:0 0 .7rem;line-height:1.6;font-size:1.6rem;font-weight:500;font-family:\\\"Roboto condensed\\\",serif;color:#cc2900}ux-dialog.fidelity-card-activation .body .acknowledgement>h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.7rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#cc2900;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check{height:fit-content;padding:1rem 1.5rem;align-items:flex-start;background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check:after{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;pointer-events:none;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]{position:relative;z-index:1;margin:.3rem 0 0;flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:0;cursor:pointer;background:#fff;box-shadow:inset 0 0 0 1px #505050}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:before{content:\\\"\\\";opacity:0;position:absolute;top:50%;left:50%;height:1rem;width:1rem;background:#ed5a23;transform:translate(-50%, -50%);transition:opacity .3s}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:checked{background:inherit}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:checked:before{opacity:1}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>.description{line-height:1.5;font-size:1.5rem;white-space:unset;font-family:\\\"Roboto condensed\\\",sans-serif;color:#000}ux-dialog.fidelity-card-activation .footer{display:flex;align-items:center;position:relative;justify-content:flex-end;border-top:1px solid #e5e5e5;min-height:6.3rem}ux-dialog.fidelity-card-activation .footer md-table-progressbar{position:absolute;top:0;left:0;width:100%;height:.3rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/dialogs/fidelity-card-activation.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,mCD9bJ,0BACE,CAAA,8EACA,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,cACA,CAAA,0FACA,aERc,CAAA,+BFUZ,CAAA,iGACA,eACE,CAAA,oCACA,CAAA,aEdQ,CAAA,yCFgBd,QACE,CAAA,SACA,CAAA,iBACA,CAAA,eACA,CAAA,iBACA,CAAA,mEAEE,uBACE,CAAA,0DAEJ,WACE,CAAA,6DACA,gBACE,CAAA,eACA,CAAA,gBACA,CAAA,eACA,CAAA,oCACA,CAAA,aACA,CAAA,oEACA,oBCgBN,CAAA,WDf6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCmBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDvBsE,CAAA,oBCcH,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2ED7BE,kBACE,CAAA,mBACA,CAAA,sBACA,CAAA,kBACA,CAAA,kCACA,CAAA,iFACA,iBACE,CAAA,UACA,CAAA,WACA,CAAA,UACA,CAAA,KACA,CAAA,MACA,CAAA,uBACA,CAAA,mBACA,CAAA,iIACA,CAAA,gGACF,iBACE,CAAA,SACA,CAAA,gBACA,CAAA,aACA,CAAA,YACA,CAAA,aACA,CAAA,eACA,CAAA,cACA,CAAA,eACA,CAAA,kCACA,CAAA,uGACA,UACE,CAAA,SACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,WACA,CAAA,UACA,CAAA,kBEvEI,CAAA,+BFyEJ,CAAA,sBACA,CAAA,wGACF,kBACE,CAAA,+GACA,SACE,CAAA,wFACN,eACE,CAAA,gBACA,CAAA,iBACA,CAAA,yCACA,CAAA,UACA,CAAA,2CACR,YACE,CAAA,kBACA,CAAA,iBACA,CAAA,wBACA,CAAA,4BACA,CAAA,iBACA,CAAA,gEACA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,UACA,CAAA,YACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.fidelity-card-activation\\n  max-width: min(90vw, 100rem)\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    > .card-title\\n      color: $secondary-color\\n      font-family: 'Roboto slab', serif\\n      > strong\\n        font-weight: 400\\n        font-family: 'Roboto flex', sans-serif\\n        color: $primary-color\\n  .body\\n    margin: 0\\n    padding: 0\\n    position: relative\\n    overflow-y: auto\\n    overflow-x: hidden\\n    .disclosure\\n      > *:first-child\\n        margin-top: 0 !important\\n\\n    .acknowledgement\\n      margin: 2rem\\n      > h4\\n        margin: 0 0 .7rem\\n        line-height: 1.6\\n        font-size: 1.6rem\\n        font-weight: 500\\n        font-family: 'Roboto condensed', serif\\n        color: darken($error-color, 10%)\\n        &:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.7rem, 0 .8rem 0 0, darken($error-color, 10%))\\n      ka-control-check\\n        height: fit-content\\n        padding: 1rem 1.5rem\\n        align-items: flex-start\\n        background: #f3f3f3\\n        box-shadow: inset 0 0 0 1px #bdbdbd\\n        &:after\\n          position: absolute\\n          content: \\\"\\\"\\n          height: 100%\\n          width: 100%\\n          top: 0\\n          left: 0\\n          background-size: 6px 6px\\n          pointer-events: none\\n          background-image: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)\\n        > input[type=\\\"checkbox\\\"]\\n          position: relative\\n          z-index: 1\\n          margin: .3rem 0 0\\n          flex-shrink: 0\\n          width: 1.6rem\\n          height: 1.6rem\\n          border-radius: 0\\n          cursor: pointer\\n          background: #fff\\n          box-shadow: inset 0 0 0 1px #505050\\n          &:before\\n            content: ''\\n            opacity: 0\\n            position: absolute\\n            top: 50%\\n            left: 50%\\n            height: 1rem\\n            width: 1rem\\n            background: $primary-color\\n            transform: translate(-50%,-50%)\\n            transition: opacity .3s\\n          &:checked\\n            background: inherit\\n            &:before\\n              opacity: 1           \\n        > .description\\n          line-height: 1.5\\n          font-size: 1.5rem\\n          white-space: unset\\n          font-family: 'Roboto condensed', sans-serif\\n          color: #000\\n  .footer\\n    display: flex\\n    align-items: center\\n    position: relative\\n    justify-content: flex-end\\n    border-top: 1px solid #e5e5e5\\n    min-height: 6.3rem\\n    md-table-progressbar\\n      position: absolute\\n      top: 0\\n      left: 0\\n      width: 100%\\n      height: .3rem\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.fidelity-card-renewal-management{max-width:max(25vw,55rem)}ux-dialog.fidelity-card-renewal-management .body{padding:2rem}ux-dialog.fidelity-card-renewal-management .body>h3{font-weight:800;color:#404040}ux-dialog.fidelity-card-renewal-management .body>p{font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;margin:1rem 0 0 0}ux-dialog.fidelity-card-renewal-management .body>p>a{font-weight:600;text-underline-offset:.4rem;transition:color .3s;margin-left:.3rem}ux-dialog.fidelity-card-renewal-management .body>p>a:hover{color:#ed5a23}ux-dialog.fidelity-card-renewal-management .body>p>a:hover::before{color:#ed5a23}ux-dialog.fidelity-card-renewal-management .body>p>a::before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:900;transition:color .3s}ux-dialog.fidelity-card-renewal-management .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,2CD9bJ,yBACE,CAAA,iDACA,YACE,CAAA,oDACA,eACE,CAAA,aERO,CAAA,mDFUT,gBACE,CAAA,yCACA,CAAA,iBACA,CAAA,qDACA,eACE,CAAA,2BACA,CAAA,oBACA,CAAA,iBACA,CAAA,2DACA,aElBQ,CAAA,mEFoBN,aEpBM,CAAA,6DFsBR,oBC6BN,CAAA,WD5B6B,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBCgC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDpCoE,CAAA,oBC2BD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,oBD5CM,CAAA,mDAER,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.fidelity-card-renewal-management\\n  max-width: max(25vw, 55rem)\\n  .body\\n    padding: 2rem\\n    > h3\\n      font-weight: 800\\n      color: $text-color\\n    > p\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      margin: 1rem 0 0 0\\n      > a\\n        font-weight: 600\\n        text-underline-offset: 0.4rem\\n        transition: color 0.3s\\n        margin-left: .3rem\\n        &:hover\\n          color: $primary-color\\n          &::before \\n            color: $primary-color\\n        &::before\\n          @include fontawesome('\\\\f08e', 'solid', 1.2rem, 0 .3rem 0 0, inherit )\\n          transition: color 0.3s\\n         \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.cards-1>.card>.card-body>.card-description-html{min-height:7rem}.cards-1>.card>.card-body>.card-content>.fidelity-card{width:100% !important}.cards-1>.card>.card-body>.card-description-html,.cards-2>.card>.card-body>.card-description-html{min-height:7rem}.cards-1>.card>.card-body>.card-content>.card-section,.cards-2>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:0 0 0 2rem}.cards-1>.card>.card-body>.card-content>.card-section>.buttons,.cards-2>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}@media(max-width: 1200px){.cards-1>.card{align-items:center;justify-content:center;flex-direction:column}.cards-1>.card>.card-body{display:flex;flex-direction:column}.cards-1>.card>.card-body>.card-description-html{min-height:9rem}.cards-1>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-1>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:2rem 0 0;padding:0}.cards-1>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-1>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}}@media(max-width: 1980px){.cards-2>.card{align-items:center;justify-content:center;flex-direction:column}.cards-2>.card>.card-body{display:flex;flex-direction:column}.cards-2>.card>.card-body>.card-description-html{min-height:9rem}.cards-2>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-2>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:2rem 0 0;padding:0}.cards-2>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-2>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}}.cards-3>.card{align-items:center;justify-content:center;flex-direction:column}.cards-3>.card>.card-body{display:flex;flex-direction:column}.cards-3>.card>.card-body>.card-description-html{min-height:9rem}.cards-3>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-3>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:2rem 0 0;padding:0}.cards-3>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-3>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}.card{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;min-height:30vh;border:1px solid #e0e0e0;background:#fff}.card .card-header{display:flex;width:100%;min-height:8rem;align-items:center;justify-content:space-between;padding:0 2rem;box-shadow:0 1px 0 0 rgba(17,37,75,.08),0 10px 8px -2px rgba(17,37,75,.1)}.card .card-header>.card-title-wrapper+.new-tag.success:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#0a4900;vertical-align:top;animation:unset;font-weight:400}.card .card-header>.card-title-wrapper{display:flex;align-items:center;justify-content:center}.card .card-header>.card-title-wrapper>.card-icon{display:flex;align-items:center;justify-content:center;position:relative;height:6rem;width:6rem;margin-right:2.5rem;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(17, 37, 75, 0.12) 0, rgba(17, 37, 75, 0.12) 1px, #fff 0, #fff 50%)}.card .card-header>.card-title-wrapper>.card-icon>img{height:100%;width:fit-content}.card .card-header h3{padding:0;margin:0 0 .7rem;font-size:1.8rem;font-weight:400;line-height:1;color:#11254b;font-family:\\\"Roboto slab\\\",sans-serif;text-transform:capitalize}.card .card-header h3>.highlighted{color:#e44c13;font-family:\\\"Roboto\\\",sans-serif}.card .card-header h4{margin:0;font-size:1.5rem;font-weight:400;line-height:1;animation:animated-greetings 1.4s ease-in-out;font-family:\\\"Roboto Condensed\\\",sans-serif;color:rgba(17,37,75,.7)}.card .card-header h4.text-primary{text-decoration-color:rgba(237,90,35,.5)}.card .card-body{position:relative;height:100%;width:100%;padding:2rem}.card .card-body .card-description-html{margin:0 0 2rem}.card .card-body .card-description-html>*{margin:0;padding:0}.card .card-body .card-description-html,.card .card-body .card-description-html>*{font-size:1.4rem;line-height:1.6;font-weight:300;color:rgba(17,37,75,.8);font-family:\\\"Roboto Flex\\\",sans-serif}.card .card-body .card-description-html>strong{font-weight:600;color:#11254b}.card .card-body>.card-content{display:flex}.card .card-body>.card-content>.fidelity-card{flex-shrink:1;width:66%;min-width:32rem;max-width:35rem;min-height:20rem;aspect-ratio:60/39}.card .card-body>.card-content .card-section{display:flex;flex-direction:column;width:100%}.card .card-body>.card-content .card-section>ul.card-benefits{list-style:none;margin:0;padding:0;height:100%}.card .card-body>.card-content .card-section>ul.card-benefits>li{font-weight:300;line-height:1.3;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif}.card .card-body>.card-content .card-section>ul.card-benefits>li+li{margin-top:1rem}.card .card-body>.card-content .card-section>ul.card-benefits>li>strong,.card .card-body>.card-content .card-section>ul.card-benefits>li a{font-weight:600;color:#11254b;text-underline-offset:.4rem}.card .card-body>.card-content .card-section>ul.card-benefits>li>a{color:#ed5a23}.card .card-body>.card-content .card-section>ul.card-benefits>li>a:hover{color:#11254b}.card .card-body>.card-content .card-section>ul.card-benefits>li.simple:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:middle;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>ul.card-benefits>li.promo:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>ul.card-benefits>li.pro:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#18af00;vertical-align:unset;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>ul.card-benefits>li.con{color:rgba(64,64,64,.4)}.card .card-body>.card-content .card-section>ul.card-benefits>li.con>strong{color:rgba(64,64,64,.4)}.card .card-body>.card-content .card-section>ul.card-benefits>li.con:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(64,64,64,.3);vertical-align:unset;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:3rem}.card .card-body>.card-content .card-section>.card-actions .activation-info{display:flex;align-items:center;margin:0}.card .card-body>.card-content .card-section>.card-actions .activation-info>.card-activable-YES:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.card-activable-NO:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.new-tag.self-renewal.success:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#0a4900;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.new-tag.self-renewal.error:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#960e29;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>span{display:block;margin-right:.8rem}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period{text-decoration:underline;text-underline-offset:.3rem;text-decoration-color:rgba(64,64,64,.5);margin-bottom:.3rem;cursor:pointer}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period:hover{color:#c41;text-decoration-color:rgba(237,90,35,.8)}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:text-bottom;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/templates/card.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n@mixin cardDashboardXl()\\n  > .card \\n    > .card-body \\n      > .card-description-html\\n          min-height: 7rem\\n      > .card-content \\n        > .fidelity-card\\n          width: 100% !important\\n\\n@mixin cardDashboard()\\n  > .card\\n    > .card-body\\n      > .card-description-html\\n        min-height: 7rem\\n      > .card-content\\n        > .card-section\\n          flex-grow: 1\\n          margin: 0 0 0 2rem\\n          > .buttons\\n            padding-top: 2rem\\n            margin-top: auto\\n\\n@mixin cardMobile()\\n  > .card\\n    align-items: center\\n    justify-content: center\\n    flex-direction: column\\n    > .card-body\\n      display: flex\\n      flex-direction: column\\n      > .card-description-html\\n        min-height: 9rem\\n      > .card-content\\n        flex-direction: column\\n        align-items: center\\n        flex-grow: 1\\n        > .card-section\\n          flex-grow: 1\\n          margin: 2rem 0 0\\n          padding: 0\\n          > .card-actions\\n            justify-content: space-between\\n          > .buttons\\n            padding-top: 2rem\\n            margin-top: auto\\n\\n.cards-1\\n  @include cardDashboardXl()\\n.cards-1, .cards-2\\n  @include cardDashboard()\\n.cards-1\\n  @media (max-width: 1200px)\\n    @include cardMobile()\\n.cards-2\\n  @media (max-width: 1980px)\\n    @include cardMobile()\\n.cards-3\\n  @include cardMobile()\\n\\n.card\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  flex-direction: column\\n  width: 100%\\n  min-height: 30vh\\n  border: 1px solid #e0e0e0\\n  background: #fff\\n\\n  .card-header\\n    display: flex\\n    width: 100%\\n    min-height: 8rem\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    box-shadow: 0 1px 0 0 rgba($secondary-color, .08), 0 10px 8px -2px rgba($secondary-color, .1)\\n    > .card-title-wrapper + .new-tag\\n      &.success:before\\n        @include fontawesome('\\\\f00c', 'regular', 1.4rem, 0 .5rem 0 0, darken($success-color, 25%), top)\\n    > .card-title-wrapper\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      > .card-icon\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        position: relative\\n        height: 6rem\\n        width: 6rem\\n        margin-right: 2.5rem\\n        background-size: 7px 7px\\n        background-image: repeating-linear-gradient(45deg, rgba($secondary-color, .12) 0, rgba($secondary-color, .12) 1px, #fff 0, #fff 50%)\\n        > img\\n          height: 100%\\n          width: fit-content\\n    h3\\n      padding: 0\\n      margin: 0 0 .7rem\\n      font-size: 1.8rem\\n      font-weight: 400\\n      line-height: 1\\n      color: $secondary-color\\n      font-family: 'Roboto slab', sans-serif\\n      text-transform: capitalize\\n      > .highlighted\\n        color: darken($primary-color, 5%)\\n        font-family: 'Roboto', sans-serif\\n    h4\\n      margin: 0\\n      font-size: 1.5rem\\n      font-weight: 400\\n      line-height: 1\\n      animation: animated-greetings 1.4s ease-in-out\\n      font-family: 'Roboto Condensed', sans-serif\\n      color: rgba($secondary-color, .7)\\n      &.text-primary\\n        text-decoration-color: rgba($primary-color, .5)\\n          \\n  .card-body\\n    position: relative\\n    height: 100%\\n    width: 100%\\n    padding: 2rem\\n    .card-description-html\\n      margin: 0 0 2rem\\n      > *\\n        margin: 0\\n        padding: 0\\n      &, > *\\n        font-size: 1.4rem\\n        line-height: 1.6\\n        font-weight: 300\\n        color: rgba($secondary-color, .8)\\n        font-family: 'Roboto Flex', sans-serif\\n      > strong\\n        font-weight: 600\\n        color: $secondary-color\\n    > .card-content\\n      display: flex\\n      > .fidelity-card\\n        flex-shrink: 1\\n        width: 66%\\n        min-width: 32rem\\n        max-width: 35rem\\n        min-height: 20rem\\n        aspect-ratio: 60/39\\n      .card-section\\n        display: flex\\n        flex-direction: column\\n        width: 100%\\n        > ul.card-benefits\\n          list-style: none\\n          margin: 0\\n          padding: 0\\n          height: 100%\\n          > li\\n            font-weight: 300\\n            line-height: 1.3\\n            font-size: 1.5rem\\n            font-family: 'Roboto condensed', sans-serif\\n            & + li\\n              margin-top: 1rem\\n            > strong, a\\n              font-weight: 600\\n              color: $secondary-color\\n              text-underline-offset: .4rem\\n            > a\\n              color: $primary-color\\n              &:hover\\n                color: $secondary-color\\n            &.simple:before\\n              @include fontawesome('\\\\f35a', 'regular', 1.6rem, 0 .6rem 0 0, $secondary-color, middle)\\n            &.promo:before\\n              @include fontawesome('\\\\f336', 'regular', 1.6rem, 0 .6rem 0 0, darken($primary-color, 5%))\\n            &.pro:before\\n              @include fontawesome('\\\\f058', 'regular', 1.6rem, 0 .6rem 0 0, darken($success-color, 5%))\\n            &.con\\n              color: rgba($text-color, .4)\\n              > strong\\n                color: rgba($text-color, .4)\\n              &:before\\n                @include fontawesome('\\\\f057', 'regular', 1.6rem, 0 .6rem 0 0, rgba($text-color, .3))\\n        > .card-actions\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          margin-top: auto\\n          padding-top: 3rem\\n          .activation-info\\n            display: flex\\n            align-items: center\\n            margin: 0\\n            > .card-activable-YES:before\\n                @include fontawesome('\\\\f164', 'regular', 1.4rem, 0 .5rem 0 0, inherit, top)\\n            > .card-activable-NO:before\\n                @include fontawesome('\\\\f00d', 'regular', 1.4rem, 0 .5rem 0 0, inherit, top)\\n            > .new-tag.self-renewal\\n            > .new-tag.self-renewal\\n              &.success:before\\n                @include fontawesome('\\\\f364', 'regular', 1.4rem, 0 .5rem 0 0, darken($success-color, 25%), top)\\n              &.error:before\\n                @include fontawesome('\\\\f364', 'regular', 1.4rem, 0 .5rem 0 0, darken(crimson, 15%), top)\\n            > span\\n              display: block\\n              margin-right: .8rem\\n            .grace-period\\n              text-decoration: underline\\n              text-underline-offset: .3rem\\n              text-decoration-color: rgba($text-color, .5)\\n              margin-bottom: .3rem\\n              cursor: pointer\\n              &:hover\\n                color: darken($primary-color, 10%)\\n                text-decoration-color: rgba($primary-color, .8)\\n              &:before\\n                @include fontawesome('\\\\f06a', 'regular', inherit, 0 .3rem 0 0, darken($primary-color, 5%), text-bottom)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.fidelity-card{flex-shrink:0;border-radius:10px;position:relative;z-index:2}.fidelity-card:before{content:\\\"\\\";position:absolute;left:0;top:0;height:100%;width:100%;border-radius:10px;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(17, 37, 75, 0.12) 0, rgba(17, 37, 75, 0.12) 1px, transparent 0, transparent 50%)}.fidelity-card>.fidelity-card-header,.fidelity-card>.fidelity-card-footer{position:absolute;left:2rem;z-index:3;width:calc(100% - 4rem);height:fit-content}.fidelity-card>.fidelity-card-header p,.fidelity-card>.fidelity-card-header h5,.fidelity-card>.fidelity-card-header h6,.fidelity-card>.fidelity-card-footer p,.fidelity-card>.fidelity-card-footer h5,.fidelity-card>.fidelity-card-footer h6{margin:0;padding:0;color:#fff;text-shadow:2px 1px 1px rgba(0,0,0,.7)}.fidelity-card>.fidelity-card-header{top:1.5rem}.fidelity-card>.fidelity-card-header>h5{font-weight:300;font-size:2.5rem;font-family:\\\"Roboto flex\\\",sans-serif;text-transform:capitalize}.fidelity-card>.fidelity-card-header>p{font-weight:300;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif}.fidelity-card>.fidelity-card-footer{display:flex;justify-content:space-between;align-items:flex-end;bottom:1.5rem}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>h6{margin-bottom:.2rem;font-size:1.5rem;font-weight:400;white-space:nowrap;font-family:\\\"Roboto condensed\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p{font-weight:300;font-size:1.5rem;white-space:collapse;font-family:\\\"Roboto flex\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p .price{font-size:1.8rem;font-family:\\\"Roboto mono\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p>.reference-price{display:block;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p>.reference-price>.price{font-size:inherit}.fidelity-card>.fidelity-card-footer>svg{height:5rem}.fidelity-card>.fidelity-card-footer>svg>circle,.fidelity-card>.fidelity-card-footer>svg>path{fill:#fff;stroke:rgba(0,0,0,.5);stroke-width:6px}.fidelity-card>.fidelity-card-footer>svg>g>path{fill:#11254b}.fidelity-card.BASE{background-image:radial-gradient(circle 900px at 80% 10%, #c21500 0%, #F09819 60%);box-shadow:inset 0 0 0 1px #8f0f00}.fidelity-card.BASE-PLUS{background-image:radial-gradient(circle 950px at 130% 0%, #d0198f 0%, #202a94 40%, #170540 60%);box-shadow:inset 1px 0 0 0 #000,inset -1px 0 0 0 #5e0b41,inset 0 1px 0 0 #1a0312,inset 0 -1px 0 0 #1a0312}.fidelity-card.BASE-PLUS:before{background-image:repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 1px, transparent 0, transparent 50%)}.fidelity-card.SILVER{background-image:radial-gradient(circle 1020px at 120% -20%, #acacac 8%, #8e8e8e 14%, #535960 25%, #001d2f 45%);box-shadow:inset 1px 0 0 0 #000,inset -1px 0 0 0 #797979,inset 0 1px 0 0 #606060,inset 0 -1px 0 0 #606060}.fidelity-card.SILVER:before{z-index:2;background-image:repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.09) 0, rgba(255, 255, 255, 0.09) 1px, rgba(0, 0, 0, 0.02) 0, rgba(0, 0, 0, 0.02) 50%)}.fidelity-card.SILVER>.fidelity-card-footer>svg>circle,.fidelity-card.SILVER>.fidelity-card-footer>svg>path{fill:#ed5a23}.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>circle,.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>path,.fidelity-card.SILVER>.fidelity-card-footer>svg>circle,.fidelity-card.SILVER>.fidelity-card-footer>svg>path{stroke:rgba(0,29,47,.7);stroke-width:6px}.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>g>path,.fidelity-card.SILVER>.fidelity-card-footer>svg>g>path{fill:#000}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/fidelity-cards/templates/fidelity-card.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,eACE,aAAA,CACA,kBAAA,CACA,iBAAA,CACA,SAAA,CACA,sBACE,UAAA,CACA,iBAAA,CACA,MAAA,CACA,KAAA,CACA,WAAA,CACA,UAAA,CACA,kBAAA,CACA,uBAAA,CACA,uIAAA,CAEF,0EACE,iBAAA,CACA,SAAA,CACA,SAAA,CACA,uBAAA,CACA,kBAAA,CACA,8OACE,QAAA,CACA,SAAA,CACA,UAAA,CACA,sCAAA,CACJ,qCACE,UAAA,CACA,wCACE,eAAA,CACA,gBAAA,CACA,oCAAA,CACA,yBAAA,CACF,uCACE,eAAA,CACA,gBAAA,CACA,yCAAA,CACJ,qCACE,YAAA,CACA,6BAAA,CACA,oBAAA,CACA,aAAA,CAEE,6DACE,mBAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,yCAAA,CACF,4DACE,eAAA,CACA,gBAAA,CACA,oBAAA,CACA,oCAAA,CACA,mEACE,gBAAA,CACA,oCAAA,CACF,6EACE,aAAA,CACA,gBAAA,CACA,yCAAA,CACA,oFACE,iBAAA,CACR,yCACE,WAAA,CACA,8FACE,SAAA,CACA,qBAAA,CACA,gBAAA,CACF,gDACE,YCxEU,CD0EhB,oBACE,kFAAA,CACA,kCAAA,CACF,yBACE,+FAAA,CACA,yGAAA,CACA,gCACE,2IAAA,CACJ,sBACE,+GAAA,CACA,yGAAA,CACA,6BACE,SAAA,CACA,6JAAA,CAGE,4GACE,YC5FM,CDgGR,8NACE,uBAAA,CACA,gBAAA,CACF,iHACE,SAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n.fidelity-card\\n  flex-shrink: 0\\n  border-radius: 10px\\n  position: relative\\n  z-index: 2\\n  &:before\\n    content: ''\\n    position: absolute\\n    left: 0\\n    top: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: 10px\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba($secondary-color, .12) 0, rgba($secondary-color, .12) 1px, transparent 0, transparent 50%)\\n\\n  > .fidelity-card-header, > .fidelity-card-footer\\n    position: absolute\\n    left: 2rem\\n    z-index: 3\\n    width: calc(100% - 4rem)\\n    height: fit-content\\n    p, h5, h6\\n      margin: 0\\n      padding: 0\\n      color: #fff\\n      text-shadow: 2px 1px 1px rgba(#000, .7)\\n  > .fidelity-card-header\\n    top: 1.5rem\\n    > h5\\n      font-weight: 300\\n      font-size: 2.5rem\\n      font-family: 'Roboto flex', sans-serif\\n      text-transform: capitalize\\n    > p\\n      font-weight: 300\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n  > .fidelity-card-footer\\n    display: flex\\n    justify-content: space-between\\n    align-items: flex-end\\n    bottom: 1.5rem\\n    > .fidelity-card-price\\n      > h6\\n        margin-bottom: .2rem\\n        font-size: 1.5rem\\n        font-weight: 400\\n        white-space: nowrap\\n        font-family: 'Roboto condensed', sans-serif\\n      > p\\n        font-weight: 300\\n        font-size: 1.5rem\\n        white-space: collapse\\n        font-family: 'Roboto flex', sans-serif\\n        .price\\n          font-size: 1.8rem\\n          font-family: 'Roboto mono', sans-serif\\n        > .reference-price\\n          display: block\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', sans-serif\\n          > .price\\n            font-size: inherit\\n    > svg\\n      height: 5rem\\n      > circle, > path\\n        fill: #fff \\n        stroke: rgba(#000, .5)\\n        stroke-width: 6px\\n      > g > path\\n        fill: $secondary-color\\n\\n  &.BASE\\n    background-image: radial-gradient(circle 900px at 80% 10%, #c21500 0%, #F09819 60%)\\n    box-shadow: inset 0 0 0 1px darken(#c21500, 10%)\\n  &.BASE-PLUS\\n    background-image: radial-gradient(circle 950px at 130% 0%, #d0198f 0%, #202a94 40%, #170540 60%)\\n    box-shadow: inset 1px 0 0 0 #000, inset -1px 0 0 0 darken(#d0198f, 25%), inset 0 1px 0 0 darken(#d0198f, 40%), inset 0 -1px 0 0 darken(#d0198f, 40%)\\n    &:before\\n      background-image: repeating-linear-gradient(45deg, rgba(#fff, .1) 0, rgba(#fff, .1) 1px, transparent 0, transparent 50%)\\n  &.SILVER\\n    background-image: radial-gradient(circle 1020px at 120% -20%, #acacac 8%, #8e8e8e 14%, #535960 25%, #001d2f 45%)\\n    box-shadow: inset 1px 0 0 0 #000, inset -1px 0 0 0 darken(#acacac, 20%), inset 0 1px 0 0 darken(#acacac, 30%), inset 0 -1px 0 0 darken(#acacac, 30%)\\n    &:before\\n      z-index: 2\\n      background-image: repeating-linear-gradient(45deg, rgba(#fff, .09) 0, rgba(#fff, .09) 1px, rgba(#000, .02) 0, rgba(#000, .02) 50%)\\n    > .fidelity-card-footer\\n      > svg\\n        > circle, > path\\n          fill: $primary-color\\n  &.BASE-PLUS, &.SILVER\\n    > .fidelity-card-footer\\n      > svg\\n        > circle, > path\\n          stroke: rgba(#001d2f, .7)\\n          stroke-width: 6px\\n        > g > path\\n          fill: darken($secondary-color, 20%)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.help-services-agreement .body{padding:2rem}ux-dialog.help-services-agreement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/help/dialogs/help-services-agreement.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,wCACE,YAAA,CACF,0CACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.help-services-agreement\\n  .body\\n    padding: 2rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.help .row{margin:0;padding:.75rem}router-view.help .row>div[class*=col]{padding:0}router-view.help .row .step-box{display:flex;flex-direction:column;margin:.5rem;padding:0 2rem;height:max(32vh,32rem);text-align:center;background-color:#fff;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),1px 1px 10px 0 rgba(64,64,64,.1)}router-view.help .row .step-box>i{margin:max(4vh,4rem) 0;font-size:max(5vh,5rem);color:#11254b}router-view.help .row .step-box>p{margin:0}router-view.help .row .step-box>.footer{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;flex-grow:1;padding:max(3vh,3rem) 0 2rem}router-view.help .row .step-box>.footer>p{margin:0}router-view.help .row .step-box>.footer>p a{transition:color .3s;text-underline-offset:4px}router-view.help .row .step-box>.footer>p a:hover{color:#ed5a23}router-view.help .row .step-box>.footer>p .disclaimer:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .row .step-box>.footer>p .software:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .address>a{text-decoration:none;transition:color .3s}router-view.help .address>a>span{text-decoration:underline;text-underline-offset:4px}router-view.help .address>a:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .address>a:hover{color:#ed5a23}router-view.help .iva:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .telephone:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .email:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/help/help.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,sBD7bF,QACE,CAAA,cACA,CAAA,sCACA,SACE,CAAA,gCACF,YACE,CAAA,qBACA,CAAA,YACA,CAAA,cACA,CAAA,sBACA,CAAA,iBACA,CAAA,qBACA,CAAA,6EACA,CAAA,kCACA,sBACE,CAAA,uBACA,CAAA,aElBU,CAAA,kCFoBZ,QACE,CAAA,wCACF,YACE,CAAA,qBACA,CAAA,0BACA,CAAA,kBACA,CAAA,WACA,CAAA,4BACA,CAAA,0CACA,QACE,CAAA,4CACA,oBACE,CAAA,yBACA,CAAA,kDACA,aEnCI,CAAA,6DFqCN,oBCcR,CAAA,WDb+B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBCiBnD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2DD3BM,oBCYR,CAAA,WDX+B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBCenD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4BDxBF,oBACE,CAAA,oBACA,CAAA,iCACA,yBACE,CAAA,yBACA,CAAA,mCACF,oBCGF,CAAA,WDFyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCM7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kCDhBA,aElDY,CAAA,6BFoDd,oBCDA,CAAA,WDEuB,CAAA,QAAA,CAAA,gBAAoB,CAAA,iBCE3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,mCDZF,oBCHA,CAAA,WDIuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBAAA,CAAA,mBCC3C,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,+BDVF,oBCLA,CAAA,WDMuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCF3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.help\\n  .row\\n    margin: 0\\n    padding: .75rem\\n    > div[class*=\\\"col\\\"]\\n      padding: 0\\n    .step-box\\n      display: flex\\n      flex-direction: column\\n      margin: 0.5rem\\n      padding: 0 2rem\\n      height: max(32vh, 32rem)\\n      text-align: center\\n      background-color: #fff\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 1px 1px 10px 0 rgba($text-color, .1)\\n      > i\\n        margin: max(4vh, 4rem) 0\\n        font-size: max(5vh, 5rem)\\n        color: $secondary-color\\n      > p \\n        margin: 0\\n      > .footer\\n        display: flex\\n        flex-direction: column\\n        justify-content: flex-start\\n        align-items: center\\n        flex-grow: 1\\n        padding: max(3vh, 3rem) 0 2rem\\n        > p\\n          margin: 0\\n          a\\n            transition: color .3s\\n            text-underline-offset: 4px\\n            &:hover\\n              color: $primary-color\\n          .disclaimer:before\\n            @include fontawesome(\\\"\\\\f1f9\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color)\\n          .software:before\\n            @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color)\\n    \\n  .address > a\\n    text-decoration: none\\n    transition: color .3s\\n    > span\\n      text-decoration: underline\\n      text-underline-offset: 4px\\n    &:before\\n      @include fontawesome(\\\"\\\\f279\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  .iva:before\\n    @include fontawesome(\\\"\\\\f2bb\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  .telephone:before\\n    @include fontawesome(\\\"\\\\f8d3\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  .email:before\\n    @include fontawesome(\\\"\\\\f0e0\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.impostazioni-email h2.preferences{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0 1rem}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p{display:inline-block;margin:0;cursor:pointer}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p>.title{font-weight:600;font-size:1.6rem;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\";color:#11254b}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p>.title>span{display:none}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p>.content{padding-left:.3rem;line-height:1;font-size:2.2rem;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\";color:#ed5a23}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p>.content>span{font-size:1.6rem;color:#11254b;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages.finished:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:900}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages.finished>p>.title>span{display:inline}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages.finished>p>.content{color:#f30}router-view.impostazioni-email .col-border-left{box-shadow:-1px 0 1px -1px #ed5a23}router-view.impostazioni-email .col-border-left ka-control.certifiedAddresses label{display:none}router-view.impostazioni-email .col-border-left ka-control-list .item:first-of-type .row label{display:block;margin:0;padding:0;width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap;transition:all .5s;margin-top:1.5rem}router-view.impostazioni-email .col-border-left ka-control-list .item:first-of-type .row label .ka-table-like.pec tr{border-bottom:0;background-color:rgba(0,0,0,0)}router-view.impostazioni-email .col-border-left:not(:last-child){border-bottom:1px solid #e0e0e0}router-view.impostazioni-email .col-border-left:not(:last-child) md-input.compact,router-view.impostazioni-email .col-border-left:not(:last-child) ka-input.compact{margin:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/email.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,8CD7bF,YACE,CAAA,gBACA,CAAA,kBACA,CAAA,6BACA,CAAA,cACA,CAAA,oFAEE,oBCyCJ,CAAA,WDxC2B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBC4C/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,+EDtDE,oBACE,CAAA,QACA,CAAA,cACA,CAAA,sFACA,eACE,CAAA,gBACA,CAAA,2CACA,CAAA,aElBQ,CAAA,2FFoBR,YACE,CAAA,wFACJ,kBACE,CAAA,aACA,CAAA,gBACA,CAAA,sCACA,CAAA,aE3BM,CAAA,6FF6BN,gBACE,CAAA,aE7BM,CAAA,2CF+BN,CAAA,6FAEJ,oBCiBN,CAAA,WDhB6B,CAAA,kBAA2B,CAAA,iBAAT,CAAA,iBCoB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,oBD8CuD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,oGD/BM,cACE,CAAA,iGACF,UEnCI,CAAA,gDFsCZ,kCACE,CAAA,oFAEA,YACE,CAAA,+FAEF,aACE,CAAA,QACA,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,eACA,CAAA,gBACA,CAAA,kBACA,CAAA,wBACA,CAAA,kBACA,CAAA,kBACA,CAAA,iBAGA,CAAA,qHAEA,eACE,CAAA,8BACA,CAAA,iEAEJ,+BACE,CAAA,oKAEA,QACE\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n  \\nrouter-view.impostazioni-email\\n  h2.preferences \\n    display: flex\\n    flex-wrap: nowrap\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 1rem\\n    > .multinvio-digital-self-usages\\n      &:before\\n        @include fontawesome('\\\\f05a', 'regular', inherit, 0 .3rem 0 0, $primary-color)\\n      > p\\n        display: inline-block\\n        margin: 0\\n        cursor: pointer\\n        > .title\\n          font-weight: 600\\n          font-size: 1.6rem\\n          font-family: 'Roboto condensed', 'sans-serif'\\n          color: $secondary-color\\n          > span\\n            display: none\\n        > .content\\n          padding-left: .3rem\\n          line-height: 1\\n          font-size: 2.2rem\\n          font-family: 'Roboto mono', 'sans-serif'\\n          color: $primary-color\\n          > span\\n            font-size: 1.6rem\\n            color: $secondary-color\\n            font-family: 'Roboto condensed', 'sans-serif'\\n      &.finished\\n        &:before\\n          @include fontawesome('\\\\f05e', 'solid', inherit, 0 .3rem 0 0, $error-color)\\n        & > p\\n          > .title > span\\n            display: inline\\n          > .content\\n            color: $error-color\\n\\n  .col-border-left\\n    box-shadow: -1px 0 1px -1px #ed5a23\\n\\n    ka-control.certifiedAddresses label\\n      display: none\\n\\n    ka-control-list .item:first-of-type .row label \\n      display: block\\n      margin: 0\\n      padding: 0\\n      width: 100%\\n      height: 1.5rem\\n      overflow: hidden\\n      font-size: 1.2rem\\n      line-height: 1.5rem\\n      color: rgba(237, 90, 35, 0.7)\\n      white-space: nowrap\\n      transition: all 0.5s\\n\\n      ka-control-list .item:first-of-type .buttons \\n      margin-top: 1.5rem\\n\\n      .ka-table-like.pec tr\\n        border-bottom: 0\\n        background-color: transparent\\n\\n    &:not(:last-child)\\n      border-bottom: 1px solid #e0e0e0\\n\\n      md-input.compact, ka-input.compact  \\n        margin: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.impostazioni-notifiche .col-border-left{box-shadow:-1px 0 1px -1px #ed5a23}router-view.impostazioni-notifiche md-input.compact,router-view.impostazioni-notifiche ka-input.compact{margin:0}router-view.impostazioni-notifiche #comm fieldset{margin-inline-start:0;margin-inline-end:0;padding-block-start:0;padding-inline-start:0;padding-inline-end:0;padding-block-end:0;min-inline-size:min-content;border-width:0;border-style:none;height:100%;font-size:1.4rem}router-view.impostazioni-notifiche #comm fieldset .legend{display:inline-block;margin:0 0 1rem;color:#404040}router-view.impostazioni-notifiche #comm fieldset .input-radio{display:flex;align-items:center}router-view.impostazioni-notifiche #comm fieldset .input-radio label{color:#404040;white-space:nowrap}router-view.impostazioni-notifiche #comm fieldset .input-radio input{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;margin-right:.5rem;font:inherit;background-color:#fff;width:1.5rem;height:1.5rem;border:.15rem solid #404040;border-radius:50%;cursor:pointer;appearance:none}router-view.impostazioni-notifiche #comm fieldset .input-radio input:before{content:\\\"\\\";width:.8rem;height:.8rem;border-radius:50%;transform:scale(0);transition:.2s transform ease-in-out;box-shadow:inset 1em 1em #ed5a23}router-view.impostazioni-notifiche #comm fieldset .input-radio input:checked:before{transform:scale(1)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/impostazioni/notifiche.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,oDACE,kCAAA,CAEF,wGACE,QAAA,CAGA,kDACE,qBAAA,CACA,mBAAA,CACA,qBAAA,CACA,sBAAA,CACA,oBAAA,CACA,mBAAA,CACA,2BAAA,CACA,cAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CAEA,0DACE,oBAAA,CACA,eAAA,CACA,aC3BK,CD4BP,+DACE,YAAA,CACA,kBAAA,CACA,qEACE,aChCG,CDiCH,kBAAA,CACF,qEACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,QAAA,CACA,kBAAA,CACA,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CACA,2BAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,4EACE,UAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,oCAAA,CACA,gCAAA,CACF,oFACE,kBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.impostazioni-notifiche\\n  .col-border-left \\n    box-shadow: -1px 0 1px -1px #ed5a23\\n\\n  md-input.compact, ka-input.compact \\n    margin: 0\\n\\n  #comm\\n    fieldset\\n      margin-inline-start: 0\\n      margin-inline-end: 0\\n      padding-block-start: 0\\n      padding-inline-start: 0\\n      padding-inline-end: 0\\n      padding-block-end: 0\\n      min-inline-size: min-content\\n      border-width: 0\\n      border-style: none\\n      height: 100%\\n      font-size: 1.4rem\\n\\n      .legend\\n        display: inline-block\\n        margin: 0 0 1rem\\n        color: $text-color\\n      .input-radio\\n        display: flex\\n        align-items: center\\n        label\\n          color: $text-color\\n          white-space: nowrap                 \\n        input\\n          display: flex\\n          align-items: center\\n          justify-content: center\\n          flex-shrink: 0\\n          margin: 0\\n          margin-right: .5rem\\n          font: inherit\\n          background-color: #fff\\n          width: 1.5rem\\n          height: 1.5rem\\n          border: 0.15rem solid $text-color\\n          border-radius: 50%\\n          cursor: pointer\\n          appearance: none              \\n          &:before\\n            content: \\\"\\\"\\n            width: .8rem\\n            height: .8rem\\n            border-radius: 50%\\n            transform: scale(0)\\n            transition: .2s transform ease-in-out\\n            box-shadow: inset 1em 1em $primary-color\\n          &:checked:before\\n            transform: scale(1)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.small{max-width:430px}ux-dialog .body{padding:2rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog md-prefsel{margin:0;background:rgba(0,0,0,0);border:none}ux-dialog md-prefsel .material-icons{display:none}ux-dialog md-prefsel p{padding:0}ux-dialog md-prefsel p.options{margin-top:1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/posta-dialog-confirm.scss\"],\"names\":[],\"mappings\":\"AACE,gBAAA,eAAA,CACA,gBACE,YAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,qBACE,QAAA,CACA,wBAAA,CACA,WAAA,CACA,qCAAA,YAAA,CACA,uBACE,SAAA,CACA,+BAAA,eAAA\",\"sourcesContent\":[\"ux-dialog {\\n  &.small { max-width: 430px; }\\n  .body {\\n    padding: 2rem;\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n  md-prefsel {\\n    margin: 0;\\n    background: transparent;\\n    border: none;\\n    .material-icons { display: none; }\\n    p { \\n      padding: 0;\\n      &.options { margin-top: 1rem; }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.impostazioni-sms h2>span[static-tooltip]{transition:color .3s}router-view.impostazioni-sms h2>span[static-tooltip]:hover{color:#000}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/impostazioni/sms.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,qDACE,oBAAA,CACA,2DACE,UAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.impostazioni-sms\\n  h2 > span[static-tooltip]\\n    transition: color .3s\\n    &:hover\\n      color: #000\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.offerta{position:relative;height:100%;max-height:100vh;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.offerta>img{position:absolute;top:0;left:0;height:100%;width:100%;object-fit:cover;opacity:.06}router-view.offerta .offer-header{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;padding:2rem 3rem;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.offerta .offer-header>img{justify-self:start;height:3.5rem}router-view.offerta .offer-header>p{justify-self:center;line-height:1}router-view.offerta .offer-header>a,router-view.offerta .offer-header i{justify-self:end;font-size:2.7rem;text-decoration:none;color:#11254b;cursor:pointer}router-view.offerta .offer-box{width:80vw;max-width:120rem;border-radius:3px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.offerta .offer-box h1{color:#000;font-size:4rem}router-view.offerta .offer-box h2{border:0;font-size:1.8rem;line-height:1.2}router-view.offerta .offer-box .alert>strong,router-view.offerta .offer-box .alert small{display:block;line-height:1;font-size:1.4rem}router-view.offerta .offer-box .alert>strong{font-size:1.6rem}router-view.offerta .offer-box .alert .to-login{display:inline-block;text-decoration:underline;text-underline-offset:.2rem;color:#ed5a23}router-view.offerta .offer-box .alert .to-login>i{font-size:1.8rem;vertical-align:middle}router-view.offerta .offer-box .activation-button{padding:0 3rem;height:unset;border:1px solid #0b1932;line-height:4.5rem;font-size:1.5rem;background:linear-gradient(rgba(17, 37, 75, 0.9), #0b1932)}router-view.offerta .offer-box .activation-button.activable{border:1px solid #df4a12;animation:2.1s ease-in-out infinite pulse-button;background:linear-gradient(rgba(237, 90, 35, 0.9), #df4a12)}router-view.offerta .offer-box .left-side{box-shadow:inset -0.5px 0 0 0 #e0e0e0;padding:3rem}router-view.offerta .offer-box .left-side p{font-size:1.6rem}router-view.offerta .offer-box .left-side h3{font-size:1.6rem}router-view.offerta .offer-box .left-side small{display:block;font-size:1.4rem;line-height:1}router-view.offerta .offer-box .left-side .ribbon{display:flex;align-items:center;position:relative;z-index:3;width:21rem;height:3rem;font-size:calc(3rem - 1.1rem);color:#fff;background:#ed5a23;animation:.5s ease-in-out ribbon-entrance;box-shadow:5px 5px 5px 0 rgba(0,0,0,.1)}router-view.offerta .offer-box .left-side .ribbon:before,router-view.offerta .offer-box .left-side .ribbon::after{display:block;position:absolute;content:\\\"\\\"}router-view.offerta .offer-box .left-side .ribbon:before{position:absolute;content:\\\"\\\";height:0;width:0;left:0;bottom:calc(3rem/3*-1);border-top:calc(3rem/3) solid #c14b1f;border-left:calc(3rem/3) solid rgba(0,0,0,0)}router-view.offerta .offer-box .left-side .ribbon:after{top:0;left:auto;right:calc(3rem*-1);border:calc(3rem/2) solid #ed5a23;border-right-color:rgba(0,0,0,0)}router-view.offerta .offer-box .right-side{box-shadow:inset .5px 0 0 0 #e0e0e0;background:rgba(64,64,64,.05)}router-view.offerta .offer-box .right-side h2{padding:3rem;box-shadow:inset 0 -1px 0 0 #e0e0e0,inset .5px 0 0 0 #e0e0e0;background:#fff}router-view.offerta .offer-box .right-side .wrapper-services .flat-service{padding:3rem;border-radius:3px;background:rgba(0,0,0,0)}router-view.offerta .offer-box .right-side .wrapper-services .flat-service:not(:last-child){box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.offerta .offer-box .right-side .wrapper-services .flat-service h3{font-size:1.4rem;font-weight:800;color:#404040}router-view.offerta .offer-box .right-side .wrapper-services .flat-service p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .description{font-size:1.3rem;line-height:1.2}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing h4{font-size:1.1rem;line-height:1.1;font-weight:800;text-transform:uppercase}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing p{font-size:1.2rem}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .form{padding:3rem;box-shadow:inset 0 1px 0 0 #e0e0e0}router-view.offerta .activated-wrapper{padding:2rem 3rem}router-view.offerta .activated-wrapper>h1{margin:0;font-size:3.5rem}router-view.offerta .activated-wrapper>p{display:flex;align-items:center;margin:0;padding:0;height:4rem;font-size:1.8rem;color:#1cc800}router-view.offerta .activated-wrapper>p i{font-size:2rem}router-view.offerta .offer-footer>p{display:block;padding:2rem;font-size:1.6rem;color:#fff}router-view.offerta .offer-footer>p.activated-at{background:#1cc800}router-view.offerta .offer-footer>p.email-already-stored,router-view.offerta .offer-footer>p.authenticated-activated,router-view.offerta .offer-footer>p.authenticated-no-permissions{background:#404040}router-view.offerta .offer-footer>p>i{font-size:2rem;color:#fff;vertical-align:text-bottom}router-view.offerta .offer-footer>p small{display:block;margin-left:3rem}router-view.offerta.already-activated{display:flex;align-items:center;padding:2rem;font-size:1.6rem;background:#404040;color:#fff}@keyframes pulse-button{0%{transform:scale(1)}10%{transform:scale(1.08)}20%{transform:scale(1)}30%{transform:scale(1.08)}45%{transform:scale(1)}}@keyframes ribbon-entrance{0%{opacity:0;width:0;color:rgba(0,0,0,0)}100%{opacity:1;width:21rem;color:#fff}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/landing/offerta.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n$ribbon-height: 3rem\\nrouter-view.offerta\\n  position: relative\\n  height: 100%\\n  max-height: 100vh\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n  > img\\n    position: absolute\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    object-fit: cover\\n    opacity: .06\\n  .offer-header\\n    display: grid\\n    grid-auto-columns: 1fr\\n    grid-auto-flow: column\\n    align-items: center\\n    padding: 2rem 3rem\\n    box-shadow: inset 0 -1px 0 0 #e0e0e0\\n    > img\\n      justify-self: start\\n      height: 3.5rem\\n    > p\\n      justify-self: center\\n      line-height: 1\\n    > a,i\\n      justify-self: end\\n      font-size: 2.7rem\\n      text-decoration: none\\n      color: $secondary-color\\n      cursor: pointer\\n  .offer-box\\n    width: 80vw\\n    max-width: 120rem\\n    border-radius: 3px\\n    background-color: #f9f9f9\\n    box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n    h1\\n      color: #000\\n      font-size: 4rem\\n    h2\\n      border: 0\\n      font-size: 1.8rem\\n      line-height: 1.2\\n    .alert\\n      > strong, small\\n        display: block\\n        line-height: 1\\n        font-size: 1.4rem\\n      > strong\\n        font-size: 1.6rem\\n      .to-login\\n        display: inline-block\\n        text-decoration: underline\\n        text-underline-offset: .2rem\\n        color: $primary-color\\n        > i\\n          font-size: 1.8rem\\n          vertical-align: middle\\n    .activation-button\\n      padding: 0 3rem\\n      height: unset\\n      border: 1px solid darken($secondary-color, 6%)\\n      line-height: 4.5rem\\n      font-size: 1.5rem\\n      background: linear-gradient(rgba($secondary-color, .9), darken($secondary-color, 6%))\\n      &.activable\\n        border: 1px solid darken($primary-color, 6%)\\n        animation: 2.1s ease-in-out infinite pulse-button\\n        background: linear-gradient(rgba($primary-color, .9), darken($primary-color, 6%))\\n\\n    // Left side\\n    .left-side\\n      box-shadow: inset -.5px 0 0 0 #e0e0e0\\n      padding: 3rem\\n      p\\n        font-size: 1.6rem\\n      h3\\n        font-size: 1.6rem\\n      small\\n        display: block\\n        font-size: 1.4rem\\n        line-height: 1\\n      .ribbon\\n        display: flex\\n        align-items: center\\n        position: relative\\n        z-index: 3\\n        width: 21rem\\n        height: $ribbon-height\\n        font-size: calc(#{$ribbon-height} - 1.1rem)\\n        color: #fff\\n        background: $primary-color\\n        animation: .5s ease-in-out ribbon-entrance\\n        box-shadow: 5px 5px 5px 0 rgba(#000, 0.1)\\n        &:before, &::after\\n          display: block\\n          position: absolute\\n          content: ''\\n        &:before\\n          position: absolute\\n          content: ''\\n          height: 0\\n          width: 0\\n          left: 0\\n          bottom: calc((#{$ribbon-height} / 3) * -1)\\n          border-top: calc(#{$ribbon-height} / 3) solid #c14b1f\\n          border-left: calc(#{$ribbon-height} / 3) solid transparent\\n        &:after\\n          top: 0\\n          left: auto\\n          right: calc(#{$ribbon-height} * -1)\\n          border: calc(#{$ribbon-height} / 2) solid $primary-color\\n          border-right-color: transparent\\n\\n    // Right side\\n    .right-side\\n      box-shadow: inset .5px 0 0 0 #e0e0e0\\n      background: rgba($text-color, 0.05)\\n      h2\\n        padding: 3rem\\n        box-shadow: inset 0 -1px 0 0 #e0e0e0, inset .5px 0 0 0 #e0e0e0\\n        background: #fff\\n      .wrapper-services\\n        .flat-service\\n          padding: 3rem\\n          border-radius: 3px\\n          background: transparent\\n          &:not(:last-child)\\n            box-shadow: inset 0 -1px 0 0 #e0e0e0\\n          h3\\n            font-size: 1.4rem\\n            font-weight: 800\\n            color: $text-color\\n          p, .description\\n            font-size: 1.3rem\\n            line-height: 1.2\\n          .activability, .duration, .price, .billing\\n            h4\\n              font-size: 1.1rem\\n              line-height: 1.1\\n              font-weight: 800\\n              text-transform: uppercase\\n            p\\n              font-size: 1.2rem\\n          .activability h4:before\\n            @include fontawesome(\\\"\\\\f073\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .duration h4:before\\n            @include fontawesome(\\\"\\\\f34E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .price h4:before\\n            @include fontawesome(\\\"\\\\f51E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .billing h4:before\\n            @include fontawesome(\\\"\\\\f51E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n\\n  .form \\n    padding: 3rem // 0 // 3rem // 2rem\\n    box-shadow: inset 0 1px 0 0 #e0e0e0\\n\\n  .activated-wrapper\\n    padding: 2rem 3rem\\n    > h1\\n      margin: 0\\n      font-size: 3.5rem\\n    > p\\n      display: flex\\n      align-items: center\\n      margin: 0\\n      padding: 0\\n      height: 4rem\\n      font-size: 1.8rem\\n      color: $success-color\\n      i\\n        font-size: 2rem\\n\\n  .offer-footer > p\\n    display: block\\n    padding: 2rem\\n    font-size: 1.6rem\\n    color: #fff\\n    &.activated-at\\n      background: $success-color\\n    &.email-already-stored, &.authenticated-activated, &.authenticated-no-permissions\\n      background: $text-color\\n    > i\\n      font-size: 2rem\\n      color: #fff\\n      vertical-align: text-bottom\\n    small\\n      display: block\\n      margin-left: 3rem\\n\\n  &.already-activated\\n    display: flex\\n    align-items: center\\n    padding: 2rem\\n    font-size: 1.6rem\\n    background: $text-color\\n    color: #fff\\n\\n// Animation \\n@keyframes pulse-button\\n  0%\\n    transform: scale(1)\\n  10%\\n    transform: scale(1.08)\\n  20%\\n    transform: scale(1)   \\n  30%\\n    transform: scale(1.08)\\n  45%\\n    transform: scale(1)\\n\\n@keyframes ribbon-entrance\\n  0%\\n    opacity: 0\\n    width: 0\\n    color: transparent\\n  100%\\n    opacity: 1\\n    width: 21rem\\n    color: #fff\\n\\n  \",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.registrazione{position:relative;height:100%;max-height:100vh}router-view.registrazione .wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;position:relative;z-index:10}router-view.registrazione .wrapper .header{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.registrazione .wrapper .header>img{justify-self:start;height:3.5rem}router-view.registrazione .wrapper .header>a,router-view.registrazione .wrapper .header i{justify-self:end;font-size:2.5rem;text-decoration:none;color:#11254b;cursor:pointer}router-view.registrazione .wrapper .box{width:80vw;max-width:120rem;border-radius:3px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.registrazione .wrapper .box h2{border:0;font-size:1.8rem;line-height:1.2}router-view.registrazione .wrapper .box .step-section{position:relative;width:100%}router-view.registrazione .wrapper .box .step-section:before{position:absolute;display:block;content:\\\"\\\";bottom:0;left:.15rem;width:calc(100% - .3rem);height:1px;background:#e0e0e0}router-view.registrazione .wrapper .box .step-section:nth-of-type(2):before{display:none}router-view.registrazione .wrapper .box .step-section:last-of-type:before{display:block;left:-1.5rem;width:calc(100% + 3rem);height:1px;background:#e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy{margin:.5rem 0 0}router-view.registrazione .wrapper .box .step-section.privacy .row{position:relative;box-shadow:inset 0 0 0 1px #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>p{display:inline-block;padding:1rem;margin:0;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col]:first-of-type{box-shadow:inset -1px 0 0 0 #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset{margin-inline-start:0;margin-inline-end:0;padding-block-start:0;padding-inline-start:0;padding-inline-end:0;padding-block-end:0;min-inline-size:min-content;border-width:0;border-style:none;height:100%;font-size:1.2rem}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .legend{display:inline-block;margin:0 0 1rem;color:#404040}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio{display:flex;align-items:center}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio label{color:#404040;white-space:nowrap}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;margin-right:.5rem;font:inherit;background-color:#fff;width:1.5rem;height:1.5rem;border:.15rem solid #404040;border-radius:50%;cursor:pointer;appearance:none}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input:before{content:\\\"\\\";width:.8rem;height:.8rem;border-radius:50%;transform:scale(0);transition:.2s transform ease-in-out;box-shadow:inset 1em 1em #ed5a23}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input:checked:before{transform:scale(1)}@media screen and (max-width: 767px){router-view.registrazione .wrapper{max-width:100vw;height:fit-content;overflow-x:hidden}router-view.registrazione .wrapper .box{width:100vw;max-width:100vw;height:fit-content}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/landing/registrazione.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,0BACE,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,mCACE,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,iBAAA,CACA,UAAA,CACA,2CACE,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,kBAAA,CACA,mCAAA,CACA,+CACE,kBAAA,CACA,aAAA,CACF,0FACE,gBAAA,CACA,gBAAA,CACA,oBAAA,CACA,aC1BU,CD2BV,cAAA,CACJ,wCACE,UAAA,CACA,gBAAA,CACA,iBAAA,CACA,wBAAA,CACA,mEAAA,CACA,2CACE,QAAA,CACA,gBAAA,CACA,eAAA,CACF,sDACE,iBAAA,CACA,UAAA,CACA,6DACE,iBAAA,CACA,aAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,wBAAA,CACA,UAAA,CACA,kBAAA,CACF,4EACE,YAAA,CACF,0EACE,aAAA,CACA,YAAA,CACA,uBAAA,CACA,UAAA,CACA,kBAAA,CAEF,8DACE,gBAAA,CACA,mEACE,iBAAA,CACA,kCAAA,CACA,qEACE,oBAAA,CACA,YAAA,CACA,QAAA,CACA,mCAAA,CAEA,iGACE,mCAAA,CACF,4FACE,qBAAA,CACA,mBAAA,CACA,qBAAA,CACA,sBAAA,CACA,oBAAA,CACA,mBAAA,CACA,2BAAA,CACA,cAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CAEA,oGACE,oBAAA,CACA,eAAA,CACA,aC1FL,CD2FG,yGACE,YAAA,CACA,kBAAA,CACA,+GACE,aC/FP,CDgGO,kBAAA,CACF,+GACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,QAAA,CACA,kBAAA,CACA,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CACA,2BAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,sHACE,UAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,oCAAA,CACA,gCAAA,CACF,8HACE,kBAAA,CAEpB,qCACE,mCACE,eAAA,CACA,kBAAA,CACA,iBAAA,CACA,wCACE,WAAA,CACA,eAAA,CACA,kBAAA,CAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.registrazione\\n  position: relative\\n  height: 100%\\n  max-height: 100vh\\n  .wrapper\\n    display: flex\\n    flex-direction: column\\n    justify-content: center\\n    align-items: center\\n    height: 100%\\n    position: relative \\n    z-index: 10\\n    .header\\n      display: grid\\n      grid-auto-columns: 1fr\\n      grid-auto-flow: column\\n      align-items: center\\n      box-shadow: inset 0 -1px 0 0 #e0e0e0\\n      > img\\n        justify-self: start\\n        height: 3.5rem\\n      > a,i\\n        justify-self: end\\n        font-size: 2.5rem\\n        text-decoration: none\\n        color: $secondary-color\\n        cursor: pointer\\n    .box\\n      width: 80vw\\n      max-width: 120rem\\n      border-radius: 3px\\n      background-color: #f9f9f9\\n      box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n      h2\\n        border: 0\\n        font-size: 1.8rem\\n        line-height: 1.2\\n      .step-section\\n        position: relative\\n        width: 100%\\n        &:before\\n          position: absolute\\n          display: block\\n          content: ''\\n          bottom: 0\\n          left: .15rem\\n          width: calc(100% - (0.15rem * 2))\\n          height: 1px\\n          background: #e0e0e0\\n        &:nth-of-type(2):before\\n          display: none\\n        &:last-of-type:before\\n          display: block\\n          left: -1.5rem\\n          width: calc(100% + (1.5rem * 2))\\n          height: 1px\\n          background: #e0e0e0\\n\\n        &.privacy\\n          margin: .5rem 0 0\\n          .row\\n            position: relative\\n            box-shadow: inset 0 0 0 1px #e0e0e0\\n            > p\\n              display: inline-block\\n              padding: 1rem\\n              margin: 0\\n              box-shadow: inset 0 -1px 0 0 #e0e0e0\\n            > div[class^=\\\"col\\\"]\\n              &:first-of-type\\n                box-shadow: inset -1px 0 0 0 #e0e0e0\\n              fieldset\\n                margin-inline-start: 0\\n                margin-inline-end: 0\\n                padding-block-start: 0\\n                padding-inline-start: 0\\n                padding-inline-end: 0\\n                padding-block-end: 0\\n                min-inline-size: min-content\\n                border-width: 0\\n                border-style: none\\n                height: 100%\\n                font-size: 1.2rem\\n\\n                .legend\\n                  display: inline-block\\n                  margin: 0 0 1rem\\n                  color: $text-color\\n                .input-radio\\n                  display: flex\\n                  align-items: center\\n                  label\\n                    color: $text-color\\n                    white-space: nowrap                 \\n                  input\\n                    display: flex\\n                    align-items: center\\n                    justify-content: center\\n                    flex-shrink: 0\\n                    margin: 0\\n                    margin-right: .5rem\\n                    font: inherit\\n                    background-color: #fff\\n                    width: 1.5rem\\n                    height: 1.5rem\\n                    border: 0.15rem solid $text-color\\n                    border-radius: 50%\\n                    cursor: pointer\\n                    appearance: none              \\n                    &:before\\n                      content: \\\"\\\"\\n                      width: .8rem\\n                      height: .8rem\\n                      border-radius: 50%\\n                      transform: scale(0)\\n                      transition: .2s transform ease-in-out\\n                      box-shadow: inset 1em 1em $primary-color\\n                    &:checked:before\\n                      transform: scale(1)\\n\\n  @media screen and (max-width: 767px)\\n    .wrapper\\n      max-width: 100vw\\n      height: fit-content\\n      overflow-x: hidden\\n      .box\\n        width: 100vw\\n        max-width: 100vw\\n        height: fit-content\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.multicerta-invite .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.multicerta-invite .step-box .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.multicerta-invite .step-box .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.multicerta-invite .step-box .step-description{margin:0;padding:1rem}router-view.multicerta-invite .step-box .step-description p{margin:0}router-view.multicerta-invite .step-box .step-description ka-button,router-view.multicerta-invite .step-box .step-description .ka-button{margin:0}router-view.multicerta-invite .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.multicerta-invite .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.multicerta-invite .step-separator{display:none}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/multicerta/invite.scss\"],\"names\":[],\"mappings\":\"AAAA,wCACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,qDAEA,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,oDAGF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,0DAGF,QACE,CAAA,YACA,CAAA,4DACA,QAAA,CAAA,yIACA,QAAA,CAAA,8CAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,oDAEA,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAIJ,8CAAA,YAAA,CAAA\",\"sourcesContent\":[\"router-view.multicerta-invite {\\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  \\n    .step-number {\\n      display: inline-block;\\n      margin-right: 1rem;\\n      border-radius: 50%;\\n      width: 3rem;\\n      height: 3rem;\\n      font-size: 2rem;\\n      line-height: 3rem;\\n      text-align: center;\\n      vertical-align: top;\\n      color: #ffffff;\\n      background-color: #ed5923;\\n      background-color: #11254b;\\n    }\\n    \\n    .step-title {\\n      display: inline-block;\\n      margin: 0;\\n      font-size: 1.6rem;\\n      line-height: 3rem;\\n      color: #ed5923;\\n      color: #11254b;\\n    }\\n    \\n    .step-description {\\n      margin: 0;\\n      padding: 1rem;\\n      p { margin: 0; }\\n      ka-button, .ka-button { margin: 0; }\\n    }\\n  }\\n  \\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  \\n    &:after {\\n      content: \\\"▶\\\";\\n      display: block;\\n      position: absolute;\\n      top: 50%;\\n      left: 50%;\\n      z-index: -1;\\n      font-size: 1.8rem;\\n      color: #e0e0e0;\\n      transform: translate(-50%, -50%);\\n    }\\n  }\\n  \\n  @media screen and (max-width: 62em) { .step-separator { display: none; } }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.ka-tooltip.visible .points-transaction-history-info-tooltip-status{padding:0;margin:0 0 0 1rem;font-size:1.2rem;color:#fff !important}router-view.multicoin-points-transaction-history h2.table-title{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0 1rem}router-view.multicoin-points-transaction-history h2.table-title>p{line-height:1.2}router-view.multicoin-points-transaction-history h2.table-title>p>span[static-tooltip]:hover{color:#404040;transition:color .3s}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container{display:flex;margin-left:1rem;flex-wrap:nowrap;align-items:center;justify-content:space-between}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points{display:flex;align-items:center}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag{padding:.6rem 1rem;border-radius:.4rem}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points:not(:last-child):after{display:flex;justify-content:center;content:\\\"+\\\";width:2.5rem;font-weight:400;font-size:1.8rem;color:#000;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag{padding:0;text-shadow:none;background:unset;box-shadow:none}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag:after{background:unset}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total:after{content:\\\"=\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag>span:last-child{line-height:1;vertical-align:text-bottom;font-size:1.8rem;font-weight:600;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag>span:last-child:after{content:\\\"pt.\\\";font-weight:400;font-size:1.5rem;padding-left:.3rem;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2+.table-band{margin-top:-1rem}router-view.multicoin-points-transaction-history .table-band{display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 0 0 #e0e0e0;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.02) 0, rgba(0, 0, 0, 0.02) 1px, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 50%)}router-view.multicoin-points-transaction-history .table-band>.banner-message>.no-fidelity-card:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e62e00;vertical-align:bottom;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history .table-band>.banner-message>.BASE-PLUS:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#2365de;vertical-align:bottom;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band>.banner-message>.BASE:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:bottom;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band>.banner-message>.SILVER:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(0,0,0,.7);vertical-align:bottom;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band .table-buttons{display:flex;align-content:center}router-view.multicoin-points-transaction-history table th.info-tooltip>span{cursor:pointer}router-view.multicoin-points-transaction-history table th.info-tooltip>span:hover{color:#ed5a23;transition:color .3s}router-view.multicoin-points-transaction-history table th.info-tooltip>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.created-at{font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.created-at>.data,router-view.multicoin-points-transaction-history table td.created-at>div>.data{font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.created-at>div{color:rgba(64,64,64,.6)}router-view.multicoin-points-transaction-history table td.source>p{margin:0;font-family:\\\"Roboto slab\\\",\\\"serif\\\"}router-view.multicoin-points-transaction-history table td.source>p.source-type{font-size:1.4rem;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\";color:rgba(64,64,64,.6)}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason{color:rgba(64,64,64,.8);text-decoration:underline;text-underline-offset:.3rem;transition:color .3s}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:before{transition:color .3s;display:inline-block;content:\\\"\\\";margin:0 .2rem 0 .2rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(64,64,64,.8);vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:hover{color:#ed5a23}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:hover:before{color:#ed5a23}router-view.multicoin-points-transaction-history table td.points>span{font-size:1.5rem;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.points>span:after{content:\\\"pt\\\";padding-left:.3rem}router-view.multicoin-points-transaction-history table td.points.secondary>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.pending>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.pending.transfer-error.pending>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(0,0,0,.5);vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.success>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#159500;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.error>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points .accreditation{margin:.3rem 0 0;font-size:1.4rem;color:rgba(64,64,64,.6);font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail{color:rgba(0,0,0,.8);text-decoration:underline;text-underline-offset:.3rem;transition:color .3s}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 .5rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:middle;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail:hover{color:crimson}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending{color:#000;background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details{position:relative}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p{margin:.5rem 0;font-family:\\\"Roboto condensed\\\",sans-serif;font-size:1.4rem;color:rgba(64,64,64,.6);cursor:pointer;transition:color .3s}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p>.text{margin-right:.5rem}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p>.accordion{color:rgba(0,0,0,.8);text-decoration:underline;text-underline-offset:.3rem;transition:color .3s;white-space:nowrap}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p>.accordion:hover{color:crimson;transition:color .3s}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>p>.accordion:before{transition:all .3s;display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>.wrapper{display:flex;align-items:flex-end;position:absolute;z-index:2;height:0;overflow:hidden;transition:height .4s ease-in-out}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>.wrapper>p{position:relative;padding:2rem;color:#fff;background:#232d3d;border-radius:.3rem;font-weight:300;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending+.transfer-error-details>.wrapper>p:before{content:\\\"\\\";position:absolute;top:-10px;left:30px;width:0;height:0;border:10px solid rgba(0,0,0,0);border-bottom-color:#11254b;border-top:0}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending.open+.transfer-error-details>p{color:#404040}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending.open+.transfer-error-details>p>.accordion{color:crimson;transform:scale(1.5)}router-view.multicoin-points-transaction-history table td.type .transfer-error.pending.open+.transfer-error-details>p>.accordion:before{transform:rotate(180deg);display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#000;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/multicoin/points-transaction-history.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n.ka-tooltip.visible\\n  .points-transaction-history-info-tooltip-status\\n    padding: 0\\n    margin: 0 0 0 1rem\\n    font-size: 1.2rem\\n    color: #fff !important\\n\\nrouter-view.multicoin-points-transaction-history\\n  h2.table-title\\n    display: flex\\n    flex-wrap: nowrap\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 1rem\\n    > p\\n      line-height: 1.2\\n      > span[static-tooltip]:hover\\n        color: $text-color\\n        transition: color .3s\\n    > .multicoin-points-container\\n      display: flex\\n      margin-left: 1rem\\n      flex-wrap: nowrap\\n      align-items: center\\n      justify-content: space-between\\n      > .multicoin-points\\n        display: flex\\n        align-items: center\\n        .new-tag\\n          padding: .6rem 1rem\\n          border-radius: .4rem\\n        &:not(:last-child)\\n          &:after\\n            display: flex\\n            justify-content: center\\n            content: '+'\\n            width: 2.5rem\\n            font-weight: 400\\n            font-size: 1.8rem\\n            color: #000\\n            font-family: 'Roboto mono', 'sans-serif'\\n        &.total\\n          > .new-tag\\n            padding: 0\\n            text-shadow: none\\n            background: unset\\n            box-shadow: none\\n            &:after\\n              background: unset\\n            &:before\\n              @include fontawesome('\\\\f4d3', 'regular', 2rem, 0 .3rem 0 0, $primary-color)\\n          &:after\\n            content: '='\\n        .new-tag\\n          > span:last-child\\n            line-height: 1\\n            vertical-align: text-bottom\\n            font-size: 1.8rem\\n            font-weight: 600\\n            font-family: 'Roboto mono', 'sans-serif'\\n            &:after\\n              content: 'pt.'\\n              font-weight: 400\\n              font-size: 1.5rem\\n              padding-left: .3rem\\n              font-family: 'Roboto condensed', 'sans-serif'\\n\\n  h2 + .table-band\\n    margin-top: -1rem\\n  .table-band\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    box-shadow: 0 1px 0 0 #e0e0e0\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .02) 0, rgba(#000, .02) 1px, rgba(#fff, .1) 0, rgba(#fff, .1) 50%)\\n    > .banner-message\\n      > .no-fidelity-card:before\\n        @include fontawesome('\\\\f06a', 'regular', inherit, 0 .5rem 0 0, darken($error-color, 5%), bottom)\\n      > .BASE-PLUS:before\\n        @include fontawesome('\\\\f389', 'solid', 1.6rem, 0 .5rem 0 0, #2365de, bottom)\\n      > .BASE:before\\n        @include fontawesome('\\\\f389', 'solid', 1.6rem, 0 .5rem 0 0, $primary-color, bottom)\\n      > .SILVER:before\\n        @include fontawesome('\\\\f389', 'solid', 1.6rem, 0 .5rem 0 0, rgba(#000, .7), bottom)\\n\\n    .table-buttons\\n      display: flex\\n      align-content: center\\n\\n  table\\n    th.info-tooltip\\n      > span\\n        cursor: pointer\\n        &:hover\\n          color: $primary-color\\n          transition: color .3s\\n        &:before\\n          @include fontawesome('\\\\f05a', 'regular', 1.5rem, 0 .5rem 0 0, darken($primary-color, 5%))\\n    td.created-at\\n      font-family: 'Roboto condensed', 'sans-serif'\\n      > .data, > div > .data\\n        font-family: 'Roboto mono', 'sans-serif'\\n      > div\\n        color: rgba($text-color, .6)\\n    td.source\\n      > p\\n        margin: 0\\n        font-family: 'Roboto slab', 'serif'\\n        &.source-type\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', 'sans-serif'\\n          color: rgba($text-color, .6)\\n          > .reason\\n            color: rgba($text-color, .8)\\n            text-decoration: underline\\n            text-underline-offset: .3rem\\n            transition: color .3s\\n            &:before\\n              transition: color .3s\\n              @include fontawesome('\\\\f4a6', 'regular', 1.2rem, 0 .2rem 0 .2rem, rgba($text-color, .8))\\n            &:hover\\n              color: $primary-color\\n              &:before\\n                color: $primary-color\\n    td.points\\n      > span\\n        font-size: 1.5rem\\n        font-family: 'Roboto mono', 'sans-serif'\\n        &:after\\n          content: 'pt'\\n          padding-left: .3rem\\n      &.secondary\\n        > span:before\\n          @include fontawesome('\\\\f353', 'regular', 1.6rem, 0 .8rem 0 0, $secondary-color)\\n      &.pending\\n        > span:before\\n          @include fontawesome('\\\\f51e', 'regular', 1.6rem, 0 .8rem 0 0, $pending-color)\\n      &.pending.transfer-error.pending\\n        > span:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.6rem, 0 .8rem 0 0, rgba(#000, .5))\\n      &.success\\n        > span:before\\n          @include fontawesome('\\\\f062', 'regular', 1.6rem, 0 .8rem 0 0, darken($success-color, 10%))\\n      &.error\\n        > span:before\\n          @include fontawesome('\\\\f00d', 'regular', 1.6rem, 0 .8rem 0 0, crimson)\\n      .accreditation\\n        margin: .3rem 0 0\\n        font-size: 1.4rem\\n        color: rgba($text-color, .6)\\n        font-family: 'Roboto condensed', 'sans-serif'\\n        .failed-accreditation-detail\\n          color: rgba(#000, .8)\\n          text-decoration: underline\\n          text-underline-offset: .3rem\\n          transition: color .3s\\n          &:before\\n            @include fontawesome('\\\\f35d', 'regular', 1.2rem, 0 .5rem 0 .5rem, crimson, middle)\\n          &:hover\\n            color: crimson\\n\\n    td.type\\n      .transfer-error.pending\\n        color: #000\\n        background: #f3f3f3\\n        box-shadow: inset 0 0 0 1px #bdbdbd\\n      .transfer-error.pending + .transfer-error-details\\n        position: relative\\n        > p\\n          margin: .5rem 0\\n          font-family: 'Roboto condensed', sans-serif\\n          font-size: 1.4rem\\n          color: rgba($text-color, .6)\\n          cursor: pointer\\n          transition: color .3s\\n          > .text\\n            margin-right: .5rem\\n          > .accordion\\n            color: rgba(#000, .8)\\n            text-decoration: underline\\n            text-underline-offset: .3rem\\n            transition: color .3s\\n            white-space: nowrap\\n            &:hover\\n              color: crimson\\n              transition: color .3s\\n            &:before\\n              transition: all .3s\\n              @include fontawesome('\\\\f13a', 'regular', 1.4rem, 0 .5rem 0 0, crimson)  \\n        > .wrapper\\n          display: flex\\n          align-items: flex-end\\n          position: absolute\\n          z-index: 2\\n          height: 0\\n          overflow: hidden\\n          transition: height .4s ease-in-out\\n          > p\\n            position: relative\\n            padding: 2rem\\n            color: #fff\\n            background: #232d3d\\n            border-radius: .3rem\\n            font-weight: 300\\n            font-family: 'Roboto condensed', sans-serif\\n            &:before\\n              content: ''\\n              position: absolute\\n              top: -10px\\n              left: 30px\\n              width: 0\\n              height: 0\\n              border: 10px solid transparent\\n              border-bottom-color: $secondary-color\\n              border-top: 0\\n      .transfer-error.pending.open + .transfer-error-details\\n        > p\\n          color: $text-color\\n          > .accordion\\n            color: crimson\\n            transform: scale(1.5)\\n            &:before\\n              transform: rotate(180deg)\\n              @include fontawesome('\\\\f057', 'regular', 1.4rem, 0 .5rem 0 0, #000)  \\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.notificheui-anteprima{width:unset !important;max-width:calc(100vw - 6rem)}ux-dialog.notificheui-anteprima h2{display:flex;align-items:center;padding:0 1rem;min-height:5.1rem;line-height:1.5}ux-dialog.notificheui-anteprima .body{padding:1rem;overflow-x:auto}ux-dialog.notificheui-anteprima .footer{display:block;padding:.5rem;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/notifiche-ui/dialogs/notifiche-anteprima.sass\"],\"names\":[],\"mappings\":\"AAEA,gCACE,sBAAA,CACA,4BAAA,CACA,mCACE,YAAA,CACA,kBAAA,CACA,cAAA,CACA,iBAAA,CACA,eAAA,CACF,sCACE,YAAA,CACA,eAAA,CACF,wCACE,aAAA,CACA,aAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.notificheui-anteprima\\n  width: unset !important\\n  max-width: calc(100vw - 6rem)\\n  h2\\n    display: flex\\n    align-items: center\\n    padding: 0 1rem\\n    min-height: 5.1rem\\n    line-height: 1.5\\n  .body \\n    padding: 1rem\\n    overflow-x: auto\\n  .footer \\n    display: block\\n    padding: .5rem\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.notifiche{max-height:100vh;overflow:hidden}router-view.notifiche ka-tabs>nav>a.alert>span{margin-left:.5rem;color:#11254b}router-view.notifiche ka-tabs>nav>a.alert>span:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .2rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:unset;font-weight:400}router-view.notifiche ka-tabs>nav>a.alert:not(.active)::before{color:rgba(64,64,64,.4)}router-view.notifiche ka-tab{position:relative}router-view.notifiche ka-tab>.row{height:100%;margin:0}router-view.notifiche ka-tab>.row h2{margin:0}router-view.notifiche ka-tab>.row .users,router-view.notifiche ka-tab>.row .notifications{padding:0}router-view.notifiche ka-tab>.row .users>ul,router-view.notifiche ka-tab>.row .notifications>ul{list-style:none;margin:0;padding:0}router-view.notifiche ka-tab>.row .users>.app-shared-search-style{margin:0;padding:1rem 1rem 1.5rem;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.notifiche ka-tab>.row .users>.app-shared-search-style>.col-12{margin:0;padding:0}router-view.notifiche ka-tab>.row .users>.app-shared-search-style>.col-12+.col-12{margin-top:1rem}router-view.notifiche ka-tab>.row .users>ul.templates{height:calc(100vh - 6rem - 5rem - 5.1rem - 7rem)}router-view.notifiche ka-tab>.row .users>ul.subusers{height:calc(100vh - 6rem - 5rem - 5.1rem - 12.5rem)}router-view.notifiche ka-tab>.row .users>ul.templates,router-view.notifiche ka-tab>.row .users ul.subusers{overflow-y:auto}router-view.notifiche ka-tab>.row .users>ul.templates>li,router-view.notifiche ka-tab>.row .users ul.subusers>li{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:0 1rem;box-shadow:0 -1px 0 0 rgba(17,37,75,.1);transition:all .3s;cursor:pointer}router-view.notifiche ka-tab>.row .users>ul.templates>li>.label,router-view.notifiche ka-tab>.row .users ul.subusers>li>.label{font-size:1.3rem;letter-spacing:-0.5px;display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}router-view.notifiche ka-tab>.row .users>ul.templates>li>.counter,router-view.notifiche ka-tab>.row .users ul.subusers>li>.counter{position:relative;flex-shrink:0;height:calc(4rem/2);width:calc(4rem/2);margin-left:1rem;font-size:1rem;text-align:center;background:#ed5a23;border-radius:50%;border:0;color:#fff}router-view.notifiche ka-tab>.row .users>ul.templates>li:before,router-view.notifiche ka-tab>.row .users ul.subusers>li:before{display:block;position:absolute;content:\\\"\\\";top:0;left:50%;height:100%;width:100%;background:rgba(17,37,75,.031372549);transform:translateX(-50%) scaleX(30%);opacity:0;transition:all .3s}router-view.notifiche ka-tab>.row .users>ul.templates>li:not(.selected):hover:before,router-view.notifiche ka-tab>.row .users ul.subusers>li:not(.selected):hover:before{opacity:1;transform:translateX(-50%) scaleX(100%)}router-view.notifiche ka-tab>.row .users>ul.templates>li.selected,router-view.notifiche ka-tab>.row .users ul.subusers>li.selected{background-color:rgba(17,37,75,.1);box-shadow:0 -1px 0 0 rgba(17,37,75,.2)}router-view.notifiche ka-tab>.row .users>ul.templates>li{justify-content:flex-start;line-height:1.1}router-view.notifiche ka-tab>.row .users>ul.templates>li>i{position:relative;flex-shrink:0;width:3rem;font-size:1.7rem;color:#ed5a23}router-view.notifiche ka-tab>.row .users>ul.templates>li:not(:first-child)>i:after{position:absolute;top:20%;left:46%;display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:middle;animation:unset;font-weight:300;transform:rotate(90deg)}router-view.notifiche ka-tab>.row>.notifications{height:100vh;box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922)}router-view.notifiche ka-tab>.row>.notifications>md-table-progressbar{margin-top:-0.2rem;background:#e0e0e0}router-view.notifiche ka-tab>.row>.notifications>md-table-toolbar{margin-top:-0.1rem;background:#fff;box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922),inset 0 -1px 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}router-view.notifiche ka-tab>.row>.notifications>md-table-toolbar>md-table-progressbar{display:none}router-view.notifiche ka-tab>.row>.notifications>ul{height:calc(100vh - 6rem - 5rem - 5.1rem - 4rem);overflow-y:auto;padding:.5rem .5rem 0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification{display:flex;margin-bottom:.5rem;justify-content:flex-start;height:calc(4rem*3);z-index:2}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box{margin:0;padding:1.5rem;height:100%;width:100%;background:#f2f2f2;box-shadow:inset 0 0 0 1px rgba(17,37,75,.15),0 0 5px 0 rgba(17,37,75,.1);border-radius:.5rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>div[class*=col-],router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box .col{padding:0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon{flex-grow:0;margin:-1.5rem 0;padding:2rem 1.5rem 0 0;box-shadow:inset -1px 0 0 0 rgba(17,37,75,.15)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button{margin:0;padding:0;background:inherit;box-shadow:none}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button:hover{background:#fff}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i{padding:0;font-size:2.2rem;color:#11254b}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i:before{opacity:.5}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i:after{opacity:1}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i.fa-bell-on{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.title{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.3rem;line-height:1}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.title+.preview{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.2rem;font-size:1.2rem;line-height:1.2}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:auto;font-size:1.1rem;line-height:1.3;color:rgba(64,64,64,.6)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive.archived{text-decoration:underline;text-underline-offset:.3rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive>i{margin-right:.3rem;vertical-align:text-top}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right{display:flex;flex-direction:column;align-items:flex-end;flex-grow:0;font-size:1.1rem;line-height:1.3;color:rgba(64,64,64,.6)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span{display:block;white-space:nowrap;text-align:right}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span>i{position:relative;margin-left:.3rem;font-size:1.1rem;vertical-align:text-top}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span.received>i,router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span.read>i{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.notification-buttons ka-button{margin:auto 0 0 0;padding:0 1rem;height:3rem;line-height:3rem;text-align:center}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded .checked>i,router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.readed .checked>i{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded>.row{background:#fff}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded>.row .reading-icon ka-button:hover{background:#f2f2f2}@media screen and (max-width: 768px){router-view.notifiche ka-tab>.row>.notifications>ul>li.notification{height:fit-content}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box{padding:0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon{display:flex;align-items:center;justify-content:center;margin:0;padding:0;min-width:10vw}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>i{font-size:1.5rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content{display:flex;flex-direction:column;justify-content:center;padding:1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive{margin-top:1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:1rem !important;box-shadow:0 -1px 0 0 rgba(17,37,75,.15)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span{text-align:left}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.notification-buttons{height:unset !important}}.notification-tooltip{max-width:50vw;overflow:hidden}.notification-tooltip .title{display:block;padding:0 0 .5rem;margin:0 0 .5rem;font-size:1.2rem;line-height:1.2;border-bottom:1px solid rgba(255,255,255,.5)}.notification-tooltip .content{display:block;margin:0;padding:0;font-size:1.2rem;line-height:1.2;color:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/notifiche-ui/notifiche.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n$list-height: 4rem\\nrouter-view.notifiche\\n  max-height: 100vh\\n  overflow: hidden\\n  ka-tabs > nav > a\\n    &.alert\\n      > span\\n        margin-left: 0.5rem\\n        color: $secondary-color\\n        &:after\\n          @include fontawesome(\\\"\\\\f0f3\\\", \\\"regular\\\", 1.2rem, 0 0 0 .2rem, $primary-color, top)\\n      &:not(.active)::before\\n        color: rgba($text-color, 0.4)\\n  ka-tab\\n    position: relative\\n    > .row\\n      height: 100%\\n      margin: 0\\n      h2\\n        margin: 0\\n\\n      // Menu & Notices (common rules)\\n      .users, .notifications\\n        padding: 0\\n        > ul\\n          list-style: none\\n          margin: 0\\n          padding: 0\\n\\n      // Users\\n      .users\\n        // Form\\n        > .app-shared-search-style\\n          margin: 0\\n          padding: 1rem 1rem 1.5rem\\n          box-shadow: inset 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n          > .col-12\\n            margin: 0\\n            padding: 0\\n          > .col-12 + .col-12\\n            margin-top: 1rem\\n\\n        // Subusers\\n        > ul.templates\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 7rem)\\n        > ul.subusers\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 12.5rem)\\n        > ul.templates, ul.subusers\\n          overflow-y: auto\\n          > li\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: space-between\\n            min-height: $list-height\\n            padding: 0 1rem\\n            box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n            transition: all 0.3s\\n            cursor: pointer\\n            > .label\\n              font-size: 1.3rem\\n              letter-spacing: -.5px\\n              @include max-lines(1)\\n            > .counter\\n              position: relative\\n              flex-shrink: 0\\n              height: calc(#{$list-height} / 2)\\n              width: calc(#{$list-height} / 2)\\n              margin-left: 1rem\\n              font-size: 1rem\\n              text-align: center\\n              background: $primary-color\\n              border-radius: 50%\\n              border: 0\\n              color: #fff\\n          & > li\\n            &:before\\n              display: block\\n              position: absolute\\n              content: \\\"\\\"\\n              top: 0\\n              left: 50%\\n              height: 100%\\n              width: 100%\\n              background: #11254b08\\n              transform: translateX(-50%) scaleX(30%)\\n              opacity: 0\\n              transition: all 0.3s\\n            &:not(.selected):hover:before\\n              opacity: 1\\n              transform: translateX(-50%) scaleX(100%)\\n            &.selected\\n              background-color: rgba(17, 37, 75, 0.1)\\n              box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.2)\\n\\n        // Templates\\n        > ul.templates\\n          > li\\n            justify-content: flex-start\\n            line-height: 1.1\\n            > i\\n              position: relative\\n              flex-shrink: 0\\n              width: 3rem\\n              font-size: 1.7rem\\n              color: $primary-color\\n            &:not(:first-child)\\n              > i:after\\n                position: absolute\\n                top: 20%\\n                left: 46%\\n                @include fontawesome(\\\"\\\\f148\\\", \\\"light\\\", 1.2rem, 0, inherit, middle)\\n                transform: rotate(90deg)\\n\\n      // Notifications\\n      > .notifications\\n        height: 100vh\\n        box-shadow: inset 10px 0 10px -10px #00000040\\n        > md-table-progressbar\\n          margin-top: -0.2rem\\n          background: #e0e0e0\\n        > md-table-toolbar\\n          margin-top: -0.1rem\\n          background: #fff\\n          box-shadow: inset 10px 0 10px -10px #00000040, inset 0 -1px 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0\\n          > md-table-progressbar\\n            display: none\\n        > ul\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 4rem)\\n          overflow-y: auto\\n          padding: 0.5rem 0.5rem 0\\n          > li.notification\\n            display: flex\\n            margin-bottom: 0.5rem\\n            justify-content: flex-start\\n            height: calc(#{$list-height} * 3)\\n            z-index: 2\\n            > .box\\n              margin: 0\\n              padding: 1.5rem\\n              height: 100% \\n              width: 100%\\n              background: #f2f2f2\\n              box-shadow: inset 0 0 0 1px rgba(17, 37, 75, 0.15), 0 0 5px 0 rgba(17, 37, 75, 0.1)\\n              border-radius: 0.5rem\\n              > div[class*=\\\"col-\\\"], .col\\n                padding: 0            \\n              > .reading-icon\\n                flex-grow: 0\\n                margin: -1.5rem 0\\n                padding: 2rem 1.5rem 0 0\\n                box-shadow: inset -1px 0 0 0 rgba(17, 37, 75, 0.15)\\n                > ka-button\\n                  margin: 0\\n                  padding: 0\\n                  background: inherit\\n                  box-shadow: none\\n                  &:hover\\n                    background: #fff    \\n                  > i\\n                    padding: 0\\n                    font-size: 2.2rem\\n                    color: $secondary-color\\n                    &:before\\n                        opacity: 0.5\\n                    &:after\\n                      opacity: 1\\n                    &.fa-bell-on\\n                      color: $primary-color\\n              > .notification-content\\n                @include max-lines(2)\\n                padding: 0 1rem\\n                > .title\\n                  @include max-lines(2)\\n                  font-size: 1.3rem\\n                  line-height: 1\\n                > .title + .preview\\n                  @include max-lines(2)\\n                  margin-top: 0.2rem\\n                  font-size: 1.2rem\\n                  line-height: 1.2\\n                > .archive\\n                  @include max-lines(1)\\n                  margin-top: auto\\n                  font-size: 1.1rem\\n                  line-height: 1.3\\n                  color: rgba($text-color, .6)\\n                  &.archived\\n                    text-decoration: underline\\n                    text-underline-offset: .3rem\\n                  > i\\n                    margin-right: .3rem\\n                    vertical-align: text-top\\n              > .notification-right\\n                display: flex\\n                flex-direction: column\\n                align-items: flex-end\\n                flex-grow: 0\\n                font-size: 1.1rem\\n                line-height: 1.3\\n                color: rgba($text-color, .6)\\n                > .date > span\\n                  display: block\\n                  white-space: nowrap\\n                  text-align: right\\n                  > i\\n                    position: relative\\n                    margin-left: 0.3rem\\n                    font-size: 1.1rem\\n                    vertical-align: text-top\\n                  &.received > i, &.read > i\\n                    color: $primary-color\\n                > .notification-buttons ka-button\\n                  margin: auto 0 0 0\\n                  padding: 0 1rem\\n                  height: 3rem\\n                  line-height: 3rem\\n                  text-align: center\\n            &.unreaded, &.readed\\n              .checked > i\\n                color: $primary-color\\n            &.unreaded > .row\\n              background: #fff\\n              .reading-icon ka-button:hover\\n                background: #f2f2f2\\n\\n      @media screen and (max-width: 768px)\\n        > .notifications\\n          > ul > li.notification\\n            height: fit-content\\n            > .box\\n              padding: 0\\n              > .reading-icon\\n                display: flex\\n                align-items: center\\n                justify-content: center\\n                margin: 0\\n                padding: 0\\n                min-width: 10vw\\n                > i\\n                  font-size: 1.5rem\\n              > .notification-content\\n                display: flex\\n                flex-direction: column\\n                justify-content: center\\n                padding: 1rem\\n                > .archive\\n                  margin-top: 1rem\\n              > .notification-right\\n                flex-direction: row\\n                flex-wrap: wrap\\n                align-items: center\\n                justify-content: space-between\\n                padding: 1rem !important\\n                box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.15)\\n                > .date > span\\n                  text-align: left\\n                > .notification-buttons\\n                  height: unset !important\\n/* Tooltip */\\n.notification-tooltip\\n  max-width: 50vw\\n  overflow: hidden\\n  .title\\n    display: block\\n    padding: 0 0 0.5rem\\n    margin: 0 0 0.5rem\\n    font-size: 1.2rem\\n    line-height: 1.2\\n    border-bottom: 1px solid rgba(#fff, 0.5)\\n  .content\\n    display: block\\n    margin: 0\\n    padding: 0\\n    font-size: 1.2rem\\n    line-height: 1.2\\n    color: #fff\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.alert.small{line-height:1.3 !important}.alert.small:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}.alert.regular:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}.info{cursor:pointer}.info.regular:after{transition:color .3s;display:inline-block;content:\\\"\\\";margin:0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.info:hover:after{color:#404040 !important}#copertine .user-subusers,.copertine .user-subusers{display:flex;flex-wrap:wrap;margin:0}#copertine .associations,.copertine .associations{display:block;margin-top:.8rem;text-decoration:underline;cursor:pointer;color:#404040}#copertine .associations:before,.copertine .associations:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:900}#copertine .associations:hover,.copertine .associations:hover{color:#ed5a23}#copertine .default,.copertine .default{color:#e44c13;text-transform:uppercase;font-size:1.1rem}#copertine .default:before,.copertine .default:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/copertine.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,aD9bF,0BACE,CAAA,oBACA,oBC+CF,CAAA,WD9CyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCkD7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,oBD8CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sBD5DF,oBC6CA,CAAA,WD5CuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCgD3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,oBD8CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,MDzDJ,cACE,CAAA,oBACA,oBACE,CAAA,oBCuCF,CAAA,WDtCuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBC0C3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBDpDF,wBACE,CAAA,oDAGF,YACE,CAAA,cACA,CAAA,QACA,CAAA,kDACF,aACE,CAAA,gBACA,CAAA,yBACA,CAAA,cACA,CAAA,aE3BS,CAAA,gEF6BT,oBCuBF,CAAA,WDtByB,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBC0B3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,8DDtCA,aE9BY,CAAA,wCFgCd,aACE,CAAA,wBACA,CAAA,gBACA,CAAA,sDACA,oBCeF,CAAA,WDdyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCkB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n.alert\\n  &.small\\n    line-height: 1.3 !important\\n    &:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n  &.regular:before\\n    @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0, $error-color)\\n\\n.info\\n  cursor: pointer\\n  &.regular:after\\n    transition: color .3s\\n    @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0, $primary-color)\\n  &:hover:after\\n    color: $text-color !important\\n\\n#copertine, .copertine\\n  .user-subusers\\n    display: flex\\n    flex-wrap: wrap\\n    margin: 0\\n  .associations\\n    display: block\\n    margin-top: .8rem\\n    text-decoration: underline\\n    cursor: pointer\\n    color: $text-color\\n    &:before\\n      @include fontawesome(\\\"\\\\f63d\\\", \\\"solid\\\", 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  .default\\n    color: darken($primary-color, 5%)\\n    text-transform: uppercase\\n    font-size: 1.1rem\\n    &:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.2rem, 0, $primary-color)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.add-cover .body{padding:2rem}ux-dialog.add-cover .body .important:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.add-cover .body .clickable{white-space:nowrap;color:#ed5a23;cursor:pointer;text-decoration:underline;transition:all .3s}ux-dialog.add-cover .body .clickable:hover{color:#404040}ux-dialog.add-cover .body *[static-tooltip]:after{vertical-align:middle}ux-dialog.add-cover .body .layout-title{display:flex;align-items:center;justify-content:center;text-align:center}ux-dialog.add-cover .body .layout-title>*[static-tooltip]>span{text-decoration:underline;text-underline-offset:.3rem}ux-dialog.add-cover .body .document{display:flex;justify-content:center;margin:2rem 0 4rem 0;padding:0;list-style:none}ux-dialog.add-cover .body .document>li{display:inline-block;position:relative;padding:0}ux-dialog.add-cover .body .document>li:after{position:absolute;bottom:-2rem;left:50%;font-size:1rem;font-weight:800;text-transform:uppercase;white-space:nowrap}ux-dialog.add-cover .body .document>li:nth-of-type(1){position:relative;margin-right:2rem}ux-dialog.add-cover .body .document>li:nth-of-type(1):after{content:\\\"Copertina\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(1)>svg{width:8rem}ux-dialog.add-cover .body .document>li:nth-of-type(2){margin:0 1rem}ux-dialog.add-cover .body .document>li:nth-of-type(2):after{content:\\\"2ª e 3ª di copertina (interno)\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(2)>svg{width:15.8rem}ux-dialog.add-cover .body .document>li:nth-of-type(3){margin-left:2rem}ux-dialog.add-cover .body .document>li:nth-of-type(3):after{content:\\\"Retro\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(3)>svg{width:8rem}ux-dialog.add-cover .body .paginated{display:flex;justify-content:center;align-items:center;margin:1rem 0 3rem}ux-dialog.add-cover .body .paginated>svg{width:17.8rem;margin:0 1rem 0 0}ux-dialog.add-cover .body .paginated>svg:last-child{margin:0 0 0 1rem}ux-dialog.add-cover .body .knowledge{margin:0;text-align:center;text-decoration:underline}ux-dialog.add-cover .body .knowledge:hover{color:#ed5a23}ux-dialog.add-cover .body .knowledge>span:first-child{margin-right:-0.3rem}ux-dialog.add-cover .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/dialogs/add-cover.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,0BD5bF,YACE,CAAA,4CACA,oBC6CF,CAAA,WD5CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCgD7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,oBD8CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,qCD1DA,kBCkCF,CAAA,aC1Cc,CAAA,cD4Cd,CAAA,yBACA,CAAA,kBACA,CAAA,2CACA,aChDW,CAAA,kDFWT,qBACE,CAAA,wCACF,YACE,CAAA,kBACA,CAAA,sBACA,CAAA,iBACA,CAAA,+DAEE,yBACE,CAAA,2BACA,CAAA,oCACN,YACE,CAAA,sBACA,CAAA,oBACA,CAAA,SACA,CAAA,eACA,CAAA,uCACA,oBACE,CAAA,iBACA,CAAA,SACA,CAAA,6CACA,iBACE,CAAA,YACA,CAAA,QACA,CAAA,cACA,CAAA,eACA,CAAA,wBACA,CAAA,kBACA,CAAA,sDACF,iBACE,CAAA,iBACA,CAAA,4DACA,mBACE,CAAA,0BACA,CAAA,0DACF,UACE,CAAA,sDACJ,aACE,CAAA,4DACA,wCACE,CAAA,0BACA,CAAA,0DACF,aACE,CAAA,sDACJ,gBACE,CAAA,4DACA,eACE,CAAA,0BACA,CAAA,0DACF,UACE,CAAA,qCAER,YACE,CAAA,sBACA,CAAA,kBACA,CAAA,kBACA,CAAA,yCACA,aACE,CAAA,iBACA,CAAA,oDACA,iBACE,CAAA,qCAEN,QACE,CAAA,iBACA,CAAA,yBACA,CAAA,2CACA,aE7EU,CAAA,sDF+EV,oBACE,CAAA,4BACN,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n\\nux-dialog.add-cover\\n  .body\\n    padding: 2rem\\n    .important:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $error-color)\\n    .clickable\\n      @include clickable($primary-color, $text-color)\\n    *[static-tooltip]:after\\n      vertical-align: middle\\n    .layout-title\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      text-align: center\\n      > *[static-tooltip]\\n        > span\\n          text-decoration: underline\\n          text-underline-offset: .3rem       \\n    .document\\n      display: flex\\n      justify-content: center\\n      margin: 2rem 0 4rem 0\\n      padding: 0\\n      list-style: none\\n      > li\\n        display: inline-block\\n        position: relative\\n        padding: 0\\n        &:after\\n          position: absolute\\n          bottom: - 2rem\\n          left: 50%\\n          font-size: 1rem\\n          font-weight: 800\\n          text-transform: uppercase\\n          white-space: nowrap\\n        &:nth-of-type(1)\\n          position: relative\\n          margin-right: 2rem\\n          &:after\\n            content: 'Copertina'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 8rem\\n        &:nth-of-type(2)\\n          margin: 0 1rem\\n          &:after\\n            content: '2ª e 3ª di copertina (interno)'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 15.8rem\\n        &:nth-of-type(3)\\n          margin-left: 2rem\\n          &:after\\n            content: 'Retro'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 8rem\\n    \\n    .paginated\\n      display: flex\\n      justify-content: center\\n      align-items: center\\n      margin: 1rem 0 3rem\\n      > svg\\n        width: 17.8rem\\n        margin: 0 1rem 0 0\\n        &:last-child\\n          margin: 0 0 0 1rem\\n    \\n    .knowledge\\n      margin: 0\\n      text-align: center\\n      text-decoration: underline\\n      &:hover\\n        color: $primary-color\\n      > span:first-child\\n        margin-right: -.3rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.manage-cover .body{padding:1rem 2rem}ux-dialog.manage-cover .body h2{margin:1rem -2rem;font-size:1.8rem}ux-dialog.manage-cover .body h2:before{box-shadow:none}ux-dialog.manage-cover .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/print-backoffice/dialogs/manage-cover.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,6BACE,iBAAA,CACA,gCACE,iBAAA,CACA,gBAAA,CACA,uCACE,eAAA,CAEN,+BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.manage-cover\\n  .body\\n    padding: 1rem 2rem\\n    h2\\n      margin: 1rem -2rem\\n      font-size: 1.8rem\\n      &:before\\n        box-shadow: none\\n      \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.user-associations-with-the-cover{width:min(50vw,80rem)}ux-dialog.user-associations-with-the-cover .denominazione .user:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .denominazione .subuser:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .body{overflow:hidden}ux-dialog.user-associations-with-the-cover .recipients-counter{color:#404040}ux-dialog.user-associations-with-the-cover .selection-btn{min-width:126.02px}ux-dialog.user-associations-with-the-cover .alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/dialogs/user-associations-with-the-cover.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,2CD9bJ,qBACE,CAAA,uEAEE,oBC8CF,CAAA,WD7CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCiD7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,0ED3DA,oBC4CF,CAAA,WD3CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC+C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDnDmE,CAAA,oBC0CA,CAAA,eAAmB,CAAA,eAgBpF,CAAA,iDDzDF,eACE,CAAA,+DACF,aEZW,CAAA,0DFcX,kBACE,CAAA,yDACF,oBCoCA,CAAA,WDnCuB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCuC3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,mDDjDF,aACE,CAAA,WACA,CAAA,gBACA,CAAA,4BACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.user-associations-with-the-cover\\n  width: min(50vw, 80rem)\\n  .denominazione\\n    .user:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.4rem, 0 0.5rem 0 0, $primary-color)\\n    .subuser:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.4rem, 0 0.5rem 0 0, inherit)\\n  .body\\n    overflow: hidden\\n  .recipients-counter\\n    color: $text-color\\n  .selection-btn\\n    min-width: 126.02px\\n  .alert:before\\n    @include fontawesome('\\\\f06a', 'regular', 1.4rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n    \\n  \\n\\n\\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.riscossioni-autorizzazioni ka-tabs>nav{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/autorizzazioni.sass\"],\"names\":[],\"mappings\":\"AAGE,mDACE,YAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.riscossioni-autorizzazioni\\n  ka-tabs > nav \\n    display: none\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.documenti-approval .body{padding:2rem}ux-dialog.documenti-approval .body .alert-message>i{font-size:1.2rem;color:#ed5a23;vertical-align:middle}ux-dialog.documenti-approval .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.documenti-approval .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,YAAA,CAEE,oDACE,gBAAA,CACA,aCPQ,CDQR,qBAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.documenti-approval\\n  .body \\n    padding: 2rem\\n    .alert-message\\n      > i\\n        font-size: 1.2rem\\n        color: $primary-color\\n        vertical-align: middle\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.mav-create-request .body{padding:2rem 1rem}ux-dialog.mav-create-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.mav-create-request .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.sass\"],\"names\":[],\"mappings\":\"AAGE,mCACE,iBAAA,CACF,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.mav-create-request\\n  .body \\n    padding: 2rem 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}#mav .title-warning{color:#404040}#mav .title-warning:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}#mav .status-reason.refused{cursor:pointer;transition:color .3s}#mav .status-reason.refused:hover{color:#404040}#mav .status-reason.refused:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(64,64,64,.7);vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/tabs/mav.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,oBD7bF,aEJW,CAAA,2BFMT,oBC8CF,CAAA,WD7CyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCiD7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,oBD8CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4BD1DA,cACE,CAAA,oBACA,CAAA,kCACA,aEZO,CAAA,mCFcP,oBCsCJ,CAAA,WDrC2B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCyC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,uBD7C0D,CAAA,oBCoCS,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\n#mav\\n  .title-warning\\n    color: $text-color\\n    &:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n  .status-reason\\n    &.refused\\n      cursor: pointer\\n      transition: color .3s\\n      &:hover\\n        color: $text-color\\n      &:before\\n        @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.2rem, 0, rgba($text-color, .7))\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.servizi-abbonamenti h2{display:flex;align-items:center;justify-content:space-between}router-view.servizi-abbonamenti h2>span[static-tooltip]{line-height:1.2;transition:color .3s}router-view.servizi-abbonamenti h2>span[static-tooltip]:hover{color:#000}router-view.servizi-abbonamenti .service-modify-btn{display:block;width:16.5rem;margin:0}router-view.servizi-abbonamenti .service-modify-btn+.service-modify-btn{margin-top:.5rem}router-view.servizi-abbonamenti td small a{color:#ed5a23}@media screen and (max-width: 575px){router-view.servizi-abbonamenti td{max-width:unset !important;min-width:unset !important}}router-view.servizi-abbonamenti .payment-methods+.payment-methods:before{content:\\\", \\\"}router-view.servizi-abbonamenti .promo-code{display:flex;justify-content:center;margin-bottom:.2rem;border-radius:3px;font-size:1.1rem;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2)}@media screen and (max-width: 575px){router-view.servizi-abbonamenti .promo-code{display:inline-block;padding:.5rem 1rem}router-view.servizi-abbonamenti .promo-code+.promo-code{margin-left:.5rem}}router-view.servizi-abbonamenti .info-text{cursor:pointer;display:block}router-view.servizi-abbonamenti .info-text:after{content:\\\"\\\";display:inline-block;margin-left:.5rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.2rem;font-style:normal;text-rendering:auto;font-variant:normal;font-weight:400;-webkit-font-smoothing:antialiased;color:#ed5a23}router-view.servizi-abbonamenti .offered-by{text-decoration:line-through;color:rgba(64,64,64,.6);white-space:nowrap}router-view.servizi-abbonamenti .logs{margin-right:.3rem;color:#ed5a23;cursor:pointer}router-view.servizi-abbonamenti .logs:hover{color:#404040}router-view.servizi-abbonamenti .link{color:#ed5a23;cursor:pointer}router-view.servizi-abbonamenti .cashback{white-space:nowrap}router-view.servizi-abbonamenti .cashback .tag{cursor:pointer}router-view.servizi-abbonamenti .cashback .tag:hover{color:#404040}router-view.servizi-abbonamenti .bank-transfer-data{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s}router-view.servizi-abbonamenti .bank-transfer-data:hover{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/abbonamenti.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,mCD7bF,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,wDACA,eACE,CAAA,oBACA,CAAA,8DACA,UACE,CAAA,oDACN,aACE,CAAA,aACA,CAAA,QACA,CAAA,wEACF,gBACE,CAAA,2CAEA,aACE,CAAA,qCACF,mCAHF,0BAII,CAAA,0BACA,CAAA,CAAA,yEAGJ,YACE,CAAA,4CACF,YACE,CAAA,sBACA,CAAA,mBACA,CAAA,iBACA,CAAA,gBACA,CAAA,kBACA,CAAA,6CACA,CAAA,mCACA,CAAA,qCACA,4CATF,oBAUI,CAAA,kBACA,CAAA,wDACA,iBACE,CAAA,CAAA,2CAEN,cACE,CAAA,aACA,CAAA,iDACA,WACE,CAAA,oBACA,CAAA,iBACA,CAAA,gCACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,mBACA,CAAA,eACA,CAAA,kCACA,CAAA,aExDU,CAAA,4CF2Dd,4BACE,CAAA,uBACA,CAAA,kBACA,CAAA,sCAEF,kBACE,CAAA,aEjEY,CAAA,cFmEZ,CAAA,4CACA,aErES,CAAA,sCFwEX,aEvEc,CAAA,cFyEZ,CAAA,0CAEF,kBACE,CAAA,+CACA,cACE,CAAA,qDACA,aEhFO,CAAA,oDFmFX,aACI,CAAA,aEnFU,CAAA,yBFqFV,CAAA,cACA,CAAA,oBACA,CAAA,0DACA,aEzFO\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.servizi-abbonamenti\\n  h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    > span[static-tooltip]\\n      line-height: 1.2\\n      transition: color .3s\\n      &:hover\\n        color: #000\\n  .service-modify-btn\\n    display: block\\n    width: 16.5rem\\n    margin: 0\\n  .service-modify-btn + .service-modify-btn\\n    margin-top: 0.5rem\\n  td\\n    small a\\n      color: #ed5a23\\n    @media screen and (max-width: 575px)\\n      max-width: unset !important\\n      min-width: unset !important\\n\\n  // Servizi\\n  .payment-methods + .payment-methods:before\\n    content: ', '\\n  .promo-code\\n    display: flex\\n    justify-content: center\\n    margin-bottom: .2rem\\n    border-radius: 3px\\n    font-size: 1.1rem\\n    white-space: nowrap\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n    background-color: rgba($primary-color, 0.2)\\n    @media screen and (max-width: 575px)\\n      display: inline-block\\n      padding: .5rem 1rem\\n      & + .promo-code\\n        margin-left: .5rem\\n\\n  .info-text\\n    cursor: pointer\\n    display: block\\n    &:after // per tooltip in attesa bonifico\\n      content: \\\"\\\\f05a\\\"\\n      display: inline-block\\n      margin-left: .5rem\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-size: 1.2rem\\n      font-style: normal\\n      text-rendering: auto\\n      font-variant: normal\\n      font-weight: 400\\n      -webkit-font-smoothing: antialiased\\n      color: $primary-color\\n\\n  .offered-by\\n    text-decoration: line-through\\n    color: rgba($text-color, 0.6)\\n    white-space: nowrap\\n\\n  .logs\\n    margin-right: .3rem\\n    color: $primary-color\\n    cursor: pointer\\n    &:hover\\n      color: $text-color\\n\\n  .link\\n    color: $primary-color\\n    cursor: pointer\\n\\n  .cashback\\n    white-space: nowrap\\n    .tag\\n      cursor: pointer\\n      &:hover\\n        color: $text-color\\n\\n  .bank-transfer-data\\n      display: block\\n      color: $primary-color\\n      text-decoration: underline\\n      cursor: pointer\\n      transition: color .3s\\n      &:hover\\n        color: $text-color\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-attivazione-sottoutenti{width:calc(100vw - 20rem);max-width:100rem !important}ux-dialog.abbonamenti-attivazione-sottoutenti .detail{white-space:nowrap;color:#404040;cursor:pointer;text-decoration:underline;transition:all .3s}ux-dialog.abbonamenti-attivazione-sottoutenti .detail:hover{color:#f30}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body md-table-toolbar md-table-progressbar{display:none}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body md-table-toolbar .progressbar{display:block}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body td.subuser>small.tag{color:#404040}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .activations ul{list-style:none}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .tag.error{cursor:pointer}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .tag.error:hover>small{color:#f30}ux-dialog.abbonamenti-attivazione-sottoutenti .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-attivazione-sottoutenti .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,8CACE,yBAAA,CACA,2BAAA,CACA,sDDqCA,kBAAA,CACA,aE5CW,CF6CX,cAAA,CACA,yBAAA,CACA,kBAAA,CACA,4DACE,UE5CU,CDMR,mGACE,YAAA,CACF,2FACE,aAAA,CACJ,kFACE,aChBO,CDkBP,6EACE,eAAA,CACJ,wEACE,cAAA,CACA,oFACE,UClBM,CDmBZ,sDACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0EACE,aAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-attivazione-sottoutenti\\n  width: calc(100vw - 20rem)\\n  max-width: 100rem !important\\n  .detail\\n    @include clickable($text-color,$error-color )\\n    \\n  ux-dialog-body\\n    md-table-toolbar \\n      md-table-progressbar\\n        display: none\\n      .progressbar\\n        display: block\\n    td.subuser > small.tag\\n      color: $text-color\\n    .activations\\n      ul\\n        list-style: none\\n    .tag.error\\n      cursor: pointer\\n      &:hover > small\\n        color: $error-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-attivazione{max-width:50rem}.body{padding:2rem}.body ka-control+ka-control{margin-top:1rem}.body .service-duration{display:block;margin-bottom:1rem}.body .service-duration>span{color:#909090}.body .service-description{display:-webkit-box;max-width:400px;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem}.footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}.footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,kCACE,eAAA,CACF,MACE,YAAA,CACA,4BACE,eAAA,CACF,wBACE,aAAA,CACA,kBAAA,CACA,6BACE,aAAA,CACJ,2BD0DA,mBAAA,CACA,eC1DwB,CD2DxB,eAAA,CACA,sBAAA,CACA,YC7DqB,CD8DrB,oBC9DqB,CD+DrB,2BAAA,CC9DE,kBAAA,CACJ,QACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,4BACE,aAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-attivazione\\n  max-width: 50rem\\n.body\\n  padding: 2rem\\n  ka-control + ka-control\\n    margin-top: 1rem\\n  .service-duration\\n    display: block\\n    margin-bottom: 1rem\\n    > span\\n      color: #909090\\n  .service-description\\n    @include max-lines(2, 400px)\\n    margin-bottom: 1rem\\n.footer\\n  display: block\\n  padding: 6px\\n  border-top: 1px solid #e5e5e5\\n  text-align: right\\n  ka-button + ka-button\\n    margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-autorinnovo .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-autorinnovo .text-error:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:baseline;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,0CD7bF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,qDAEA,oBC0CF,CAAA,WDzCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC6C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDjDmE,CAAA,uBAAS,CAAA,eCwCU,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-autorinnovo\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  .text-error\\n    &:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.4rem, 0 0.3rem 0 0, inherit, baseline)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-detail .body{padding:0;overflow-x:hidden}ux-dialog.abbonamenti-detail .body>.row{padding:1rem 1rem 0}ux-dialog.abbonamenti-detail .body ka-control{margin-bottom:1rem}ux-dialog.abbonamenti-detail .body div[class*=columns-]{margin:0}ux-dialog.abbonamenti-detail .body .pd-0{padding:0}ux-dialog.abbonamenti-detail .body .right{padding-left:.5rem}ux-dialog.abbonamenti-detail .body .left{padding-right:.5rem}ux-dialog.abbonamenti-detail .body .center{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-detail .body .columns-left{padding-right:1rem;box-shadow:inset -1px 0 0 0 rgba(64,64,64,.1019607843)}ux-dialog.abbonamenti-detail .body .columns-right{padding-left:1rem}ux-dialog.abbonamenti-detail .body .edit-service-title{margin:0 -1rem 1rem}ux-dialog.abbonamenti-detail .body .edit-service-title:before{box-shadow:0 -1px 0 0 rgba(64,64,64,.1019607843);border-radius:unset}ux-dialog.abbonamenti-detail .body .message{margin:1rem 0 0;color:#ed5a23}ux-dialog.abbonamenti-detail .body .associated-promo{border-top:1px solid rgba(64,64,64,.1019607843);padding-top:1rem}ux-dialog.abbonamenti-detail .body .description-html{margin-bottom:1rem}ux-dialog.abbonamenti-detail .body .description-html>.label{display:block;content:\\\"Descrizione\\\";width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap}ux-dialog.abbonamenti-detail .body .description-html>.content{display:block;padding:.7rem 0;min-height:3rem;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ux-dialog.abbonamenti-detail .body .description-html>.content>*{margin:0;padding:0}@media screen and (max-width: 991px){ux-dialog.abbonamenti-detail .body .right,ux-dialog.abbonamenti-detail .body .left,ux-dialog.abbonamenti-detail .body .columns-right,ux-dialog.abbonamenti-detail .body .columns-left{padding-left:.75rem !important;padding-right:.75rem !important;box-shadow:none}ux-dialog.abbonamenti-detail .body .col-sm-6.left,ux-dialog.abbonamenti-detail .body .col-6.left{padding-right:.5rem !important}ux-dialog.abbonamenti-detail .body .col-sm-6.right,ux-dialog.abbonamenti-detail .body .col-6.right{padding-left:.5rem !important}}@media screen and (max-width: 575px){ux-dialog.abbonamenti-detail .body .col-sm-6.right,ux-dialog.abbonamenti-detail .body .col-sm-6.left{padding-left:.75rem !important;padding-right:.75rem !important}}ux-dialog.abbonamenti-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-detail .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,SAAA,CACA,iBAAA,CACA,wCACE,mBAAA,CACF,8CACE,kBAAA,CACF,wDACE,QAAA,CACF,yCACE,SAAA,CACF,0CACE,kBAAA,CACF,yCACE,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,iDACE,kBAAA,CACA,sDAAA,CACF,kDACE,iBAAA,CACF,uDACE,mBAAA,CACA,8DACE,gDAAA,CACA,mBAAA,CACJ,4CACE,eAAA,CACA,aChCU,CDiCZ,qDACE,+CAAA,CACA,gBAAA,CACF,qDACE,kBAAA,CACA,4DACE,aAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACF,8DACE,aAAA,CACA,eAAA,CACA,eAAA,CACA,6CAAA,CACA,gEACE,QAAA,CACA,SAAA,CACN,qCACE,sLACE,8BAAA,CACA,+BAAA,CACA,eAAA,CACF,iGACE,8BAAA,CACF,mGACE,6BAAA,CAAA,CACJ,qCACE,qGACE,8BAAA,CACA,+BAAA,CAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.abbonamenti-detail\\n  .body\\n    padding: 0\\n    overflow-x: hidden\\n    > .row \\n      padding: 1rem 1rem 0\\n    ka-control \\n      margin-bottom: 1rem\\n    div[class*=\\\"columns-\\\"] \\n      margin: 0\\n    .pd-0 \\n      padding: 0\\n    .right \\n      padding-left: .5rem\\n    .left \\n      padding-right: .5rem\\n    .center\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .columns-left \\n      padding-right: 1rem\\n      box-shadow: inset -1px 0 0 0 #4040401a\\n    .columns-right \\n      padding-left: 1rem\\n    .edit-service-title\\n      margin: 0 -1rem 1rem\\n      &:before \\n        box-shadow: 0 -1px 0 0 #4040401a\\n        border-radius: unset\\n    .message \\n      margin: 1rem 0 0\\n      color: $primary-color\\n    .associated-promo \\n      border-top: 1px solid #4040401a \\n      padding-top: 1rem\\n    .description-html\\n      margin-bottom: 1rem\\n      > .label\\n        display: block\\n        content: 'Descrizione'\\n        width: 100%\\n        height: 1.5rem\\n        overflow: hidden\\n        font-size: 1.2rem\\n        line-height: 1.5rem\\n        color: rgba($primary-color, 0.7)\\n        white-space: nowrap\\n      > .content\\n        display: block\\n        padding: .7rem 0\\n        min-height: 3rem\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, .1)\\n        > *\\n          margin: 0\\n          padding: 0\\n    @media screen and (max-width: 991px)\\n      .right, .left, .columns-right, .columns-left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n        box-shadow: none\\n      .col-sm-6.left, .col-6.left\\n        padding-right: .5rem !important\\n      .col-sm-6.right, .col-6.right\\n        padding-left: .5rem !important\\n    @media screen and (max-width: 575px)\\n      .col-sm-6.right, .col-sm-6.left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-editor .body{padding:0;overflow-x:hidden}ux-dialog.abbonamenti-editor .body>.row{padding:1rem 1rem 0}ux-dialog.abbonamenti-editor .body ka-control{margin-bottom:1rem}ux-dialog.abbonamenti-editor .body div[class*=columns-]{margin:0}ux-dialog.abbonamenti-editor .body .pd-0{padding:0}ux-dialog.abbonamenti-editor .body .right{padding-left:.5rem}ux-dialog.abbonamenti-editor .body .left{padding-right:.5rem}ux-dialog.abbonamenti-editor .body .middle{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-editor .body .center{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-editor .body .columns-left{padding-right:1rem;box-shadow:inset -1px 0 0 0 rgba(64,64,64,.1019607843)}ux-dialog.abbonamenti-editor .body .columns-right{padding-left:1rem}ux-dialog.abbonamenti-editor .body .edit-service-title{margin:0 -1rem 1rem}ux-dialog.abbonamenti-editor .body .edit-service-title:before{box-shadow:0 -1px 0 0 rgba(64,64,64,.1019607843);border-radius:unset}ux-dialog.abbonamenti-editor .body .message{margin:1rem 0 0;color:#ed5a23}ux-dialog.abbonamenti-editor .body .associated-promo{border-top:1px solid rgba(64,64,64,.1019607843);padding-top:1rem}ux-dialog.abbonamenti-editor .body .description-html{margin-bottom:1rem}ux-dialog.abbonamenti-editor .body .description-html>.label{display:block;content:\\\"Descrizione\\\";width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap}ux-dialog.abbonamenti-editor .body .description-html>.content{display:block;padding:.7rem 0;min-height:3rem;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ux-dialog.abbonamenti-editor .body .description-html>.content>*{margin:0;padding:0}@media screen and (max-width: 991px){ux-dialog.abbonamenti-editor .body .right,ux-dialog.abbonamenti-editor .body .left,ux-dialog.abbonamenti-editor .body .columns-right,ux-dialog.abbonamenti-editor .body .columns-left{padding-left:.75rem !important;padding-right:.75rem !important;box-shadow:none}ux-dialog.abbonamenti-editor .body .col-sm-6.left,ux-dialog.abbonamenti-editor .body .col-4.left,ux-dialog.abbonamenti-editor .body .col-6.left{padding-right:.5rem !important}ux-dialog.abbonamenti-editor .body .col-sm-6.right,ux-dialog.abbonamenti-editor .body .col-4.right,ux-dialog.abbonamenti-editor .body .col-6.right{padding-left:.5rem !important}}@media screen and (max-width: 575px){ux-dialog.abbonamenti-editor .body .col-sm-6.right,ux-dialog.abbonamenti-editor .body .col-sm-6.left{padding-left:.75rem !important;padding-right:.75rem !important}}ux-dialog.abbonamenti-editor .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-editor .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,SAAA,CACA,iBAAA,CACA,wCACE,mBAAA,CACF,8CACE,kBAAA,CACF,wDACE,QAAA,CACF,yCACE,SAAA,CACF,0CACE,kBAAA,CACF,yCACE,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,iDACE,kBAAA,CACA,sDAAA,CACF,kDACE,iBAAA,CACF,uDACE,mBAAA,CACA,8DACE,gDAAA,CACA,mBAAA,CACJ,4CACE,eAAA,CACA,aCnCU,CDoCZ,qDACE,+CAAA,CACA,gBAAA,CACF,qDACE,kBAAA,CACA,4DACE,aAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACF,8DACE,aAAA,CACA,eAAA,CACA,eAAA,CACA,6CAAA,CACA,gEACE,QAAA,CACA,SAAA,CACN,qCACE,sLACE,8BAAA,CACA,+BAAA,CACA,eAAA,CACF,gJACE,8BAAA,CACF,mJACE,6BAAA,CAAA,CACJ,qCACE,qGACE,8BAAA,CACA,+BAAA,CAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.abbonamenti-editor\\n  .body\\n    padding: 0\\n    overflow-x: hidden\\n    > .row \\n      padding: 1rem 1rem 0\\n    ka-control\\n      margin-bottom: 1rem\\n    div[class*=\\\"columns-\\\"] \\n      margin: 0\\n    .pd-0 \\n      padding: 0\\n    .right \\n      padding-left: .5rem\\n    .left \\n      padding-right: .5rem\\n    .middle\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .center\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .columns-left \\n      padding-right: 1rem\\n      box-shadow: inset -1px 0 0 0 #4040401a\\n    .columns-right \\n      padding-left: 1rem\\n    .edit-service-title\\n      margin: 0 -1rem 1rem\\n      &:before \\n        box-shadow: 0 -1px 0 0 #4040401a\\n        border-radius: unset\\n    .message \\n      margin: 1rem 0 0\\n      color: $primary-color\\n    .associated-promo \\n      border-top: 1px solid #4040401a \\n      padding-top: 1rem\\n    .description-html\\n      margin-bottom: 1rem\\n      > .label\\n        display: block\\n        content: 'Descrizione'\\n        width: 100%\\n        height: 1.5rem\\n        overflow: hidden\\n        font-size: 1.2rem\\n        line-height: 1.5rem\\n        color: rgba($primary-color, 0.7)\\n        white-space: nowrap\\n      > .content\\n        display: block\\n        padding: .7rem 0\\n        min-height: 3rem\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, .1)\\n        > *\\n          margin: 0\\n          padding: 0\\n    @media screen and (max-width: 991px)\\n      .right, .left, .columns-right, .columns-left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n        box-shadow: none\\n      .col-sm-6.left, .col-4.left, .col-6.left\\n        padding-right: .5rem !important\\n      .col-sm-6.right, .col-4.right, .col-6.right\\n        padding-left: .5rem !important\\n    @media screen and (max-width: 575px)\\n      .col-sm-6.right, .col-sm-6.left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-fidelity-card-required{max-width:50rem}ux-dialog.abbonamenti-fidelity-card-required .body{padding:2rem}ux-dialog.abbonamenti-fidelity-card-required .body strong{font-weight:700}ux-dialog.abbonamenti-fidelity-card-required .body .link{font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;text-decoration:underline;text-underline-offset:.4rem;color:#ed5a23;transition:color .3s;cursor:pointer}ux-dialog.abbonamenti-fidelity-card-required .body .link:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:900}ux-dialog.abbonamenti-fidelity-card-required .body .link:hover{color:#404040}ux-dialog.abbonamenti-fidelity-card-required .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-fidelity-card-required .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6CD9bJ,eACE,CAAA,mDACA,YACE,CAAA,0DACA,eACE,CAAA,yDACF,gBACE,CAAA,yCACA,CAAA,yBACA,CAAA,2BACA,CAAA,aEZU,CAAA,oBFcV,CAAA,cACA,CAAA,gEACA,oBCmCJ,CAAA,WDlC2B,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBCsC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aD1CkE,CAAA,oBCiCC,CAAA,eAAmB,CAAA,eAkBpF,CAAA,+DDlDE,aEnBO,CAAA,qDFqBX,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,yEACA,aACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-fidelity-card-required\\n  max-width: 50rem\\n  .body\\n    padding: 2rem\\n    strong\\n      font-weight: 700\\n    .link\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      text-decoration: underline\\n      text-underline-offset: .4rem\\n      color: $primary-color\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f35d', 'solid', 1.1rem, 0 .3rem 0 0, darken($primary-color, 5%))\\n      &:hover\\n        color: $text-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog .log-id{display:block;width:23.5rem;border-radius:3px;padding:.5rem;line-height:1;color:#fff !important;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;white-space:nowrap}ux-dialog .log-reason{cursor:pointer}ux-dialog .log-reason .text{display:inline-block;width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.scss\"],\"names\":[],\"mappings\":\"AACE,gBACE,YAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,kBACE,aAAA,CACA,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,qBAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,kBAAA,CAEF,sBACE,cAAA,CACA,4BACE,oBAAA,CACA,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA\",\"sourcesContent\":[\"ux-dialog {\\n  .body {\\n    padding: 2rem;\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n  .log-id {\\n    display: block;\\n    width: 23.5rem;\\n    border-radius: 3px;\\n    padding: 0.5rem;\\n    line-height: 1;\\n    color: #fff !important;\\n    text-align: center;\\n    background-color: rgba(28, 200, 0, 0.7);\\n    box-shadow: inset 0 0 0 1px #1cc800;\\n    white-space: nowrap;\\n  }\\n  .log-reason {\\n    cursor: pointer;\\n    .text {\\n      display: inline-block;\\n      width: 150px;\\n      white-space: nowrap; \\n      overflow: hidden;\\n      text-overflow: ellipsis;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-stato-servizio{max-width:50rem}ux-dialog.abbonamenti-stato-servizio .body{padding:2rem}ux-dialog.abbonamenti-stato-servizio .body .message{display:block;margin-bottom:1rem}ux-dialog.abbonamenti-stato-servizio .body .alert-message>i{margin-right:.3rem;color:#ed5a23}ux-dialog.abbonamenti-stato-servizio .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC9bJ,qCACE,eAAA,CACA,2CACE,YAAA,CACA,oDACE,aAAA,CACA,kBAAA,CAEA,4DACE,kBAAA,CACA,aCZQ,CDad,6CACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-stato-servizio\\n  max-width: 50rem\\n  .body\\n    padding: 2rem\\n    .message\\n      display: block\\n      margin-bottom: 1rem\\n    .alert-message\\n      > i\\n        margin-right: .3rem\\n        color: $primary-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view[class*=\\\"credito/deposito\\\"] h2.with-buttons,router-view[class*=\\\"credito/crediti\\\"] h2.with-buttons{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] h2.with-buttons ka-button,router-view[class*=\\\"credito/crediti\\\"] h2.with-buttons ka-button{white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] .tooltip,router-view[class*=\\\"credito/crediti\\\"] .tooltip{cursor:pointer}router-view[class*=\\\"credito/deposito\\\"] .tooltip:after,router-view[class*=\\\"credito/crediti\\\"] .tooltip:after{content:\\\"\\\";display:inline-block;line-height:1;margin-left:.5rem;font-size:1.2rem;font-weight:400;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\"}router-view[class*=\\\"credito/deposito\\\"] .tooltip:hover:after,router-view[class*=\\\"credito/crediti\\\"] .tooltip:hover:after{font-weight:900}router-view[class*=\\\"credito/deposito\\\"] h2.table-title,router-view[class*=\\\"credito/crediti\\\"] h2.table-title{display:flex;justify-content:space-between;align-items:center;min-height:5rem;line-height:1;padding:1rem 1rem}router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user,router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user-credit,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user-credit{font-size:1.2rem}router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user>span,router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user-credit>span,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user>span,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user-credit>span{color:#404040}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span{display:block}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span+span,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span+span,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span+span,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span+span{margin-top:.5rem}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a{font-size:1.2rem;text-decoration:none;color:#404040;transition:color .3s}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a:before{display:inline-block;content:\\\"\\\";margin-right:.5rem;font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;font-size:1.2rem;font-style:normal;font-variant:normal;vertical-align:top;text-rendering:auto;-webkit-font-smoothing:antialiased;color:#ed5a23}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a:hover,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a:hover,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a:hover,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a:hover{color:#ed5a23}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita:before{display:inline-block;margin-right:.4rem;font-family:\\\"Font Awesome 5 Pro\\\";font-weight:400;font-size:1.7rem;font-style:normal;font-variant:normal;vertical-align:top;text-rendering:auto;-webkit-font-smoothing:antialiased;line-height:1}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata{color:#1cc800;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata:before{content:\\\"\\\";vertical-align:initial}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita{color:#f30;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita:before{content:\\\"\\\";vertical-align:text-bottom}router-view[class*=\\\"credito/deposito\\\"] table.deposito td small.tag.success:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td small.tag.success:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td small.tag.success:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td small.tag.success:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400;margin-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] table.deposito td small.tag.error:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td small.tag.error:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td small.tag.error:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td small.tag.error:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400;margin-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] .credit-search,router-view[class*=\\\"credito/crediti\\\"] .credit-search{padding-left:.5rem;padding-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] .credit-search div[class*=col-],router-view[class*=\\\"credito/deposito\\\"] .credit-search .col,router-view[class*=\\\"credito/crediti\\\"] .credit-search div[class*=col-],router-view[class*=\\\"credito/crediti\\\"] .credit-search .col{padding-left:.5rem;padding-right:.5rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/credito-deposito.scss\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6GD7bF,YACE,CAAA,kBACA,CAAA,gBACA,CAAA,kBACA,CAAA,iIACA,kBACE,CAAA,+FAGJ,cACE,CAAA,2GACA,WACE,CAAA,oBACA,CAAA,aACA,CAAA,iBACA,CAAA,gBACA,CAAA,eACA,CAAA,iBACA,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,uHAEF,eAAA,CAAA,2GAGF,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,eACA,CAAA,aACA,CAAA,iBACA,CAAA,4PACA,gBACE,CAAA,gRACA,aExCO,CAAA,oPFgDP,aACE,CAAA,wQACA,gBAAA,CAAA,4PACA,gBACE,CAAA,oBACA,CAAA,aErDG,CAAA,oBFuDH,CAAA,wRACA,oBACE,CAAA,WACA,CAAA,kBACA,CAAA,gCACA,CAAA,eACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,kBACA,CAAA,mBACA,CAAA,kCACA,CAAA,aElEI,CAAA,oRFqEN,aErEM,CAAA,ojBFwEV,oBACE,CAAA,kBACA,CAAA,gCACA,CAAA,eACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,kBACA,CAAA,mBACA,CAAA,kCACA,CAAA,aACA,CAAA,gQAEF,aEhFU,CAAA,kBFkFR,CAAA,4RACA,WAAA,CAAA,sBAAA,CAAA,4PAEF,UEtFQ,CAAA,kBFwFN,CAAA,wRACA,WAAA,CAAA,0BAAA,CAAA,oUAIA,oBC9CN,CAAA,WD+C6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBC3CjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDuC4D,CAAA,oBChDO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBDiCM,CAAA,4TAGF,oBCnDN,CAAA,WDoD6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBChDjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aD4C4D,CAAA,oBCrDO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBDsCM,CAAA,2GAMR,kBACE,CAAA,mBACA,CAAA,kQACA,kBACE,CAAA,mBACA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n@import '../../../static/mixins';\\n\\nrouter-view[class*=\\\"credito/deposito\\\"], router-view[class*=\\\"credito/crediti\\\"] {\\n  h2.with-buttons {\\n    display: flex;\\n    align-items: center;\\n    flex-wrap: nowrap;\\n    white-space: nowrap;\\n    ka-button {\\n      white-space: nowrap;\\n    }\\n  }\\n  .tooltip {\\n    cursor: pointer;\\n    &:after {\\n      content: '\\\\f059';\\n      display: inline-block;\\n      line-height: 1;\\n      margin-left: .5rem;\\n      font-size: 1.2rem;\\n      font-weight: 400;\\n      font-style: normal;\\n      font-variant: normal;\\n      text-rendering: auto;\\n      -webkit-font-smoothing: antialiased;\\n      font-family: \\\"Font Awesome 5 Pro\\\";\\n    }  \\n    &:hover:after { font-weight: 900; }\\n  }\\n\\n  h2.table-title {\\n    display: flex;\\n    justify-content: space-between;\\n    align-items: center;\\n    min-height: 5rem;\\n    line-height: 1;\\n    padding: 1rem 1rem;\\n    .user, .user-credit {\\n      font-size: 1.2rem;\\n      > span {\\n        color: $text-color;\\n      }\\n    }\\n  }\\n\\n  table.deposito, table.credito {\\n    td {\\n      > span {\\n        display: block;\\n        & + span { margin-top: .5rem; }\\n        & > a {\\n          font-size: 1.2rem;\\n          text-decoration: none;\\n          color: $text-color;\\n          transition: color .3s;\\n          &:before {\\n            display: inline-block;\\n            content: \\\"\\\\f08e\\\";\\n            margin-right: .5rem;\\n            font-family: \\\"Font Awesome 5 Pro\\\";\\n            font-weight: 900;\\n            font-size: 1.2rem;\\n            font-style: normal;\\n            font-variant: normal;\\n            vertical-align: top;\\n            text-rendering: auto;\\n            -webkit-font-smoothing: antialiased;\\n            color: $primary-color;\\n          }\\n          &:hover { color: $primary-color; }\\n        }\\n      }\\n      &.entrata:before, &.uscita:before {\\n        display: inline-block;\\n        margin-right: 0.4rem;\\n        font-family: \\\"Font Awesome 5 Pro\\\";\\n        font-weight: 400;\\n        font-size: 1.7rem;\\n        font-style: normal;\\n        font-variant: normal;\\n        vertical-align: top;\\n        text-rendering: auto;\\n        -webkit-font-smoothing: antialiased;\\n        line-height: 1;\\n      }\\n      &.entrata {\\n        color: $success-color;\\n        white-space: nowrap;\\n        &:before { content: \\\"\\\\f176\\\"; vertical-align: initial; }\\n      }\\n      &.uscita {\\n        color: $error-color;\\n        white-space: nowrap;\\n        &:before { content: \\\"\\\\f175\\\"; vertical-align: text-bottom; }\\n      }\\n\\n      small.tag {\\n        &.success:before {\\n          @include fontawesome(\\\"\\\\f062\\\", \\\"regular\\\", 1.2rem, 0, inherit);\\n          margin-right: 0.5rem;\\n        }\\n\\n        &.error:before {\\n          @include fontawesome(\\\"\\\\f063\\\", \\\"regular\\\", 1.2rem, 0, inherit);\\n          margin-right: 0.5rem;\\n        }\\n      }\\n    }\\n  }\\n\\n  .credit-search {\\n    padding-left: .5rem;\\n    padding-right: .5rem;\\n    div[class*=\\\"col-\\\"], .col {\\n      padding-left: .5rem;\\n      padding-right: .5rem;\\n    }\\n  }\\n}\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body .row{margin-top:1rem;margin-bottom:1rem}ux-dialog .body .row:first-of-type{margin-top:0}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/dialog-credit-movement.scss\"],\"names\":[],\"mappings\":\"AAGE,gBACE,YAAA,CACA,qBACE,eAAA,CACA,kBAAA,CACA,mCAAA,YAAA,CAGJ,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n\\nux-dialog {\\n  .body {\\n    padding: 2rem;\\n    .row {\\n      margin-top: 1rem;\\n      margin-bottom: 1rem;\\n      &:first-of-type { margin-top: 0; }\\n    }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body p{margin:0 0 1rem}ux-dialog .body .user{font-size:1.2rem;color:rgba(237,90,35,.7)}ux-dialog .body .user>p{color:#404040}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/dialog-deposit-transaction.scss\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,gBACE,YAAA,CACA,kBAAA,eAAA,CACA,sBACE,gBAAA,CACA,wBAAA,CACA,wBAAA,aCTO,CDYX,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n\\nux-dialog {\\n  .body {\\n    padding: 2rem;\\n    p { margin: 0 0 1rem; }\\n    .user {\\n      font-size: 1.2rem;\\n      color: rgba($primary-color, 0.7);\\n      > p { color: $text-color; }\\n    }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n}\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.listini-pianificazione .body{padding:0}ux-dialog.listini-pianificazione .body .alert>strong:before{display:inline-block;content:\\\"\\\";margin:0 .4rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.listini-pianificazione .body .tooltip-icon{margin:0 !important}ux-dialog.listini-pianificazione .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.listini-pianificazione .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/listini/dialogs/listini-pianificazione.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,uCD7bF,SACE,CAAA,4DACA,oBC8CF,CAAA,WD7CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCiD7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBFMqE,CAAA,eC4CG,CAAA,eAgBpF,CAAA,qDD3DA,mBACE,CAAA,yCACJ,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,8DACA,aACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.listini-pianificazione\\n  .body\\n    padding: 0\\n    .alert > strong:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0 0.4rem 0 0, $primary-color, unset)\\n    .tooltip-icon\\n      margin: 0 !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.servizi-listini nav{display:none}router-view.servizi-listini #elenco{height:calc(100vh - 6rem);overflow:hidden}router-view.servizi-listini #elenco .left-side>.app-shared-search-style{padding:1rem 1rem 1.5rem;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.servizi-listini #elenco .left-side>.app-shared-search-style>.col-12{margin:0;padding:0}router-view.servizi-listini #elenco .left-side>.app-shared-search-style>.col-12+.col-12{margin-top:1rem}router-view.servizi-listini #elenco .left-side>.app-shared-search-style input[disabled]{color:rgba(64,64,64,.4) !important}router-view.servizi-listini #elenco .left-side>ul.subusers{height:calc(100vh - 6rem - 5.1rem - 12.5rem);overflow-y:auto}router-view.servizi-listini #elenco .left-side>ul.subusers.hide{opacity:.4}router-view.servizi-listini #elenco .left-side>ul.subusers>li{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:0 1rem;box-shadow:0 -1px 0 0 rgba(17,37,75,.1);transition:all .3s;cursor:pointer}router-view.servizi-listini #elenco .left-side>ul.subusers>li>.counter{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:2rem;width:2rem;margin-left:1rem;font-size:1rem;background:#ed5a23;border-radius:50%;color:#fff}router-view.servizi-listini #elenco .left-side>ul.subusers>li:before{display:block;position:absolute;content:\\\"\\\";top:0;left:50%;height:100%;width:100%;background:rgba(17,37,75,.031372549);transform:translateX(-50%) scaleX(30%);opacity:0;transition:all .3s}router-view.servizi-listini #elenco .left-side>ul.subusers>li:not(.selected):hover:before{opacity:1;transform:translateX(-50%) scaleX(100%)}router-view.servizi-listini #elenco .left-side>ul.subusers>li.selected{background-color:rgba(17,37,75,.1);box-shadow:0 -1px 0 0 rgba(17,37,75,.2)}router-view.servizi-listini #elenco .right-side{box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922);height:calc(100vh - 6rem)}router-view.servizi-listini #elenco .right-side>md-table-progressbar{margin-top:-1.5px !important}router-view.servizi-listini #elenco .right-side>ul{padding:3rem 1.5rem 0}router-view.servizi-listini #elenco .right-side>ul>li{display:flex;position:relative;min-height:10rem}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;height:1.8rem;width:1.8rem}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval:before{display:block;position:absolute;content:\\\"\\\";left:calc(11.3rem + .9rem - 1px);width:2px;background:#ed5a23}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval>.circle{z-index:2;height:100%;width:100%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.servizi-listini #elenco .right-side>ul>li>.pricelist-date{flex-shrink:0;flex-basis:11.3rem}router-view.servizi-listini #elenco .right-side>ul>li>.pricelist-date>span{padding:.5rem .8rem;background:#fff;box-shadow:0 0 0 1px #ddd;border-radius:.2rem;color:#000}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist{position:relative;margin:-1.5rem 0 0 3rem;padding:1.5rem 1.5rem;height:100%;min-height:10rem;width:100%;border-radius:1rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem;line-height:1.3;background:#fff;box-shadow:0 0 0 1px #ddd}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .pricelist-detail{font-size:1.2rem;color:#ed5a23;cursor:pointer}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .pricelist-detail>i{font-size:1.1rem;margin-right:.5rem}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist svg{position:absolute;top:0;left:0;z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-99%, 1.5rem)}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .code-label>small{color:rgba(64,64,64,.6)}router-view.servizi-listini #elenco .right-side>ul li>.timeline-interval:before{top:0;height:100%;background:#ddd}router-view.servizi-listini #elenco .right-side>ul li>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ddd}router-view.servizi-listini #elenco .right-side>ul li.endless>.timeline-interval:before{top:0;height:calc(100% + 3rem);background:linear-gradient(180deg, #ddd, transparent)}router-view.servizi-listini #elenco .right-side>ul li.current>.timeline-interval:before{background:#ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current>.wrapper-pricelist .code-label{color:#ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current.endless>.timeline-interval:before{top:0;height:calc(100% + 3rem);background:linear-gradient(180deg, #ed5a23, transparent)}router-view.servizi-listini #elenco .right-side>ul li.pricelists-end{height:auto;min-height:unset}router-view.servizi-listini #elenco .right-side>ul li.pricelists-end>.timeline-interval:before{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/listini/listini.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCrbF,gCACE,YAAA,CAGF,oCACE,yBAAA,CACA,eAAA,CAIE,wEACE,wBAAA,CACA,6CAAA,CACA,gFACE,QAAA,CACA,SAAA,CACF,wFACE,eAAA,CACF,wFACE,kCAAA,CAGJ,2DACE,4CAAA,CACA,eAAA,CACA,gEACE,UAAA,CACF,8DACE,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,eAxCa,CAyCb,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,cAAA,CACA,uEACE,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,gBAAA,CACA,cAAA,CACA,kBC1DI,CD2DJ,iBAAA,CACA,UAAA,CAEF,qEACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,KAAA,CACA,QAAA,CACA,WAAA,CACA,UAAA,CACA,oCAAA,CACA,sCAAA,CACA,SAAA,CACA,kBAAA,CACF,0FACE,SAAA,CACA,uCAAA,CACF,uEACE,kCAAA,CACA,uCAAA,CAGR,gDACE,0DAAA,CACA,yBAAA,CACA,qEACI,4BAAA,CACJ,mDACE,qBAAA,CACA,sDACE,YAAA,CACA,iBAAA,CACA,gBAxFa,CAyFb,yEACE,mBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,aA7FM,CA8FN,YA9FM,CA+FN,gFACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,gCAAA,CACA,SAlGG,CAmGH,kBC1GE,CD2GJ,iFACE,SAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,eAAA,CACA,kCAAA,CAEJ,sEACE,aAAA,CACA,kBA/Ga,CAgHb,2EACE,mBAAA,CACA,eAAA,CACA,yBAAA,CACA,mBAAA,CACA,UAAA,CAEJ,yEACI,iBAAA,CACA,uBAAA,CACA,qBAAA,CACA,WAAA,CACA,gBA9HS,CA+HT,UAAA,CACA,kBAAA,CACA,4BAAA,CACA,6BAAA,CACA,eAAA,CACA,eAAA,CACA,yBAAA,CACA,2FACE,gBAAA,CACA,aC5IA,CD6IA,cAAA,CACA,6FACE,gBAAA,CACA,kBAAA,CACJ,6EACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,SAAA,CACA,UAAA,CACA,aAAA,CACA,iCAAA,CACA,sFACE,SAAA,CACA,WAAA,CACA,eAAA,CAEF,2FACE,uBAAA,CAER,gFACE,KAAA,CACA,WAAA,CACA,eAAA,CACF,iFACE,+BAAA,CAGA,wFACE,KAAA,CACA,wBAAA,CACA,qDAAA,CAGF,wFACE,kBCjLE,CDkLJ,yFACE,kCAAA,CAEF,6FACE,aCtLE,CDuLN,gGACE,KAAA,CACA,wBAAA,CACA,wDAAA,CACJ,qEACE,WAAA,CACA,gBAAA,CAEE,+FACE,YAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$list-subusers-height: 4rem\\n$list-timeline-height: 10rem\\n$timeline-circle: 1.8rem\\n$timeline-pricelistdate: 11.3rem\\n$timeline-width: 2px\\n\\n// Listini utente\\nrouter-view.servizi-listini\\n  nav\\n    display: none\\n\\n  // Tab elenco\\n  #elenco\\n    height: calc(100vh - 6rem)\\n    overflow: hidden\\n\\n    // Left side\\n    .left-side\\n      & > .app-shared-search-style\\n        padding: 1rem 1rem 1.5rem\\n        box-shadow: inset 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n        & > .col-12\\n          margin: 0\\n          padding: 0\\n        & > .col-12 + .col-12\\n          margin-top: 1rem\\n        input[disabled]\\n          color: rgba($text-color, .4) !important\\n\\n      // Subusers\\n      > ul.subusers\\n        height: calc(100vh - 6rem - 5.1rem - 12.5rem)\\n        overflow-y: auto\\n        &.hide\\n          opacity: 0.4\\n        > li\\n          position: relative\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          min-height: $list-subusers-height\\n          padding: 0 1rem\\n          box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n          transition: all 0.3s\\n          cursor: pointer\\n          > .counter\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: center\\n            flex-shrink: 0\\n            height: calc($list-subusers-height / 2)\\n            width: calc($list-subusers-height / 2)\\n            margin-left: 1rem\\n            font-size: 1rem\\n            background: $primary-color\\n            border-radius: 50%\\n            color: #fff\\n        & > li\\n          &:before\\n            display: block\\n            position: absolute\\n            content: \\\"\\\"\\n            top: 0\\n            left: 50%\\n            height: 100%\\n            width: 100%\\n            background: #11254b08\\n            transform: translateX(-50%) scaleX(30%)\\n            opacity: 0\\n            transition: all 0.3s\\n          &:not(.selected):hover:before\\n            opacity: 1\\n            transform: translateX(-50%) scaleX(100%)\\n          &.selected\\n            background-color: rgba(17, 37, 75, 0.1)\\n            box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.2)\\n\\n    // Right-side\\n    .right-side\\n      box-shadow: inset 10px 0 10px -10px #00000040\\n      height: calc(100vh - 6rem)\\n      > md-table-progressbar\\n          margin-top: -1.5px !important\\n      > ul\\n        padding: 3rem 1.5rem 0\\n        > li\\n          display: flex\\n          position: relative\\n          min-height: $list-timeline-height\\n          > .timeline-interval\\n            display: inline-flex\\n            flex-shrink: 0\\n            align-items: center\\n            justify-content: center\\n            height: $timeline-circle\\n            width: $timeline-circle\\n            &:before\\n              display: block\\n              position: absolute\\n              content: ''\\n              left: calc($timeline-pricelistdate + (calc($timeline-circle / 2) - calc($timeline-width / 2)))\\n              width: $timeline-width\\n              background: $primary-color\\n            > .circle\\n              z-index: 2\\n              height: 100%\\n              width: 100%\\n              border-radius: 50%\\n              background: #fff\\n              box-shadow: inset 0 0 0 2px $primary-color\\n          \\n          > .pricelist-date\\n            flex-shrink: 0\\n            flex-basis: $timeline-pricelistdate\\n            > span\\n              padding: .5rem .8rem\\n              background: #fff\\n              box-shadow: 0 0 0 1px #ddd\\n              border-radius: .2rem\\n              color: #000\\n          // Wrapper pricelist\\n          > .wrapper-pricelist\\n              position: relative\\n              margin: -1.5rem 0 0 3rem\\n              padding: 1.5rem 1.5rem\\n              height: 100%\\n              min-height: $list-timeline-height\\n              width: 100%\\n              border-radius: 1rem\\n              border-top-left-radius: .5rem\\n              border-top-right-radius: .5rem\\n              line-height: 1.3\\n              background: #fff\\n              box-shadow: 0 0 0 1px #ddd\\n              .pricelist-detail\\n                font-size: 1.2rem\\n                color: $primary-color\\n                cursor: pointer\\n                > i\\n                  font-size: 1.1rem\\n                  margin-right: .5rem\\n              svg\\n                position: absolute\\n                top: 0\\n                left: 0\\n                z-index: 5\\n                padding: 0\\n                width: auto\\n                height: 1.5rem\\n                transform: translate(-99%, 1.5rem)\\n                > polyline\\n                  fill: #fff\\n                  stroke: #ddd\\n                  stroke-width: 30\\n              .code-label\\n                > small\\n                  color: rgba($text-color, .6)\\n        li > .timeline-interval\\n          &:before\\n            top: 0\\n            height: 100%\\n            background: #ddd\\n          > .circle\\n            box-shadow: inset 0 0 0 2px #ddd\\n        li.endless\\n          > .timeline-interval\\n            &:before\\n              top: 0\\n              height: calc(100% + 3rem)\\n              background: linear-gradient(180deg, #ddd, transparent)\\n        li.current \\n          > .timeline-interval\\n            &:before\\n              background: $primary-color\\n            > .circle\\n              box-shadow: inset 0 0 0 2px $primary-color\\n          > .wrapper-pricelist\\n            .code-label\\n              color: $primary-color\\n          &.endless > .timeline-interval:before\\n            top: 0\\n            height: calc(100% + 3rem)\\n            background: linear-gradient(180deg, $primary-color, transparent)\\n        li.pricelists-end\\n          height: auto\\n          min-height: unset\\n          > .timeline-interval\\n            &:before\\n              display: none\\n\\n\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.add-promotion .dialog-header-content h2{font-size:1.6rem}ux-dialog.add-promotion .body{padding:0}ux-dialog.add-promotion .body .expire-at{min-width:12rem}ux-dialog.add-promotion .body .user{margin:0;padding:1rem}ux-dialog.add-promotion .body .user .message{color:#ed5a23}ux-dialog.add-promotion .body .promo-code{display:flex;align-items:center}ux-dialog.add-promotion .body .promo-code>span{display:inline-block;padding:0 1rem;text-align:left;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);white-space:nowrap}ux-dialog.add-promotion .body .promo-code>.tag{color:#ed5a23;cursor:pointer;transition:all .3s}ux-dialog.add-promotion .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-assegna.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,kDACE,gBAAA,CACF,8BACE,SAAA,CAEA,yCACE,eAAA,CAEF,oCACE,QAAA,CACA,YAAA,CACA,6CACE,aCdQ,CDgBZ,0CACE,YAAA,CACA,kBAAA,CACA,+CACE,oBAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,6CAAA,CACA,mCAAA,CACA,kBAAA,CACF,+CACE,aC5BQ,CD6BR,cAAA,CACA,kBAAA,CAEN,gCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.add-promotion\\n  .dialog-header-content h2 \\n    font-size: 1.6rem\\n  .body\\n    padding: 0\\n\\n    .expire-at\\n      min-width: 12rem\\n\\n    .user \\n      margin: 0\\n      padding: 1rem\\n      .message\\n        color: $primary-color\\n\\n    .promo-code\\n      display: flex\\n      align-items: center\\n      > span\\n        display: inline-block\\n        padding: 0 1rem\\n        text-align: left\\n        border-radius: 3px\\n        box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n        background-color: rgba($primary-color, 0.2)\\n        white-space: nowrap\\n      > .tag\\n        color: $primary-color\\n        cursor: pointer\\n        transition: all .3s\\n  \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body ka-control+ka-control{margin-top:1rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-crea.scss\"],\"names\":[],\"mappings\":\"AACE,gBACE,YAAA,CACA,sCAAA,eAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,sCAAA,aAAA\",\"sourcesContent\":[\"ux-dialog {\\n  .body {\\n    padding: 2rem;\\n    ka-control + ka-control { margin-top: 1rem; }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n    ka-button + ka-button { margin-left: 0; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.edit-promotion .body{padding:2rem}ux-dialog.edit-promotion .body ka-control+ka-control{margin-top:1rem}ux-dialog.edit-promotion .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.edit-promotion .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-modifica.sass\"],\"names\":[],\"mappings\":\"AACE,+BACE,YAAA,CACA,qDACE,eAAA,CAEJ,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,qDACE,aAAA\",\"sourcesContent\":[\"ux-dialog.edit-promotion\\n  .body \\n    padding: 2rem\\n    ka-control + ka-control \\n      margin-top: 1rem\\n  \\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button \\n      margin-left: 0\\n  \\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.servizi-promozioni .promo-code{display:flex;align-items:center}router-view.servizi-promozioni .promo-code>span{display:inline-block;padding:0 1rem;text-align:left;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);white-space:nowrap}router-view.servizi-promozioni .promo-code>.tag{color:#ed5a23;cursor:pointer;transition:all .3s}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/promozioni/promozioni.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,2CACE,YAAA,CACA,kBAAA,CACA,gDACE,oBAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,6CAAA,CACA,mCAAA,CACA,kBAAA,CACF,gDACE,aCfU,CDgBV,cAAA,CACA,kBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.servizi-promozioni\\n  .promo-code\\n    display: flex\\n    align-items: center\\n    > span\\n      display: inline-block\\n      padding: 0 1rem\\n      text-align: left\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n      background-color: rgba($primary-color, 0.2)\\n      white-space: nowrap\\n    > .tag\\n      color: $primary-color\\n      cursor: pointer\\n      transition: all .3s\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.servizi-ricariche #ricariche .type-header{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}router-view.servizi-ricariche #ricariche .type-header td{padding:1rem 1rem}router-view.servizi-ricariche #ricariche .type-header td p{margin:0;padding:0;color:#ed5a23}router-view.servizi-ricariche #ricariche .type-header td p .iva{margin-left:.5rem;color:#404040}router-view.servizi-ricariche #ricariche .type-header td p .description{display:block;font-size:1.2rem;color:rgba(64,64,64,.7)}router-view.servizi-ricariche #ricariche md-table-wrapper{perspective:1000px}router-view.servizi-ricariche #ricariche md-table-wrapper table thead>tr>th:last-child{min-width:26rem}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header).error{background:rgba(255,6,6,.1098039216)}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header):last-child{border-bottom:0}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header) td.code>span{display:inline-block;border-radius:3px;padding:.3rem 1rem;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;min-width:12rem;white-space:nowrap}router-view.servizi-ricariche #ricariche .cartbar{position:fixed;display:flex;align-items:center;height:11rem;bottom:-11rem;left:50%;z-index:2;border:1px solid rgba(0,0,0,.062745098);border-radius:5px;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2),rgba(0,0,0,.0196078431) 0px -50px 36px -28px inset,rgba(0,0,0,.0196078431) 0px 30px 60px -12px inset;font-size:1.6rem;font-weight:400;color:#fff;background-color:#11254b;padding:0 2rem;transition:bottom .5s;transform:translateX(-50%)}router-view.servizi-ricariche #ricariche .cartbar.filled{bottom:2rem}router-view.servizi-ricariche #ricariche .cartbar.added{animation:rotate 1s infinite}router-view.servizi-ricariche #ricariche .cartbar>i{margin:.4rem 1.2rem 0 0;font-size:4rem;color:#ed5a23}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary{display:flex;align-items:flex-start;font-size:1rem;font-weight:700;text-transform:uppercase;color:#ed5a23}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary em{margin:0 .5rem 0 -1.4rem;border-radius:50%;display:inline-block;border-radius:50%;width:3.5rem;line-height:3.5rem;font-style:normal;font-size:2rem;text-align:center;vertical-align:middle;background-color:#fff}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary .user{display:block;color:#fff;font-size:1.4rem;font-weight:500;text-transform:none}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.amount{display:flex;align-items:flex-start;margin-top:-0.1rem;border-top:1px solid #ed5a23;padding-top:.5rem;font-size:1.4rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.amount>strong{font-size:1.8rem;vertical-align:middle;margin-left:.5rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons{display:flex;flex-direction:column;margin-left:2rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons>ka-button{margin:0}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons>ka-button:first-child{margin-bottom:.5rem}router-view.servizi-ricariche .quantity-selector{display:flex;box-shadow:0 2px 5px rgba(0,0,0,.2)}router-view.servizi-ricariche .quantity-selector ka-button{border-radius:0;white-space:nowrap}router-view.servizi-ricariche .quantity-selector ka-button:not(.icon){box-shadow:inset 1px 0 0 #e0e0e0 !important}router-view.servizi-ricariche .quantity-selector ka-button.disabled{background:#fff;color:silver}router-view.servizi-ricariche .quantity-selector ka-button.icon{width:3rem}router-view.servizi-ricariche .quantity-selector input{outline:0;border:0;border-radius:0;padding:0;width:3rem;height:3rem;text-align:center;appearance:none;-moz-appearance:none;-webkit-appearance:none}router-view.servizi-ricariche .quantity-selector input::-webkit-outer-spin-button,router-view.servizi-ricariche .quantity-selector input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@keyframes rotate{0%{transform:translateX(-50%) scale(1) rotate3d(-1, 0, 0, 0deg)}50%{transform:translateX(-50%) scale(0.5) rotate3d(-1, 0, 0, 180deg)}100%{transform:translateX(-50%) scale(1) rotate3d(-1, 0, 0, 360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/ricariche/ricariche.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAKI,sDACE,4BAAA,CACA,+BAAA,CACA,yDACE,iBAAA,CACA,2DACE,QAAA,CACA,SAAA,CACA,aCZM,CDaN,gEACE,iBAAA,CACA,aChBC,CDiBH,wEACE,aAAA,CACA,gBAAA,CACA,uBAAA,CACR,0DACE,kBAAA,CAGI,uFACE,eAAA,CAGA,iGACE,oCAAA,CACF,sGACE,eAAA,CACF,wGACE,oBAAA,CACA,iBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,eAAA,CACA,kBAAA,CAGV,kDACE,cAAA,CACA,YAAA,CACA,kBAAA,CACA,YAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,uCAAA,CACA,iBAAA,CACA,oKAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA,CACA,wBCzDY,CD0DZ,cAAA,CACA,qBAAA,CACA,0BAAA,CACA,yDACI,WAAA,CACJ,wDACE,4BAAA,CACF,oDACE,uBAAA,CACA,cAAA,CACA,aCrEQ,CDuER,sEACE,YAAA,CACA,sBAAA,CACA,cAAA,CACA,eAAA,CACA,wBAAA,CACA,aC7EM,CD8EN,yEACE,wBAAA,CACA,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,cAAA,CACA,iBAAA,CACA,qBAAA,CACA,qBAAA,CACF,4EACE,aAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,mBAAA,CACJ,qEACE,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,4BAAA,CACA,iBAAA,CACA,gBAAA,CACA,4EACE,gBAAA,CACA,qBAAA,CACA,iBAAA,CACN,gEACE,YAAA,CACA,qBAAA,CACA,gBAAA,CACA,0EACE,QAAA,CACA,sFACE,mBAAA,CAGV,iDACE,YAAA,CACA,mCAAA,CACA,2DACE,eAAA,CACA,kBAAA,CACA,sEACE,2CAAA,CACF,oEACE,eAAA,CACA,YAAA,CACF,gEACE,UAAA,CACJ,uDACE,SAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,oKAEE,uBAAA,CACA,QAAA,CAGR,kBACE,GACE,4DAAA,CACF,IACE,gEAAA,CACF,KACE,8DAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.servizi-ricariche\\n  // Ricariche-elenco\\n  #ricariche\\n    .type-header\\n      border-top: 1px solid #e0e0e0\\n      border-bottom: 1px solid #e0e0e0\\n      td\\n        padding: 1rem 1rem\\n        p\\n          margin: 0\\n          padding: 0\\n          color: $primary-color\\n          .iva\\n            margin-left: .5rem\\n            color: $text-color\\n          .description\\n            display: block\\n            font-size: 1.2rem\\n            color: rgba($text-color, 0.7)\\n    md-table-wrapper\\n      perspective: 1000px\\n      table\\n        thead\\n          > tr > th:last-child\\n            min-width: 26rem\\n        tbody\\n          > tr:not(.type-header)\\n            &.error\\n              background: #ff06061c\\n            &:last-child\\n              border-bottom: 0\\n            td.code > span\\n              display: inline-block\\n              border-radius: 3px\\n              padding: 0.3rem 1rem\\n              color: white\\n              text-align: center\\n              background-color: rgba(28, 200, 0, 0.7)\\n              box-shadow: inset 0 0 0 1px #1cc800\\n              min-width: 12rem\\n              white-space: nowrap\\n\\n    // Cartbar\\n    .cartbar\\n      position: fixed\\n      display: flex\\n      align-items: center\\n      height: 11rem\\n      bottom: -11rem\\n      left: 50%\\n      z-index: 2\\n      border: 1px solid #00000010\\n      border-radius: 5px\\n      box-shadow: 0 0 5px #00000033, 0 5px 5px -5px #00000033, #00000005 0px -50px 36px -28px inset, #00000005 0px 30px 60px -12px inset\\n      font-size: 1.6rem\\n      font-weight: 400\\n      color: #fff\\n      background-color: $secondary-color\\n      padding: 0 2rem\\n      transition: bottom 0.5s\\n      transform: translateX(-50%)\\n      &.filled\\n          bottom: 2rem\\n      &.added\\n        animation: rotate 1s infinite\\n      > i\\n        margin: 0.4rem 1.2rem 0 0\\n        font-size: 4rem\\n        color: $primary-color\\n      > .cart-info \\n        > .summary\\n          display: flex\\n          align-items: flex-start\\n          font-size: 1rem\\n          font-weight: 700\\n          text-transform: uppercase\\n          color: $primary-color\\n          em \\n            margin: 0 0.5rem 0 -1.4rem\\n            border-radius: 50%\\n            display: inline-block\\n            border-radius: 50%\\n            width: 3.5rem\\n            line-height: 3.5rem\\n            font-style: normal\\n            font-size: 2rem\\n            text-align: center\\n            vertical-align: middle\\n            background-color: #ffffff\\n          .user\\n            display: block\\n            color: white\\n            font-size: 1.4rem\\n            font-weight: 500\\n            text-transform: none\\n        > .amount\\n          display: flex\\n          align-items: flex-start\\n          margin-top: -0.1rem\\n          border-top: 1px solid $primary-color\\n          padding-top: 0.5rem\\n          font-size: 1.4rem\\n          > strong\\n            font-size: 1.8rem\\n            vertical-align: middle\\n            margin-left: 0.5rem\\n      > .cart-buttons\\n        display: flex\\n        flex-direction: column\\n        margin-left: 2rem\\n        > ka-button\\n          margin: 0\\n          &:first-child\\n            margin-bottom: 0.5rem\\n\\n  // Quantity selector\\n  .quantity-selector\\n    display: flex\\n    box-shadow: 0 2px 5px rgba(#000, 0.2)\\n    ka-button\\n      border-radius: 0\\n      white-space: nowrap\\n      &:not(.icon)\\n        box-shadow: inset 1px 0 0 #e0e0e0 !important\\n      &.disabled\\n        background: #fff\\n        color: #c0c0c0\\n      &.icon\\n        width: 3rem       \\n    input\\n      outline: 0\\n      border: 0\\n      border-radius: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      text-align: center\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none     \\n      &::-webkit-outer-spin-button,\\n      &::-webkit-inner-spin-button\\n        -webkit-appearance: none\\n        margin: 0\\n\\n// Animation\\n@keyframes rotate\\n  0%\\n    transform: translateX(-50%) scale(1) rotate3d(-1, 0, 0, 0deg)\\n  50%\\n    transform: translateX(-50%) scale(0.5) rotate3d(-1, 0, 0, 180deg)\\n  100%\\n    transform: translateX(-50%) scale(1) rotate3d(-1, 0, 0, 360deg)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.bank-transfer-data h3{margin-bottom:1rem !important}ux-dialog.bank-transfer-data .tables{padding:0 1rem;margin:0}ux-dialog.bank-transfer-data li.table{list-style:none;border:1px solid #e0e0e0}ux-dialog.bank-transfer-data li.table>.grid-row{display:grid;grid-template-columns:repeat(2, 1fr);width:100%;line-height:1;color:#404040;text-align:left;padding:.5rem 0;background:#efefef}ux-dialog.bank-transfer-data li.table>.grid-row>.colmn{display:flex;align-items:center;padding:1rem 1.5rem;min-height:3rem;font-weight:300}ux-dialog.bank-transfer-data li.table>.grid-row>.colmn strong{margin-right:.3rem;font-size:1rem;font-weight:600;text-transform:uppercase}ux-dialog.bank-transfer-data .info{margin-bottom:.5rem;text-align:left}ux-dialog.bank-transfer-data .info i{margin-right:.2rem;color:#f30}ux-dialog.bank-transfer-data .info a{font-weight:500;color:#ed5a23}ux-dialog.bank-transfer-data .copy-text{transition:all .3s;cursor:pointer}ux-dialog.bank-transfer-data .copy-text:hover{color:#ed5a23}ux-dialog.bank-transfer-data .copy-text.with-icon:after{display:inline-block;content:\\\"\\\";margin-left:.3rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.1rem;font-style:normal;font-weight:400;-webkit-font-smoothing:antialiased;color:#ed5a23}ux-dialog.bank-transfer-data .tag{padding:.3rem .6rem}ux-dialog.bank-transfer-data .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/bank-transfer-data.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,gCAGE,6BACE,CAAA,qCACF,cACE,CAAA,QACA,CAAA,sCACF,eACE,CAAA,wBACA,CAAA,gDACA,YACE,CAAA,oCACA,CAAA,UACA,CAAA,aACA,CAAA,aACA,CAAA,eACA,CAAA,eACA,CAAA,kBACA,CAAA,uDACA,YACE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,eACA,CAAA,8DACA,kBACE,CAAA,cACA,CAAA,eACA,CAAA,wBACA,CAAA,mCACR,mBACE,CAAA,eACA,CAAA,qCACA,kBACE,CAAA,UC9BQ,CAAA,qCDgCV,eACE,CAAA,aCrCU,CAAA,wCDwCd,kBACE,CAAA,cACA,CAAA,8CACA,aC3CY,CAAA,wDD6CZ,oBACE,CAAA,WACA,CAAA,iBACA,CAAA,gCACA,CAAA,gBACA,CAAA,iBACA,CAAA,eACA,CAAA,kCACA,CAAA,aCrDU,CAAA,kCDwDd,mBACE,CAAA,qCAEF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.bank-transfer-data\\n  h3\\n    margin-bottom: 1rem !important\\n  .tables\\n    padding: 0 1rem\\n    margin: 0\\n  li.table\\n    list-style: none\\n    border: 1px solid #e0e0e0\\n    > .grid-row\\n      display: grid\\n      grid-template-columns: repeat(2, 1fr)\\n      width: 100%\\n      line-height: 1\\n      color: #404040\\n      text-align: left\\n      padding: .5rem 0\\n      background: #efefef\\n      > .colmn\\n        display: flex\\n        align-items: center\\n        padding: 1rem 1.5rem\\n        min-height: 3rem\\n        font-weight: 300\\n        strong\\n          margin-right: .3rem\\n          font-size: 1rem\\n          font-weight: 600\\n          text-transform: uppercase\\n  .info\\n    margin-bottom: .5rem\\n    text-align: left\\n    i\\n      margin-right: .2rem\\n      color: $error-color\\n    a\\n      font-weight: 500\\n      color: $primary-color\\n\\n  .copy-text\\n    transition: all .3s\\n    cursor: pointer\\n    &:hover\\n      color: $primary-color\\n    &.with-icon:after\\n      display: inline-block\\n      content: \\\"\\\\f24d\\\"\\n      margin-left: .3rem\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-size: 1.1rem\\n      font-style: normal\\n      font-weight: 400\\n      -webkit-font-smoothing: antialiased\\n      color: $primary-color\\n\\n  .tag\\n    padding: 0.3rem 0.6rem\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.legacy-history .body{padding:2rem}ux-dialog.legacy-history .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/spedizioni/dialogs/legacy-history.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,+BACE,YAAA,CACF,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.legacy-history\\n  .body\\n    padding: 2rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.message-cost-detail table{box-shadow:0 0 1px rgba(64,64,64,.7);white-space:nowrap}ux-dialog.message-cost-detail table tr:last-of-type{box-shadow:none}ux-dialog.message-cost-detail table tfoot>tr>td,ux-dialog.message-cost-detail table tfoot>tr>td>strong{white-space:nowrap}ux-dialog.message-cost-detail table tfoot>tr:first-of-type{box-shadow:inset 0 1px 0 rgba(64,64,64,.3),inset 0 -1px 0 0 rgba(224,224,224,.5)}ux-dialog.message-cost-detail table tfoot>tr:last-of-type{box-shadow:inset 0 1px 0 rgba(237,90,35,.5)}ux-dialog.message-cost-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/message-cost-detail.sass\"],\"names\":[],\"mappings\":\"AAGE,oCACE,oCAAA,CACA,kBAAA,CACA,oDACE,eAAA,CAGE,uGACE,kBAAA,CACF,2DACE,gFAAA,CACF,0DACE,2CAAA,CACR,sCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.message-cost-detail\\n  table\\n    box-shadow: 0 0 1px rgba($text-color, .7)\\n    white-space: nowrap\\n    tr:last-of-type\\n      box-shadow: none\\n    tfoot\\n      > tr\\n        > td, > td > strong\\n          white-space: nowrap\\n        &:first-of-type\\n          box-shadow: inset 0 1px 0 rgba($text-color, .3), inset 0 -1px 0 0 rgba(#e0e0e0, .5)\\n        &:last-of-type\\n          box-shadow: inset 0 1px 0 rgba($primary-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n   \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.message-status-transitions-history{max-width:450px}ux-dialog.message-status-transitions-history .body .statuses{padding:3rem 1.5rem 0}ux-dialog.message-status-transitions-history .body .statuses>li{display:flex;position:relative;min-height:8rem}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;height:1.5rem;width:1.5rem}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval:before{display:block;position:absolute;content:\\\"\\\";width:2px;background:#ed5a23}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval>.circle{position:relative;z-index:2;height:100%;width:100%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date{font-size:1.2rem;flex-shrink:0;flex-basis:10.3rem;margin:-1.5rem 0 0 0}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date>div{position:relative;z-index:4;width:fit-content;padding:.8rem;background:#fff;box-shadow:0 0 0 1px #ddd;border-radius:.2rem;color:#000}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date>div .time{color:rgba(64,64,64,.5)}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date svg{position:absolute;top:0;left:calc(100% + 1.1rem);z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-100%, 1.5rem) rotateY(180deg)}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status{position:relative;margin:-1.5rem 0 0 2.5rem;padding:.8rem;height:100%;min-height:8rem;width:100%;border-radius:.3rem .3rem .5rem .5rem;line-height:1.3;background:#fff;box-shadow:0 0 0 1px #ddd}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status svg{position:absolute;top:0;left:0;z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-99%, 1.5rem)}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .status{min-height:2rem;white-space:normal;display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .status:before{margin-right:.5rem}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .reason{display:block;margin:.7rem 0 0 0;font-size:1.1rem;line-height:1.1;display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:rgba(64,64,64,.8)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval:before{top:0;height:100%;background:linear-gradient(180deg, transparent, #ed5a23 60%)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval:after{position:absolute;content:\\\"\\\";top:1.5rem;height:.5rem;width:.5rem;border:2px solid rgba(237,90,35,.6);border-right:none;border-bottom:none;transform:rotate(45deg)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ed5a23}ux-dialog.message-status-transitions-history .body .statuses li:last-of-type>.timeline-interval:before,ux-dialog.message-status-transitions-history .body .statuses li:last-of-type>.timeline-interval:after{display:none}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type:not(.ended)>.timeline-interval:before{top:-2rem;height:calc(100% + 3rem)}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.timeline-interval>.circle{position:relative}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.timeline-interval>.circle:before{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:inline-block;content:\\\"\\\";margin:0;font-size:.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(237,90,35,.5);vertical-align:unset;animation:unset;font-weight:900}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.status-date>div{box-shadow:0 0 0 1px rgba(64,64,64,.4)}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.status-date>div svg polyline{fill:#fff;stroke:rgba(64,64,64,.5)}ux-dialog.message-status-transitions-history .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/message-status-transitions-history.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6CDvbJ,eACE,CAAA,6DAEE,qBACE,CAAA,gEACA,YACE,CAAA,iBACA,CAAA,eAVe,CAAA,mFAYf,mBACE,CAAA,aACA,CAAA,kBACA,CAAA,sBACA,CAAA,aAjBQ,CAAA,YAAA,CAAA,0FAoBR,aACE,CAAA,iBACA,CAAA,UACA,CAAA,SAzBK,CAAA,kBEHD,CAAA,2FF+BN,iBACE,CAAA,SACA,CAAA,WACA,CAAA,UACA,CAAA,iBACA,CAAA,eACA,CAAA,kCACA,CAAA,6EAEJ,gBACE,CAAA,aACA,CAAA,kBAnCa,CAAA,oBAqCb,CAAA,iFACA,iBACE,CAAA,SACA,CAAA,iBACA,CAAA,aACA,CAAA,eACA,CAAA,yBACA,CAAA,mBACA,CAAA,UACA,CAAA,uFACA,uBACE,CAAA,iFACJ,iBACE,CAAA,KACA,CAAA,wBACA,CAAA,SACA,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,kDACA,CAAA,0FACA,SACE,CAAA,WACA,CAAA,eACA,CAAA,gFAEN,iBACI,CAAA,yBACA,CAAA,aACA,CAAA,WACA,CAAA,eApEW,CAAA,UAsEX,CAAA,qCACA,CAAA,eACA,CAAA,eACA,CAAA,yBACA,CAAA,oFACA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,SACA,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,iCACA,CAAA,6FACA,SACE,CAAA,WACA,CAAA,eACA,CAAA,wFACJ,eACE,CAAA,kBACA,CAAA,mBCzBZ,CAAA,cD0B8C,CAAA,eCxB9C,CAAA,sBACA,CAAA,YDuB+B,CAAA,oBAAA,CAAA,2BCpB/B,CAAA,+FDqBY,kBACE,CAAA,wFACJ,aACE,CAAA,kBACA,CAAA,gBACA,CAAA,eACA,CAAA,mBCjCZ,CAAA,cDkC8C,CAAA,eChC9C,CAAA,sBACA,CAAA,YD+B+B,CAAA,oBAAA,CAAA,2BC5B/B,CAAA,uBD6BY,CAAA,0FAEN,KACE,CAAA,WACA,CAAA,4DACA,CAAA,yFACF,iBACE,CAAA,UACA,CAAA,UA7GQ,CAAA,YA+GR,CAAA,WACA,CAAA,mCACA,CAAA,iBACA,CAAA,kBACA,CAAA,uBACA,CAAA,2FACF,kCACE,CAAA,6MAEF,YACE,CAAA,oHAEF,SACE,CAAA,wBACA,CAAA,+GAEF,iBACE,CAAA,sHACA,iBACE,CAAA,OACA,CAAA,QACA,CAAA,+BACA,CAAA,oBCvFV,CAAA,WDwF+B,CAAA,QAAyB,CAAA,eAAP,CAAA,iBCpFjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,wBDgF2D,CAAA,oBAA0B,CAAA,eCzFC,CAAA,eAkBpF,CAAA,qGDwEI,sCACI,CAAA,kHAEE,SACE,CAAA,wBACA,CAAA,qDACd,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$timeline-width: 2px\\n$margin-top-wrappers: -1.5rem\\n$timeline-circle: 1.5rem\\n$list-timeline-height: 8rem\\n$timeline-status-date: 10.3rem\\n\\nux-dialog.message-status-transitions-history\\n  max-width: 450px\\n  .body\\n    .statuses\\n      padding: 3rem 1.5rem 0\\n      > li\\n        display: flex\\n        position: relative\\n        min-height: $list-timeline-height\\n        > .timeline-interval\\n          display: inline-flex\\n          flex-shrink: 0\\n          align-items: center\\n          justify-content: center\\n          height: $timeline-circle\\n          width: $timeline-circle\\n          &:before // Line\\n            display: block\\n            position: absolute\\n            content: ''\\n            width: $timeline-width\\n            background: $primary-color\\n          > .circle\\n            position: relative\\n            z-index: 2\\n            height: 100%\\n            width: 100%\\n            border-radius: 50%\\n            background: #fff\\n            box-shadow: inset 0 0 0 2px $primary-color\\n        \\n        > .status-date\\n          font-size: 1.2rem\\n          flex-shrink: 0\\n          flex-basis: $timeline-status-date\\n          margin: $margin-top-wrappers 0 0 0\\n          > div\\n            position: relative\\n            z-index: 4\\n            width: fit-content\\n            padding: .8rem\\n            background: #fff\\n            box-shadow: 0 0 0 1px #ddd\\n            border-radius: .2rem\\n            color: #000\\n            .time\\n              color: rgba($text-color, .5)\\n          svg\\n            position: absolute\\n            top: 0\\n            left: calc(100% + 1.1rem)\\n            z-index: 5\\n            padding: 0\\n            width: auto\\n            height: 1.5rem\\n            transform: translate(-100%, 1.5rem) rotateY(180deg)\\n            > polyline\\n              fill: #fff\\n              stroke: #ddd\\n              stroke-width: 30\\n        // Wrapper pricelist\\n        > .wrapper-status\\n            position: relative\\n            margin: $margin-top-wrappers 0 0 2.5rem\\n            padding: .8rem\\n            height: 100%\\n            min-height: $list-timeline-height\\n            width: 100%\\n            border-radius: .3rem .3rem .5rem .5rem\\n            line-height: 1.3\\n            background: #fff\\n            box-shadow: 0 0 0 1px #ddd\\n            svg\\n              position: absolute\\n              top: 0\\n              left: 0\\n              z-index: 5\\n              padding: 0\\n              width: auto\\n              height: 1.5rem\\n              transform: translate(-99%, 1.5rem)\\n              > polyline\\n                fill: #fff\\n                stroke: #ddd\\n                stroke-width: 30\\n            .status\\n              min-height: 2rem\\n              white-space: normal\\n              @include max-lines(1, $max-width: 100%)\\n              &:before\\n                margin-right: .5rem\\n            .reason\\n              display: block\\n              margin: .7rem 0 0 0\\n              font-size: 1.1rem\\n              line-height: 1.1\\n              @include max-lines(3, $max-width: 100%)\\n              color: rgba($text-color, .8)\\n      li > .timeline-interval\\n        &:before // Line\\n          top: 0\\n          height: 100%\\n          background: linear-gradient(180deg, transparent, $primary-color 60%)\\n        &:after // Arrow\\n          position: absolute\\n          content: ''\\n          top: $timeline-circle\\n          height: .5rem\\n          width: .5rem\\n          border: $timeline-width solid rgba($primary-color, .6)\\n          border-right: none\\n          border-bottom: none\\n          transform: rotate(45deg)\\n        > .circle\\n          box-shadow: inset 0 0 0 2px $primary-color\\n      li:last-of-type > .timeline-interval\\n        &:before, &:after\\n          display: none\\n      li:first-of-type:not(.ended) > .timeline-interval \\n        &:before\\n          top: -2rem\\n          height: calc(100% + 3rem)\\n      li:first-of-type.ended \\n        > .timeline-interval > .circle\\n          position: relative\\n          &:before\\n            position: absolute\\n            top: 50%\\n            left: 50%\\n            transform: translate(-50%, -50%)\\n            @include fontawesome(\\\"\\\\f111\\\", \\\"solid\\\", .5rem, 0, rgba($primary-color, .5), unset)\\n        > .status-date > div\\n            box-shadow: 0 0 0 1px rgba($text-color, .4)\\n            svg\\n              polyline\\n                fill: #fff\\n                stroke: rgba($text-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.queue-cost-detail table{box-shadow:0 0 1px rgba(64,64,64,.7)}ux-dialog.queue-cost-detail table td{vertical-align:top}ux-dialog.queue-cost-detail table tbody tr:last-of-type{box-shadow:0 5px 5px 0px rgba(64,64,64,.1)}ux-dialog.queue-cost-detail table tfoot>tr>td,ux-dialog.queue-cost-detail table tfoot>tr>td>strong{white-space:nowrap}ux-dialog.queue-cost-detail table tfoot>tr:first-of-type{box-shadow:inset 0 1px 0 rgba(64,64,64,.3),inset 0 -1px 0 0 rgba(224,224,224,.5)}ux-dialog.queue-cost-detail table tfoot>tr:last-of-type{box-shadow:inset 0 1px 0 rgba(237,90,35,.5)}ux-dialog.queue-cost-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.queue-cost-detail .gross-amount,ux-dialog.queue-cost-detail .order-amount{margin:0;white-space:nowrap;text-align:right}ux-dialog.queue-cost-detail .gross-amount.DISCONTINUED,ux-dialog.queue-cost-detail .order-amount.DISCONTINUED{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}ux-dialog.queue-cost-detail .gross-amount.order-amount,ux-dialog.queue-cost-detail .order-amount.order-amount{display:block;color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/spedizioni/dialogs/queue-cost-detail.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC7bF,kCACE,oCAAA,CACA,qCACE,kBAAA,CAEA,wDACE,0CAAA,CAGA,mGACE,kBAAA,CACF,yDACE,gFAAA,CACF,wDACE,2CAAA,CACR,oCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,oFACE,QAAA,CACA,kBAAA,CACA,gBAAA,CACA,8GDUF,uBAD+B,CAE/B,8CAAA,CCTE,8GACE,aAAA,CACA,aCjCO\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-cost-detail\\n  table\\n    box-shadow: 0 0 1px rgba($text-color, .7)\\n    td\\n      vertical-align: top\\n    tbody \\n      tr:last-of-type\\n        box-shadow: 0 5px 5px 0px rgba($text-color, .1)\\n    tfoot\\n      > tr\\n        > td, > td > strong\\n          white-space: nowrap\\n        &:first-of-type\\n          box-shadow: inset 0 1px 0 rgba($text-color, .3), inset 0 -1px 0 0 rgba(#e0e0e0, .5)\\n        &:last-of-type\\n          box-shadow: inset 0 1px 0 rgba($primary-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n  .gross-amount, .order-amount\\n    margin: 0\\n    white-space: nowrap\\n    text-align: right\\n    &.DISCONTINUED\\n      @include line-through()\\n    &.order-amount\\n      display: block\\n      color: $text-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.queue-csv-download .body h3{border-top:1px solid #e0e0e0}ux-dialog.queue-csv-download .body table thead{border:1px solid #e0e0e0;background:#ebebeb}ux-dialog.queue-csv-download .body table tbody{display:grid;max-height:30vh;overflow-y:scroll}ux-dialog.queue-csv-download .body table tbody>tr{width:100%;height:fit-content}ux-dialog.queue-csv-download .body table tbody>tr td{display:flex;justify-content:space-between}ux-dialog.queue-csv-download .body table tbody>tr td>.error{color:#404040;cursor:pointer;transition:color .3s;text-decoration:underline}ux-dialog.queue-csv-download .body table tbody>tr td>.error:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.queue-csv-download .body table tbody>tr td>.error:hover{color:#f30}ux-dialog.queue-csv-download .body table tbody tr:last-child{border-bottom:0 !important;box-shadow:none !important}ux-dialog.queue-csv-download .body table+*{border-top:1px solid #e0e0e0}ux-dialog.queue-csv-download .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/queue-csv-download.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,sCD5bA,4BACE,CAAA,+CAEA,wBACE,CAAA,kBACA,CAAA,+CACF,YACE,CAAA,eACA,CAAA,iBACA,CAAA,kDACA,UACE,CAAA,kBACA,CAAA,qDACA,YACE,CAAA,6BACA,CAAA,4DACA,aErBC,CAAA,cFuBC,CAAA,oBACA,CAAA,yBACA,CAAA,mEACA,oBC0BZ,CAAA,WDzBmC,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC6BvD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,oBD8CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kEDvCU,UEvBA,CAAA,6DFyBN,0BACE,CAAA,0BACA,CAAA,2CACN,4BACE,CAAA,qCAEJ,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-csv-download\\n  .body\\n    h3\\n      border-top: 1px solid #e0e0e0\\n    table\\n      thead\\n        border: 1px solid #e0e0e0\\n        background: #ebebeb\\n      tbody\\n        display: grid\\n        max-height: 30vh\\n        overflow-y: scroll\\n        > tr\\n          width: 100%\\n          height: fit-content\\n          td\\n            display: flex\\n            justify-content: space-between\\n            > .error\\n              color: $text-color\\n              cursor: pointer\\n              transition: color .3s\\n              text-decoration: underline\\n              &:before\\n                @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0 .3rem 0 0, $error-color)\\n              &:hover\\n                color: $error-color\\n        tr:last-child\\n          border-bottom: 0 !important\\n          box-shadow: none !important\\n    table + *\\n      border-top: 1px solid #e0e0e0\\n    \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.report-attachments .body .general-options{display:inline-block}ux-dialog.report-attachments .body>div{padding:0 1rem 1rem}ux-dialog.report-attachments .body>div>h3{padding:0}ux-dialog.report-attachments .body>div>p{margin:0}ux-dialog.report-attachments .body table tbody>tr>td,ux-dialog.report-attachments .body table tbody>tr>th,ux-dialog.report-attachments .body table thead>tr>td,ux-dialog.report-attachments .body table thead>tr>th{font-size:1.3rem}ux-dialog.report-attachments .body table tbody tr:last-of-type{box-shadow:none}ux-dialog.report-attachments .body table tbody .signature .fa-check{color:rgba(64,64,64,.3)}ux-dialog.report-attachments .body table tbody .signature .fa-check.checked{color:#1cc800}ux-dialog.report-attachments .printing-options>span:not(:last-of-type):after,ux-dialog.report-attachments .format-options>span:not(:last-of-type):after{content:\\\",\\\"}ux-dialog.report-attachments .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/spedizioni/dialogs/report-attachments.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC5bA,oDACE,oBAAA,CACF,uCACE,mBAAA,CACA,0CACE,SAAA,CACF,yCACE,QAAA,CAGA,oNACE,gBAAA,CAEF,+DACE,eAAA,CAEA,oEACE,uBAAA,CACA,4EACE,aClBE,CDqBV,wJACE,WAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,gBAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.report-attachments\\n  .body\\n    .general-options\\n      display: inline-block\\n    > div\\n      padding: 0 1rem 1rem\\n      > h3\\n        padding: 0\\n      > p\\n        margin: 0\\n    table\\n      tbody, thead\\n        > tr > td, > tr > th\\n          font-size: 1.3rem\\n      tbody\\n        tr:last-of-type\\n          box-shadow: none\\n        .signature\\n          .fa-check\\n            color: rgba($text-color, .3)\\n            &.checked\\n              color: $success-color\\n  .printing-options, .format-options\\n    > span\\n      &:not(:last-of-type):after\\n        content: ','\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.report-multibox-detail .body{padding:1rem}ux-dialog.report-multibox-detail .body .addressLines{display:grid;grid-template-columns:repeat(2, 1fr)}ux-dialog.report-multibox-detail .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/spedizioni/dialogs/report-multibox-detail.sass\"],\"names\":[],\"mappings\":\"AAybA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCtbF,uCACE,YAAA,CACA,qDACE,YAAA,CACA,oCAAA,CACJ,yCACE,aAAA,CACA,WAAA,CACA,gBAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$timeline-width: 2px\\n$margin-top-wrappers: -1.5rem\\n$timeline-circle: 1.5rem\\n$list-timeline-height: 8rem\\n$timeline-status-date: 10.3rem\\n\\nux-dialog.report-multibox-detail\\n  .body\\n    padding: 1rem\\n    .addressLines\\n      display: grid\\n      grid-template-columns: repeat(2, 1fr)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.report-queue-resend{width:min(50vw,80rem)}ux-dialog.report-queue-resend .body{overflow:hidden}ux-dialog.report-queue-resend .recipients-counter{color:#404040}ux-dialog.report-queue-resend .selection-btn{min-width:126.02px}ux-dialog.report-queue-resend .alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.report-queue-resend .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/report-queue-resend.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,8BD9bJ,qBACE,CAAA,oCACA,eACE,CAAA,kDACF,aEPW,CAAA,6CFSX,kBACE,CAAA,4CACF,oBCyCA,CAAA,WDxCuB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC4C3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sCDtDF,aACE,CAAA,WACA,CAAA,gBACA,CAAA,4BACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.report-queue-resend\\n  width: min(50vw, 80rem)\\n  .body\\n    overflow: hidden\\n  .recipients-counter\\n    color: $text-color\\n  .selection-btn\\n    min-width: 126.02px\\n  .alert:before\\n    @include fontawesome('\\\\f06a', 'regular', 1.4rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n    \\n  \\n\\n\\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.spedizioni-pending i.fal{color:rgba(64,64,64,.7)}router-view.spedizioni-pending i.fal.used-channel{color:#ed5a23}router-view.spedizioni-pending div.total-to-pay{margin-top:.5rem;font-size:1rem;font-weight:600;line-height:1;color:#ed5a23;text-align:center;text-transform:uppercase}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/drafts.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,qCACE,uBAAA,CACA,kDACE,aCLU,CDMd,gDACE,gBAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,aCXY,CDYZ,iBAAA,CACA,wBAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n\\nrouter-view.spedizioni-pending\\n  i.fal\\n    color: rgba($text-color, 0.7)\\n    &.used-channel\\n      color: $primary-color\\n  div.total-to-pay\\n    margin-top: 0.5rem\\n    font-size: 1rem\\n    font-weight: 600\\n    line-height: 1\\n    color: $primary-color\\n    text-align: center\\n    text-transform: uppercase\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.spedizioni-pending .channels{margin-top:.5rem}router-view.spedizioni-pending .channels>i{font-size:1.6rem;color:rgba(64,64,64,.4)}router-view.spedizioni-pending .channels>i.used{color:#ed5a23}router-view.spedizioni-pending .channels>i+i{margin-left:.5rem}router-view.spedizioni-pending .payment-method-edit{margin-left:.1rem;font-size:1.3rem;color:rgba(64,64,64,.4);transition:color .3s;cursor:pointer}router-view.spedizioni-pending .payment-method-edit:hover{color:#ed5a23}router-view.spedizioni-pending .payment .bank-transfer-data{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer}router-view.spedizioni-pending .payment .delete-payment{color:#ed5a23;text-decoration:none;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-pending .payment .delete-payment:before{display:inline-block;content:\\\"\\\";margin:0 .1rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:baseline;animation:unset;font-weight:400;transition:transform .5s ease-out}router-view.spedizioni-pending .payment .delete-payment:hover{color:#ed5a23}router-view.spedizioni-pending .payment .delete-payment.attachments{display:block}router-view.spedizioni-pending .payment .payment-pending{white-space:nowrap}router-view.spedizioni-pending .payment .payment-pending:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#a36200;vertical-align:baseline;animation:spinner 1s linear infinite;font-weight:900}router-view.spedizioni-pending .payment span+.short-confirmation-code,router-view.spedizioni-pending .payment small+.short-confirmation-code{margin-top:.5rem}router-view.spedizioni-pending .gross-amount,router-view.spedizioni-pending .order-amount{white-space:nowrap}router-view.spedizioni-pending .gross-amount.line-through,router-view.spedizioni-pending .order-amount.line-through{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}router-view.spedizioni-pending .gross-amount.order-amount,router-view.spedizioni-pending .order-amount.order-amount{display:block}@keyframes spinner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/pending.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,yCD7bF,gBACE,CAAA,2CACA,gBACE,CAAA,uBACA,CAAA,gDACA,aERU,CAAA,6CFUV,iBACE,CAAA,oDAEN,iBACE,CAAA,gBACA,CAAA,uBACA,CAAA,oBACA,CAAA,cACA,CAAA,0DACA,aEnBY,CAAA,4DFuBZ,aACE,CAAA,aExBU,CAAA,yBF0BV,CAAA,cACA,CAAA,wDAEF,aE7BY,CAAA,oBF+BV,CAAA,cACA,CAAA,oBACA,CAAA,aElCO,CAAA,+DFoCP,oBCgBJ,CAAA,WDf2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCmB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,uBFoCsE,CAAA,eCcE,CAAA,eAgBpF,CAAA,iCD7BI,CAAA,8DACF,aEtCU,CAAA,oEFwCV,aACE,CAAA,yDAEJ,kBACE,CAAA,gEACA,oBCMJ,CAAA,WDL2B,CAAA,QAA0B,CAAA,gBAAR,CAAA,iBCS7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDbwD,CAAA,uBAA6B,CAAA,oCAAU,CAAA,eCsB7F,CAAA,6IDpBA,gBACE,CAAA,0FAEJ,kBACE,CAAA,oHACA,uBACE,CAAA,8CACA,CAAA,oHACF,aACE,CAAA,mBAGN,KACE,sBACE,CAAA,GACF,wBACE,CAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.spedizioni-pending\\n  .channels\\n    margin-top: .5rem\\n    > i\\n      font-size: 1.6rem\\n      color: rgba($text-color, .4)\\n      &.used\\n        color: $primary-color\\n      & + i\\n        margin-left: .5rem\\n\\n  .payment-method-edit\\n    margin-left: 0.1rem\\n    font-size: 1.3rem\\n    color: rgba($text-color, .4)\\n    transition: color .3s\\n    cursor: pointer\\n    &:hover\\n      color: $primary-color\\n\\n  .payment\\n    .bank-transfer-data\\n      display: block\\n      color: $primary-color\\n      text-decoration: underline\\n      cursor: pointer\\n\\n    .delete-payment\\n      color: $primary-color\\n      text-decoration: none\\n      cursor: pointer\\n      transition: color .3s\\n      color: $text-color\\n      &:before\\n        @include fontawesome('\\\\f057', 'regular', 1.3rem, 0 .1rem 0 0, $primary-color, baseline)\\n        transition: transform 0.5s ease-out\\n      &:hover\\n        color: $primary-color\\n      &.attachments\\n        display: block\\n\\n    .payment-pending\\n      white-space: nowrap\\n      &:before\\n        @include fontawesome(\\\"\\\\f1ce\\\", \\\"solid\\\", 1.2rem, 0, darken($pending-color, 18%), baseline, spinner 1s linear infinite)\\n\\n    span + .short-confirmation-code, small + .short-confirmation-code\\n      margin-top: .5rem\\n\\n  .gross-amount, .order-amount\\n    white-space: nowrap\\n    &.line-through\\n      color: rgba($text-color, .8)\\n      text-decoration: line-through rgba($error-color, .6)\\n    &.order-amount\\n      display: block\\n\\n\\n@keyframes spinner\\n  from \\n    transform: rotate(0deg)\\n  to\\n    transform: rotate(360deg)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.spedizioni-reportistica-dettaglio .redirect-to-detail,router-view.spedizioni-reportistica-dettaglio .envelope-logo{display:block;white-space:nowrap;color:#ed5a23;cursor:pointer;text-decoration:underline;transition:all .3s}router-view.spedizioni-reportistica-dettaglio .redirect-to-detail:hover,router-view.spedizioni-reportistica-dettaglio .envelope-logo:hover{color:#404040}router-view.spedizioni-reportistica-dettaglio .redirect-to-detail:before,router-view.spedizioni-reportistica-dettaglio .envelope-logo:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .envelope-logo:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .queue-details{display:grid;height:fit-content;grid-template-columns:repeat(2, 1fr);grid-auto-rows:1fr;padding-bottom:2rem}@media screen and (max-width: 991px)and (orientation: portrait){router-view.spedizioni-reportistica-dettaglio .queue-details{grid-template-columns:repeat(1, 1fr);margin-bottom:1rem !important}router-view.spedizioni-reportistica-dettaglio .queue-details .queue,router-view.spedizioni-reportistica-dettaglio .queue-details .sender{margin:1rem !important}router-view.spedizioni-reportistica-dettaglio .queue-details .queue.sender,router-view.spedizioni-reportistica-dettaglio .queue-details .sender.sender{margin-top:2rem !important}}router-view.spedizioni-reportistica-dettaglio .queue-details .queue,router-view.spedizioni-reportistica-dettaglio .queue-details .sender{height:100%;border:1px solid #e0e0e0;background:#fcfcfc}router-view.spedizioni-reportistica-dettaglio .queue-details .queue h3,router-view.spedizioni-reportistica-dettaglio .queue-details .sender h3{display:flex;justify-content:space-between;align-items:center;margin:0;padding:1rem;min-height:5rem;box-shadow:inset 0 -1px 0 0 #e0e0e0}@media screen and (max-width: 1199px)and (orientation: portrait){router-view.spedizioni-reportistica-dettaglio .queue-details .queue h3 .text-color,router-view.spedizioni-reportistica-dettaglio .queue-details .sender h3 .text-color{font-size:1.2rem}router-view.spedizioni-reportistica-dettaglio .queue-details .queue h3 ka-button>span,router-view.spedizioni-reportistica-dettaglio .queue-details .sender h3 ka-button>span{font-size:1.2rem !important}}router-view.spedizioni-reportistica-dettaglio .queue-details .queue .loader-wrapper,router-view.spedizioni-reportistica-dettaglio .queue-details .sender .loader-wrapper{position:relative;width:100%;min-height:16rem;height:calc(100% - 3.4rem)}router-view.spedizioni-reportistica-dettaglio .queue-details .queue .loader-wrapper>.spinner-loader,router-view.spedizioni-reportistica-dettaglio .queue-details .sender .loader-wrapper>.spinner-loader{position:absolute;top:calc(50% - 2.5rem);left:calc(50% - 2.5rem);width:5rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #c0c0c0 94%, rgba(0, 0, 0, 0)) top/8px 8px no-repeat,conic-gradient(rgba(0, 0, 0, 0) 30%, #c0c0c0);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 8px), #000 0);animation:l13 1s infinite linear}router-view.spedizioni-reportistica-dettaglio .queue-details .queue .table-wrapper,router-view.spedizioni-reportistica-dettaglio .queue-details .sender .table-wrapper{max-height:25vh;overflow-y:auto}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table{height:100%}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table thead,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table thead{background:#f9f9f9}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table thead th,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table thead th{padding:1rem}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table tbody,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table tbody{height:fit-content}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table tr,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table tr{box-shadow:none;background:none}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .thead,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .thead{background:#f9f9f9;box-shadow:inset 0 1px 0 0 #e0e0e0,inset 0 -1px 0 0 #e0e0e0}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .thead>td>small,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .thead>td>small{font-weight:bold;color:#404040}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody{height:100%}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody>td,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody>td{border:none}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes{margin:0;padding:0;list-style:none}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes .multibox,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes .multibox{cursor:pointer}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes .multibox>small:first-of-type,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes .multibox>small:first-of-type{color:#404040;text-decoration:underline}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes .multibox>small:first-of-type:hover,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes .multibox>small:first-of-type:hover{color:#ed5a23 !important}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes .multibox:before,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes .multibox:before{display:inline-block;content:\\\"\\\";margin:0 .2rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel>i,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel>template>i{font-size:2rem;color:#ed5a23}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel>p{font-size:1.4rem;line-height:1.2}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel .arrow-icon{position:relative}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel .arrow-icon:after{position:absolute;left:1.1rem;top:.6rem;display:inline-block;content:\\\"\\\";margin:0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message{font-size:1.2rem;line-height:1.2}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.alt-channel{color:#404040}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.alt-channel.SENDEMAIL:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:sub;animation:unset;font-weight:300}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.alt-channel.SENDPOSTA:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:sub;animation:unset;font-weight:300}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.alt-channel.PEC:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:sub;animation:unset;font-weight:300}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.subject{display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.body{font-size:1.2rem;line-height:1.2;display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks{font-size:1.6rem;color:rgba(64,64,64,.3)}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:first-of-type.RECEIVED-OPENED,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:first-of-type.RECEIVED-READ,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:first-of-type.RECEIVED-READ,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:first-of-type.RECEIVED-CERTIFIED-READ{color:#1cc800}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type{display:none}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type.MULTICERTA{display:inline-block}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type.MULTICERTA.RECEIVED-READ,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type.MULTICERTA.RECEIVED-READ,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type.MULTICERTA.RECEIVED-CERTIFIED-READ{color:#1cc800}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks i+i{margin-left:-0.6rem}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .download{font-size:2rem}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.status .tag{height:fit-content}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.status .tag>i{font-size:1.1rem}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.status button{border:none;outline:none;font-size:1.8rem;background:rgba(0,0,0,0)}router-view.spedizioni-reportistica-dettaglio .attachments,router-view.spedizioni-reportistica-dettaglio .message-cost-detail,router-view.spedizioni-reportistica-dettaglio .queue-schedule,router-view.spedizioni-reportistica-dettaglio .receipt,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica-dettaglio .attachments.attachments:before,router-view.spedizioni-reportistica-dettaglio .attachments.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .attachments.receipt:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.attachments:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.receipt:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.attachments:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.receipt:before,router-view.spedizioni-reportistica-dettaglio .receipt.attachments:before,router-view.spedizioni-reportistica-dettaglio .receipt.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .receipt.receipt:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.attachments:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.receipt:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .attachments.message-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.message-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.message-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .receipt.message-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.message-cost-detail:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .attachments.message-status-transitions-history:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.message-status-transitions-history:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.message-status-transitions-history:before,router-view.spedizioni-reportistica-dettaglio .receipt.message-status-transitions-history:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.message-status-transitions-history:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .attachments:hover,router-view.spedizioni-reportistica-dettaglio .message-cost-detail:hover,router-view.spedizioni-reportistica-dettaglio .queue-schedule:hover,router-view.spedizioni-reportistica-dettaglio .receipt:hover,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history:hover{color:#ed5a23}router-view.spedizioni-reportistica-dettaglio .postal-link{color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica-dettaglio .postal-link::before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .postal-link:hover{color:#ed5a23}router-view.spedizioni-reportistica-dettaglio .gross-amount,router-view.spedizioni-reportistica-dettaglio .order-amount{white-space:nowrap}router-view.spedizioni-reportistica-dettaglio .gross-amount.line-through,router-view.spedizioni-reportistica-dettaglio .order-amount.line-through{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}router-view.spedizioni-reportistica-dettaglio .gross-amount.order-amount,router-view.spedizioni-reportistica-dettaglio .order-amount.order-amount{display:block}ux-dialog.interrupt-delivery ux-dialog-footer button:first-of-type{margin-right:0;background-color:#11254b}ux-dialog.interrupt-delivery ux-dialog-footer button:first-of-type:hover{background:#03060d}@keyframes l13{100%{transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/report/report-detail.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$loader-width: 5rem\\nrouter-view.spedizioni-reportistica-dettaglio\\n  .redirect-to-detail, .envelope-logo\\n    display: block\\n    @include clickable($primary-color, $text-color)\\n    &:before\\n      @include fontawesome(\\\"\\\\f362\\\", \\\"regular\\\", 1.2rem, 0 .5rem 0 0, inherit, top)\\n  .envelope-logo\\n    &:before\\n      @include fontawesome('\\\\f08e', 'regular', 1.2rem, 0 .5rem 0 0, inherit, top)\\n      \\n  .queue-details\\n    display: grid\\n    height: fit-content\\n    grid-template-columns: repeat(2, 1fr)\\n    grid-auto-rows: 1fr\\n    padding-bottom: 2rem\\n    @media screen and (max-width: 991px) and (orientation: portrait)\\n      grid-template-columns: repeat(1, 1fr)\\n      margin-bottom: 1rem !important\\n      .queue, .sender\\n        margin: 1rem !important\\n        &.sender\\n          margin-top: 2rem !important\\n    .queue, .sender\\n      height: 100%\\n      border: 1px solid #e0e0e0\\n      background: #fcfcfc\\n      h3\\n        display: flex\\n        justify-content: space-between\\n        align-items: center\\n        margin: 0\\n        padding: 1rem\\n        min-height: 5rem\\n        box-shadow: inset 0 -1px 0 0 #e0e0e0\\n        @media screen and (max-width: 1199px) and (orientation: portrait)\\n          .text-color\\n            font-size: 1.2rem\\n          ka-button > span\\n            font-size: 1.2rem !important\\n      .loader-wrapper\\n        position: relative\\n        width: 100%\\n        min-height: 16rem\\n        height: calc(100% - 3.4rem)\\n        > .spinner-loader\\n          position: absolute\\n          top: calc(50% - $loader-width / 2)\\n          left: calc(50% - $loader-width / 2)\\n          width: $loader-width\\n          aspect-ratio: 1\\n          border-radius: 50%\\n          background: radial-gradient(farthest-side,#c0c0c0 94%,#0000) top/8px 8px no-repeat, conic-gradient(#0000 30%,#c0c0c0)\\n          -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0)\\n          animation: l13 1s infinite linear\\n      .table-wrapper\\n        max-height: 25vh\\n        overflow-y: auto\\n      table\\n        height: 100%\\n        thead\\n          background: #f9f9f9\\n          th\\n            padding: 1rem\\n        tbody\\n          height: fit-content\\n        tr\\n          box-shadow: none\\n          background: none\\n        .thead\\n          background: #f9f9f9\\n          box-shadow: inset 0 1px 0 0 #e0e0e0, inset 0 -1px 0 0 #e0e0e0\\n          > td > small\\n            font-weight: bold\\n            color: $text-color\\n        .tbody\\n          height: 100%\\n          > td\\n            border: none\\n          .multiboxes\\n            margin: 0\\n            padding: 0\\n            list-style: none\\n            .multibox\\n              cursor: pointer\\n              > small:first-of-type\\n                color: $text-color\\n                text-decoration: underline\\n                &:hover\\n                  color: $primary-color !important\\n              &:before\\n                @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .2rem 0 0, $primary-color)\\n  tbody > tr > td\\n    &.channel\\n      > i, > template > i\\n        font-size: 2rem\\n        color: $primary-color\\n      > p\\n        font-size: 1.4rem\\n        line-height: 1.2\\n      .arrow-icon\\n        position: relative\\n        &:after\\n          position: absolute\\n          left: 1.1rem\\n          top: .6rem\\n          @include fontawesome(\\\"\\\\f30b\\\", \\\"regular\\\", 1.60rem, 0, inherit, top)\\n    &.message\\n      font-size: 1.2rem\\n      line-height: 1.2\\n      > .alt-channel\\n        color: $text-color\\n        &.SENDEMAIL:before\\n          @include fontawesome('\\\\f1fa', 'light', 1.5rem, 0 .3rem 0 0, $primary-color, sub)\\n        &.SENDPOSTA:before\\n          @include fontawesome('\\\\f674', 'light', 1.5rem, 0 .3rem 0 0, $primary-color, sub)\\n        &.PEC:before\\n          @include fontawesome('\\\\f5f3', 'light', 1.5rem, 0 .3rem 0 0, $primary-color, sub)\\n    &.message\\n      > .subject\\n        @include max-lines(1, $max-width: 100%)\\n      > .body\\n        font-size: 1.2rem\\n        line-height: 1.2\\n        @include max-lines(3, $max-width: 100%)\\n    &.download-checks\\n      .checks\\n        font-size: 1.6rem\\n        color: rgba($text-color, 0.3)\\n        > i:first-of-type\\n            &.RECEIVED-OPENED, &.RECEIVED-READ, &.RECEIVED-READ, &.RECEIVED-CERTIFIED-READ\\n              color: $success-color\\n        > i:last-of-type\\n          display: none\\n          &.MULTICERTA\\n            display: inline-block\\n            &.RECEIVED-READ, &.RECEIVED-READ, &.RECEIVED-CERTIFIED-READ\\n              color: $success-color\\n        i + i\\n          margin-left: -.6rem\\n      .download\\n        font-size: 2rem\\n    &.status\\n      .tag\\n        height: fit-content\\n        > i\\n          font-size: 1.1rem\\n      button\\n        border: none\\n        outline: none\\n        font-size: 1.8rem\\n        background: transparent\\n\\n  .attachments, .message-cost-detail, .queue-schedule, .receipt, .message-status-transitions-history\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &.attachments:before, &.queue-schedule:before, &.receipt:before\\n      @include fontawesome('\\\\f56d', 'regular', 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &.message-cost-detail:before\\n      @include fontawesome('\\\\f51e', 'regular', 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &.message-status-transitions-history:before\\n      @include fontawesome('\\\\f550', 'regular', 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  \\n  .postal-link\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &::before\\n      @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  \\n  .gross-amount, .order-amount\\n    white-space: nowrap\\n    &.line-through\\n      color: rgba($text-color, .8)\\n      text-decoration: line-through rgba($error-color, .6)\\n    &.order-amount\\n      display: block\\n  \\nux-dialog.interrupt-delivery\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background-color: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 15%)\\n@keyframes l13\\n  100%\\n    transform: rotate(1turn)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.spedizioni-reportistica md-table-toolbar .selected,router-view.spedizioni-reportistica-dettaglio md-table-toolbar .selected{align-self:center;margin-right:1rem;font-size:1.3rem}router-view.spedizioni-reportistica .channels,router-view.spedizioni-reportistica-dettaglio .channels{margin-top:.5rem}router-view.spedizioni-reportistica .channels>.channel,router-view.spedizioni-reportistica-dettaglio .channels>.channel{font-size:1.6rem;color:#b0b0b0;cursor:pointer}router-view.spedizioni-reportistica .channels>.channel.used,router-view.spedizioni-reportistica-dettaglio .channels>.channel.used{color:#ed5a23}router-view.spedizioni-reportistica .channels>.channel+.channel,router-view.spedizioni-reportistica-dettaglio .channels>.channel+.channel{margin-left:.5rem}router-view.spedizioni-reportistica .channels>.channel.forwarding,router-view.spedizioni-reportistica-dettaglio .channels>.channel.forwarding{position:relative;color:#ed5a23}router-view.spedizioni-reportistica .channels>.channel.forwarding:after,router-view.spedizioni-reportistica-dettaglio .channels>.channel.forwarding:after{position:absolute;left:1.05rem;top:.2rem;display:inline-block;content:\\\"\\\";margin:0;font-size:1.35rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica .channels p.queue-info>small,router-view.spedizioni-reportistica-dettaglio .channels p.queue-info>small{white-space:nowrap}router-view.spedizioni-reportistica .channels p.queue-info>small:not(.redirect-to-detail)>i,router-view.spedizioni-reportistica-dettaglio .channels p.queue-info>small:not(.redirect-to-detail)>i{font-size:1.5rem;vertical-align:text-bottom;color:#404040}router-view.spedizioni-reportistica .statuses .tag>.messages-count,router-view.spedizioni-reportistica-dettaglio .statuses .tag>.messages-count{font-size:1.1rem;white-space:nowrap}router-view.spedizioni-reportistica .statuses .tag>.messages-count>span,router-view.spedizioni-reportistica-dettaglio .statuses .tag>.messages-count>span{color:#0d0d0d !important}router-view.spedizioni-reportistica .statuses .messages-status,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status{display:flex;flex-wrap:wrap;padding-top:.2rem;font-size:1.3rem}router-view.spedizioni-reportistica .statuses .messages-status>small,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small{white-space:nowrap;color:#404040}router-view.spedizioni-reportistica .statuses .messages-status>small:not(:last-of-type),router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small:not(:last-of-type){margin-right:.25rem}router-view.spedizioni-reportistica .statuses .messages-status>small:not(:last-of-type):after,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small:not(:last-of-type):after{content:\\\",\\\";color:#404040}router-view.spedizioni-reportistica .statuses .messages-status>small.DISCONTINUED,router-view.spedizioni-reportistica .statuses .messages-status>small.ERROR,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.DISCONTINUED,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.ERROR{color:#991f00}router-view.spedizioni-reportistica .statuses .messages-status>small.COMPLETED,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.COMPLETED{color:#0e6200}router-view.spedizioni-reportistica .statuses .messages-status>small.PENDING,router-view.spedizioni-reportistica .statuses .messages-status>small.WARNING,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.PENDING,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.WARNING{color:rgba(64,64,64,.8)}router-view.spedizioni-reportistica .attachments,router-view.spedizioni-reportistica .update-messages,router-view.spedizioni-reportistica-dettaglio .attachments,router-view.spedizioni-reportistica-dettaglio .update-messages{color:#ed5a23;text-decoration:none;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica .attachments:before,router-view.spedizioni-reportistica .update-messages:before,router-view.spedizioni-reportistica-dettaglio .attachments:before,router-view.spedizioni-reportistica-dettaglio .update-messages:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:baseline;animation:unset;font-weight:400;transition:transform .5s ease-out}router-view.spedizioni-reportistica .attachments:hover,router-view.spedizioni-reportistica .update-messages:hover,router-view.spedizioni-reportistica-dettaglio .attachments:hover,router-view.spedizioni-reportistica-dettaglio .update-messages:hover{color:#ed5a23}router-view.spedizioni-reportistica .attachments.attachments,router-view.spedizioni-reportistica .update-messages.attachments,router-view.spedizioni-reportistica-dettaglio .attachments.attachments,router-view.spedizioni-reportistica-dettaglio .update-messages.attachments{display:block}router-view.spedizioni-reportistica .attachments.update-messages.loading:before,router-view.spedizioni-reportistica .update-messages.update-messages.loading:before,router-view.spedizioni-reportistica-dettaglio .attachments.update-messages.loading:before,router-view.spedizioni-reportistica-dettaglio .update-messages.update-messages.loading:before{animation:spinner 1s linear infinite}router-view.spedizioni-reportistica .queue-cost-detail,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica .queue-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .queue-cost-detail.legacy:before,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail.legacy:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .queue-cost-detail:hover,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail:hover{color:#ed5a23}router-view.spedizioni-reportistica .alert-message:before,router-view.spedizioni-reportistica-dettaglio .alert-message:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .amount,router-view.spedizioni-reportistica-dettaglio .amount{white-space:nowrap}router-view.spedizioni-reportistica .amount.line-through,router-view.spedizioni-reportistica-dettaglio .amount.line-through{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}router-view.spedizioni-reportistica .amount:not(.line-through),router-view.spedizioni-reportistica-dettaglio .amount:not(.line-through){display:block}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/report/report.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BCybA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,wID7bF,iBACE,CAAA,iBACA,CAAA,gBACA,CAAA,sGAEF,gBACE,CAAA,wHACA,gBACE,CAAA,aACA,CAAA,cACA,CAAA,kIACA,aEdU,CAAA,0IFgBV,iBACE,CAAA,8IACF,iBACE,CAAA,aEnBQ,CAAA,0JFqBR,iBACE,CAAA,YACA,CAAA,SACA,CAAA,oBC2BR,CAAA,WD1B6B,CAAA,QAA6B,CAAA,iBAAT,CAAA,iBC8BjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDlC6D,CAAA,kBAAS,CAAA,eCyBgB,CAAA,eAgBpF,CAAA,4IDvCE,kBACE,CAAA,kMACF,gBACE,CAAA,0BACA,CAAA,aEhCK,CAAA,gJFoCT,gBACE,CAAA,kBACA,CAAA,0JACA,wBACE,CAAA,wIACJ,YACE,CAAA,cACA,CAAA,iBACA,CAAA,gBACA,CAAA,oJACA,kBACE,CAAA,aE/CK,CAAA,0LFiDL,mBACE,CAAA,sMACA,WACE,CAAA,aEpDC,CAAA,8UFsDL,aACE,CAAA,wKACF,aACE,CAAA,wUACF,uBACE,CAAA,gOACR,aE3Dc,CAAA,oBF6DZ,CAAA,cACA,CAAA,oBACA,CAAA,aEhES,CAAA,4PFkET,oBCdF,CAAA,WDeyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCX7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,uBFkEoE,CAAA,eChBI,CAAA,eAgBpF,CAAA,iCDCE,CAAA,wPACF,aEpEY,CAAA,gRFsEZ,aACE,CAAA,4VACF,oCACE,CAAA,wHAEJ,aACE,CAAA,aE5EY,CAAA,yBF8EZ,CAAA,cACA,CAAA,oBACA,CAAA,aEjFS,CAAA,sIFmFT,oBC/BF,CAAA,WDgCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC5B7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,oJDkBA,oBCjCF,CAAA,WDkCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC9B7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC3Dc,CAAA,oBDkDqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,oIDoBA,aEtFY,CAAA,8HF0FZ,oBCvCF,CAAA,WDwCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCpC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UCvDY,CAAA,oBD8CuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kGD2BF,kBACE,CAAA,4HACA,uBC1D6B,CAAA,8CAE/B,CAAA,wID0DE,aACE,CAAA,mBAEJ,GACE,sBACE,CAAA,KACF,wBACE,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.spedizioni-reportistica, router-view.spedizioni-reportistica-dettaglio\\n  md-table-toolbar .selected\\n    align-self: center\\n    margin-right: 1rem\\n    font-size: 1.3rem\\n\\n  .channels\\n    margin-top: .5rem\\n    > .channel\\n      font-size: 1.6rem\\n      color: #b0b0b0\\n      cursor: pointer\\n      &.used\\n        color: $primary-color\\n      & + .channel\\n        margin-left: .5rem\\n      &.forwarding\\n        position: relative\\n        color: $primary-color\\n        &:after\\n          position: absolute\\n          left: 1.05rem\\n          top: .2rem\\n          @include fontawesome(\\\"\\\\f30b\\\", \\\"regular\\\", 1.35rem, 0, inherit, top)\\n    p.queue-info\\n      > small\\n        white-space: nowrap\\n      > small:not(.redirect-to-detail) > i\\n        font-size: 1.5rem\\n        vertical-align: text-bottom\\n        color: $text-color\\n\\n  .statuses\\n    .tag > .messages-count\\n      font-size: 1.1rem\\n      white-space: nowrap\\n      > span\\n        color: darken($text-color, 20%) !important\\n    .messages-status\\n      display: flex\\n      flex-wrap: wrap\\n      padding-top: .2rem\\n      font-size: 1.3rem\\n      > small\\n        white-space: nowrap\\n        color: $text-color\\n        &:not(:last-of-type)\\n          margin-right: .25rem\\n          &:after\\n            content: ','\\n            color: $text-color\\n        &.DISCONTINUED, &.ERROR  \\n          color: darken($error-color, 20%)\\n        &.COMPLETED \\n          color: darken($success-color, 20%)\\n        &.PENDING, &.WARNING\\n          color: rgba($text-color, .8)\\n  .attachments, .update-messages\\n    color: $primary-color\\n    text-decoration: none\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:before\\n      @include fontawesome('\\\\f2f1', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color, baseline)\\n      transition: transform 0.5s ease-out\\n    &:hover\\n      color: $primary-color\\n    &.attachments\\n      display: block\\n    &.update-messages.loading:before\\n      animation: spinner 1s linear infinite\\n\\n  .queue-cost-detail\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:before\\n      @include fontawesome('\\\\f51e', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color)\\n    &.legacy:before\\n      @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n    \\n  .alert-message\\n    &:before\\n      @include fontawesome('\\\\f071', 'regular', 1.1rem, 0 .5rem 0 0, $error-color)\\n  \\n  .amount\\n    white-space: nowrap\\n    &.line-through\\n      @include line-through()\\n    &:not(.line-through)\\n      display: block\\n\\n  @keyframes spinner\\n    0%\\n      transform: rotate(0deg)\\n    100%\\n      transform: rotate(360deg)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin currency($currency: 'euro', $font-size: 1.4rem, $margin: 0 0 0 .3rem)\\n  display: inline-block\\n  margin: $margin\\n  font-size: $font-size\\n  color: inherit\\n  font-family: 'Roboto slab', sans-serif\\n  @if $currency == 'euro'\\n    content: '€'\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text($font-size: 1.2rem, $vertical-align: unset)\\n  transition: color .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .5rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: $font-size\\n    font-style: normal\\n    font-weight: 400\\n    vertical-align: $vertical-align\\n    -webkit-font-smoothing: antialiased\\n    color: $primary-color\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  }\n\n  url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n  }\n\n  return url;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n  var content = item[1];\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (typeof btoa === \"function\") {\n    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n    var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n    var sourceMapping = \"/*# \".concat(data, \" */\");\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n  }\n\n  return [content].join(\"\\n\");\n};","// Module\nvar code = \"<template>\\n  <slot></slot>\\n  <div if.bind=\\\"busy\\\" class=\\\"busy\\\"></div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <template if.bind=\\\"!_schema.datamultiple\\\">\\n    <input\\n      type=\\\"checkbox\\\"\\n      checked.bind=\\\"value\\\"\\n      disabled.bind=\\\"readonly\\\"\\n      focus.trigger=\\\"focus()\\\"\\n      blur.trigger=\\\"blur()\\\"\\n      class=\\\"${readonly?'readonly':''}\\\"\\n      />\\n    <div\\n      innerhtml.bind=\\\"description || _schema.description\\\"\\n      click.delegate=\\\"click($event)\\\"\\n      class=\\\"description ${readonly?'readonly':''}\\\">\\n    </div>\\n  </template>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"display-value ${readonly ? 'readonly' : ''}\\\" click.delegate=\\\"open($event)\\\">\\n    <ul>\\n      <li repeat.for=\\\"item of valuestack\\\">${item.text|kaControlComboTextify}<i class=\\\"material-icons\\\" if.bind=\\\"_schema.datamultiple === true && !readonly && item.model.readonly !== true\\\" click.delegate=\\\"select(item)\\\">close</i></li>\\n    </ul>\\n  </div>\\n  <div ref=\\\"drawer\\\" class=\\\"${_schema.datamultiple === true ? 'multiple' : ''}\\\" show.bind=\\\"opened\\\">\\n    <template if.bind=\\\"schema.datapreload !== true || preloadedCombostack.length > 8\\\">\\n      <input type=\\\"text\\\"  class=\\\"search\\\" placeholder=\\\"Cerca\\\" ref=\\\"searchInput\\\" value.bind=\\\"term\\\" keyup.delegate=\\\"searchKeyUp($event)\\\" keydown.delegate=\\\"searchKeyDown($event)\\\" />\\n      <i if.bind=\\\"searchPending\\\" class=\\\"search-loader fal fa-spinner-third fa-spin\\\"></i>\\n    </template>\\n    <ul>\\n      <li repeat.for=\\\"item of _combostack\\\" click.delegate=\\\"select(item)\\\" class=\\\"${item.selected?'selected':''} ${item.model.optgroup?'optgroup':''} ${item.model.readonly === true?'readonly':''}\\\" innerhtml.bind=\\\"item.text | kaControlComboHighlight:term\\\"></li>\\n    </ul>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value | controlDate:schema.params.utc\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder || ''\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <div ref=\\\"drawer\\\" class=\\\"ka-control-date-drawer\\\">\\n    <ka-datetime type=\\\"date\\\" value.bind=\\\"value\\\" selected.trigger=\\\"close()\\\"></ka-datetime>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value | controlDatetime:schema.params.utc\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder || ''\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <div ref=\\\"drawer\\\" class=\\\"ka-control-datetime-drawer\\\">\\n    <ka-datetime type=\\\"datetime\\\" value.bind=\\\"value\\\" selected.trigger=\\\"close()\\\"></ka-datetime>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"displayValue\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <input\\n    type=\\\"file\\\"\\n    files.bind=\\\"value\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    disabled.bind=\\\"readonly\\\">\\n  <div class=\\\"buttons\\\">\\n    <button if.bind=\\\"!readonly && value\\\" click.delegate=\\\"clear()\\\"><i class=\\\"material-icons\\\">clear</i></button> \\n    <button if.bind=\\\"!readonly && !value\\\" style=\\\"pointer-events:none\\\"><i class=\\\"material-icons\\\">publish</i></button> \\n    <button if.bind=\\\"params.download && value\\\" click.delegate=\\\"download()\\\"><i class=\\\"material-icons\\\">get_app</i></button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div class=\\\"item ${readonly?'readonly':''}\\\" repeat.for=\\\"value of _value\\\">\\n    <div class=\\\"buttons\\\">\\n      <button if.bind=\\\"!readonly && $last && (!schema.max || $index+1 < schema.max)\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">add</i></button> \\n      <button if.bind=\\\"!readonly && !$first && (!schema.min || $index+1 > schema.min)\\\" click.delegate=\\\"remove(value)\\\"><i class=\\\"material-icons\\\">delete_outline</i></button> \\n    </div>\\n    <div class=\\\"row no-gutters\\\">\\n      <div class=\\\"${schema.class || 'col'}\\\" repeat.for=\\\"schema of _schema.datasource.model.schema\\\">\\n        <label if.bind=\\\"schema.label\\\">${schema.label}</label>\\n        <input\\n          type=\\\"text\\\"\\n          value.bind=\\\"value[schema.field]\\\"\\n          disabled.bind=\\\"readonly\\\"\\n          placeholder.bind=\\\"schema.label || schema.field\\\"\\n          keydown.delegate=\\\"keydown()\\\"\\n          change.delegate=\\\"change()\\\"\\n          focus.trigger=\\\"focus()\\\"\\n          blur.trigger=\\\"blur()\\\"\\n          ka-tooltip.bind=\\\"schema.label\\\"\\n          class=\\\"display-value ${readonly?'readonly':''}\\\">\\n      </div>\\n    </div>\\n  </div>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"number\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"password\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h3 if.bind=\\\"label\\\">${label}</h3>\\n  <table class=\\\"ka-table-like\\\">\\n    <thead>\\n      <tr>\\n        <th repeat.for=\\\"schema of _schema\\\">${schema.label || schema.field}</th>\\n        <th></th>\\n      </tr>\\n    </thead>\\n    <tbody>\\n      <tr repeat.for=\\\"value of _value\\\">\\n        <td repeat.for=\\\"schema of _schema\\\"><ka-control schema.bind=\\\"schema\\\" value.bind=\\\"value[schema.field]\\\" change.delegate=\\\"update()\\\"></ka-control></td>\\n        <td class=\\\"ka-tr-tools\\\"><button class=\\\"ka-table-button\\\" click.delegate=\\\"remove(value)\\\"><i class=\\\"material-icons\\\">delete_outline</i></button></td>\\n      </tr>\\n      <tr>\\n        <td repeat.for=\\\"schema of _schema\\\"><ka-control schema.bind=\\\"schema\\\" value.bind=\\\"newValue[schema.field]\\\"></ka-control></td>\\n        <td class=\\\"ka-tr-tools\\\"><button class=\\\"ka-table-button\\\" click.delegate=\\\"add(newValue)\\\"><i class=\\\"material-icons\\\">add</i></button></td>\\n      </tr>\\n    </tbody>\\n  </table>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <textarea\\n    type=\\\"text\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  </textarea>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <label if.bind=\\\"label\\\">${label} <span if.bind=\\\"required\\\">*</span></label>\\n  <div>\\n    <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n    <div class=\\\"ka-control-buttons\\\">\\n      <button class=\\\"button-dropdown\\\" tabindex=\\\"-1\\\" click.delegate=\\\"dropdown()\\\"  if.bind=\\\"!readonly && buttons.includes('dropdown')\\\">\\n        <i if.bind=\\\"schema.control === 'combo'\\\" class=\\\"fal fa-chevron-down\\\"></i>\\n        <i if.bind=\\\"schema.control === 'date'\\\" class=\\\"fal fa-calendar\\\"></i>\\n        <i if.bind=\\\"schema.control === 'time'\\\" class=\\\"fal fa-clock\\\"></i>\\n        <i if.bind=\\\"schema.control === 'datetime'\\\" class=\\\"fal fa-calendar\\\"></i>\\n      </button>\\n      <button class=\\\"button-clear\\\" tabindex=\\\"-1\\\" click.delegate=\\\"clear()\\\"  if.bind=\\\"!readonly && buttons.includes('clear')\\\"><i class=\\\"fal fa-times\\\"></i></button>\\n    </div>\\n  </div>\\n  <div class=\\\"ka-control-overlay\\\">\\n    <div class=\\\"ka-control-error\\\" if.bind=\\\"!readonly && validator.errors.length\\\">\\n      <div class=\\\"ka-control-error-scroller\\\">\\n        <span repeat.for=\\\"error of validator.errors\\\">${error}</span>\\n        <span class=\\\"clone\\\" repeat.for=\\\"error of validator.errors\\\">${error}</span>\\n      </div>\\n    </div>\\n    <div class=\\\"ka-control-description\\\" if.bind=\\\"!readonly && schema.control !=='check' && description\\\">${description}</div>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <slot></slot>\\n  <template if.bind=\\\"['date', 'datetime'].includes(type)\\\">\\n    <div class=\\\"row no-gutters selectors\\\">\\n      <div class=\\\"col-auto\\\">\\n        <button click.delegate=\\\"shiftValues({ month: -1 })\\\"><i class=\\\"far fa-angle-left\\\"></i></button>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.month\\\" change.trigger=\\\"setValues({ month: selected.month })\\\">\\n            <option repeat.for=\\\"month of months\\\" model.bind=\\\"month.numeric\\\">${month.long}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.year\\\" change.trigger=\\\"setValues({ year: selected.year })\\\">\\n            <option repeat.for=\\\"year of years\\\" model.bind=\\\"year\\\">${year}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col-auto\\\">\\n        <button click.delegate=\\\"shiftValues({ month: 1 })\\\"><i class=\\\"far fa-angle-right\\\"></i></button>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"row weekdays\\\">\\n      <div repeat.for=\\\"weekday of weekdays\\\" class=\\\"col\\\">${weekday.short}</div>\\n    </div>\\n\\n    <div class=\\\"row days\\\" repeat.for=\\\"week of weeks\\\">\\n      <div repeat.for=\\\"day of week\\\" class=\\\"col\\\">\\n        <button class=\\\"${day.day === selected.day ? 'selected':''}\\\" disabled.bind=\\\"day.month !== selected.month\\\" click.delegate=\\\"setValues({ day: day.day })\\\">${day.text}</button>\\n      </div>\\n    </div>\\n  </template>\\n  <template if.bind=\\\"['time', 'datetime'].includes(type)\\\">\\n    <div class=\\\"row no-gutters selectors\\\">\\n      <div class=\\\"col-auto\\\"></div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.hour\\\" change.trigger=\\\"setValues({ hours: selected.hour })\\\">\\n            <option repeat.for=\\\"hour of hours\\\" model.bind=\\\"hour\\\">${hour < 10 ? '0' : ''}${hour}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.minute\\\" change.trigger=\\\"setValues({ minutes: selected.minute })\\\">\\n            <option repeat.for=\\\"minute of minutes\\\" model.bind=\\\"minute\\\">${minute < 10 ? '0' : ''}${minute}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col-auto\\\"></div>\\n    </div>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <ux-dialog class.bind=\\\"params.class\\\">\\n    <ux-dialog-header if.bind=\\\"params.title\\\">\\n      <h2>${params.title}</h2>\\n    </ux-dialog-header>\\n\\n    <ux-dialog-body if.bind=\\\"params.body\\\">\\n      <div innerhtml.bind=\\\"params.body\\\"></div>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-body if.bind=\\\"params.viewModel\\\">\\n      <compose view-model.bind=\\\"params.viewModel\\\" model.bind=\\\"params.viewModelParams\\\"></compose>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-body if.bind=\\\"params.viewStrategy\\\">\\n      <compose view.bind=\\\"params.viewStrategy\\\"></compose>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'alert'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.ok(params.viewModelParams?params.viewModelParams:null)\\\">OK</button>\\n    </ux-dialog-footer>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'confirm'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.cancel(params.viewModelParams?params.viewModelParams:null)\\\">Annulla</button>\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.ok(params.viewModelParams?params.viewModelParams:null)\\\">Continua</button>\\n    </ux-dialog-footer>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'cancel'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.cancel(params.viewModelParams?params.viewModelParams:null)\\\">Annulla</button>\\n    </ux-dialog-footer>\\n\\n  </ux-dialog>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <label if.bind=\\\"label && control !== 'check'\\\" for=\\\"${id}\\\">${label} ${error}</label>\\n  <label if.bind=\\\"label && control === 'check'\\\" for=\\\"${id}\\\" click.delegate=\\\"checkClick($event)\\\">${label} ${error}</label>\\n\\n  <input if.bind=\\\"control=='text'||control=='password'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='number'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='date'||control=='age'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"displayValue & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n  <input if.bind=\\\"control=='time'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='file'\\\"\\n    id=\\\"${id}\\\"\\n    type=\\\"file\\\"\\n    files.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n  <input if.bind=\\\"control=='file'\\\"\\n    type=\\\"text\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"displayValue & validate\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    readonly/>\\n\\n  <input if.bind=\\\"control=='check'&&!datamultiple\\\"\\n    id=\\\"${id}\\\"\\n    type=\\\"checkbox\\\"\\n    checked.bind=\\\"value & validate\\\"\\n\\n    class=\\\"ka-input\\\"\\n    />\\n  <div if.bind=\\\"control=='check'&&!datamultiple&&description\\\"\\n    class=\\\"ka-input-checkbox-description\\\"\\n    innerHTML.bind=\\\"description\\\"\\n    click.delegate=\\\"checkClick($event)\\\"\\n    ></div>\\n\\n  <div if.bind=\\\"control=='combo'\\\"\\n    ref=\\\"combo\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-combo\\\"\\n    mouse-leave.trigger=\\\"comboClose()\\\"\\n  >\\n    <input type=\\\"text\\\" class=\\\"ka-input pad${buttons.length}\\\" placeholder.bind=\\\"placeholder\\\" value.bind=\\\"displayValue & validate\\\" focus.trigger=\\\"comboOpen()\\\" readonly />\\n    <div ref=\\\"drawer\\\" class=\\\"ka-input-combo-drawer\\\" if.bind=\\\"comboOpened\\\">\\n      <input if.bind=\\\"!datapreload||comboItemsSource.length>10\\\" type=\\\"text\\\" placeholder=\\\"Cerca\\\" class=\\\"ka-input\\\" value.bind=\\\"comboQueryValue\\\" focus.one-way=\\\"comboReady\\\" keyup.trigger=\\\"comboQuery(comboQueryValue)\\\" />\\n      <ul class=\\\"${datamultiple?'multiple':''}\\\">\\n        <li repeat.for=\\\"item of comboItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"comboSelect(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext:comboQueryValue\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n      </ul>\\n    </div>\\n  </div>\\n\\n  <div if.bind=\\\"(control=='check')&&(datamultiple)&&(datapreload)\\\"\\n    ref=\\\"checklist\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-checklist\\\"\\n  >\\n    <ul class=\\\"multiple\\\">\\n      <li repeat.for=\\\"item of checklistItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"checklistSelect(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n    </ul>\\n  </div>\\n  <div if.bind=\\\"(control=='check')&&(datamultiple)&&(!datapreload)\\\"\\n    ref=\\\"combo\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-checklist\\\"\\n  >\\n    <div class=\\\"ka-input-combo\\\" mouse-leave.trigger=\\\"comboClose()\\\" style=\\\"position: relative;\\\">\\n      <input type=\\\"text\\\" class=\\\"ka-input pad${buttons.length}\\\" placeholder.bind=\\\"placeholder\\\" focus.trigger=\\\"comboOpen()\\\" readonly />\\n      <div ref=\\\"drawer\\\" class=\\\"ka-input-combo-drawer\\\" if.bind=\\\"comboOpened\\\">\\n        <input if.bind=\\\"!datapreload||comboItemsSource.length>10\\\" type=\\\"text\\\" placeholder=\\\"Cerca\\\" class=\\\"ka-input\\\" value.bind=\\\"comboQueryValue\\\" focus.one-way=\\\"comboReady\\\" keyup.trigger=\\\"comboQuery(comboQueryValue)\\\" />\\n        <ul>\\n          <li repeat.for=\\\"item of comboItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"comboListAddItem(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext:comboQueryValue\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n        </ul>\\n      </div>\\n    </div>\\n    <ul>\\n      <li repeat.for=\\\"item of comboListItems\\\">\\n        <span click.delegate=\\\"comboListRemoveItem(item, $event)\\\">X</span>&nbsp;${item.text}\\n      </li>\\n    </ul>\\n  </div>\\n\\n  <div if.bind=\\\"control=='editor'\\\" id=\\\"${id}\\\" class=\\\"ka-input-editor\\\"></div>\\n\\n  <textarea if.bind=\\\"control=='textarea'\\\"\\n    id=\\\"${id}\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input ka-input-textarea pad${buttons.length}\\\">\\n  </textarea>\\n\\n  <button class=\\\"ka-input-button show\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.show()\\\"  if.bind=\\\"buttons.showEnabled\\\"><i class=\\\"material-icons\\\">&#xE8F4;</i></button>\\n  <button class=\\\"ka-input-button hide\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.hide()\\\"  if.bind=\\\"buttons.hideEnabled\\\"><i class=\\\"material-icons\\\">&#xE8F5;</i></button>\\n  <button class=\\\"ka-input-button open\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.open()\\\"  if.bind=\\\"buttons.openEnabled\\\"><i class=\\\"material-icons\\\">&#xE89E;</i></button>\\n  <button class=\\\"ka-input-button add\\\"   tabindex=\\\"-1\\\" click.delegate=\\\"buttons.add()\\\"   if.bind=\\\"buttons.addEnabled\\\"><i class=\\\"material-icons\\\">add</i></button>\\n  <button class=\\\"ka-input-button download\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.download()\\\" if.bind=\\\"buttons.downloadEnabled\\\"><i class=\\\"material-icons\\\">&#xE2C4;</i></button>\\n  <button class=\\\"ka-input-button dropdown\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.dropdown()\\\" if.bind=\\\"buttons.dropdownEnabled\\\"><i class=\\\"fal fa-chevron-down\\\"></i></button>\\n  <button class=\\\"ka-input-button clear\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.clear()\\\" if.bind=\\\"buttons.clearEnabled\\\"><i class=\\\"material-icons\\\">&#xE14C;</i></button>\\n\\n  <div class=\\\"ka-input-error\\\" if.bind=\\\"validator.errors.length\\\"><span repeat.for=\\\"error of validator.errors\\\">${error}</span></div>\\n  <div class=\\\"ka-input-description\\\" if.bind=\\\"control!='check'&&description\\\">${description}</div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Control linked to resource -->\\n  <ka-input-controls\\n    if.bind=\\\"name && insideMdResource === false\\\"\\n    with.bind=\\\"parent\\\"\\n    record.bind=\\\"resource.resource.id\\\"\\n    config.bind=\\\"resource.schema[name]\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"resource.data[name]\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly||resource.schema[name].readonly||resource.readonly\\\"\\n    required.bind=\\\"required||resource.schema[name].required\\\"\\n    view-model.ref=\\\"resource.controls[name]\\\"\\n    client.bind=\\\"resource.client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n  <ka-input-controls\\n    if.bind=\\\"name && insideMdResource === true\\\"\\n    record.bind=\\\"parent.data.id\\\"\\n    config.bind=\\\"parent.schema[name]\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"parent.data[name]\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly||parent.schema[name].readonly||parent.readonly\\\"\\n    required.bind=\\\"required||parent.schema[name].required\\\"\\n    view-model.ref=\\\"parent.controls[name]\\\"\\n    client.bind=\\\"parent.client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n  <!-- Control NOT linked to resource -->\\n  <ka-input-controls\\n    if.bind=\\\"!name\\\"\\n    record.bind=\\\"record\\\"\\n    config.bind=\\\"config\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"value\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly\\\"\\n    required.bind=\\\"required\\\"\\n    view-model.ref=\\\"input\\\"\\n    client.bind=\\\"client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <aside>\\n    <div class=\\\"layout-burger\\\" click.delegate=\\\"toggle()\\\" ref=\\\"burgerAside\\\"><i class=\\\"fal fa-bars\\\"></i></div>\\n    <div class=\\\"layout-logo\\\"></div>\\n\\n    <slot></slot>\\n\\n    <nav>\\n      <ul>\\n        <template repeat.for=\\\"item of _navigation\\\">\\n          <li if.bind=\\\"authorized(item)\\\" class=\\\"${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.href ? 'active' : ''}\\\">\\n  \\n            <i class=\\\"expand fas fa-chevron-down\\\" click.delegate=\\\"expand(item)\\\"></i>\\n            <i class=\\\"collapse fas fa-chevron-up\\\" click.delegate=\\\"collapse(item)\\\"></i>\\n  \\n            <template if.bind=\\\"item.icon\\\">\\n              <i if.bind=\\\"item.icon.indexOf('fa') === 0\\\" class=\\\"item-icon ${item.icon} fa-fw\\\"></i>\\n              <i else class=\\\"item-icon material-icons\\\" innerhtml.bind=\\\"item.icon\\\"></i>\\n            </template>\\n  \\n            <span class=\\\"item-label\\\">${item.label}</span>\\n            <b if.bind=\\\"item.badge && item.badge.value\\\" class=\\\"item-badge\\\">${item.badge.value}</b>\\n            <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\" class=\\\"item-link\\\"></a>\\n            \\n            <a if.bind=\\\"!item.href && item.collapsed\\\" href=\\\"#\\\" class=\\\"item-link expand\\\" click.delegate=\\\"expand(item)\\\"></a>\\n            <a if.bind=\\\"!item.href && !item.collapsed\\\" href=\\\"#\\\" class=\\\"item-link collapse\\\" click.delegate=\\\"collapse(item)\\\"></a>\\n\\n  \\n            <ul if.bind=\\\"item.nav && !item.collapsed\\\">\\n              <template repeat.for=\\\"item of item.nav\\\">\\n                <li if.bind=\\\"authorized(item)\\\" class=\\\"${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.href ? 'active' : ''}\\\">\\n                  \\n                  <template if.bind=\\\"item.icon\\\">\\n                    <i if.bind=\\\"item.icon.indexOf('fa') === 0\\\" class=\\\"item-icon ${item.icon} fa-fw\\\"></i>\\n                    <i else class=\\\"item-icon material-icons\\\" innerhtml.bind=\\\"item.icon\\\"></i>\\n                  </template>\\n        \\n                  <span class=\\\"item-label\\\">${item.label}</span>\\n                  <b if.bind=\\\"item.badge && item.badge.value\\\" class=\\\"item-badge\\\">${item.badge.value}</b>\\n                  <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\" class=\\\"item-link\\\"></a>\\n  \\n                </li>\\n              </template>\\n            </ul>\\n          </li>\\n        </template>\\n      </ul>\\n    </nav>\\n  </aside>\\n  <header>\\n    <div class=\\\"layout-burger\\\" click.delegate=\\\"toggle()\\\" ref=\\\"burgerHeader\\\"><i class=\\\"fal fa-bars\\\"></i></div>\\n    <h1>${router.currentInstruction.config.title}</h1>\\n  </header>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <span class=\\\"ka-navbar-menu-button\\\" click.delegate=\\\"toggle()\\\" ref=\\\"button\\\"><i class=\\\"material-icons\\\">&#xE5D2;</i></span>\\n  <nav class=\\\"ka-navbar-menu ${visible?'visible':''}\\\" ref=\\\"nav\\\">\\n    <div class=\\\"ka-navbar-menu-label\\\">${appName}</div>\\n    <a\\n      repeat.for=\\\"route of routes\\\"\\n      click.delegate=\\\"hide()\\\"\\n      class=\\\"ka-navbar-menu-item ${route.isActive?'active':''} ${route.settings.class}\\\"\\n      href.bind=\\\"route.href\\\">\\n      <template if.bind=\\\"route.settings.icon\\\">\\n        <i if.bind=\\\"route.settings.icon.indexOf('fa') === 0\\\" class=\\\"${route.settings.icon}\\\"></i>\\n        <i else class=\\\"material-icons\\\" innerhtml.bind=\\\"route.settings.icon\\\"></i>\\n      </template>\\n      ${route.title}\\n    </a>\\n  </nav>\\n  <h1>${router.currentInstruction.config.title}</h1>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div if.bind=\\\"!loaded\\\" class=\\\"ka-resource-progress\\\" ><div></div></div>\\n\\n  <div show.bind=\\\"loaded\\\">\\n    <div class=\\\"ka-resource-buttons\\\">\\n      <a replaceable part=\\\"buttons\\\" repeat.for=\\\"button of buttons\\\" click.delegate=\\\"button.action()\\\">\\n        <i class=\\\"material-icons\\\" innerHtml.bind=\\\"button.icon\\\"></i>\\n        <span if.bind=\\\"!button.icon&&button.label&&button.label.length\\\">${button.label}</span>\\n      </a>\\n    </div>\\n    <slot></slot>\\n  </div>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div class=\\\"ka-toolbar\\\" if.bind=\\\"!error\\\">\\n    <div class=\\\"ka-tools-left\\\">\\n      <template replaceable part=\\\"tools-left\\\">\\n        <button if.bind=\\\"actions.indexOf('filter') >= 0\\\" class=\\\"ka-table-button filters ${hasFilters?'active':''}\\\" click.delegate=\\\"show_filters()\\\"><i class=\\\"material-icons\\\">&#xE8B6;</i></button>\\n        <button if.bind=\\\"actions.indexOf('filter') >= 0 && hasFilters\\\" class=\\\"ka-table-button reset\\\" click.delegate=\\\"reset_filters()\\\"><i class=\\\"material-icons\\\">&#xE033;</i></button>\\n        <button if.bind=\\\"actions.indexOf('export') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"show_export()\\\"><i class=\\\"material-icons\\\">&#xE2C4;</i></button>\\n      </template>\\n    </div>\\n    <div class=\\\"ka-navigation\\\">\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('first')\\\"><i class=\\\"material-icons\\\">&#xE5DC;</i></button>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('prev')\\\"><i class=\\\"material-icons\\\">&#xE314;</i></button>\\n      <div class=\\\"ka-position\\\" click.delegate=\\\"show_options($event)\\\">\\n        <div show.bind=\\\"!isLoading && position\\\">${position} <span show.bind=\\\"!isLoading && total\\\">di ${total}</span></div>\\n      </div>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('next')\\\"><i class=\\\"material-icons\\\">&#xE315;</i></button>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('last')\\\"><i class=\\\"material-icons\\\">&#xE5DD;</i></button>\\n    </div>\\n    <div class=\\\"ka-tools-right\\\">\\n      <template replaceable part=\\\"tools-right\\\">\\n        <button if.bind=\\\"actions.indexOf('add') >= 0 && routes.add !== false\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">&#xE145;</i></button>\\n      </template>\\n    </div>\\n    <div class=\\\"ka-table-options hidden\\\" if.bind=\\\"config_options.pages.datasource.length > 0\\\">\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"config_options.limit\\\" value.bind=\\\"settings.limit\\\" change.call=\\\"set_limit(value)\\\"></ka-input>\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"config_options.pages\\\" value.bind=\\\"settings.page\\\" change.call=\\\"set_page(value)\\\"></ka-input>\\n    </div>\\n  </div>\\n\\n  <div if.bind=\\\"isLoading\\\" class=\\\"ka-table-progress\\\"><div class=\\\"indeterminate\\\"></div></div>\\n\\n  <div class=\\\"ka-wrapper\\\">\\n    <table>\\n      <thead if.bind=\\\"schemaLoaded\\\">\\n        <tr replaceable part=\\\"thead-tr\\\">\\n          <th repeat.for=\\\"column of columns_schema\\\">\\n            <span>${column.label}</span>\\n            <a if.bind=\\\"column.label && (!sortables || settings.sort_columns[column.field])\\\" href=\\\"\\\" class=\\\"ka-sort-button ${settings.sort[settings.sort_columns[column.field]].class}\\\" click.delegate=\\\"set_sort(settings.sort_columns[column.field])\\\"><i class=\\\"material-icons\\\">&#xE164;</i></a>\\n          </th>\\n          <th></th>\\n        </tr>\\n      </thead>\\n      <tbody>\\n        <tr if.bind=\\\"!isLoading && !records.length && !error\\\">\\n          <td colspan=\\\"${columns_schema.length+1}\\\">Nessun record trovato</td>\\n        </tr>\\n        <tr if.bind=\\\"!isLoading && error\\\">\\n          <td colspan=\\\"${columns_schema.length+1}\\\">${error}</td>\\n        </tr>\\n        <tr repeat.for=\\\"record of records\\\" part=\\\"tbody-tr\\\" dblclick.delegate=\\\"edit(record)\\\">\\n          <td repeat.for=\\\"column of columns_schema\\\" data-th=\\\"${column.label}\\\">${format(record, column.field)}</td>\\n          <td class=\\\"ka-tr-tools\\\">\\n            <div class=\\\"floater\\\">\\n              <template replaceable part=\\\"tr-tools\\\">\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('copy') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"copy(record)\\\" title=\\\"Copy\\\"><i class=\\\"material-icons\\\">add_circle_outline</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('deepcopy') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"copy(record, true)\\\" title=\\\"Deep copy\\\"><i class=\\\"material-icons\\\">add_circle</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('delete') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"delete(record)\\\" title=\\\"Delete\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('edit') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"edit(record)\\\" title=\\\"Open/Edit\\\"><i class=\\\"material-icons\\\">&#xE315;</i></button>\\n              </template>\\n            </div>\\n          </td>\\n        </tr>\\n      </tbody>\\n    </table>\\n  </div>\\n\\n\\n  <div class=\\\"ka-table-drawer filters hidden\\\">\\n    <h2>Filtra elenco</h2>\\n    <div style=\\\"padding:1rem\\\">\\n      <ka-flex-row if.bind=\\\"filters.length && settings.filters && !isLoading\\\" repeat.for=\\\"field of filters\\\" class=\\\"no-padding\\\">\\n        <ka-input if.bind=\\\"field.control=='text'&&field.datatype!='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.text\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='list'&&field.datatype!='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.json\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.datatype=='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.json\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='number'||field.control=='age'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.number\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        \\n        <ka-input if.bind=\\\"field.control=='list'\\\" required=\\\"false\\\" config.bind=\\\"{control: 'text'}\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex class=\\\"no-label\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='text'||field.control=='number'||field.control=='age'||field.datatype=='json'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex class=\\\"no-label\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='combo'\\\" required=\\\"false\\\" client.bind=\\\"client\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex></ka-input>\\n        <ka-input if.bind=\\\"field.control=='date'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value_from\\\" default=\\\"\\\" ka-flex=\\\"50\\\" label=\\\"${field.label} dal\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='date'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value_to\\\" default=\\\"\\\" ka-flex label=\\\"${field.label} al\\\"></ka-input>\\n      </ka-flex-row>\\n    </div>\\n    <ka-flex-row>\\n      <button class=\\\"ka-button\\\" click.delegate=\\\"apply_filters()\\\" ka-flex=\\\"50\\\">Applica filtri</button>\\n      <button class=\\\"ka-button\\\" click.delegate=\\\"reset_filters()\\\" ka-flex=\\\"50\\\">Pulisci filtri</button>\\n    </ka-flex-row>\\n\\n  </div>\\n\\n  <div class=\\\"ka-table-drawer export hidden\\\">\\n    <h2>Esporta elenco</h2>\\n    <h3>Campi da esportare</h3>\\n    <div style=\\\"padding:0 0 0 1rem;max-height:250px;overflow:hidden;overflow-y:auto;box-shadow:inset 0 -5px 5px -5px #00000033\\\">\\n      <ka-input\\n        if.bind=\\\"export_schema.length && !isLoading\\\"\\n        repeat.for=\\\"field of export_schema\\\"\\n        ka-flex\\n        class=\\\"no-label\\\"\\n        description.bind=\\\"field.label\\\"\\n        config.bind=\\\"{ control: 'check', field: field.field }\\\"\\n        value.bind=\\\"settings.exports[field.field]\\\">\\n      </ka-input>\\n    </div>\\n    <p><small><a href=\\\"\\\" click.delegate=\\\"select_export()\\\">Seleziona tutti</a> / <a href=\\\"\\\" click.delegate=\\\"unselect_export()\\\">Deseleziona tutti</a></small></p>\\n    <h3>Pagine da esportare</h3>\\n    <div style=\\\"padding: 0 1rem\\\">\\n      <ka-input\\n        class=\\\"no-label\\\"\\n        config.bind=\\\"{control: 'combo', datasource: [{value: 'LST', text: 'Pagina corrente'}, {value: 'ALL', text: 'Tutte le pagine'}], datapreload: true, default: 'LST'}\\\"\\n        value.bind=\\\"exportPages\\\">\\n      </ka-input>\\n    </div>\\n    <ka-flex-row>\\n      <ka-button click.delegate=\\\"apply_export($event, exportPages)\\\" ka-flex=\\\"50\\\">Esporta</ka-button>\\n    </ka-flex-row>\\n  </div>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <tr if.bind=\\\"_schema\\\" class=\\\"ka-table-filters\\\">\\n    <th repeat.for=\\\"column of _schema\\\">\\n      <ka-control if.bind=\\\"filters[column.field]\\\" ka-enter.call=\\\"apply()\\\" schema.bind=\\\"column\\\" value.bind=\\\"filters[column.field].value\\\"></ka-control>\\n    </th>\\n    <th><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"apply()\\\">Applica</a> | <a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"reset()\\\">Azzera</a> filtri</th>\\n  </tr>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <nav>\\n    <a repeat.for=\\\"tab of tabs\\\"\\n      class=\\\"${tab.visible?'active':''}\\\"\\n      click.delegate=\\\"select(tab)\\\">${tab.label}</a>\\n  </nav>\\n\\n  <div ref=\\\"buttons\\\">\\n    <template replaceable part=\\\"buttons\\\"></template>\\n  </div>\\n\\n  <div ref=\\\"contents\\\">\\n    <slot></slot>\\n  </div>\\n\\n</template>\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"./static/images/favicon.png\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"./static/fontawesome/all.min.css\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar code = \"<!DOCTYPE html>\\n<html>\\n  <head>\\n    <meta charset=\\\"utf-8\\\">\\n    <title>Multidialogo&reg;</title>\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, minimum-scale=1, maximum-scale=1\\\">\\n    <link rel=\\\"icon\\\" type=\\\"image/png\\\" sizes=\\\"310x310\\\" href=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"/static/bootstrap/css/all.min.css\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"\" + ___HTML_LOADER_REPLACEMENT_1___ + \"\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"https://fonts.googleapis.com/icon?family=Material+Icons\\\">\\n    <link defer href=\\\"https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto+Flex:opsz,wght@8..144,100..1000&family=Roboto+Slab:wght@100..900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\\\" rel=\\\"stylesheet\\\">\\n    <!-- Google Tag Manager -->\\n    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-PRX5B52N');</script>\\n    <!-- End Google Tag Manager -->\\n  </head>\\n  <body aurelia-app=\\\"index\\\" class=\\\"layoutV2\\\">\\n    <script>\\n      document.documentElement.setAttribute('style', 'width: 100%; height: 100%; background: #fff url(/static/multiloader.gif) 50% 50%/100px 100px no-repeat');\\n      document.getElementsByTagName(\\\"body\\\")[0].setAttribute('style','display:none');(function(a,b,c){b=document,c='addEventListener';b[c]?b[c]('DOMContentLoaded',a):window.attachEvent('onload',a)})(function(){setTimeout(function(){document.documentElement.removeAttribute('style');document.getElementsByTagName(\\\"body\\\")[0].removeAttribute('style');},2000);});\\n    </script>\\n  </body>\\n</html>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./intents.sass\\\"></require>\\n\\n  <template if.bind=\\\"intent\\\">\\n    <ux-dialog if.bind=\\\"intent.code === 'LOGIN'\\\" class=\\\"intents-dialog\\\">\\n      <ux-dialog-body>\\n        <compose class.bind=\\\"intent.code\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n      </ux-dialog-body>\\n    </ux-dialog>\\n  \\n    <ux-dialog if.bind=\\\"intent.code === 'CONFIRM-TRANSMISSION-DELAY'\\\">\\n      <ux-dialog-header><h2>Conferma invio</h2></ux-dialog-header>\\n      <ux-dialog-body class=\\\"p-0\\\">\\n        <compose class.bind=\\\"intent.code\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n      </ux-dialog-body>\\n    </ux-dialog>\\n\\n    <ux-dialog if.bind=\\\"intent.code === 'EMAIL-CONFIRMATION-REQUIRED'\\\">\\n      <ux-dialog-header><h2>Conferma registrazione</h2></ux-dialog-header>\\n      <ux-dialog-body>\\n        <p class=\\\"m-0\\\">\\n          <template if.bind=\\\"intent.subject.context === 'FIRST-ACCESS-LOGIN'\\\">\\n            <strong>Ci sei quasi! Abbiamo solo bisogno di confermare il tuo indirizzo email.</strong><br>\\n            Accedi alla tua casella <strong>${intent.subject.registrationEmailAddress}</strong> e clicca sul link di conferma.\\n          </template>\\n          <template if.bind=\\\"intent.subject.context === 'LOGIN-ATTEMPT'\\\">\\n            <strong>OOPS! Sembra che tu non abbia ancora confermato il tuo indirizzo email.</strong><br> \\n            Per accedere vai subito alla tua casella <strong>${intent.subject.registrationEmailAddress}</strong> e clicca sul link di conferma.<br>\\n            Ci rivediamo tra poco!\\n          </template>\\n        </p>\\n      </ux-dialog-body>\\n      <ux-dialog-footer>\\n        <ka-button click.trigger=\\\"controller.cancel()\\\">\\n          <a href=\\\"login\\\" style=\\\"display: inline-block; width: 100%; text-decoration: none; color: #fff;\\\">Chiudi</a>\\n        </ka-button>\\n      </ux-dialog-footer>\\n    </ux-dialog>\\n  </template>\\n\\n  <ux-dialog if.bind=\\\"intents\\\" class=\\\"intents-dialog\\\">\\n    <ux-dialog-header>\\n      <h2>Attenzione!</h2>\\n    </ux-dialog-header>\\n\\n    <ux-dialog-body>\\n      <p if.bind=\\\"response.detail\\\" class=\\\"m-0 mb-3 detail\\\"><strong>${response.detail}.</strong></p>\\n      <ul if.bind=\\\"intents.length\\\" class=\\\"m-0 p-0\\\">\\n        <li repeat.for=\\\"intent of intents\\\" class=\\\"intent\\\">\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-CERTIFIED-DOCUMENTS'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-LEGAL-FORM'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-IBAN'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'SDD-ENABLED-REQUIRED'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PAY-ORDERS'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'ACCEPT-CASHBACK-CONTRACT'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"{ subject: intent.subject, controller }\\\"></compose>\\n        </li>\\n      </ul>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-footer>\\n      <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n      <ka-button if.bind=\\\"!includesCode('ACCEPT-CASHBACK-CONTRACT') && !includesCode('PAY-ORDERS')\\\" click.trigger=\\\"controller.ok()\\\">Conferma</ka-button>\\n    </ux-dialog-footer>\\n  </ux-dialog>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"m-0\\\">\\n    Per procedere con questa operazione è necessario sottoscrivere i nuovi contratti cashback!<br>\\n    <span class=\\\"navigate\\\" click.delegate=\\\"goToCashbackContracts()\\\">Clicca se vuoi essere reindirizzato alla sezione dedicata e prenderne visione.</span>\\n  </p>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div>\\n    <p class=\\\"py-3\\\">Il tracciato verrà elaborato non prima del ${params.dueWorkingDate|dateFormat:'DD/MM/YYYY'}. <strong>Confermi l'invio del file?</strong>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"send()\\\">Continua</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n\\n  <div class=\\\"loginbox\\\">\\n    <p><i class=\\\"far fa-exclamation-circle\\\"></i>Hai inserito l'indirizzo email di un utente esistente, effettua l'accesso per riscattare l'offerta!</p>\\n    <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n    <div class=\\\"form\\\">\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"{ label: 'Username', field: 'username', control: 'text', required: true }\\\" value.bind=\\\"username\\\"></ka-input>\\n      <ka-input class=\\\"no-clear\\\" ka-enter.call=\\\"login()\\\" config.bind=\\\"{ label: 'Password', field: 'password', control: 'password', required: true }\\\" value.bind=\\\"password\\\"></ka-input>\\n      <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"login($event)\\\">Login</ka-button></ka-flex-row>\\n    </div>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"m-0\\\">Non è possibile usufruire del cashback in presenza di ordini insoluti!</p>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <template if.bind=\\\"hasPendingDocuments && !hasMissingDocuments\\\">\\n    <p>I documenti sono in attesa di approvazione. Una volta approvati, l'autorizzazione stampa in proprio MAV verrà automaticamente attivata.</p>\\n  </template>\\n  <template if.bind=\\\"hasMissingDocuments\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>Documenti intestati a ${params.userDisplayName}</span>\\n    </p>\\n    <ul if.bind=\\\"documents && documents.length\\\" class=\\\"subject m-0 p-0\\\">\\n      <li repeat.for=\\\"document of documents\\\" class=\\\"m-0 p-3 document\\\">\\n        <p if.bind=\\\"!document.edit\\\" class=\\\"m-0 d-flex me-xl-5\\\">\\n          <i if.bind=\\\"!document.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"document.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>${document.label}<small if.bind=\\\"document.placeholder\\\" class=\\\"d-block\\\">${document.placeholder}</small></span>\\n        </p>\\n        <ka-control if.bind=\\\"document.edit\\\" name=\\\"file\\\" buttons=\\\"clear\\\" with.bind=\\\"document\\\"></ka-control>\\n        <div if.bind=\\\"!document.saved\\\" class=\\\"d-flex text-nowrap ms-5\\\">\\n          <p if.bind=\\\"!document.edit && document._errors.PENDING\\\" class=\\\"m-0\\\">In attesa di approvazione</p>\\n          <div if.bind=\\\"!document.edit && document._errors.MISSING\\\">\\n            <ka-button \\n              if.bind=\\\"document.templateFileName\\\" \\n              click.delegate=\\\"downloadStaticResource(document)\\\" \\n              class=\\\"flat inverted secondary with-icon m-0 ms-3\\\">\\n              <i class=\\\"fas fa-file-download\\\"></i>\\n              <span>Scarica modello</span>\\n            </ka-button>\\n            <ka-button \\n              click.delegate=\\\"edit(document)\\\" \\n              class=\\\"flat inverted primary with-icon ms-3\\\">\\n              <i class=\\\"fas fa-file-upload\\\"></i>\\n              <span>Carica documento</span>\\n            </ka-button>\\n          </div>\\n          <ka-button if.bind=\\\"document.edit\\\" click.delegate=\\\"document.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"document.edit\\\" click.delegate=\\\"save(document, $event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\" class=\\\"m-0\\\">Cricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>${params.billingProfileOwnerId && params.userId === billingProfileOwnerId ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n      <span>${params.billingProfileOwnerDisplayName && params.billingProfileOwnerDisplayName !== params.userDisplayName ? params.billingProfileOwnerDisplayName : 'me stesso'}</span><br>\\n      <span>Profilo di fatturazione: ${params.billingProfileLabel}</span>\\n      <span if.bind=\\\"params.purpose\\\">${params.purpose}.</span>\\n    </p>\\n    <ul class=\\\"subject m-0 p-0\\\">\\n      <li class=\\\"m-0 p-3\\\">\\n        <p if.bind=\\\"!params.edit\\\" class=\\\"m-0 d-flex\\\">\\n          <i if.bind=\\\"!params.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"params.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>Inserire un codice IBAN</span>\\n        </p>\\n        <ka-control if.bind=\\\"params.edit\\\" name=\\\"iban\\\" buttons=\\\"clear\\\"></ka-control>\\n        <div if.bind=\\\"!params.saved\\\" class=\\\"d-flex\\\">\\n          <ka-button if.bind=\\\"!params.edit\\\" click.delegate=\\\"params.edit = true\\\" class=\\\"flat primary m-0 ms-5\\\">Correggi</ka-button>        \\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"params.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"save($event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\" class=\\\"m-0\\\">Cricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>Contesto: anagrafica.</span><br>\\n      <span>${params.userId === api.user.id ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n      <span>${params.userDisplayName ? params.userDisplayName : 'me stesso'}.</span>\\n      <span if.bind=\\\"params.purpose\\\">${params.purpose}.</span>\\n    </p>\\n    <ul class=\\\"subject m-0 p-0\\\">\\n      <li class=\\\"m-0 p-3\\\">\\n        <p if.bind=\\\"!params.edit\\\" class=\\\"m-0 d-flex\\\">\\n          <i if.bind=\\\"!params.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"params.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>Specificare la forma legale</span>\\n        </p>\\n        <ka-control if.bind=\\\"params.edit\\\" schema.bind=\\\"schema.companyLegalFormCode\\\" value.bind=\\\"data.companyLegalFormCode\\\" buttons=\\\"dropdown\\\"></ka-control>\\n        <div if.bind=\\\"!params.saved && api.hasRole(['MODIFY_USERS', 'MODIFY_ANY_USER'])\\\" class=\\\"d-flex\\\">\\n          <ka-button if.bind=\\\"!params.edit\\\" click.delegate=\\\"params.edit = true\\\" class=\\\"flat primary m-0 ms-5\\\">Correggi</ka-button>        \\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"params.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"save($event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"intent-description m-0 mb-3\\\">\\n    <span>${params.billingProfileOwnerId && params.userId === billingProfileOwnerId ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n    <span>${params.billingProfileOwnerDisplayName && params.parentId !== params.userId ? params.billingProfileOwnerDisplayName : 'me stesso'}</span><br>\\n    <span>Profilo di fatturazione: ${params.billingProfileLabel}</span>\\n  </p>\\n  <ul class=\\\"subject m-0 p-0\\\">\\n    <li class=\\\"m-0 p-3\\\">\\n      <p class=\\\"m-0 d-flex\\\">\\n        <i if.bind=\\\"saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n        <span if.bind=\\\"saved\\\">Domiciliazione bancaria attivata con successo</span>\\n      </p>\\n      <ka-control if.bind=\\\"edit\\\" schema.bind=\\\"schema.sdd\\\" change.trigger=\\\"save()\\\"></ka-control>\\n    </li>\\n  </ul>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <aside>\\n    <div\\n      ref=\\\"burgerAside\\\"\\n      class=\\\"km-layout-burger\\\" \\n      click.delegate=\\\"toggle()\\\">\\n      <i class=\\\"material-icons\\\">menu</i>\\n    </div>\\n    <div \\n      class=\\\"km-layout-logo ${!config.brand ? 'empty' : ''}\\\" \\n      if.bind=\\\"config.brand\\\" \\n      style=\\\"background-image:url(${config.brand})\\\">\\n    </div>\\n\\n    <slot name=\\\"beforeNav\\\"></slot>\\n    <nav>\\n      <!-- First level -->\\n      <ul class=\\\"first-level\\\">\\n        <template repeat.for=\\\"item of _navigation.items\\\">\\n          <li\\n            id=\\\"${item.id}\\\"\\n            if.bind=\\\"!item.hidden\\\"\\n            class=\\\"${item.nav ? 'expandable' : 'static'} ${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${!item.nav && item.beta ? 'beta' : ''}\\\">\\n\\n            <div class=\\\"wrapper\\\">\\n              <span \\n                class=\\\"linkless\\\"\\n                if.bind=\\\"!item.href && !item.call\\\"\\n                click.delegate=\\\"toggleNavigation(item)\\\">\\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </span>\\n              <a \\n                href=\\\"${item.href}\\\"\\n                if.bind=\\\"item.href\\\" \\n                class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <i \\n                  if.bind=\\\"item.afterIcon && !item.nav && !item.badge\\\"\\n                  class=\\\"after-icon ${item.afterIcon}\\\">\\n                </i>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </a>\\n              <a \\n                href=\\\"\\\"\\n                if.bind=\\\"item.call\\\"\\n                click.delegate=\\\"item.call()\\\"\\n                class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <i \\n                  if.bind=\\\"item.afterIcon && !item.nav && !item.badge\\\"\\n                  class=\\\"after-icon ${item.afterIcon}\\\">\\n                </i>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </a>\\n              <i \\n                class=\\\"fas fa-chevron-down\\\"\\n                click.delegate=\\\"toggleNavigation(item)\\\"\\n                if.bind=\\\"item.nav && !item.call && !item.href\\\">\\n              </i> \\n            </div>\\n\\n            <!-- Second level -->\\n            <ul \\n              if.bind=\\\"item.nav\\\" \\n              class=\\\"second-level\\\">\\n              <template repeat.for=\\\"item of item.nav\\\">\\n                <li \\n                  if.bind=\\\"!item.hidden\\\" \\n                  class=\\\"${item.nav ? 'expandable' : 'static'} ${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.highlighted ? 'highlighted' : ''} ${!item.nav && item.beta ? 'beta' : ''}\\\">\\n\\n                  <div class=\\\"wrapper\\\">\\n                    <span \\n                      class=\\\"linkless\\\"\\n                      if.bind=\\\"!item.href && !item.call\\\"\\n                      click.delegate=\\\"toggleNavigation(item)\\\">\\n                      <span class=\\\"label\\\">${item.label}</span>\\n                      <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                      <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                        <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                      </b>\\n                      <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                    </span>\\n                    <a \\n                      href=\\\"${item.href}\\\"\\n                      if.bind=\\\"item.href\\\" \\n                      class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                      <span class=\\\"label\\\">${item.label}</span>\\n                      <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                      <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                        <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                      </b>\\n                      <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                    </a>\\n                    <a \\n                      href=\\\"\\\"\\n                      if.bind=\\\"item.call\\\"\\n                      click.delegate=\\\"item.call()\\\"\\n                      class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                      <span class=\\\"label\\\">${item.label}</span>\\n                      <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                      <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                        <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                      </b>\\n                      <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                    </a>\\n                    <i \\n                      class=\\\"far fa-chevron-down\\\" \\n                      click.delegate=\\\"toggleNavigation(item)\\\"\\n                      if.bind=\\\"!item.call && !item.href && item.nav\\\"></i>\\n                  </div>\\n\\n                  <!-- Third level -->\\n                  <ul \\n                    if.bind=\\\"item.nav\\\" \\n                    class=\\\"third-level\\\">\\n                    <template repeat.for=\\\"item of item.nav\\\">\\n                      <li \\n                        if.bind=\\\"!item.hidden\\\"\\n                        class=\\\"static ${item.highlighted ? 'highlighted' : ''} ${item.beta ? 'beta' : ''}\\\">\\n                        <div class=\\\"wrapper\\\">\\n                          <span \\n                            if.bind=\\\"!item.href && !item.call\\\"\\n                            class=\\\"linkless\\\">\\n                            <span class=\\\"label\\\">${item.label}</span>\\n                            <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                            <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                              <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                            </b>\\n                            <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                          </span>\\n                          <a \\n                            href=\\\"${item.href}\\\"\\n                            if.bind=\\\"item.href\\\" \\n                            class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                            <span class=\\\"label\\\">${item.label}</span>\\n                            <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                            <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                              <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                            </b>\\n                            <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                          </a>\\n                          <a \\n                            href=\\\"\\\"\\n                            if.bind=\\\"item.call\\\"\\n                            click.delegate=\\\"item.call()\\\"\\n                            class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                            <span class=\\\"label\\\">${item.label}</span>\\n                            <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                            <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                              <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                            </b>\\n                            <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                          </a>\\n                        </div>\\n                      </li>\\n                    </template>\\n                  </ul>\\n                </li>\\n              </template>\\n            </ul>\\n          </li>\\n        </template>\\n      </ul>\\n    </nav>\\n    <slot name=\\\"afterNav\\\"></slot>\\n  </aside>\\n  <header>\\n    <div \\n      ref=\\\"burgerHeader\\\"\\n      class=\\\"km-layout-burger\\\" \\n      click.delegate=\\\"toggle()\\\">\\n      <i class=\\\"material-icons\\\">menu</i>\\n    </div>\\n    <h1>${router.currentInstruction.config.parent}${router.currentInstruction.config.title}</h1>\\n    <div \\n      if.bind=\\\"config.isDevelopmentEnvironment\\\" \\n      class=\\\"km-layout-info-box\\\">\\n      <div class=\\\"wrapper\\\">\\n        <i class=\\\"${config.infoBox.icon}\\\"></i>\\n        <div innerHTML.bind=\\\"config.infoBox.message\\\"></div>\\n      </div>\\n    </div>\\n    <div class=\\\"km-layout-user\\\">\\n      <span\\n        class=\\\"profile-icon\\\"\\n        if.bind=\\\"!config.profile.picture\\\">\\n        <i class=\\\"fal ${config.user.account === 'operatore' ? 'fa-user-headset' : config.user.account === 'amministratore' ? 'fa-user-crown' : config.user.account === 'condominio' ? 'fa-building' : config.user.account === 'studio' ? 'fa-landmark' : 'fa-user'}\\\"></i>\\n      </span>\\n      <span \\n        else\\n        class=\\\"profile-picture\\\"  \\n        style=\\\"background-image:url('${config.profile.picture}')\\\">\\n      </span>\\n      <div class=\\\"user-profile\\\">\\n        <span \\n          class=\\\"displayName\\\" \\n          if.bind=\\\"config.user.display\\\">${config.user.display}\\n        </span>\\n        <template if.bind=\\\"!config.user.isImpersonated && config.user.username\\\">\\n          <strong class=\\\"user-name-title\\\">${config.user.account}</strong>\\n          <span class=\\\"user-name\\\">${config.user.username}</span>\\n        </template>\\n        <span \\n          class=\\\"impersonation\\\" \\n          if.bind=\\\"config.user.isImpersonated && config.user.username\\\">Sei collegato a questo profilo cliente\\n        </span>\\n      </div>\\n      <a if.bind=\\\"config.profile.href\\\" href=\\\"${config.profile.href}\\\">Profilo utente</a>\\n    </div>\\n    <div class=\\\"km-layout-toolbar\\\">\\n      <template repeat.for=\\\"item of _toolbar.items\\\">\\n        <template if.bind=\\\"!item.hidden\\\">\\n          <span \\n            if.bind=\\\"!item.href && !item.call\\\" \\n            class=\\\"button\\\" \\n            click.trigger=\\\"subtool($index, $event)\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span> \\n          </span>\\n          <a \\n            class=\\\"button\\\"\\n            if.bind=\\\"item.href\\\" \\n            href=\\\"${item.href}\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span>\\n          </a>\\n          <a \\n            href=\\\"\\\"\\n            class=\\\"button\\\" \\n            if.bind=\\\"item.call\\\" \\n            click.delegate=\\\"item.call()\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span>\\n          </a>\\n          <ul if.bind=\\\"!item.href && !item.call && item.nav\\\" data-subtool=\\\"${$index}\\\">\\n            <template repeat.for=\\\"item of item.nav\\\">\\n              <li if.bind=\\\"!item.hidden\\\">\\n                <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\">\\n                  <i \\n                    if.bind=\\\"item.svg || item.icon\\\" \\n                    style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                    class=\\\"${item.icon || 'svg-icon'}\\\">\\n                  </i>\\n                  <span class=\\\"label\\\">${item.label}</span>\\n                </a>\\n              </li>\\n            </template>\\n          </ul>\\n        </template>\\n      </template> \\n    </div>\\n  </header>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-accordion-button.sass\\\"></require>\\n  <div click.trigger=\\\"toggle()\\\">\\n    <span class=\\\"collapse_text\\\">${collapseText}</span>\\n    <span class=\\\"expand_text\\\">${expandText}</span>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-counter.sass\\\"></require>\\n  <div id=\\\"mdCounter\\\">\\n    <div id=\\\"mdCounterBody\\\">\\n      <h3 if.bind=\\\"label\\\">${label}</h3>\\n      <div style=\\\"text-align: center; line-height: 1\\\">\\n        <span if.bind=\\\"prefix\\\" class=\\\"prefix\\\">${prefix} </span>\\n        <span id=\\\"mdCounterElement\\\">${onEntryStart}</span>\\n        <span if.bind=\\\"suffix\\\" class=\\\"suffix\\\">${suffix}</span>\\n      </div>\\n    </div>\\n    <div id=\\\"mdCounterFooter\\\">\\n      <button \\n        class=\\\"closing\\\"\\n        click.delegate=\\\"close()\\\">Chiudi</button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    md-input-array {\\n      width: 100%;\\n    }\\n    md-input-array > ka-flex-row + ka-flex-row {\\n      margin-top: -1.5rem;\\n    }\\n  </style>\\n  <template if.bind=\\\"items\\\">\\n    <ka-flex-row repeat.for=\\\"item of items\\\" class=\\\"no-padding\\\">\\n      <ka-input\\n        ka-flex\\n        if.bind=\\\"name && schema && parent.controls\\\"\\n        resource-controls.bind=\\\"parent.controls\\\"\\n        resource-ref=\\\"${name}[${$index}]\\\"\\n        record.bind=\\\"parent.data.id\\\"\\n        config.bind=\\\"{control: 'text', cippa: 'lippa', field: schema.field || name}\\\"\\n        value.bind=\\\"item.value\\\"\\n        label.bind=\\\"($index === 0 ? label||schema.label : null)\\\"\\n        default.bind=\\\"default\\\"\\n        description.bind=\\\"description\\\"\\n        placeholder.bind=\\\"placeholder\\\"\\n        readonly.bind=\\\"readonly||schema.readonly||parent.readonly\\\"\\n        required.bind=\\\"required||schema.required\\\"\\n        ready.bind=\\\"ready\\\"\\n        validation.bind=\\\"validation\\\"\\n        change.call=\\\"update()\\\"\\n        class=\\\"no-buttons\\\">\\n      </ka-input>\\n      <ka-button if.bind=\\\"$index === 0\\\" class=\\\"icon flat\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">add</i></ka-button>\\n      <ka-button if.bind=\\\"$index > 0\\\" class=\\\"icon flat inverted\\\" click.delegate=\\\"remove($index)\\\"><i class=\\\"material-icons\\\">delete_outline</i></ka-button>\\n    </ka-flex-row>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-loader.sass\\\"></require>\\n  <div id=\\\"loader-wrapper\\\">\\n    <div class=\\\"spinner-loader\\\"></div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <nav>\\n    <template repeat.for=\\\"link of links\\\">\\n      <a href=\\\"\\\" class.bind=\\\"link.class\\\" click.delegate=\\\"navigate(link.view)\\\">${link.label}</a>\\n    </template>\\n    <div>${title}</div>\\n  </nav>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ka-table .ka-table-button.filters {\\n      background-color: #ed5a23;\\n      color: #ffffff !important;\\n      opacity: 0.7;\\n    }\\n    ka-table .ka-table-button.filters:hover {\\n      background-color: #ed5a23;\\n      color: #ffffff !important;\\n      opacity: 1;\\n    }\\n    ka-table .ka-table-button.reset {\\n     color: #ffffff !important;\\n     z-index: 2;\\n    }\\n  </style>\\n  <ka-table\\n    view-model.ref=\\\"tableUsers\\\"\\n    endpoint=\\\"users/me/users\\\"\\n    query=\\\"?include=user-profiles\\\"\\n    columns=\\\"id,displayName\\\"\\n    filtrables=\\\"id,displayName,statusCode\\\"\\n    actions=\\\"filter\\\">\\n   <template replace-part=\\\"thead-tr\\\">\\n      <tr>\\n        <th repeat.for=\\\"column of schema\\\">\\n          <span>${column.label}</span>\\n          <!--<a if.bind=\\\"column.label && (column.field==='displayName')\\\" href=\\\"\\\" class=\\\"ka-sort-button ${settings.sort[column.field].class}\\\" click.delegate=\\\"set_sort(column)\\\"><i class=\\\"material-icons\\\">&#xE164;</i></a>-->\\n        </th>\\n        <th></th>\\n      </tr>\\n      <ka-table-filters schema.bind=\\\"schema\\\" filters.bind=\\\"settings.filters\\\" apply.call=\\\"apply_filters()\\\" reset.call=\\\"reset_filters()\\\"></ka-table-filters>\\n    </template>\\n\\n    <template replace-part=\\\"tbody-tr\\\">\\n      <tr>\\n        <td class=\\\"limitwidth\\\">${record.id}</td>\\n        <td class=\\\"limitwidth\\\">${record.profile[0].displayName}</td>\\n        <td class=\\\"ka-tr-tools\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"select(record)\\\">Seleziona</ka-button>\\n        </td>\\n      </tr>\\n    </template>\\n  </ka-table>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    md-prefsel {\\n      display: block;\\n      margin: 1rem;\\n      padding: 0;\\n      border: 1px solid #ed5a2344;\\n      background-color: #ed5a2322;\\n    }\\n    md-prefsel > ka-flex-row {\\n      padding: 0;\\n      align-items: center;\\n    }\\n    md-prefsel p {\\n      margin: 0;\\n      padding: 0.5rem 1rem;\\n      font-size: 1.4rem;\\n      line-height: 1rem;\\n      white-space: normal;\\n    }\\n    md-prefsel p.options {\\n     border-right: 0;\\n    }\\n    md-prefsel p.options a {\\n      font-weight: bold;\\n      color: #ed5a23;\\n    }\\n    md-prefsel i.material-icons {\\n      width: 5rem;\\n      height: 5rem;\\n      font-size: 4rem;\\n      color: #ed5a23;\\n      line-height: 5rem;\\n      text-align: center;\\n    }\\n  </style>\\n  <ka-flex-row>\\n    <i class=\\\"material-icons\\\">warning</i>\\n    <div>\\n      <p if.bind=\\\"!data\\\"><strong>Stai ${isOverride === false ? 'visualizzando' : 'modificando'} le ${label} ${isOverride === false ? 'predefinite' : ''} del tuo account principale</strong></p>\\n      <p if.bind=\\\"data\\\"><strong>Stai ${isOverride === false ? 'visualizzando' : 'modificando'} le ${label} ${isOverride === false ? 'predefinite' : ''} del ${context} <em>${data.displayName}</em></strong></p>\\n      <p if.bind=\\\"!data\\\" class=\\\"options\\\"><a if.bind=\\\"isOverride === false\\\" href=\\\"\\\" click.delegate=\\\"toggleOverride({model:{}})\\\">Modifica ${label} predefinite</a><a if.bind=\\\"isOverride\\\" href=\\\"\\\" click.delegate=\\\"toggleOverride({model:{}})\\\">Ripristina ${label} predefinite</a> ${isOverride !== null ? 'oppure seleziona' : 'Seleziona'} ${label} <a href=\\\"\\\" click.delegate=\\\"open()\\\">altro ${context}</a></p>\\n      <p if.bind=\\\"data\\\" class=\\\"options\\\"><a if.bind=\\\"isOverride === false\\\" href=\\\"\\\" click.delegate=\\\"toggleOverride({model:{}})\\\">Modifica ${label} predefinite</a><a if.bind=\\\"isOverride\\\" href=\\\"\\\" click.delegate=\\\"toggleOverride({model:{}})\\\">Ripristina ${label} predefinite</a> ${isOverride !== null ? 'oppure seleziona' : 'Seleziona'} ${label}: <a href=\\\"\\\" click.delegate=\\\"reset()\\\">account principale</a> o <a href=\\\"\\\" click.delegate=\\\"open()\\\">altro ${context}</a></p>\\n    </div>\\n  </ka-flex-row>\\n\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <slot></slot>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-pagination.scss\\\"></require>\\n  <div class=\\\"d-flex flex-nowrap\\\">\\n    <button click.trigger=\\\"paginate('start')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">first_page</i></button>\\n    <button click.trigger=\\\"paginate('back')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">chevron_left</i></button>\\n    \\n    <!-- Counter -->\\n    <span click.delegate=\\\"showOptions($event)\\\" class=\\\"count\\\">\\n      ${table.offset + 1} - ${(table.limit + table.offset) < table.total ? (table.limit + table.offset) :  table.total} di ${table.total}\\n\\n      <!-- Options -->\\n      <div if.bind=\\\"optionsShown\\\" class=\\\"options-tab d-flex justify-content-start\\\">\\n        <ka-control schema.bind=\\\"schema.limit\\\" value.bind=\\\"limit | integerCast\\\" label=\\\"Record per pagina\\\" class=\\\"no-clear\\\"></ka-control>\\n        <ka-control schema.bind=\\\"schema.page\\\" value.bind=\\\"page | integerCast:'page'\\\" label=\\\"Salta alla pagina\\\" style=\\\"margin-left: 2rem;\\\" class=\\\"no-clear\\\"></ka-control>\\n      </div>\\n    </span>\\n    <div if.bind=\\\"optionsShown\\\" class=\\\"options-background\\\" click.delegate=\\\"hideOptions()\\\"></div>\\n\\n    <button click.trigger=\\\"paginate('forward')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">chevron_right</i></button>\\n    <button click.trigger=\\\"paginate('end')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">last_page</i></button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-progressbar.sass\\\"></require>\\n  <div class=\\\"indeterminate\\\"></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-sort.scss\\\"></require>\\n  <slot></slot>\\n  <a if.bind=\\\"!order\\\" href=\\\"\\\" click.delegate=\\\"sort()\\\"><i class=\\\"fal fa-sort-amount-down-alt\\\"></i></a>\\n  <a if.bind=\\\"order === 'asc'\\\" href=\\\"\\\" class=\\\"asc\\\" click.delegate=\\\"sort()\\\"><i class=\\\"fal fa-sort-amount-down-alt\\\"></i></a>\\n  <a if.bind=\\\"order === 'desc'\\\" href=\\\"\\\" class=\\\"desc\\\" click.delegate=\\\"sort()\\\"><i class=\\\"fal fa-sort-amount-up\\\"></i></a>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-toolbar.scss\\\"></require>\\n  <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\n    <div class=\\\"col buttons-left\\\">\\n      <!-- Search -->\\n      <button\\n        if.bind=\\\"buttons.includes('search')\\\"\\n        click.delegate=\\\"openSearch()\\\"\\n        class=\\\"toolbar-button ${search.active ? 'search-active' : ''}\\\">\\n        <i class=\\\"material-icons\\\">search</i>\\n        <span if.bind=\\\"search.active\\\" click.delegate=\\\"reset($event)\\\" class=\\\"with-filter\\\"><i class=\\\"material-icons\\\">do_not_disturb</i></span>\\n      </button>\\n      <!-- Download -->\\n      <button\\n        if.bind=\\\"buttons.includes('download')\\\"\\n        click.delegate=\\\"download()\\\"\\n        ka-tooltip=\\\"Scarica elenco\\\"\\n        class=\\\"toolbar-button\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </div>\\n    <div class=\\\"col d-flex justify-content-center flex-grow flex-wrap\\\">\\n      <md-table-pagination table.bind=\\\"table\\\" limits.bind=\\\"paginationLimits\\\"></md-table-pagination>\\n    </div>\\n    <div class=\\\"col buttons-right d-flex justify-content-end\\\">\\n      <slot></slot>\\n    </div>\\n  </div>\\n  <md-table-progressbar if.bind=\\\"table.isLoading\\\"></md-table-progressbar>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./search.scss\\\"></require>\\n\\n  <!-- Title -->\\n  <h2 class=\\\"d-flex justify-content-between align-items-center\\\">\\n    <span>Ricerca ${params.title}</span>\\n    <i class=\\\"material-icons close\\\" click.delegate=\\\"close()\\\">close</i>\\n  </h2>\\n\\n  <!-- Search form -->\\n  <div class=\\\"row inputs\\\" style=\\\"margin: 0;\\\">\\n    <template repeat.for=\\\"input of inputs\\\" >\\n      <div if.bind=\\\"params.search.schema[input].query\\\" class=\\\"input ${(params.search.schema[input].control === 'date' && (params.search.schema[input].query.includes('-gte') || params.search.schema[input].query.includes('-lte'))) ? 'col-6' : 'col-12'}\\\">\\n        <ka-control schema.bind=\\\"params.search.schema[input]\\\" value.bind=\\\"params.search.data[input]\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </template>\\n  </div>\\n\\n  <!-- Search buttons -->\\n  <div class=\\\"buttons d-flex flex-row-reverse\\\">\\n    <button click.delegate=\\\"search()\\\" class=\\\"ka-button\\\">Ricerca</button>\\n    <button click.delegate=\\\"reset()\\\" class=\\\"ka-button inverted\\\">Reset</button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-wrapper.scss\\\"></require>\\n  <slot></slot>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./agreement.sass\\\"></require>\\n\\n  <div class=\\\"agreement\\\">\\n    <h2 if.bind=\\\"!agreement.back && agreement.view.label\\\">${agreement.view.label}</h2>\\n    <div if.bind=\\\"agreement.view.content\\\" innerhtml.bind=\\\"agreement.view.content\\\" class=\\\"content\\\"></div>\\n\\n    <!-- Clauses -->\\n    <div if.bind=\\\"agreement.back && agreement.view.clauses && agreement.view.clauses.length\\\" class=\\\"clauses\\\">\\n      <h2 style=\\\"margin:0 0 2rem;\\\">Clausole</h2>\\n      <div repeat.for=\\\"clause of agreement.view.clauses\\\" class=\\\"clause\\\">\\n        <ka-control schema.bind=\\\"{ control: 'check', description: clause.label, readonly: true }\\\" value.bind=\\\"clause.accepted\\\" readonly=\\\"true\\\" style=\\\"margin: 0; padding: 0;\\\"></ka-control>\\n        <p>${clause.content}</p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless if.bind=\\\"config\\\" view-model.bind=\\\"config.view\\\" model.bind=\\\"config.model\\\"></compose>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control1\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control2\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control3\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control4\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control5\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control6\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button> \\n        <!--\\n        click.delegate=\\\"search()\\\" chiama la funzione search() dentro a searchInterface poiché il ka-button sta all'interno di un <div with.bind=\\\"searchInterface\\\">\\n        click.delegate=\\\"$parent.search()\\\" invece chiama la funzione search() dentro al controller di questa view\\n        -->\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>UUID</th>\\n            <th>Display Name</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td>${item.uuid}</td>\\n            <td>${item.profile[0].displayName}</td>\\n            <td class=\\\"d-flex flex-column align-items-end\\\">\\n              <ka-button>Action 1</ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Titolo</h2>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n    .property { color: #404040; }\\n    .property + .property:before { content: ', '; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <p style=\\\"margin: 0 0 1rem;\\\">Per un corretto utilizzo del sistema viene richiesto di completare i seguenti dati:</p>\\n    <strong repeat.for=\\\"property of missingProperties\\\" class=\\\"property\\\">${property | missingProperties}</strong>\\n  </div>\\n  <div class=\\\"footer d-flex justify-content-end\\\">\\n    <ka-button click.delegate=\\\"controller.ok()\\\">Correggi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\" flexbox=\\\"halign-center valign-center\\\">\\n    <div class=\\\"loginbox\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n      </header>\\n      <div class=\\\"form\\\">\\n        <p if.bind=\\\"email && source\\\" class=\\\"p-3\\\">\\n          Hai già utilizzato l'indirizzo email <strong>${email}</strong> per registrarti!\\n        </p>\\n    \\n        <ka-control class=\\\"no-clear mb-4\\\" name=\\\"username\\\" ka-enter.call=\\\"login()\\\"></ka-control>\\n        <ka-control class=\\\"no-clear\\\" name=\\\"password\\\" ka-enter.trigger=\\\"login()\\\"></ka-control>\\n      </div>\\n      <footer class=\\\"row justify-content-between mt-4 pt-2\\\">\\n        <div class=\\\"col-auto reset\\\">\\n          <i class=\\\"fas fa-lock-alt\\\"></i>\\n          <a href=\\\"/password-recovery\\\">Password dimenticata?</a>  \\n        </div>\\n        <div class=\\\"col-auto\\\">\\n          <ka-button click.delegate=\\\"login($event)\\\">Login</ka-button>\\n        </div>\\n      </footer>\\n    </div>\\n    <div class=\\\"outbox\\\">\\n      <p class=\\\"mb-0\\\">Non hai un account <strong>MULTI</strong>DIALOGO<span style=\\\"font-size: 0.6rem; vertical-align: super;\\\">&#174;</span>?</p>\\n      <ka-button class=\\\"secondary\\\" href=\\\"/registrazione\\\">Registrati subito!</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template></template>\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\">\\n    <div class=\\\"loginbox\\\" style=\\\"position: relative;\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <a href=\\\"login\\\" style=\\\"position: absolute; top: 1rem; right: 1.5rem\\\">\\n          <i class=\\\"fal fa-times\\\" style=\\\"font-size: 2rem;\\\"></i>\\n        </a>\\n      </header>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"!params.token && !email\\\">\\n        <p><strong>Recupero password</strong><br>Inserisci <em>username</em>, <em>indirizzo email</em>, <em>codice fiscale</em> oppure <em>partita iva</em>.</p>\\n        <ka-input view-model.ref=\\\"uid\\\" class=\\\"no-clear\\\" ka-enter.call=\\\"start()\\\" config.bind=\\\"{ label: 'Identificativo', field: 'uniqueIdentifier', control: 'text', required: true }\\\" value.bind=\\\"uniqueIdentifier\\\"></ka-input>\\n        <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"start($event)\\\">Procedi</ka-button></ka-flex-row>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"!params.token && email\\\">\\n        <p>Abbiamo inviato un email all'indirizzo<br><strong>${email}</strong><br>con le istruzioni per il recupero della password.</p>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"params.token && !success\\\">\\n        <p>Inserisci la tua nuova password:</p>\\n        <ka-input class=\\\"no-clear\\\" view-model.ref=\\\"pass1\\\" ka-enter.call=\\\"end()\\\" config.bind=\\\"{ label: 'Nuova password', field: 'password1', control: 'password', required: true }\\\" value.bind=\\\"password1\\\"></ka-input>\\n        <ka-input class=\\\"no-clear no-show\\\" view-model.ref=\\\"pass2\\\" ka-enter.call=\\\"end()\\\" config.bind=\\\"{ label: 'Conferma nuova password', field: 'password2', control: 'password', required: true }\\\" value.bind=\\\"password2\\\"></ka-input>\\n        <p class=\\\"errorMessage\\\" if.bind=\\\"error\\\">${error}</p>\\n        <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"end($event)\\\">Procedi</ka-button></ka-flex-row>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"params.token && success\\\">\\n        <p>La tua nuova password è stata reimpostata correttamente!</p>\\n        <p><a href=\\\"login\\\">Torna alla schermata di Login</a></p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"../../accesso/login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\">\\n    <div class=\\\"loginbox\\\" style=\\\"position: relative;\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n      </header>\\n\\n      <div class=\\\"form\\\">\\n        <p>Per richiedere la cancellazione del tuo account contatta la nostra assistenza all'indirizzo <a href=\\\"mailto:assistenza@multidialogo.it\\\">assistenza@multidialogo.it</a></p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <p if.bind=\\\"pendingInit\\\">Caricamento in corso...</p>\\n  <template if.bind=\\\"!pendingInit\\\">\\n    <div class=\\\"body p-3\\\">\\n      <ka-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeReseller()\\\" class=\\\"mb-3\\\"></ka-control>\\n      <ka-control name=\\\"resellerCode\\\" buttons=\\\"dropdown\\\" class=\\\"mb-3\\\" if.bind=\\\"reseller\\\"></ka-control>\\n      <ka-control name=\\\"rewardedServiceCode\\\" buttons=\\\"dropdown\\\" if.bind=\\\"reseller\\\"></ka-control>\\n    </div>\\n  </template>\\n  <div class=\\\"footer d-flex justify-content-end p-2\\\" style=\\\"border-top: 1px solid #e5e5e5; text-align: right;\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./sponsor-agreement.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n    <ka-control name=\\\"agreementText\\\" class=\\\"mb-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\" >\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button disabled.bind=\\\"pendingSave\\\" click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./landing-pages.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div with.bind=\\\"searchInterface\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"referralCode\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"listCode\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"searchStatus\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div with.bind=\\\"searchInterface\\\" class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">    \\n    <!-- Table -->\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Data creazione</th>\\n            <th>Accordo Sponsor</th>\\n            <th>Stato</th>\\n            <th>Descrizione</th>\\n            <th>Listino temporaneo</th>\\n            <th>Durata gg. list. temporaneo</th>\\n            <th>Listino definitivo</th>\\n            <th>Segnalatori</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>\\n                <small class=\\\"text-color\\\">${record.referralCode}</small>\\n              </td>\\n              <td>\\n                <small class=\\\"text-color\\\">${record.createdAt|dateFormat}</small>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control \\n                  schema.bind=\\\"searchInterface.schema.sponsorUuid\\\" \\n                  value.bind=\\\"record.sponsorUuid\\\" \\n                  client.bind=\\\"api\\\" \\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n                <small \\n                  if.bind=\\\"record.sponsorUuid\\\" \\n                  click.delegate=\\\"openSponsorDialog(record)\\\" \\n                  class=\\\"sponsor-dialog\\\">\\n                  Imposta testo accordo\\n                </small>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.status\\\"\\n                  value.bind=\\\"record.status\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['description']\\\"\\n                  schema.bind=\\\"searchInterface.schema.description\\\"\\n                  value.bind=\\\"record.description\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['temporaryPriceListCode']\\\"\\n                  schema.bind=\\\"searchInterface.schema.temporaryPriceListCode\\\"\\n                  value.bind=\\\"record.temporaryPriceListCode\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['temporaryPriceListCodeDurationInDays']\\\"\\n                  schema.bind=\\\"searchInterface.schema.temporaryPriceListCodeDurationInDays\\\"\\n                  value.bind=\\\"record.temporaryPriceListCodeDurationInDays\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td>\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['definitivePriceListCode']\\\"\\n                  schema.bind=\\\"searchInterface.schema.definitivePriceListCode\\\"\\n                  value.bind=\\\"record.definitivePriceListCode\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"reseller-tags\\\">\\n                <div if.bind=\\\"record.resellerTags\\\" class=\\\"d-flex flex-wrap text-start\\\">\\n                  <div repeat.for=\\\"tag of record.resellerTags\\\" class=\\\"tag secondary\\\">\\n                    <p>${tag.userDisplayName}<br>\\n                      <span>${tag.resellerCode} - ${tag.rewardedServiceName}</span>\\n                    </p>\\n                    <i class=\\\"fal fa-times\\\" click.delegate=\\\"deleteResellerTag(tag)\\\"></i>\\n                  </div>\\n                </div>              \\n              </td>\\n              <td class=\\\"text-end\\\">\\n                <ka-button class=\\\"icon inverted secondary flat\\\" click.delegate=\\\"addResellerTag(record)\\\">\\n                  <i class=\\\"fal fa-plus\\\"></i>\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti profili di fatturazione</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Ricerca</h2>\\n  <div class=\\\"row gx-3 px-3 pb-3\\\">\\n    <div class=\\\"col-4\\\">\\n      <ka-control name=\\\"abiCode\\\"></ka-control>\\n    </div>\\n    <div class=\\\"col-4\\\">\\n      <ka-control name=\\\"cabCode\\\"></ka-control>\\n    </div>\\n  </div>\\n\\n  <h2>Inserimento dati</h2>\\n  <div class=\\\"d-flex justify-content-between px-3\\\">\\n    <div class=\\\"w-50 pe-3\\\" style=\\\"border-right: 1px solid #e0e0e0;\\\">\\n      <ka-control name=\\\"instituteName\\\" buttons=\\\"clear\\\"></ka-control>\\n      <div class=\\\"pt-3\\\">\\n        <ka-control name=\\\"officeName\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"row g-3 w-50\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"countryCode\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('countryCode')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl1\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl1')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl2\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl2')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl3\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl3')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-8\\\">\\n        <ka-control name=\\\"streetAddress\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-4\\\">\\n        <ka-control name=\\\"zipCode\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n\\n  <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n    <ka-button click.trigger=\\\"reset()\\\" class=\\\"inverted mx-0\\\">Reset</ka-button>\\n    <ka-button click.trigger=\\\"save()\\\" disabled.bind=\\\"pendingSave\\\">Salva e prosegui</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .notes > md-input, .notes > md-input > textarea  { height: calc(100% - 3rem); }\\n  </style>\\n\\n  <h2>Dati Anagrafici</h2>\\n  <md-table-progressbar if.bind=\\\"pending\\\"></md-table-progressbar>\\n\\n  <md-resource\\n    if.bind=\\\"!pending\\\"\\n    class=\\\"rubrica-dati\\\"\\n    view-model.ref=\\\"contact.resource\\\"\\n    with.bind=\\\"contact.resource\\\"\\n    endpoint.bind=\\\"contact.endpoint\\\"\\n    schema.bind=\\\"contact.schema\\\"\\n    data.bind=\\\"contact.data\\\">\\n\\n    <!-- Form -->\\n    <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\n\\n      <!-- Dati utente -->\\n      <div class=\\\"col-6\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- Group -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"contactGroups\\\" client.bind=\\\"api\\\"></md-input>\\n          </div>\\n\\n          <!-- Company name -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"companyName\\\"></md-input>\\n          </div>\\n\\n          <!-- Nickname -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"nickname\\\"></md-input>\\n          </div>\\n\\n          <!-- JobTitle -->\\n          <div class=\\\"col-3\\\">\\n            <md-input name=\\\"jobTitle\\\"></md-input>\\n          </div>\\n\\n          <!-- First Name -->\\n          <div class=\\\"col\\\">\\n            <md-input name=\\\"firstname\\\"></md-input>\\n          </div>\\n\\n          <!-- Last name -->\\n          <div class=\\\"col\\\">\\n            <md-input name=\\\"lastname\\\"></md-input>\\n          </div>\\n\\n          <!-- Fiscal code -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"fiscalCode\\\"></md-input>\\n          </div>\\n\\n          <!-- VAT code -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"vatCode\\\"></md-input>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Dati locazione -->\\n      <div class=\\\"col-6\\\" style=\\\"box-shadow: -1px 0 1px -1px #ed5a23;\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- Countrycode -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"countryCode\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" ready.call=\\\"setGeo('countryCode', true)\\\" change.call=\\\"setGeo('countryCode')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl1Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl1Uuid.enabled\\\" readonly.bind=\\\"!contact.data.countryCode\\\" name=\\\"admLvl1Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" ready.call=\\\"setGeo('admLvl1Uuid', true)\\\" change.call=\\\"setGeo('admLvl1Uuid')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl2Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl2Uuid.enabled\\\" readonly.bind=\\\"!contact.data.admLvl1Uuid\\\" name=\\\"admLvl2Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" readonly.bind=\\\"!contact.data.admLvl1Uuid\\\" ready.call=\\\"setGeo('admLvl2Uuid', true)\\\" change.call=\\\"setGeo('admLvl2Uuid')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl3Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl3Uuid.enabled\\\" readonly.bind=\\\"!contact.data.admLvl2Uuid\\\" name=\\\"admLvl3Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" readonly.bind=\\\"!contact.data.admLvl2Uuid\\\"></md-input>\\n          </div>\\n\\n          <!-- streetAddress -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"streetAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- addressee -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"addressee\\\"></md-input>\\n          </div>\\n\\n          <!-- Locality -->\\n          <div class=\\\"col-9\\\">\\n            <md-input name=\\\"locality\\\"></md-input>\\n          </div>\\n\\n          <!-- ZipCode -->\\n          <div class=\\\"col-3\\\">\\n            <md-input name=\\\"zipCode\\\"></md-input>\\n          </div>\\n\\n          <!-- Email -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"emailAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- Pec -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"certifiedEmailAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- homePhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"homePhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"homePhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- workPhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"workPhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"workPhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- mobilePhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"mobilePhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"mobilePhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- faxNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"faxNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"faxNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <!-- Dati aggiuntivi -->\\n    <h2>Dati aggiuntivi</h2>\\n    <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\n\\n      <!-- Notes -->\\n      <div class=\\\"col-6 notes\\\">\\n        <md-input name=\\\"notes\\\"></md-input>\\n      </div>\\n\\n      <div class=\\\"col-6\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- webSite -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"webSiteUrl\\\"></md-input>\\n          </div>\\n\\n          <!-- uniqueCode -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"uniqueCode\\\"></md-input>\\n          </div>\\n\\n          <!-- newsletterOptIn -->\\n          <div class=\\\"col-4\\\">\\n            <md-input name=\\\"newsletterOptIn\\\"></md-input>\\n          </div>\\n\\n          <!-- newsletterOptInDate -->\\n          <div class=\\\"col-8\\\">\\n            <md-input name=\\\"newsletterOptInDate\\\"></md-input>\\n          </div>\\n        </div>\\n      </div>\\n\\n       <!-- Buttons -->\\n      <div class=\\\"buttons col-12\\\" style=\\\"display: flex; justify-content: flex-end;\\\">\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\" style=\\\"margin-right: 0;\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"contact.save($event)\\\" style=\\\"margin-right: 0;\\\">Salva</ka-button>\\n      </div>\\n    </div>\\n  </md-resource>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n    .checkbox + .checkbox { margin-top: 1.5rem; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <strong>Confermi di voler eliminare il gruppo selezionato?</strong>\\n    <ka-input config.bind=\\\"{control: 'check', label: '', description: 'Elimina i contatti appartenenti solo a questo gruppo'}\\\" value.bind=\\\"deleteContacts\\\"></ka-input>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok({ deleteContacts: deleteContacts })\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    Confermi di voler eliminare <span if.bind=\\\"!multipleRecords\\\">il contatto selezionato</span><span if.bind=\\\"multipleRecords\\\">i contatti selezionati</span>?\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Groups -->\\n  <template if.bind=\\\"!params.id\\\">\\n    <!-- Title -->\\n    <h2>\\n      <span>Elenco ${mdt.parsers.contextualize(api.user, 'gruppi')}</span>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo gruppo</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"contatti()\\\"><i class=\\\"material-icons\\\">contact_phone</i> Gestione contatti</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"groupsTableInterface.data || groupsTableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"groupsTableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like contacts_table\\\">\\n          <thead if.bind=\\\"groupsTableInterface.data.length\\\">\\n            <tr>\\n              <th>Nome</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"groupsTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of groupsTableInterface.data\\\">\\n              <td>${record.name}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"elimina(record)\\\" ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'gruppi')}`\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"modifica(record)\\\" ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'gruppi')}`\\\"><i class=\\\"material-icons\\\">edit</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!groupsTableInterface.data.length\\\">Non sono presenti gruppi</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- Edit Group -->\\n  <template if.bind=\\\"params.id\\\">\\n    <!-- Title -->\\n    <h2 if.bind=\\\"params.id !== 'new'\\\">Modifica Gruppo</h2>\\n    <h2 if.bind=\\\"params.id === 'new'\\\">Crea Gruppo</h2>\\n\\n    <md-resource\\n      view-model.ref=\\\"group.resource\\\"\\n      with.bind=\\\"group.resource\\\"\\n      endpoint.bind=\\\"group.endpoint\\\"\\n      schema.bind=\\\"group.schema\\\"\\n      data.bind=\\\"group.data\\\">\\n\\n      <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\n        <md-input class=\\\"col group-name\\\" name=\\\"name\\\" style=\\\"margin-left: 1rem;\\\"></md-input>\\n\\n        <!-- Buttons -->\\n        <div class=\\\"col\\\" style=\\\"display: flex; justify-content: flex-end;\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\" style=\\\"margin-right: 0;\\\">Annulla</ka-button>\\n          <ka-button click.delegate=\\\"group.save($event)\\\" style=\\\"margin-right: 0;\\\">Salva</ka-button>\\n        </div>\\n      </div>\\n    </md-resource>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./rubrica-importazione.scss\\\"></require>\\n  <template if.bind=\\\"!bind && loading\\\">\\n    <h2>Importazione contatti</h2>\\n    <p>Caricamento in corso...</p>\\n  </template>\\n  <div if.bind=\\\"!records && !loading\\\">\\n    <h2>Importazione contatti <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button></h2>\\n\\n    <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">1</div>\\n          <p class=\\\"step-title\\\">Scarica il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Scarica il seguente modello excel per importare i tuoi contatti.</p>\\n          </div>\\n          <a class=\\\"ka-button\\\" href=\\\"https://rest.multidialogo.it/res/modello_importazione_contatti.csv\\\" target=\\\"_blank\\\">Scarica</a> <!-- Todo aggiornare href con modello importazione.. -->\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">2</div>\\n          <p class=\\\"step-title\\\">Compila il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.</p>\\n          </div>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 50-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">3</div>\\n          <p class=\\\"step-title\\\">Carica il file</p>\\n          <div ka-flex-col class=\\\"step-description\\\">\\n            <ka-control ka-flex schema.bind=\\\"{ label: 'Carica foglio di calcolo (excel, csv, ...)', control: 'file', required: true }\\\" value.bind=\\\"file\\\" placeholder=\\\"Seleziona o trascina qui il file\\\"></ka-control>\\n          </div>\\n          <ka-button click.delegate=\\\"carica($event)\\\">Carica</ka-button>\\n        </div>\\n      </div>\\n    </ka-flex-row>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./rubrica.scss\\\"></require>\\n  <template if.bind=\\\"rubricaSearchInterface.initialized\\\"></template>\\n    <h2>Ricerca Contatti</h2>\\n    \\n    <!-- Form -->\\n    <div class=\\\"row\\\" style=\\\"margin: 0; margin-right: 1rem;\\\">\\n      <div class=\\\"col-sm-12 col-md-4 col-xl-4 ricerca_libera\\\">\\n        <ka-input \\n          ka-enter.call=\\\"ricerca()\\\" \\n          config.bind=\\\"rubricaSearchInterface.schema.textSearch\\\" \\n          value.bind=\\\"rubricaSearchInterface.data.textSearch\\\" \\n          md-tooltip=\\\"<ul><li>Inserire <em>adr:indirizzo</em> per fare una ricerca per indirizzo, es: adr:garibaldi</li><li>Inserire direttamente l'email per cercare per email, es: mario.rossi@multidialogo.it</li></ul>\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col nazione\\\">\\n        <ka-input \\n          config.bind=\\\"rubricaSearchInterface.schema.countryCode\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.countryCode\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl1\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl1\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl1\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.countryCode\\\" \\n          change.call=\\\"initGeo('admLvl1')\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl2\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl2\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl2\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.admLvl1\\\" \\n          change.call=\\\"initGeo('admLvl2')\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\" style=\\\"padding-right: 0;\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl3\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl3\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl3\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.admLvl2\\\" \\n          change.call=\\\"initGeo('admLvl3')\\\">\\n        </ka-input>\\n      </div>\\n    </div>\\n    <div class=\\\"row\\\" style=\\\"margin: 0; margin-right: 1rem;\\\">\\n      <div class=\\\"col-4 gruppo\\\">\\n        <ka-input \\n          config.bind=\\\"rubricaSearchInterface.schema.group\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.group\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\" style=\\\"display: flex; padding-right: 0\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\" style=\\\"margin: 0; margin-top: 14px; margin-left: auto;\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\" style=\\\"margin: 0; margin-top: 14px; margin-left: 1rem;\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n\\n    <!-- Title -->\\n    <h2>\\n      <span>Elenco contatti</span>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"importa()\\\"><i class=\\\"material-icons\\\">download</i> Importa</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"gruppi()\\\"><i class=\\\"material-icons\\\">groups</i> Gruppi</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"rubricaTableInterface.data || rubricaTableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"rubricaTableInterface\\\" search.bind=\\\"rubricaSearchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like contacts_table\\\">\\n          <thead if.bind=\\\"rubricaTableInterface.data.length\\\">\\n            <tr click.delegate=\\\"toggleAllContacts(rubricaTableInterface.data)\\\" style=\\\"cursor: pointer;\\\">\\n              <th><input type=\\\"checkbox\\\" checked.bind=\\\"rubricaTableInterface.data.length === selected.length\\\" style=\\\"pointer-events: none;\\\"></th>\\n              <th>Denominazione</th>\\n              <th>Gruppi</th>\\n              <th>Email</th>\\n              <th>Numeri telefonici</th>\\n              <th>Indirizzo postale</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"rubricaTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of rubricaTableInterface.data\\\" click.delegate=\\\"selectContact(record)\\\" style=\\\"cursor: pointer;\\\">\\n              <td>\\n                <input type=\\\"checkbox\\\" model.bind=\\\"record\\\" checked.bind=\\\"selected\\\" style=\\\"cursor: pointer; pointer-events: none;\\\">\\n              </td>\\n\\n              <!-- Display name -->\\n              <td>\\n                <strong if.bind=\\\"record.jobTitle && (record.lastname || record.firstname)\\\" style=\\\"display: inline;\\\">${record.jobTitle}</strong>\\n                <strong if.bind=\\\"record.lastname\\\" style=\\\"display: inline;\\\">${record.lastname}</strong>\\n                <strong if.bind=\\\"record.firstname\\\" style=\\\"display: inline;\\\">${record.firstname}</strong>\\n                <span if.bind=\\\"record.companyName\\\">${record.companyName}</span>\\n                <small if.bind=\\\"record.notes && record.notes.length\\\">${record.notes.slice(0, 32)}${record.notes.length > 32 ? '...' : ''}</small>\\n              </td>\\n\\n              <!-- Groups -->\\n              <td>\\n                <template repeat.for=\\\"group of record.contactGroups\\\"><span if.bind=\\\"contactGroups && contactGroups[group]\\\">${contactGroups[group].name}</span></template>\\n              </td>\\n\\n              <!-- Email/Pec -->\\n              <td>\\n                <span if.bind=\\\"record.emailAddress\\\"><strong>Email: </strong><small>${record.emailAddress}</small></span>\\n                <span if.bind=\\\"record.certifiedEmailAddress\\\"><strong>Pec: </strong><small>${record.certifiedEmailAddress}</small></span>\\n              </td>\\n\\n              <!-- Telephone -->\\n              <td>\\n                <span if.bind=\\\"record.homePhoneNumber\\\"><strong>Casa: </strong><small>${record.homePhoneNumber}</small></span>\\n                <span if.bind=\\\"record.workPhoneNumber\\\"><strong>Lavoro: </strong> <small>${record.workPhoneNumber}</small></span>\\n                <span if.bind=\\\"record.mobilePhoneNumber\\\"><strong>Cellulare: </strong><small>${record.mobilePhoneNumber}</small></span>\\n              </td>\\n\\n              <!-- Address -->\\n              <td>\\n                <small>\\n                  <span if.bind=\\\"record.streetAddress\\\">${record.streetAddress}</span>\\n                  <br if.bind=\\\"record.streetAddress && (record.zipCode || record.admLvl3Uuid || record.admLvl2Uuid || record.countryCode)\\\">\\n                  <span if.bind=\\\"record.zipCode\\\">${record.zipCode}</span><span if.bind=\\\"record.zipCode && (record.admLvl3 || record.admLvl2)\\\"> -</span>\\n                  <span if.bind=\\\"record.admLvl3Uuid\\\">${record.admLvl3} </span>\\n                  <span if.bind=\\\"record.admLvl2Uuid\\\"><span if.bind=\\\"record.admLvl3Uuid\\\">(</span>${record.admLvl2}<span if.bind=\\\"record.admLvl3Uuid\\\">)</span></span>\\n                  <span if.bind=\\\"record.countryCode !== 'IT'\\\"><span if.bind=\\\"record.zipCode || record.admLvl3 || record.admLvl2\\\"> - </span>${record.countryCode}</span>\\n                </small>\\n              </td>\\n\\n              <!-- Buttons -->\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"elimina($event, record)\\\" ka-tooltip=\\\"Elimina contatto\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"modifica($event, record)\\\" ka-tooltip=\\\"Modifica dati contatto\\\"><i class=\\\"material-icons\\\">edit</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"rubricaTableInterface.data.length\\\" colspan=\\\"7\\\">\\n                <ka-button class=\\\"inverted flat d-inline-block\\\" click.delegate=\\\"deleteContacts()\\\" disabled.bind=\\\"!selected.length\\\" style=\\\"margin-left:0;\\\"><i class=\\\"material-icons\\\">delete_forever</i> Elimina selezionati</ka-button>\\n                <ka-button class=\\\"inverted flat d-inline-block\\\" click.delegate=\\\"esporta()\\\" disabled.bind=\\\"!selected.length\\\" style=\\\"margin-left:0;\\\"><i class=\\\"material-icons\\\">download</i> Esporta selezionati per invio da interfaccia tradizionale</ka-button>\\n              </td>\\n              <td if.bind=\\\"!rubricaTableInterface.data.length\\\">Non sono presenti contatti in rubrica</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./migrate-subuser.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"m-0\\\">Confermi di voler <strong>migrare</strong> l'utente selezionato?</p>\\n    <ka-control name=\\\"migrationRecipient\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-3\\\"></ka-control>\\n    <ka-control name=\\\"migrationReason\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.trigger=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button disabled.bind=\\\"pendingSave\\\" click.trigger=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-add-reseller.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\">Caricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <div class=\\\"body p-3\\\">\\n      <ka-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeReseller()\\\" class=\\\"mb-3\\\"></ka-control>\\n      <ka-control name=\\\"resellerCode\\\" buttons=\\\"dropdown\\\" class=\\\"mb-3\\\" readonly.bind=\\\"!resource.data.uuid\\\"></ka-control>\\n      <ka-control name=\\\"serviceGroupCode\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!resource.data.uuid\\\"></ka-control>\\n    </div>\\n  </template>\\n  <div class=\\\"footer d-flex justify-content-end\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-delete-billing-profile.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    Confermi di voler eliminare il profilo selezionato?\\n    <div if.bind=\\\"params.forceEnabled\\\">\\n      <ka-input config.bind=\\\"{ control: 'check' }\\\" value.bind=\\\"force\\\" label=\\\"Forza cancellazione\\\"></ka-input>\\n    </div>\\n    <!-- <p class=\\\"m-0\\\">E' necessario cancellare le seguenti richieste mav per procedere:</p>\\n    <ul class=\\\"mt-3\\\">\\n      <li>\\n        <span>Richiesta del fiduciario Mamoka S.r.l</span>\\n      </li>\\n      <li>\\n        <span>Richiesta del fiduciario NicolaKArtell 3</span>\\n      </li>\\n    </ul> -->\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok(force)\\\">Procedi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-document-upload.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pending\\\" class=\\\"m-0 mt-3\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"!pending\\\">\\n      <p class=\\\"mx-0 mt-0\\\">\\n        <strong>${type.label}</strong>\\n        <small if.bind=\\\"document\\\"><br>Caricato il: ${document.uploadedAt|dateFormat}</small>\\n      </p>\\n      <ka-control name=\\\"file\\\" buttons=\\\"clear\\\"></ka-control>\\n      <ka-control if.bind=\\\"type.placeholderType && ibanCodes\\\" name=\\\"placeholder\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-3\\\"></ka-control>\\n      <ka-control if.bind=\\\"type.placeholderType && !ibanCodes\\\" name=\\\"placeholder\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event)\\\" disabled.bind=\\\"buttonPending\\\">Carica</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body { padding: 2rem; }\\n    .footer { display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right; }\\n    .body > p { margin-left: 0; margin-right: 0; }\\n    .body > small { \\n      font-size: 1.2rem;\\n      line-height: 1.5rem;\\n      color: rgba(237, 90, 35, 0.7);\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <small><i class=\\\"fas fa-exclamation-triangle\\\" style=\\\"margin-right: .5rem;\\\"></i>Attenzione</small>\\n    <p style=\\\"margin-top: .5rem; margin-bottom: .5rem;\\\">L'utente verrà archiviato definitivamente e non sarà più possibile riattivarlo. I vecchi ordini continueranno ad essere visibili per l'utente master.</p>\\n    <p if.bind=\\\"resource.data.reason === 'MIGRATION'\\\" style=\\\"margin-top: 0;\\\">Verrà creato un nuovo utente con gli stessi dati di fatturazione. Tutti gli ordini non fatturati e tutte le flat service attive verranno migrate verso questo nuovo utente.</p>\\n    <ka-control name=\\\"reason\\\"></ka-control>\\n    <ka-input name=\\\"newParentUserUuid\\\" if.bind=\\\"resource.data.reason === 'MIGRATION'\\\" class=\\\"no-add no-open\\\"  style=\\\"margin: 3rem 0 .5rem\\\"></ka-input>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <p>L'utente selezionato è già presente in MultiDialogo.<br><strong>Confermi di voler aggiornare i dati di questo utente?</strong></p>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok()\\\">Aggiorna</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./utenti.sass\\\"></require>\\n  <md-nav-utenti user-id.bind=\\\"params.id\\\"></md-nav-utenti>\\n  <!-- USERS LIST VIEW -->\\n  <template if.bind=\\\"!params.id && !params.view\\\">\\n    <compose containerless view-model=\\\"${views.elenco.vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n  <!-- DOCUMENTS/BILLING VIEWS -->\\n  <template if.bind=\\\"!params.id && params.view\\\">\\n    <compose containerless view-model=\\\"${views[params.view].vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n  <!-- USER PROFILE VIEWS -->\\n  <template if.bind=\\\"params.id && params.view\\\">\\n    <compose containerless view-model=\\\"${views[params.view].vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"!pendingInit && !pendingLoad\\\">\\n    <h2>Dati anagrafici</h2>\\n    <div class=\\\"row m-0 mb-4\\\">\\n      \\n      <!-- User data (left side) -->\\n      <div class=\\\"col-12 pb-4 col-md-6 pb-md-0 user-data\\\" style=\\\"padding: 0 0.75rem; box-shadow: 1px 0 0 0 #e0e0e0\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div if.bind=\\\"isOperator\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"group\\\" \\n              buttons=\\\"dropdown,clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.countryCode\\\" \\n              client.bind=\\\"api\\\" \\n              change.trigger=\\\"setGeo('countryCode')\\\" \\n              buttons=\\\"dropdown\\\"\\n              class=\\\"d-block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-8 pb-4\\\">\\n            <ka-control\\n              name=\\\"profile.companyLegalFormCode\\\"\\n              change.trigger=\\\"changeLegalForm()\\\"\\n              buttons=\\\"dropdown\\\"\\n              class=\\\"d-block\\\">\\n            </ka-control>\\n          </div>\\n          <div if.bind=\\\"(params.id === 'new' && api.user.profile.businessType !== 'BUILDING-ADMINISTRATOR') || (params.id !== 'new' && resource.schema.profile.businessType.datasource.length > 1)\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control\\n              name=\\\"profile.businessType\\\"\\n              buttons=\\\"dropdown\\\"\\n              class=\\\"d-block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.holderName.companyName\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-6 col-xl-2 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.courtesyTitle\\\" \\n              buttons=\\\"dropdown,clear\\\"\\n              class=\\\"d-block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-6 col-xl-5 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.holderName.firstname\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-5 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.holderName.lastname\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.fiscalCode\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <ka-control \\n              name=\\\"profile.vatCode\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Location data (right side) -->\\n      <div class=\\\"col-12 col-md-6 px-1 location-data\\\">\\n        <div class=\\\"row m-0\\\" style=\\\"padding: 0 0.75rem;\\\">\\n          <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.admLvl1Uuid\\\"\\n              change.trigger=\\\"setGeo('admLvl1Uuid')\\\" \\n              readonly.bind=\\\"params.id === 'new' && !profile.location.countryCode\\\"\\n              client.bind=\\\"api\\\" \\n              buttons=\\\"dropdown\\\"\\n              style=\\\"display: block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.admLvl2Uuid\\\" \\n              change.trigger=\\\"setGeo('admLvl2Uuid')\\\"\\n              readonly.bind=\\\"params.id === 'new' && !profile.location.admLvl1Uuid\\\"\\n              client.bind=\\\"api\\\" \\n              buttons=\\\"dropdown\\\"\\n              style=\\\"display: block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.admLvl3Uuid\\\"\\n              readonly.bind=\\\"params.id === 'new' && !profile.location.admLvl2Uuid\\\" \\n              client.bind=\\\"api\\\" \\n              buttons=\\\"dropdown\\\"\\n              style=\\\"display: block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-md-6 col-xl-8 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.streetAddress\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.zipCode\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div> \\n          <div class=\\\"col-8 col-xl-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.locality\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.email\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.pec\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-4 pb-4 pb-xl-0\\\">\\n            <ka-control \\n              name=\\\"profile.phoneNumber\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-4 pb-4 pb-xl-0\\\">\\n            <ka-control \\n              name=\\\"profile.mobilePhoneNumber\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-4\\\">\\n            <ka-control \\n              name=\\\"profile.faxNumber\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <template if.bind=\\\"params.id !== 'new' || (params.id === 'new' && (resource.data.profile.businessType && resource.data.profile.businessType !== 'BUILDING') || (api.user.profile.businessType !== 'BUILDING-ADMINISTRATOR'))\\\">\\n      <h2>Dati di accesso <ka-button if.bind=\\\"ENVIRONMENT.APP_DEBUG === 'true' && params.id === 'me'\\\" class=\\\"inverted\\\" click.delegate=\\\"copyServiceToken()\\\">Copia service token</ka-button></h2>\\n      <div class=\\\"row m-0 mb-4 login-data\\\" style=\\\"padding: 0 0.75rem;\\\">\\n        <div class=\\\"col-12 pb-4 col-md-6 pd-md-0\\\">\\n          <ka-control name=\\\"profile.username\\\" readonly.bind=\\\"resource.data.profile.businessType === 'BUILDING'\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6\\\">\\n          <ka-control name=\\\"password\\\" autocomplete=\\\"new-password\\\"></ka-control>\\n        </div>\\n      </div>\\n    </template>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button class=\\\"inverted mx-0 mt-0 me-2 ms-4\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button>\\n      <ka-button if.bind=\\\"api.hasRole(['MODIFY_USERS', 'MODIFY_ANY_USER'])\\\" class=\\\"mt-0 me-4\\\" click.delegate=\\\"save($event)\\\">Salva modifiche</ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <h2>Impostazioni Cashback</h2>\\n    <div class=\\\"row mx-4\\\">\\n      <div class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control\\n          name=\\\"percentageOnServices\\\" \\n          readonly.bind=\\\"!writeEnabled || !api.hasRole('MODIFY_ANY_USER_CASHBACK_PERCENTAGE_ON_SERVICES')\\\"\\n          buttons=\\\"clear\\\">\\n        </ka-control>\\n      </div>\\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button \\n        click.delegate=\\\"submitAction($event)\\\" \\n        disabled.bind=\\\"!writeEnabled\\\" \\n        class=\\\"my-0 me-4\\\">Salva modifiche\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./compensi.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n  \\n  <!-- Search interface -->\\n  <template if.bind=\\\"resource.summarySearchInterface && resource.detailsSearchInterface && resource.usersSearchInterface\\\">\\n    <div class=\\\"row my-3 mx-1\\\">\\n      <!-- Date filters -->\\n      <template if.bind=\\\"utentiDatiCompensiTabs.current.name === 'riepilogo-utenti'\\\">\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control\\n            schema.bind=\\\"resource.search.schema.createdAtStart\\\"\\n            value.bind=\\\"resource.usersSummarySearchInterface.data.createdAtStart\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </ka-control>\\n        </div>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control \\n            schema.bind=\\\"resource.search.schema.createdAtEnd\\\"\\n            value.bind=\\\"resource.usersSummarySearchInterface.data.createdAtEnd\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </ka-control>\\n        </div>\\n      </template>\\n      <template else>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control\\n            schema.bind=\\\"resource.search.schema.createdAtStart\\\"\\n            value.bind=\\\"resource.summarySearchInterface.data.createdAtStart\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"utentiDatiCompensiTabs.current.name === 'utenti-associati'\\\"\\n            class=\\\"${utentiDatiCompensiTabs.current.name === 'utenti-associati' ? 'hidden-content' : ''}\\\">\\n          </ka-control>\\n        </div>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control \\n            schema.bind=\\\"resource.search.schema.createdAtEnd\\\"\\n            value.bind=\\\"resource.summarySearchInterface.data.createdAtEnd\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"utentiDatiCompensiTabs.current.name === 'utenti-associati'\\\"\\n            class=\\\"${utentiDatiCompensiTabs.current.name === 'utenti-associati' ? 'hidden-content' : ''}\\\">\\n          </ka-control>\\n        </div>\\n      </template>\\n      <!-- Other filters -->\\n      <div class=\\\"col-xs-12 col-sm-6 col-md-3\\\">\\n        <ka-control\\n          schema.bind=\\\"resource.search.schema.associatedUser\\\"\\n          value.bind=\\\"resource.summarySearchInterface.data.associatedUser\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"clear\\\">\\n        </ka-control>\\n      </div>\\n      <div \\n        class=\\\"col-xs-12 col-sm-6 col-md-3\\\" \\n        if.bind=\\\"resource.search.schema.serviceGroup.datasource.length\\\">\\n        <ka-control\\n          schema.bind=\\\"resource.search.schema.serviceGroup\\\"\\n          value.bind=\\\"resource.summarySearchInterface.data.serviceGroup\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </ka-control>\\n      </div>\\n      <div class=\\\"col d-flex justify-content-end\\\">\\n        <ka-button click.delegate=\\\"resource.search.apply()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <ka-tabs view-model.ref=\\\"utentiDatiCompensiTabs\\\" id=\\\"main\\\">\\n    <!-- Riepilogo compensi -->\\n    <ka-tab id=\\\"riepilogo-compensi\\\" label=\\\"Riepilogo compensi\\\">\\n      <template if.bind=\\\"resource.detailsTableInterface.initialized\\\">\\n        <md-counter\\n          suffix=\\\"€\\\" \\n          timeout=\\\"2000\\\"\\n          duration=\\\"3000\\\" \\n          label=\\\"Totale compensi da pagare\\\" \\n          end=\\\"${resource.summaryTableInterface.data.totalAmount.amountToBePaid}\\\" \\n          if.bind=\\\"resource.summaryTableInterface.data.totalAmount.amountToBePaid > 0\\\">\\n        </md-counter>\\n\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th></th>\\n                <th>Confermato</th>\\n                <th>Non confermato</th>\\n                <th>Totale generale</th>\\n                <th>Pagato</th>\\n                <th>Da pagare</th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"group of resource.summaryTableInterface.data.serviceGroups\\\">\\n                <tr>\\n                  <th>${group.name}</th>\\n                  <td>${group.amountConfirmed} €</td>\\n                  <td>${group.amountPendingConfirmation} €</td>\\n                  <td>${group.amountTotal} €</td>\\n                  <td>${group.amountPaid} €</td>\\n                  <td>${group.amountToBePaid} €</td>\\n                </tr>\\n                <tr class=\\\"service\\\" repeat.for=\\\"service of group.services\\\">\\n                  <td>${service.code}</td>\\n                  <td>${service.amountConfirmed} €</td>\\n                  <td>${service.amountPendingConfirmation} €</td>\\n                  <td>${service.amountTotal} €</td>\\n                  <td>${service.amountPaid} €</td>\\n                  <td>${service.amountToBePaid} €</td>\\n                </tr>\\n              </template>\\n              <tr class=\\\"total\\\">\\n                <th>Compensi totali</th>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountConfirmed} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountPendingConfirmation} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountTotal} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountPaid} €</td>\\n                <td><span innerhtml.bind=\\\"counter['toBePaid'+$index]\\\">${resource.counter('toBePaid'+$index, 0, resource.summaryTableInterface.data.totalAmount.amountToBePaid, 1000)}</span> €</td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"6\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportSummary()\\\" style=\\\"margin: 0;\\\">\\n                    <i class=\\\"material-icons\\\" style=\\\"margin: 0.5rem;\\\">download</i>Download excel compensi\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Riepilogo mensile -->\\n    <ka-tab id=\\\"riepilogo-mensile\\\" label=\\\"Riepilogo mensile\\\">\\n      <template if.bind=\\\"resource.detailsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.detailsTableInterface\\\" search.bind=\\\"resource.detailsSearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th>Periodo</th>\\n                <th>Tipologia</th>\\n                <th>Servizio</th>\\n                <th>Confermato</th>\\n                <th>Non confermato</th>\\n                <th>Totale generale</th>\\n                <th>Pagato</th>\\n                <th>Da pagare</th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"detail of resource.detailsTableInterface.data\\\">\\n                <tr>\\n                  <td>${detail.month}/${detail.year}</td>\\n                  <td>${detail.serviceGroupName}</td>\\n                  <td>${detail.serviceCode}</td>\\n                  <td>${detail.amountConfirmed} €</td>\\n                  <td>${detail.amountPendingConfirmation} €</td>\\n                  <td>${detail.amountTotal} €</td>\\n                  <td>${detail.amountPaid} €</td>\\n                  <td>${detail.amountToBePaid} €</span></td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportDetail()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel riepilogo mensile</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Riepilogo utenti -->\\n    <ka-tab id=\\\"riepilogo-utenti\\\" label=\\\"Riepilogo utenti\\\">\\n      <template if.bind=\\\"resource.usersSummaryTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.usersSummaryTableInterface\\\" search.bind=\\\"resource.usersSummarySearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th><md-table-sort table.bind=\\\"resource.usersSummaryTableInterface\\\" attribute=\\\"display-name\\\">Utente</md-table-sort></th>\\n                <th>Contatti</th>\\n                <th>Codici provvigionali</th>\\n                <th><span class=\\\"tooltip\\\" ka-tooltip=\\\"Sono i servizi provvigionali attualmente assegnati all'utente. Non sono strettamente connessi ai compensi maturati.\\\">Servizi associati</span></th>\\n                <th>Gestionale</th>\\n                <th>Confermato</th>\\n                <th><md-table-sort table.bind=\\\"resource.usersSummaryTableInterface\\\" attribute=\\\"total\\\">Totale generale</md-table-sort></th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"resource of resource.usersSummaryTableInterface.data\\\">\\n                <tr class=\\\"${resource.userSummary.associatedGroups.length || resource.userSummary.apiClient.hasResellerAssociation ? '' : 'not-associated'}\\\">\\n                  <!-- DisplayName -->\\n                  <td if.bind=\\\"resource.userSummary.displayName && resource.userSummary.displayName !== ''\\\"><strong class=\\\"limitwidth\\\">${resource.userSummary.displayName}</strong></td>\\n                  <td if.bind=\\\"!resource.userSummary.displayName || resource.userSummary.displayName === ''\\\"><strong class=\\\"limitwidth\\\">Utente non più presente</strong></td>\\n                  <!-- Contatti -->\\n                  <td>\\n                    <template if.bind=\\\"resource.userSummary.associatedGroups.length || resource.userSummary.apiClient.hasResellerAssociation\\\">\\n                      <small if.bind=\\\"resource.userSummary.email\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Email: </strong>${resource.userSummary.email}</small>\\n                      <small if.bind=\\\"resource.userSummary.phoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Telefono: </strong>${resource.userSummary.phoneNumber}</small>\\n                      <small if.bind=\\\"resource.userSummary.mobilePhoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Cellulare: </strong>${resource.userSummary.mobilePhoneNumber}</small>\\n                    </template>\\n                  </td>\\n                  <!-- Codici provvigionali -->\\n                  <td>\\n                    <span if.bind=\\\"resource.commissionsSummary.resellerCodes.length\\\" repeat.for=\\\"service of resource.commissionsSummary.resellerCodes\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service}</span>\\n                  </td>\\n                  <!-- Associated services -->\\n                  <td>\\n                    <span if.bind=\\\"resource.userSummary.associatedGroups && resource.userSummary.associatedGroups.length\\\" repeat.for=\\\"service of resource.userSummary.associatedGroups\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service.name}</span>\\n                  </td>\\n                  <!-- Gestionale -->\\n                  <td style=\\\"white-space: nowrap;\\\">${resource.userSummary.apiClient.name}</td>\\n                  <!-- Confermato -->\\n                  <td>${resource.commissionsSummary.amountConfirmed}€</td>\\n                  <!-- Totale generale -->\\n                  <td>${resource.commissionsSummary.amountTotal}€</td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportUsersSummary()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel riepilogo utenti</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Utenti Associati -->\\n    <ka-tab id=\\\"utenti-associati\\\" label=\\\"Utenti associati\\\">\\n      <template if.bind=\\\"resource.usersTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.usersTableInterface\\\" search.bind=\\\"resource.usersSearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th><md-table-sort table.bind=\\\"resource.usersTableInterface\\\" attribute=\\\"display-name\\\">Utente</md-table-sort></th>\\n                <th></th>\\n                <th>Contatti</th>\\n                <th>Servizi associati</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"user of resource.usersTableInterface.data\\\">\\n                <tr>\\n                  <!-- DisplayName -->\\n                  <td class=\\\"limitwidth-30\\\"><strong>${user.displayName}</strong><small style=\\\"display: block;\\\">ID: ${user.userId}</small></td>\\n                  <td class=\\\"p-0\\\">\\n                    <ka-button\\n                      disabled.bind=\\\"api.isImpersonated\\\"\\n                      click.delegate=\\\"resource.impersonate(user)\\\"\\n                      ka-tooltip=\\\"value.bind: api.isImpersonated ? 'Impersonificazione già in corso' : 'Impersona utente'\\\"\\n                      class=\\\"ka-table-button primary\\\">\\n                      <i class=\\\"material-icons\\\">switch_account</i>\\n                    </ka-button>\\n                  </td>\\n                  <!-- Contatti -->\\n                  <td>\\n                    <small if.bind=\\\"user.email\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Email: </strong>${user.email}</small>\\n                    <small if.bind=\\\"user.phoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Telefono: </strong>${user.phoneNumber}</small>\\n                    <small if.bind=\\\"user.mobilePhoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Cellulare: </strong>${user.mobilePhoneNumber}</small>\\n                  </td>\\n                  <!-- Services -->\\n                  <td>\\n                    <span if.bind=\\\"user.associatedGroups && user.associatedGroups.length\\\" repeat.for=\\\"service of user.associatedGroups\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service.name}</span>\\n                  </td>\\n                  <!-- Tag -->\\n                  <td class=\\\"text-end\\\">\\n                    <div class=\\\"user-tag\\\">\\n                      <ka-control schema.bind=\\\"{ control: 'text' }\\\" value.bind=\\\"user.tag.new\\\" readonly.bind=\\\"!user.userTagEnabled\\\" class=\\\"${!api.hasRole(['ASSIGN_ANY_USER_RESELLER_TAG', 'ASSIGN_USER_RESELLER_TAG']) ? 'tag-disabled' : ''} no-buttons\\\" style=\\\"display:inline-block;margin:0;width:150px;\\\"></ka-control>\\n                      <template if.bind=\\\"(api.hasRole('ASSIGN_ANY_USER_RESELLER_TAG') || api.hasRole('ASSIGN_USER_RESELLER_TAG'))\\\">\\n                        <ka-button click.delegate=\\\"user.userTagEnabled=!user.userTagEnabled\\\" ka-tooltip=\\\"Modifica/crea tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"user.userTagEnabled\\\"><i class=\\\"material-icons\\\">edit</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.cancelTag(user)\\\" ka-tooltip=\\\"Torna indietro\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">close</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.setTag(user, 'save')\\\" ka-tooltip=\\\"Salva tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">task_alt</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.setTag(user, 'delete')\\\" ka-tooltip=\\\"Elimina tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">delete</i></ka-button>\\n                      </template>\\n                    </div>\\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportUsers()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel utenti associati</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./documenti.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2><span static-tooltip=\\\"value.bind: staticTooltipMavDocuments\\\" style=\\\"align-items: center\\\">Ricerca documenti</span></h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6\\\">\\n        <md-control name=\\\"context\\\" change.call=\\\"$parent.search()\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6\\\">\\n        <md-input if.bind=\\\"searchInterface.data.context === 'SUBUSER'\\\" name=\\\"subuser\\\" client.bind=\\\"api\\\" change.call=\\\"$parent.search()\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface && !isLoading && contextUser.id\\\">\\n    <h2 if.bind=\\\"!params.id\\\" class=\\\"d-flex justify-content-between align-items-center lh-1\\\" style=\\\"min-height: 5rem;\\\">\\n      <span if.bind=\\\"!contextUser.profile.displayName\\\">Elenco dei miei documenti</span>\\n      <span if.bind=\\\"contextUser.profile.displayName\\\">Elenco dei documenti di ${contextUser.profile.displayName}</span>\\n      <small class=\\\"alert mx-4\\\"><i class=\\\"far fa-exclamation-circle\\\"></i> Accertarsi di caricare solo documenti in corso di validità!</small>\\n    </h2>\\n    <h2 else>Elenco documenti</h2>\\n\\n    <md-table-wrapper class=\\\"position-relative\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Documento</th>\\n            <th>Etichetta</th>\\n            <th>Stato di approvazione</th>\\n            <th>Motivazione</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr id=\\\"${record.code}\\\" class=\\\"document-type-row open\\\">\\n              <td click.delegate=\\\"toggleType(record)\\\" class=\\\"align-middle toggle-content\\\" colspan=\\\"3\\\"><i class=\\\"far fa-chevron-down me-3\\\"></i>${record.label} <small if.bind=\\\"record.uploadLimit\\\"> - limite file caricabili: ${record.uploadLimit}</small></td>\\n              <td style=\\\"text-align: right; white-space: nowrap;\\\" colspan=\\\"2\\\">\\n                <ka-button\\n                  if.bind=\\\"record.code === 'MAV-VECTOR-CONTRACT' && record.templateFileName\\\"\\n                  click.delegate=\\\"downloadStaticResource(record)\\\"\\n                  class=\\\"flat inverted secondary with-icon ms-3\\\">\\n                  <i class=\\\"fal fa-file-download\\\"></i>\\n                  <span>Scarica modello</span>\\n                </ka-button>\\n                <ka-button \\n                  if.bind=\\\"api.hasRole('CREATE_USER_CERTIFIABLE_DOCUMENT_BUCKETS')\\\" \\n                  click.delegate=\\\"upload(record)\\\" \\n                  disabled.bind=\\\"record.uploadLimit && record.uploadLimit <= record.notRefusedDocumentsCount\\\" \\n                  ka-tooltip.bind=\\\"record.uploadLimit && record.uploadLimit <= record.notRefusedDocumentsCount ? 'Raggiunto il limite di file caricabili per questa tipologia di documento' : 'Aggiungi documento'\\\" \\n                  class=\\\"flat inverted with-icon ms-3\\\">\\n                  <i class=\\\"fal fa-file-upload\\\"></i>\\n                  <span>Aggiungi documento</span>\\n                </ka-button>\\n              </td>\\n            </tr>\\n            <template if.bind=\\\"record.documentsBucket.length\\\">\\n              <tr repeat.for=\\\"document of record.documentsBucket\\\" data-type=\\\"${record.code}\\\" class=\\\"document-row visible\\\">\\n                <td class=\\\"document ${ document.refusedAt ? 'refused' : document.approvedAt ? 'approved' : document.uploadedAt ? 'uploaded' : '' } align-middle text-nowrap\\\">\\n                  <i class=\\\"fal ${ document.refusedAt ? 'fa-file-times' : document.approvedAt ? 'fa-file-check' : document.uploadedAt ? 'fa-file-alt' : 'fa-file-exclamation' } align-text-bottom me-3\\\" ka-tooltip=\\\"value.bind: document.refusedAt ? 'Rifiutato' : document.approvedAt ? 'Approvato' : document.uploadedAt ? 'Caricato. In attesa di approvazione' : 'Documento non caricato'\\\"></i>\\n                  <span if.bind=\\\"document.uploadedAt\\\">Caricato il ${document.uploadedAt | dateFormat}</span>\\n                </td>\\n                <td class=\\\"align-middle text-nowrap\\\">\\n                  <small if.bind=\\\"record.placeholderType\\\">${record.placeholderType}: ${document.placeholder}</small>\\n                </td>\\n                <td class=\\\"align-middle text-nowrap\\\">\\n                  <span>${document.approvedAt ? 'Approvato il '+document.approvedAt : document.refusedAt ? 'Rifiutato il '+document.refusedAt : !document.uploadedAt ? '' : 'In attesa di approvazione'}</span>\\n                </td>\\n                <td class=\\\"align-middle\\\">\\n                  <small if.bind=\\\"document.statusReason\\\" ka-tooltip.bind=\\\"document.statusReason\\\" class=\\\"limitwidth-30\\\">${document.statusReason}</small>\\n                </td>\\n                <td class=\\\"ka-tr-tools align-middle\\\">\\n                  <!-- Approval -->\\n                  <button if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CERTIFIABLE_BUCKET_DOCUMENT')\\\" click.delegate=\\\"approval(record, document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Approva o Rifiuta documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-file-certificate\\\"></i>\\n                  </button>\\n                  <!-- Upload -->\\n                  <button click.delegate=\\\"upload(record, document)\\\" ka-tooltip=\\\"value.bind: document.uploadedAt ? 'Sostituisci documento' : 'Carica documento'\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-file-upload\\\"></i>\\n                  </button>\\n                  <!-- Delete -->\\n                  <button click.delegate=\\\"delete(record, document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Elimina documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-trash-alt\\\"></i>\\n                  </button>\\n                  <!-- Download -->\\n                  <button click.delegate=\\\"download(document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Scarica documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-arrow-to-bottom\\\"></i>\\n                  </button>\\n                </td>\\n              </tr>  \\n            </template>\\n            <tr else data-type=\\\"${record.code}\\\" class=\\\"document-row visible\\\">\\n              <td class=\\\"document align-middle text-nowrap\\\" colspan=\\\"5\\\"><i class=\\\"fal fa-file-alt align-text-bottom me-3\\\"></i>Nessun documento caricato</td>\\n            </tr>\\n          </template>      \\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Al momento non è richiesto di caricare alcun documento</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./elenco.scss\\\"></require>\\n  <template if.bind=\\\"usersSearchInterface.initialized\\\">\\n    <h2>Ricerca ${mdt.parsers.contextualize(api.user, 'utenti')}</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"usersSearchInterface\\\">\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <md-control\\n          name=\\\"textSearch\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          submit.call=\\\"$parent.ricerca()\\\"\\n          md-tooltip=\\\"<ul><li>Inserire almeno 3 caratteri per velocizzare la ricerca</li><li>Inserire id separati da virgola per ricercare per id, es: 123,42,13</li><li>Inserire <em>adr:indirizzo</em> per fare una ricerca per indirizzo, es: adr:garibaldi</li><li>Inserire direttamente l'email per cercare per email, es: mario.rossi@multidialogo.it</li><li>Inserire direttamente il codice fiscale per cercare per codice fiscale, es: DNELVS03E10L219R</li><li>Inserire direttamente la paritita iva per cercare per partita iva, es: 47284790863</li></ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"countryCode\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          change.call=\\\"$parent.initGeo('countryCode')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl1\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.countryCode\\\"\\n          change.call=\\\"$parent.initGeo('admLvl1')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl2\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.admLvl1\\\"\\n          change.call=\\\"$parent.initGeo('admLvl2')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl3\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.admLvl2\\\"\\n          change.call=\\\"$parent.initGeo('admLvl3')\\\">\\n        </md-control>\\n      </div>\\n\\n      <template if.bind=\\\"isAdvancedUser\\\">\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"group\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"businessType\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"priceList\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"client\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-lg-4\\\">\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col\\\">\\n              <md-control \\n                name=\\\"registeredAtStart\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n            <div class=\\\"col\\\">\\n              <md-control \\n                name=\\\"registeredAtEnd\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"parent\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            client.bind=\\\"api\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"reseller\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            client.bind=\\\"api\\\">\\n          </md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control \\n          name=\\\"status\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control \\n          name=\\\"sepaDirectDebit\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.ricerca()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"usersTableInterface.data || usersTableInterface.isLoading\\\">\\n      <!-- Titolo -->\\n      <h2>\\n        <span>Elenco ${mdt.parsers.contextualize(api.user, 'utenti')}</span>\\n        <ka-button if.bind=\\\"api.hasRole('CREATE_BASIC_USERS') && !api.hasRole('CREATE_ANY_USER_SUBUSER')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('CREATE_BASIC_USERS') && !api.hasRole('CREATE_ANY_USER_SUBUSER')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"importa()\\\"><i class=\\\"material-icons\\\">download</i> Importa</ka-button>\\n      </h2>\\n\\n      <md-table-toolbar table.bind=\\\"usersTableInterface\\\" search.bind=\\\"usersTableInterface\\\">\\n        <!-- CSV download -->\\n        <button click.delegate=\\\"csvDownload()\\\" ka-tooltip=\\\"Scarica selezione in formato csv\\\" class=\\\"toolbar-button\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like users_table\\\">\\n          <thead if.bind=\\\"usersTableInterface.data.length\\\">\\n            <tr>\\n              <th>ID</th>\\n              <th>Registrazione</th>\\n              <th>Denominazione</th>\\n              <th if.bind=\\\"isAdvancedUser\\\">Proprietario</th>\\n              <th>Indirizzo</th>\\n              <th>CF/IVA</th>\\n              <th if.bind=\\\"isAdvancedUser\\\">Software</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"usersTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of usersTableInterface.data\\\">\\n              <!-- Id -->\\n              <td width=\\\"50\\\"><span class=\\\"id-${record.statusCode === 'ACTIVE'?'enabled':'disabled'}\\\">${record.id}</span></td>\\n\\n              <!-- Date -->\\n              <td>\\n                <small style=\\\"white-space: nowrap;\\\">${record.createdAt | dateFormat}</small>\\n                <div if.bind=\\\"(record.migratedTo || record.migratedFrom) && api.hasRole(['CREATE_ANY_USER_SUBUSER'])\\\" class=\\\"migration\\\">\\n                  <span class=\\\"tag primary my-2\\\">Utente migrato</span><br>\\n                  <small if.bind=\\\"record.migratedTo\\\" style=\\\"white-space: nowrap\\\">\\n                    <a click.trigger=\\\"findMigrationProfile(record.migratedTo)\\\">Profilo nuovo utente</a><br>\\n                  </small>\\n                  <small if.bind=\\\"record.migratedFrom\\\" style=\\\"white-space: nowrap\\\">\\n                    <a click.trigger=\\\"findMigrationProfile(record.migratedFrom)\\\">Profilo utente di provenienza</a>\\n                  </small>\\n                </div>\\n              </td>\\n\\n              <!-- Profile -->\\n              <td class=\\\"limitwidth\\\">\\n                <div class=\\\"row no-gutters\\\">\\n                  <div>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Impiegato di sistema\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-EMPLOYEE'\\\">badge</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Amministratore di condominio\\\" if.bind=\\\"record.profile[0].businessType === 'BUILDING-ADMINISTRATOR'\\\">apartment</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Inutile\\\" if.bind=\\\"record.profile[0].businessType === 'DISPOSABLE'\\\">repeat_one</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Reseller\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-BUSINESS-SCOUT'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Partner di sistema\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-PARTNER'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Altro\\\" if.bind=\\\"record.profile[0].businessType === 'OTHER'\\\">switch_account</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Automotive\\\" if.bind=\\\"record.profile[0].businessType === 'AUTOMOTIVE'\\\">directions_car</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Da classificare\\\" if.bind=\\\"record.profile[0].businessType === 'SKIPPED'\\\">more</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Condominio\\\" if.bind=\\\"record.profile[0].businessType === 'BUILDING'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Punto vendita\\\" if.bind=\\\"record.profile[0].businessType === 'COMPUTER-SHOP'\\\">laptop_chromebook</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Tour operator\\\" if.bind=\\\"record.profile[0].businessType === 'TOUR-OPERATOR'\\\">travel_explore</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Impresa assicurativa\\\" if.bind=\\\"record.profile[0].businessType === 'INSURANCE-COMPANY'\\\">work</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Sconosciuto\\\" if.bind=\\\"record.profile[0].businessType === 'UNKNOWN'\\\">no_accounts</i>\\n                  </div>\\n                  <div class=\\\"col limitwidth\\\">\\n                    <strong>${record.profile[0].displayName}</strong>\\n                    <small style=\\\"display:block;overflow:hidden;text-overflow:ellipsis\\\">\\n                      <span if.bind=\\\"record.profile[0].courtesyTitle\\\">${record.profile[0].courtesyTitle}</span>\\n                      <span if.bind=\\\"record.profile[0].holderName.lastname\\\">${record.profile[0].holderName.lastname}</span>\\n                      <span if.bind=\\\"record.profile[0].holderName.firstname\\\">${record.profile[0].holderName.firstname}</span>\\n                      <span if.bind=\\\"record.profile[0].email\\\" style=\\\"display: block;\\\">${record.profile[0].email}</span>\\n                    </small>\\n                  </div>\\n                </div>\\n              </td>\\n\\n              <!-- Display name -->\\n              <td if.bind=\\\"isAdvancedUser\\\">\\n                <div if.bind=\\\"record.parentId\\\"><a href=\\\"anagrafiche/utenti/${record.parentId}/anagrafica\\\">${record.profile[0].parent.displayName}</a><br><small>ID ${record.parentId}</small></div>\\n                <div if.bind=\\\"record.sponsors\\\" innerhtml.bind=\\\"record.sponsors|sponsorsFormat\\\" class=\\\"sponsors\\\"></div>\\n              </td>\\n\\n              <!-- Address -->\\n              <td>\\n                <small>\\n                  <span if.bind=\\\"record.profile[0].location.streetAddress\\\">${record.profile[0].location.streetAddress}</span>\\n                  <br if.bind=\\\"record.profile[0].location.streetAddress\\\">\\n                  <span if.bind=\\\"record.profile[0].location.zipCode\\\">${record.profile[0].location.zipCode} - </span>\\n                  <span if.bind=\\\"record.profile[0].location.admLvl3\\\">${record.profile[0].location.admLvl3} </span>\\n                  <span if.bind=\\\"record.profile[0].location.admLvl2\\\">(${record.profile[0].location.admLvl2})</span>\\n                  <span if.bind=\\\"record.profile[0].location.countryCode !== 'IT'\\\"> - ${record.profile[0].location.countryCode}</span>\\n                </small>\\n              </td>\\n              <td>${record.profile[0].fiscalCode}<br if.bind=\\\"record.profile[0].fiscalCode\\\">${record.profile[0].vatCode}</td>\\n              <td if.bind=\\\"isAdvancedUser\\\">${record.profile[0].apiClientName}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button\\n                  if.bind=\\\"record.statusCode === 'ACTIVE' && isImpersonateUser\\\"\\n                  click.delegate=\\\"impersonifica(record)\\\"\\n                  disabled.bind=\\\"api.isImpersonated\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip=\\\"value.bind: api.isImpersonated ? 'Impersonificazione già in corso' : 'Impersona utente'\\\">\\n                  <i class=\\\"material-icons\\\">switch_account</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'NOT-ACTIVE' && api.hasRole('ARCHIVE_ANY_USER')\\\"\\n                  click.delegate=\\\"archiviazione(record.id)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Archivia ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">no_accounts</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'NOT-ACTIVE'\\\"\\n                  click.delegate=\\\"attivazione(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Attiva ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">person_add</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'ACTIVE'\\\"\\n                  click.delegate=\\\"attivazione(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Disattiva ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">person_remove</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"api.hasRole(['CREATE_ANY_USER_SUBUSER']) && record.statusCode === 'ARCHIVED' && record.parentId\\\"\\n                  click.delegate=\\\"migrate(record)\\\"\\n                  disabled.bind=\\\"migratePending || record.migratedTo\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Migra ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">people</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"api.hasRole(['LIST_ANY_USER_FLAT_SERVICE_SUBSCRIPTION', 'LIST_ACTIVABLE_FLAT_SERVICES'])\\\"\\n                  click.delegate=\\\"abbonamenti(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip=\\\"Apri servizi in abbonamento\\\">\\n                  <i class=\\\"material-icons\\\">shopping_cart</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode !== 'ARCHIVED'\\\"\\n                  click.delegate=\\\"modifica(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">edit</i>\\n                </button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!usersTableInterface.isLoading && !usersTableInterface.data.length\\\">Nessun utente trovato</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <md-resource\\n    if.bind=\\\"resource.data\\\"\\n    view-model.ref=\\\"resource.resource\\\"\\n    with.bind=\\\"resource.resource\\\"\\n    schema.bind=\\\"resource.schema\\\"\\n    data.bind=\\\"resource.data\\\">\\n    <h2 class=\\\"mb-0\\\">\\n      Profilo di fatturazione\\n      <ka-button \\n        click.trigger=\\\"populate()\\\" \\n        class=\\\"inverted\\\">${billingProfileUuid ? 'Compila i dati mancanti con quelli anagrafici' : 'Compila con i dati anagrafici'}\\n      </ka-button>\\n    </h2>\\n    <template if.bind=\\\"!pendingInit\\\">\\n      <div class=\\\"row m-0 mt-3 mb-3 px-1\\\">\\n        <div class=\\\"col-6 m-0\\\">\\n          <md-control\\n            if.bind=\\\"legalForms && legalFormTypes\\\"\\n            name=\\\"legalFormCode\\\" \\n            buttons=\\\"dropdown\\\" \\n            change.call=\\\"changeLegalForm()\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 m-0\\\" show.bind=\\\"resource.data.legalFormCode\\\">\\n          <md-control \\n            name=\\\"label\\\" \\n            buttons=\\\"clear\\\">\\n          </md-control>\\n        </div>\\n        <p if.bind=\\\"taxPercentage >= 0\\\" class=\\\"m-0 mb-3 mt-2\\\">Per la forma giuridica selezionata verrà applicata una ritenuta d'acconto pari a ${taxPercentage}%</p>\\n      </div>\\n      <div show.bind=\\\"resource.data.legalFormCode\\\">\\n        <h2 class=\\\"mb-0\\\">Dati di fatturazione</h2>\\n        <div if.bind=\\\"changeLegalFormPending === false\\\" class=\\\"row m-0 px-1\\\">\\n          <!-- Left -->\\n          <div class=\\\"col-6 pe-3\\\" style=\\\"box-shadow: inset -1px 0 0 #e0e0e0;\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"legalFormSelected.companyNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"name\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" if.bind=\\\"legalFormSelected.personNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"firstName\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" if.bind=\\\"legalFormSelected.personNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"lastName\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"isVisibleForTheSelectedLegalForm('fiscalCodeNeeded')\\\">\\n                <md-control \\n                  name=\\\"fiscalCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"isVisibleForTheSelectedLegalForm('vatCodeNeeded')\\\">\\n                <md-control \\n                  name=\\\"vatCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\">\\n                <md-control \\n                  name=\\\"officeCode\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\">\\n                <md-control \\n                  name=\\\"ipaCode\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"payments.banking.iban\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <p if.bind=\\\"billingProfileIban\\\" class=\\\"m-0\\\">\\n                <small>Istituto ${bankAccountInfo.instituteName || 'di credito sconosciuto'}</small>\\n                <small if.bind=\\\"bankAccountInfo.instituteName\\\"> - Filiale ${bankAccountInfo.officeName || 'sconosciuta'}</small>\\n              </p>\\n            </div>\\n            <h3 class=\\\"p-0 mt-4\\\">Metodi di pagamento associati</h3>\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\">\\n                <md-control \\n                  name=\\\"payments.banking.sepaDirectDebitEnabled\\\" \\n                  change.call=\\\"checkSDD()\\\" \\n                  style=\\\"min-width: 220px;\\\">\\n                </md-control>\\n              </div>\\n              <div show.bind=\\\"checkSDDPassed\\\" class=\\\"col\\\">\\n                <md-control name=\\\"payments.banking.lastFourIbanDigits\\\"></md-control>\\n              </div>\\n              <div show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\" class=\\\"col\\\">\\n                <md-control name=\\\"payments.splitPaymentsEnabled\\\"></md-control>\\n              </div>\\n            </div>\\n          </div>\\n          <!-- Right -->\\n          <div class=\\\"col-6 ps-3 locazione\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input \\n                  name=\\\"location.countryCode\\\" \\n                  alias=\\\"location\\\" \\n                  ready.call=\\\"setGeo('countryCode', true)\\\" \\n                  change.call=\\\"setGeo('countryCode')\\\"\\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl1Uuid.enabled\\\" class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input  \\n                  name=\\\"location.admLvl1Uuid\\\" \\n                  ready.call=\\\"setGeo('admLvl1Uuid', true)\\\" \\n                  change.call=\\\"setGeo('admLvl1Uuid')\\\"\\n                  readonly.bind=\\\"!resource.data.location.countryCode\\\" \\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl2Uuid.enabled\\\"  class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input \\n                  name=\\\"location.admLvl2Uuid\\\" \\n                  ready.call=\\\"setGeo('admLvl2Uuid', true)\\\" \\n                  change.call=\\\"setGeo('admLvl2Uuid')\\\"\\n                  readonly.bind=\\\"!resource.data.location.admLvl1Uuid\\\" \\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl3Uuid.enabled\\\" class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input  \\n                  name=\\\"location.admLvl3Uuid\\\" \\n                  readonly.bind=\\\"!resource.data.location.admLvl2Uuid\\\"\\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div class=\\\"col-9 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.streetAddress\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div> \\n              <div class=\\\"col-3 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.zipCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.locality\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.emailAddress\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.phoneNumber\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.faxNumber\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button class=\\\"inverted me-0\\\" click.delegate=\\\"$parent.cancel()\\\">Annulla</ka-button>\\n        <ka-button disabled.bind=\\\"pendingPopulateMissingData\\\" click.delegate=\\\"$parent.save($event)\\\">Salva</ka-button>\\n      </div>\\n\\n      <!-- Authorizations section -->\\n      <template if.bind=\\\"billingProfileUuid\\\">\\n        <h2 class=\\\"mb-0\\\">Autorizzazioni</h2>\\n        <div class=\\\"p-3\\\">\\n          <h3 class=\\\"auth-mav-title d-flex align-items-center p-0 m-0 my-3\\\"><span static-tooltip=\\\"value.bind: staticTooltipMavDocuments\\\" style=\\\"align-items: center\\\">Autorizzazioni stampa MAV</span></h3>\\n          <template if.bind=\\\"mavRequests.length\\\">\\n            <div repeat.for=\\\"request of mavRequests\\\" class=\\\"ps-2\\\">\\n              <p class=\\\"mx-0 mt-0 mav-request-status ${request.status}\\\" style=\\\"line-height: 3rem\\\">${mavRequest.displayText(request)}</p>\\n              <ka-button\\n                if.bind=\\\"api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && request.status === 'DELETED' || request.status === 'REFUSED'\\\"\\n                click.delegate=\\\"mavCreateAuthorizationRequest($event, userId, billingProfileUuid)\\\"\\n                class=\\\"inverted flat with-icon m-0\\\">\\n                <i class=\\\"far fa-plus\\\"></i>\\n                <span>Crea richiesta</span>\\n              </ka-button>\\n              <ka-button \\n                if.bind=\\\"isMAVRequestDeletable(request.status)\\\"\\n                click.delegate=\\\"dialogDeleteMAVRequest($event, request)\\\"\\n                class=\\\"flat secondary inverted with-icon m-0\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n                <span>Dismetti richiesta</span>\\n              </ka-button>\\n            </div>\\n          </template>\\n          <template if.bind=\\\"!mavRequests.length\\\">\\n            <p class=\\\"mx-0 mt-0\\\">Nessuna richiesta in corso</p>\\n            <ka-button\\n              if.bind=\\\"api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')\\\"\\n              click.delegate=\\\"mavCreateAuthorizationRequest($event, userId, billingProfileUuid)\\\"\\n              class=\\\"inverted flat with-icon m-0\\\">\\n              <i class=\\\"far fa-plus\\\"></i>\\n              <span>Crea richiesta</span>\\n            </ka-button>\\n          </template>\\n        </div>\\n      </template>   \\n    </template>\\n  </md-resource>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fatturazione.sass\\\"></require>\\n\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n  <template if.bind=\\\"!editor.model\\\">\\n\\n    <!-- SDI -->\\n    <template if.bind=\\\"params.id && searchContext.user.parentId\\\">\\n      <h2>Fatturazione elettronica</h2>\\n      <div class=\\\"d-flex align-items-center\\\">\\n        <ka-control name=\\\"sdi.code\\\" readonly.bind=\\\"!sdiEnabled\\\" class=\\\"px-4 mb-4\\\" buttons=\\\"clear\\\"></ka-control>\\n        <ka-button if.bind=\\\"!sdiEnabled\\\" click.delegate=\\\"sdiEnabled = !sdiEnabled\\\" class=\\\"inverted m-0 me-4 flex-grow-1 flex-shrink-0\\\">Modifica codice Sdi</ka-button>\\n        <div if.bind=\\\"sdiEnabled\\\" class=\\\"d-flex align-items-center flex-grow-1 flex-shrink-0\\\">\\n          <ka-button click.delegate=\\\"sdiEnabled = !sdiEnabled\\\" class=\\\"inverted m-0\\\">Annulla</ka-button>\\n          <ka-button click.delegate=\\\"saveCustomSdi($event)\\\" class=\\\"m-0 ms-3 me-4\\\">Salva modifiche</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n     <!-- SEARCH INTERFACE -->\\n    <template if.bind=\\\"privileges.isAdmin && searchInterface.initialized\\\">\\n      <h2>Ricerca profili di fatturazione</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <template if.bind=\\\"privileges.isOperator\\\">\\n          <div class=\\\"col-12 col-md-6 col-lg-${searchContext.hasUser ? 3 : 6}\\\">\\n            <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.call=\\\"searchContextUserChange()\\\"></md-control>\\n          </div>\\n          <div if.bind=\\\"searchContext.hasUser\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n            <md-control\\n              if.bind=\\\"!searchContext.user.parentId && schema.context.datasource\\\"\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n            <md-control\\n              if.bind=\\\"searchContext.user.parentId && schema.context.datasource\\\"\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n          </div>\\n        </template>\\n        <template if.bind=\\\"!privileges.isOperator\\\">\\n          <div class=\\\"col-12 col-md-6 col-lg-${!searchContext.isRequestedUser ? 3 : 6}\\\">\\n            <md-control\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n          </div>\\n          <div if.bind=\\\"searchContext.isChildUsers\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n            <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"  change.call=\\\"searchContextUserChange()\\\"></md-control>\\n          </div>\\n        </template>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"fiscal_code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"iban\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"sdd\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"mav_authorization_status\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"searchContext.isChildUsers && (privileges.isOperator || !searchContext.hasUser)\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"user_active\\\" change.call=\\\"searchActiveUsersChange()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"resetSearch()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n    <!-- TABLE INTERFACE -->\\n    <template if.bind=\\\"tableInterface\\\">\\n      <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n        <span>Elenco profili di fatturazione</span>\\n        <div if.bind=\\\"!params.id && !privileges.isOperator\\\" class=\\\"d-flex align-items-center ms-auto\\\">\\n          <p class=\\\"m-0\\\">\\n            <span if.bind=\\\"selectedBillingProfiles.list.length\\\">\\n              <strong class=\\\"primary-text\\\">${selectedBillingProfiles.list.length}</strong> profil${selectedBillingProfiles.list.length === 1 ? 'o' : 'i'} selezionat${selectedBillingProfiles.list.length === 1 ? 'o' : 'i'} su ${tableInterface.total} totali\\n            </span>\\n            <small if.bind=\\\"!selectedBillingProfiles.list || !selectedBillingProfiles.list.length\\\" class=\\\"alert\\\">\\n              <i class=\\\"far fa-exclamation-circle\\\" ka-tooltip=\\\"La selezione massiva prenderà in considerazione solo i record attualmente visualizzati.\\\"></i>\\n              Seleziona almeno un profilo per effettuare operazioni massive!\\n            </small>\\n          </p>\\n          <ka-button\\n            click.delegate=\\\"selectedBillingProfiles.activeSdd($event)\\\"\\n            disabled.bind=\\\"!selectedBillingProfiles.list.length\\\"\\n            class=\\\"inverted flat\\\">\\n            <i class=\\\"material-icons\\\">sync</i> Attiva SDD\\n          </ka-button>\\n        </div>\\n        <ka-button\\n          if.bind=\\\"params.id\\\"\\n          class=\\\"inverted flat ms-0 with-icon\\\"\\n          click.delegate=\\\"createProfile()\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Crea profilo di fatturazione</span>\\n        </ka-button>\\n      </h2>\\n\\n      <!-- Table -->\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th if.bind=\\\"!params.id && !privileges.isOperator\\\" click.delegate=\\\"selectedBillingProfiles.selectAll()\\\" style=\\\"cursor: pointer;\\\">\\n                <input type=\\\"checkbox\\\" checked.bind=\\\"selectedBillingProfiles.allSelected\\\" style=\\\"pointer-events: none;\\\">\\n              </th>\\n              <th>Profilo di fatturazione</th>\\n              <th>CF/P.IVA</th>\\n              <th>IBAN</th>\\n              <th>SDD</th>\\n              <th>\\n                <span static-tooltip=\\\"value.bind: staticTooltipMavAuthorization\\\">Autorizzazioni</span>\\n              </th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"profile of tableInterface.data\\\">\\n              <tr class=\\\"${profile.errors || profile.controls['payments.banking.iban'].validator.errors.length ? 'row-error' : ''}\\\">\\n                <td if.bind=\\\"!params.id && !privileges.isOperator\\\" click.delegate=\\\"selectedBillingProfiles.select(profile)\\\" style=\\\"cursor: pointer;\\\">\\n                  <input type=\\\"checkbox\\\" model.bind=\\\"profile\\\" checked.bind=\\\"selectedBillingProfiles.list\\\" disabled.bind=\\\"profile.payments.banking.sepaDirectDebitEnabled\\\" style=\\\"pointer-events: none;\\\">\\n                </td>\\n                <td>\\n                  <strong>${profile.ownerDisplayName}</strong><br>\\n                  <span if.bind=\\\"legalForms[profile.legalFormCode]\\\"><small>Forma legale: </small>${legalForms[profile.legalFormCode]}</span>\\n                  <span class=\\\"d-block\\\"><small>Etichetta: </small>${profile.label}</span>\\n                  <small if.bind=\\\"profile.default\\\" class=\\\"primary-text\\\">\\n                    ${params ? 'Profilo predefinito' : 'Profilo'}\\n                    <span>${profileContextInfo}</span>\\n                  </small>\\n                  <small if.bind=\\\"!profile.default\\\">\\n                    <a href=\\\"#\\\" click.delegate=\\\"setAsDefault(profile)\\\" class=\\\"primary-text\\\">Imposta come predefinito\\n                      <span>${profileContextInfo}</span>\\n                    </a>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span if.bind=\\\"profile.fiscalCode\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><small>CF:</small> ${profile.fiscalCode}</span>\\n                  <span if.bind=\\\"profile.vatCode\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><small>IVA:</small> ${profile.vatCode}</span>\\n                </td>\\n                <td class=\\\"iban\\\">\\n                  <div class=\\\"d-flex align-items-center\\\">\\n                    <ka-control\\n                      value.bind=\\\"profile.payments.banking.newIban\\\"\\n                      view-model.ref=\\\"profile.controls['payments.banking.iban']\\\"\\n                      schema.bind=\\\"{ control: 'text', placeholder: 'Inserire codice IBAN' }\\\" \\n                      readonly.bind=\\\"!!params.id || !!profile.payments.banking.oldIban || privileges.isOperator\\\">\\n                    </ka-control>\\n                    <ka-button\\n                      style=\\\"background: transparent;\\\"\\n                      if.bind=\\\"!params.id && !privileges.isOperator\\\"\\n                      click.delegate=\\\"saveBillingProfileIban(profile)\\\"\\n                      disabled.bind=\\\"profile.payments.banking.oldIban\\\"\\n                      class=\\\"my-0 mx-0 check-iban-btn secondary inverted flat ${!!params.id || !!profile.payments.banking.oldIban || privileges.isOperator ? 'readonly' : ''}\\\">\\n                      <i class=\\\"far fa-check\\\"></i>\\n                    </ka-button>\\n                  </div>\\n\\n                </td>\\n                <td class=\\\"sdd\\\">\\n                  <span class=\\\"${profile.errors ? 'activation-errors' : profile.payments.banking.sepaDirectDebitEnabled ? 'enabled' : ''}\\\">${profile.errors ? 'Attivazione non riuscita' : profile.payments.banking.sepaDirectDebitEnabled ? 'Attivato' : 'Non attivato'}</span>\\n                  <div if.bind=\\\"!profile.payments.banking.iban && api.hasRole(['MODIFY_USER_BILLING_PROFILE', 'MODIFY_ANY_USER_BILLING_PROFILE'])\\\" class=\\\"iban\\\">\\n                  </div>\\n                  <small if.bind=\\\"profile.errors\\\" innerhtml.bind=\\\"profile.errors\\\" style=\\\"max-width: 25rem\\\"></small>\\n                </td>\\n                <td class=\\\"authorization\\\">\\n                  <div>Autorizzazione stampa MAV</div>\\n                  <small \\n                    class=\\\"${profile.payments.banking.mavSelfPrintingAuthorizationStatus} d-block\\\"\\n                    ka-tooltip=\\\"value.bind: profile.payments.banking.mavSelfPrintingAuthorizationRefusalReason  ? 'Motivo del rifiuto: '+profile.payments.banking.mavSelfPrintingAuthorizationRefusalReason : ''\\\">\\n                    ${mavRequest.displayText(profile)}\\n                  </smalL>\\n                  <template if.bind=\\\"profile.payments.banking.iban\\\">\\n                    <small\\n                      class=\\\"create-mav-request\\\"\\n                      click.delegate=\\\"mavCreateAuthorizationRequest(profile.ownerLegacyId, profile.uuid)\\\"\\n                      if.bind=\\\"(profile.payments.banking.iban && !profile.payments.banking.mavSelfPrintingAuthorizationStatus) || (profile.payments.banking.mavSelfPrintingAuthorizationStatus === 'REFUSED')\\\">Crea una nuova richiesta\\n                    </small>\\n                    <small\\n                      class=\\\"delete-mav-request\\\"\\n                      if.bind=\\\"isMAVRequestDeletable(profile)\\\"\\n                      click.delegate=\\\"dialogDeleteMavRequest(profile)\\\">Dismetti richiesta\\n                    </small>\\n                  </template>\\n                  <small\\n                    else\\n                    class=\\\"iban-required\\\" \\n                    ka-tooltip=\\\"È necessario specificare un codice IBAN per poter creare una richiesta di autorizzazione stampa MAV\\\">\\n                    Inserire IBAN per creare una richiesta\\n                  </small>\\n                </td>\\n                <td class=\\\"ka-tr-tools align-middle\\\">\\n                  <button\\n                    click.delegate=\\\"edit(profile)\\\"\\n                    ka-tooltip=\\\"Modifica profilo di fatturazione\\\"\\n                    class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-edit\\\"></i>\\n                  </button>\\n                  <button\\n                    click.delegate=\\\"delete(profile)\\\"\\n                    ka-tooltip=\\\"Elimina profilo di fatturazione\\\"\\n                    class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-trash-alt\\\"></i>\\n                  </button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti profili di fatturazione</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- EDITOR -->\\n  <compose if.bind=\\\"editor.model\\\" view-model.bind=\\\"editor.view\\\" model.bind=\\\"editor.model\\\" containerless></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./importazione.scss\\\"></require>\\n  <template if.bind=\\\"!bind && loading\\\">\\n    <h2>Importazione utenti</h2>\\n    <p>Caricamento in corso...</p>\\n  </template>\\n  <div if.bind=\\\"!records && !loading\\\">\\n    <h2>Importazione utenti <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button></h2>\\n\\n    <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">1</div>\\n          <p class=\\\"step-title\\\">Scarica il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Scarica il seguente modello excel per importare i tuoi utenti ed eventualmente i loro profili di fatturazione.</p>\\n          </div>\\n          <a class=\\\"ka-button\\\" href=\\\"https://rest.multidialogo.it/res/modello_importazione_condomini.csv\\\" target=\\\"_blank\\\">Scarica</a>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">2</div>\\n          <p class=\\\"step-title\\\">Compila il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.</p>\\n          </div>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 50-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">3</div>\\n          <p class=\\\"step-title\\\">Carica il file</p>\\n          <div ka-flex-col class=\\\"step-description\\\">\\n            <ka-control ka-flex schema.bind=\\\"{ label: 'Carica foglio di calcolo (excel, csv, ...)', control: 'file', required: true }\\\" value.bind=\\\"file\\\" placeholder=\\\"Seleziona o trascina qui il file\\\"></ka-control>\\n            <ka-input style=\\\"margin:0;\\\" config.bind=\\\"{ label: 'Completa dati di fatturazione con i dati anagrafici dell\\\\'intestatario', control: 'check'}\\\" value.bind=\\\"autocomplete\\\"></ka-input>\\n          </div>\\n          <ka-button click.delegate=\\\"carica($event)\\\">Carica</ka-button>\\n        </div>\\n      </div>\\n    </ka-flex-row>\\n  </div>\\n  <template if.bind=\\\"records && !loading\\\">\\n    <h2 class=\\\"table_title\\\">Elenco righe da importare\\n      <ka-button click.delegate=\\\"importa()\\\" disabled.bind=\\\"importStatus.pending\\\">Importa selezionati</ka-button>\\n      <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <div class=\\\"table_container\\\">\\n      <table ref=\\\"importTable\\\" class=\\\"ka-table-like\\\">\\n        <colgroup>\\n          <col span=\\\"12\\\" class=\\\"profile\\\">\\n          <col span=\\\"13\\\" class=\\\"billing\\\">\\n        </colgroup>\\n        <thead>\\n  \\n          <!-- Top thead -->\\n          <tr class=\\\"top\\\">\\n\\n            <!-- Profile -->\\n            <th class=\\\"profile\\\" colspan=\\\"12\\\">Dati Anagrafici\\n              <p>Righe: \\n                <span>${records.length}</span>\\n              </p> \\n              <p>Selezionati: \\n                <span>${importStatus.profile.countSelected}</span>\\n              </p> \\n              <p if.bind=\\\"importStatus.profile.countProcessing\\\">Processi in corso: \\n                <span>${importStatus.profile.countProcessing}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.profile.countImported\\\">Importati: \\n                <span>${importStatus.profile.countImported}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.profile.countErrors\\\">Errori: \\n                <span>${importStatus.profile.countErrors}</span>\\n              </p>\\n            </th>\\n\\n            <!-- Billing -->\\n            <th class=\\\"billing\\\" colspan=\\\"13\\\">Dati Fatturazione\\n              <p>Righe: \\n                <span>${records.length}</span>\\n              </p> \\n              <p>Selezionati: \\n                <span>${importStatus.billing.countSelected}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countProcessing\\\">Processi in corso: \\n                <span>${importStatus.billing.countProcessing}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countImported\\\">Importati: \\n                <span>${importStatus.billing.countImported}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countErrors\\\">Errori: \\n                <span>${importStatus.billing.countErrors}</span>\\n              </p>\\n            </th>\\n          </tr>\\n  \\n          <!-- Bottom thead -->\\n          <tr>\\n  \\n            <!-- Columns profile -->\\n            <th><input type=\\\"checkbox\\\" checked.bind=\\\"selectAllProfile\\\" change.delegate=\\\"toggleAllProfile(selectAllProfile)\\\" disabled.bind=\\\"importStatus.pending\\\"></th>\\n            <th>${schema.userData.profile.businessType.label}</th>\\n            <th>${schema.userData.profile.displayName.label}</th>\\n            <th>${schema.userData.profile.holderName.companyName.label}</th>\\n            <th>${schema.userData.profile.fiscalCode.label}</th>\\n            <th>${schema.userData.profile.location.streetAddress.label}</th>\\n            <th>${schema.userData.profile.location.locality.label}</th>\\n            <th>${schema.userData.profile.location.zipCode.label}</th>\\n            <th>${schema.userData.profile.location.admLvl3.label}</th>\\n            <th>${schema.userData.profile.location.admLvl2.label}</th>\\n            <th>${schema.userData.profile.location.admLvl1.label}</th>\\n            <th>${schema.userData.profile.location.countryCode.label}</th>\\n  \\n            <!-- Columns billing -->\\n            <th><input type=\\\"checkbox\\\" checked.bind=\\\"selectAllBilling\\\" change.delegate=\\\"toggleAllBilling(selectAllBilling)\\\" disabled.bind=\\\"!selectAllProfile || importStatus.pending\\\"></th>\\n            <th>${schema.billingProfileData.type.label}</th>\\n            <th>${schema.billingProfileData.name.label}</th>\\n            <th>${schema.billingProfileData.fiscalCode.label}</th>\\n            <th>${schema.billingProfileData.location.streetAddress.label}</th>\\n            <th>${schema.billingProfileData.location.locality.label}</th>\\n            <th>${schema.billingProfileData.location.zipCode.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl3.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl2.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl1.label}</th>\\n            <th>${schema.billingProfileData.location.countryCode.label}</th>\\n            <th>${schema.billingProfileData.payments.banking.iban.label}</th>\\n            <th>Domiciliazione bancaria</th>\\n          </tr>\\n        </thead>\\n\\n        <!-- Tbody -->\\n        <tbody>\\n          <tr repeat.for=\\\"row of records\\\" class=\\\"${row.profile._status}${row.profile._status && row.billing._status ? '-':''}${row.billing._status}\\\">\\n  \\n            <!-- Columns profile -->\\n            <td class=\\\"checkbox\\\">\\n              <input show.bind=\\\"row.profile._status !== 'duplicated' || row.profile._overwrite || !row.matchedUserUuid\\\" type=\\\"checkbox\\\" checked.bind=\\\"row.profile._selected\\\" change.delegate=\\\"selectProfile(row)\\\" disabled.bind=\\\"row.profile._disabled\\\">\\n              <i if.bind=\\\"row.profile._status === 'duplicated' && !row.profile._overwrite && row.matchedUserUuid\\\" class=\\\"material-icons warning\\\" ka-tooltip=\\\"Utente già presente. Clicca per maggiori dettagli!\\\" click.delegate=\\\"dialogDuplicate(row, 'profile')\\\">warning</i>\\n            </td>\\n\\n            <td class=\\\"profile ${schema.userData.profile.businessType.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.businessType']\\\" schema.bind=\\\"schema.userData.profile.businessType\\\" value.bind=\\\"row.userData.profile.businessType\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.displayName.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.displayName']\\\" schema.bind=\\\"schema.userData.profile.displayName\\\" value.bind=\\\"row.userData.profile.displayName\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.holderName.companyName.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.holderName.companyName']\\\" schema.bind=\\\"schema.userData.profile.holderName.companyName\\\" value.bind=\\\"row.userData.profile.holderName.companyName\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.fiscalCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.fiscalCode']\\\" schema.bind=\\\"schema.userData.profile.fiscalCode\\\" value.bind=\\\"row.userData.profile.fiscalCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.streetAddress.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.streetAddress']\\\" schema.bind=\\\"schema.userData.profile.location.streetAddress\\\" value.bind=\\\"row.userData.profile.location.streetAddress\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.locality.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.locality']\\\" schema.bind=\\\"schema.userData.profile.location.locality\\\" value.bind=\\\"row.userData.profile.location.locality\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.zipCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.zipCode']\\\" schema.bind=\\\"schema.userData.profile.location.zipCode\\\" value.bind=\\\"row.userData.profile.location.zipCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl3.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl3']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl3\\\" value.bind=\\\"row.userData.profile.location.admLvl3\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl2.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl2']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl2\\\" value.bind=\\\"row.userData.profile.location.admLvl2\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl1.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl1']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl1\\\" value.bind=\\\"row.userData.profile.location.admLvl1\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.countryCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.countryCode']\\\" schema.bind=\\\"schema.userData.profile.location.countryCode\\\" value.bind=\\\"row.userData.profile.location.countryCode\\\"></ka-control>\\n            </td>\\n  \\n            <!-- Columns billing -->\\n            <td class=\\\"checkbox\\\">\\n              <input show.bind=\\\"row.billing._status !== 'duplicated' || row.billing._overwrite || !row.matchedBillingProfileUuid\\\" type=\\\"checkbox\\\" checked.bind=\\\"row.billing._selected\\\" change.delegate=\\\"selectBilling(row)\\\" disabled.bind=\\\"row.billing._disabled\\\">\\n              <i if.bind=\\\"row.billing._status === 'duplicated' && !row.billing._overwrite && row.matchedBillingProfileUuid\\\" class=\\\"material-icons warning\\\" ka-tooltip=\\\"Profilo già presente. Clicca per maggiori dettagli!\\\" click.delegate=\\\"dialogDuplicate(row, 'billing')\\\">warning</i>\\n            </td>\\n            \\n            <td class=\\\"billing ${schema.billingProfileData.type.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['type']\\\" schema.bind=\\\"schema.billingProfileData.type\\\" value.bind=\\\"row.billingProfileData.type\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.name.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['name']\\\" schema.bind=\\\"schema.billingProfileData.name\\\" value.bind=\\\"row.billingProfileData.name\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.fiscalCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['fiscalCode']\\\" schema.bind=\\\"schema.billingProfileData.fiscalCode\\\" value.bind=\\\"row.billingProfileData.fiscalCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.streetAddress.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.streetAddress']\\\" schema.bind=\\\"schema.billingProfileData.location.streetAddress\\\" value.bind=\\\"row.billingProfileData.location.streetAddress\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.locality.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.locality']\\\" schema.bind=\\\"schema.billingProfileData.location.locality\\\" value.bind=\\\"row.billingProfileData.location.locality\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.zipCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.zipCode']\\\" schema.bind=\\\"schema.billingProfileData.location.zipCode\\\" value.bind=\\\"row.billingProfileData.location.zipCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl3.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl3']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl3\\\" value.bind=\\\"row.billingProfileData.location.admLvl3\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl2.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl2']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl2\\\" value.bind=\\\"row.billingProfileData.location.admLvl2\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl1.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl1']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl1\\\" value.bind=\\\"row.billingProfileData.location.admLvl1\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.countryCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.countryCode']\\\" schema.bind=\\\"schema.billingProfileData.location.countryCode\\\" value.bind=\\\"row.billingProfileData.location.countryCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.payments.banking.iban.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['payments.banking.iban']\\\" schema.bind=\\\"schema.billingProfileData.payments.banking.iban\\\" value.bind=\\\"row.billingProfileData.payments.banking.iban\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.payments.banking.sepaDirectDebitEnabled.colClassName} ${row.profile._selected ? 'selected' : ''}\\\" style=\\\"padding-left:1rem\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['payments.banking.sepaDirectDebitEnabled']\\\" schema.bind=\\\"schema.billingProfileData.payments.banking.sepaDirectDebitEnabled\\\" label=\\\"Abilita\\\" value.bind=\\\"row.billingProfileData.payments.banking.sepaDirectDebitEnabled\\\"></ka-control>\\n            </td>\\n\\n          </tr>\\n        </tbody>\\n      </table>\\n      <ka-button click.delegate=\\\"add()\\\">Aggiungi riga</ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./impostazioni.sass\\\"></require>\\n  <template if.bind=\\\"isInitPending === false\\\">\\n    <h2>Impostazioni avanzate</h2>\\n    <template if.bind=\\\"!isOperator && advancedPreferences\\\">\\n      <p class=\\\"assistance mx-4 mb-3\\\" if.bind=\\\"advancedPreferences.multifatture.enableBetaFeatures || advancedPreferences.grantLoginWithSupportTicket\\\">\\n        Questo account è stato attivato ai ruoli di: \\n        <strong if.bind=\\\"advancedPreferences.grantLoginWithSupportTicket\\\">Assistente</strong>\\n        <strong if.bind=\\\"advancedPreferences.multifatture.enableBetaFeatures\\\">BETA tester</strong>\\n      </p>\\n    </template>\\n    <div class=\\\"row mx-4\\\">\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"grantLoginWithSupportTicket\\\"></ka-control>\\n      </div>\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"multifatture.enableBetaFeatures\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"multifatture.accountingClientSoftwareUuid\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>       \\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button \\n        class=\\\"my-0 me-4\\\"\\n        click.delegate=\\\"save($event)\\\" \\n        disabled.bind=\\\"!api.hasRole('MODIFY_USER_ADVANCED_PREFERENCES')\\\">Salva modifiche\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <h2>Pagamenti</h2>\\n    <div class=\\\"row m-0 mb-4\\\">\\n      \\n      <!-- Gestione credito (left side) -->\\n      <div class=\\\"col-6 user-data\\\" style=\\\"padding: 0 0.75rem; box-shadow: 1px 0 0 0 #e0e0e0\\\">\\n        <div class=\\\"row m-0\\\">\\n          <h3 class=\\\"col-12\\\">Gestione credito</h3>\\n          <div if.bind=\\\"!writeEnabled && resources.data.debtGuarantorDisplayName\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"debtGuarantorDisplayName\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div if.bind=\\\"writeEnabled\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"debtGuarantorUuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <ka-control schema.bind=\\\"resource.schema.masterUserCreditSharing\\\" value.bind=\\\"masterUserCreditSharingCheck\\\" readonly.bind=\\\"!writeEnabled\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Fatturazione elettronica (right side) -->\\n      <div class=\\\"col-6 px-1 location-data\\\">\\n        <div class=\\\"row m-0\\\" style=\\\"padding: 0 0.75rem;\\\">\\n          <h3 class=\\\"col-12\\\">Fatturazione elettronica</h3>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"sdi.code\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"sdi.genericSubuserCode\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <ka-control name=\\\"registerBillsAsManagementMovement\\\" readonly.bind=\\\"!writeEnabled\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button class=\\\"my-0 me-4\\\" click.delegate=\\\"save($event)\\\">Salva modifiche</ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./segnalatori.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <template if.bind=\\\"tableInterface\\\">\\n      <h2>\\n        Segnalatori\\n        <ka-button if.bind=\\\"writeEnabled\\\" class=\\\"inverted flat\\\" click.delegate=\\\"addReseller()\\\"><i class=\\\"far fa-plus\\\" style=\\\"vertical-align: unset;\\\"></i>Associa nuovo segnalatore</ka-button>\\n        <ka-button if.bind=\\\"downloadHistoryEnabled && !noAssociations\\\" class=\\\"inverted flat secondary\\\" click.delegate=\\\"downloadHistory()\\\"><i class=\\\"far fa-arrow-to-bottom\\\" style=\\\"vertical-align: unset;\\\"></i>Download storico</ka-button>\\n      </h2>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice</th>\\n              <th>Nome</th>\\n              <th>Cognome</th>\\n              <th>Servizi</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"reseller of tableInterface.data\\\">\\n              <td><strong>${reseller.resellerCode}</strong></td>\\n              <td>${reseller.firstname}</td>\\n              <td>${reseller.lastname}</td>\\n              <td>\\n                <div if.bind=\\\"!isLoading\\\" class=\\\"service-groups d-flex flex-wrap align-items-center\\\">\\n                  <div if.bind=\\\"writeEnabled\\\" class=\\\"add d-flex justify-content-center align-items-center m-1 ms-0 mt-0\\\">\\n                    <i class=\\\"fal fa-plus\\\"></i>\\n                    <select value.bind=\\\"reseller.group\\\" change.delegate=\\\"addServiceGroup(reseller)\\\">\\n                      <option model.bind=\\\"null\\\">Seleziona un servizio da associare:</option>\\n                      <option repeat.for=\\\"group of serviceGroups\\\" model.bind=\\\"group\\\">${group.name}</option>\\n                    </select>\\n                  </div>\\n                  <template if.bind=\\\"serviceGroups\\\">\\n                    <span repeat.for=\\\"group of reseller.serviceGroups\\\" class=\\\"group d-flex align-items-center px-3 me-1 mb-1\\\">\\n                      <span>${group.name}</span>\\n                      <a if.bind=\\\"writeEnabled\\\" href=\\\"\\\" click.delegate=\\\"deleteServiceGroup(reseller, group)\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n                    </span>\\n                  </template>\\n                </div>\\n              </td>\\n              <td if.bind=\\\"writeEnabled\\\" class=\\\"d-flex justify-content-end\\\">\\n                <ka-button click.delegate=\\\"deleteReseller(reseller)\\\" ka-tooltip=\\\"Elimina\\\" class=\\\"flat primary\\\" style=\\\"width: 3.5rem\\\"><i class=\\\"fal fa-trash-alt\\\"></i></ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <require from=\\\"../../static/app.sass\\\"></require>\\n\\n  <!-- NEW menu -->\\n  <km-layout \\n    config.bind=\\\"layoutConfiguration\\\"\\n    if.bind=\\\"api.isAuthenticated && router.currentInstruction.config.settings.authRequired && router.currentInstruction.config.settings.hasLayout\\\">\\n    <div slot=\\\"beforeNav\\\">\\n      <div\\n        class=\\\"menu-level\\\"\\n        if.bind=\\\"isOperator\\\">Menu operatore per la gestione di MultiDialogo\\n      </div>\\n    </div>\\n    <div slot=\\\"afterNav\\\" class=\\\"aside-box\\\">\\n      <ka-button \\n        class=\\\"secondary\\\"\\n        click.delegate=\\\"gotoLegacy()\\\" \\n        style=\\\"max-width: calc(100% - 2rem); width: 100%\\\">Utilizza interfaccia tradizionale \\n      </ka-button>\\n    </div>\\n  </km-layout>\\n\\n  <router-view class=\\\"${(router.currentInstruction.config.className || router.currentInstruction.config.name).replace('/','-')}\\\"></router-view>\\n\\n  <template if.bind=\\\"serverStatusResponse && serverStatusResponse.statusCode !== 200\\\" >\\n    <div id=\\\"serverStatus\\\">${serverStatusResponse.statusCode === 503 ? serverStatusResponse.response.detail : 'Non riusciamo a contattare i server di Multidialogo, tentativo di connessione in corso...'}</div>\\n  </template>\\n  <template if.bind=\\\"isAppUpdated\\\">\\n    <div id=\\\"appUpdate\\\">\\n      <span><strong>Attenzione! </strong>Stai visualizzando una versione non aggiornata dell'applicazione.</span>\\n      <ka-button \\n        onclick=\\\"window.location.reload()\\\"\\n        class=\\\"flat secondary with-icon ms-3\\\" \\n        ka-tooltip=\\\"Ricarica la pagina e aggiorna l'applicazione\\\">\\n        <i class=\\\"far fa-sync\\\"></i>\\n        <span>Aggiorna</span>\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ux-dialog.senderui-dialog {\\n      padding: 5px;\\n      width: 90vw;\\n      max-width: 1024px;\\n      height: 90vh;\\n      max-height: 768px;\\n    }\\n    ux-dialog.senderui-dialog ux-dialog-body {\\n      padding: 0;\\n      width: calc(90vw - 10px);\\n      max-width: 1014px;\\n      height: calc(90vh - 10px);\\n      max-height: 758px;\\n    }\\n    ux-dialog.senderui-dialog a.close {\\n      display: block;\\n      position: absolute;\\n      top: 2rem;\\n      right: 2rem;\\n      border-radius: 50%;\\n      width: 2rem;\\n      height: 2rem;\\n      text-align: center;\\n      text-decoration: none;\\n      color: #ffffff;\\n      transition: all 0.3s;\\n    }\\n    ux-dialog.senderui-dialog a.close i {\\n      line-height: 2rem;\\n    }\\n    ux-dialog.senderui-dialog a.close:hover {\\n      text-shadow: 0 0 5px #00000033;\\n      transform: scale(1.1);\\n    }\\n  </style>\\n  <ux-dialog class=\\\"senderui-dialog\\\">\\n    <ux-dialog-body if.bind=\\\"model.iframe\\\">\\n      <a href=\\\"\\\" class=\\\"close\\\" click.delegate=\\\"close()\\\"><i class=\\\"material-icons\\\">highlight_off</i></a>\\n      <iframe src.bind=\\\"model.iframe\\\" name=\\\"senderui\\\"style=\\\"width: 100%; height: 100%; border: 0;\\\"></iframe>\\n    </ux-dialog-body>\\n  </ux-dialog>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./not-found.sass\\\"></require>\\n  <div class=\\\"d-flex flex-column align-items-center justify-content-center\\\">\\n    <h1>Manutenzione in corso!</h1>\\n    <h2 if.bind=\\\"reason\\\">${reason}</h2>\\n    <h2 else>La piattaforma è attualmente in manutenzione e non è disponibile per l'utilizzo</h2>\\n    <p>Grazie per la vostra comprensione</p>\\n    <a class=\\\"ka-button\\\" href=\\\"/dashboard\\\">Torna alla home</a>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./not-found.sass\\\"></require>\\n  <div class=\\\"d-flex flex-column align-items-center justify-content-center\\\">\\n    <h1>Qualcosa è andato storto!</h1>\\n    <h2>La pagina richiesta non esiste</h2>\\n    <a class=\\\"ka-button\\\" href=\\\"/dashboard\\\">Torna alla home</a>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./backoffice.scss\\\"></require>\\n\\n  <template if.bind=\\\"!agreement.view\\\">\\n    <h2>\\n      <span if.bind=\\\"!params.id\\\">Elenco agreements</span>\\n      <span else>${params.id === 'new' ? 'Crea nuovo' : 'Modifica'} agreement</span>\\n      <ka-button \\n        if.bind=\\\"!params.id\\\" \\n        class=\\\"inverted flat with-icon\\\" \\n        click.delegate=\\\"new()\\\">\\n        <i class=\\\"far fa-file-plus\\\"></i>\\n        <span>Crea nuovo agreement</span>\\n      </ka-button>\\n      <template else>\\n        <ka-button \\n          if.bind=\\\"!isActive\\\" \\n          click.delegate=\\\"save($event)\\\" \\n          disabled.bind=\\\"isActive\\\" \\n          class=\\\"flat inverted with-icon ms-0\\\">\\n          <i class=\\\"far fa-file-check\\\"></i> \\n          <span>Salva agreement</span>\\n        </ka-button>\\n        <ka-button \\n          click.delegate=\\\"cancel()\\\" \\n          class=\\\"flat inverted secondary with-icon\\\">\\n          <i class=\\\"far fa-undo\\\"></i>\\n          <span>Torna indietro</span>\\n        </ka-button>\\n      </template>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"!params.id\\\">\\n      <template if.bind=\\\"agreementsSearchInterface.initialized && (agreementsTableInterface.data || agreementsTableInterface.isLoading)\\\">\\n        <md-table-toolbar table.bind=\\\"agreementsTableInterface\\\" search.bind=\\\"agreementsSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"agreementsTableInterface.data.length\\\">\\n              <tr>\\n                <th></th>\\n                <th>Titolo</th>\\n                <th>Data di inizio</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"agreementsTableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of agreementsTableInterface.data\\\" class=\\\"${record.status === 'ACTIVE' ? 'attivo' : 'inattivo'}\\\">\\n                <td class=\\\"agreement-status\\\">\\n                  <i class=\\\"fal fa-check-circle\\\" click.delegate=\\\"activation(record)\\\" ka-tooltip=\\\"value.bind: record.status === 'ACTIVE' ? 'Attivo' : 'Inattivo. Clicca per attivare'\\\"></i>\\n                </td>\\n                <td class=\\\"limitwidth\\\">${record.label}</td>\\n                <td>${record.startAt | dateFormat}</td>\\n                <td class=\\\"d-flex justify-content-end\\\">\\n                  <ka-button \\n                    click.delegate=\\\"view(record)\\\" \\n                    ka-tooltip=\\\"Visiona\\\" \\n                    class=\\\"flat inverted secondary\\\">\\n                    Visualizza\\n                  </ka-button>\\n                  <ka-button \\n                    click.delegate=\\\"edit(record)\\\" \\n                    disabled.bind=\\\"record.status === 'ACTIVE'\\\" \\n                    ka-tooltip=\\\"Modifica\\\" \\n                    class=\\\"flat inverted icon\\\">\\n                    <i class=\\\"far fa-edit\\\"></i>\\n                  </ka-button>\\n                  <ka-button \\n                    click.delegate=\\\"activation(record, $event)\\\" \\n                    disabled.bind=\\\"record.status === 'ACTIVE'\\\" \\n                    ka-tooltip=\\\"Attiva\\\" \\n                    class=\\\"flat inverted icon\\\">\\n                    <i class=\\\"far fa-file-check\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td if.bind=\\\"!agreementsTableInterface.data.length\\\">Non sono presenti agreements</td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  \\n    <!-- Edit -->\\n    <template if.bind=\\\"params.id\\\">\\n      <md-resource view-model.ref=\\\"agreements.resource\\\" with.bind=\\\"agreements.resource\\\" schema.bind=\\\"agreements.schema\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 col-lg-8\\\">\\n            <md-control name=\\\"label\\\" buttons=\\\"clear\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-3 col-lg-2\\\">\\n            <md-control name=\\\"startAt\\\" buttons=\\\"clear,dropdown\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-3 col-lg-2\\\">\\n            <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-12 my-3\\\">\\n            <md-control name=\\\"content\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n        </div>\\n      </md-resource>\\n  \\n      <!-- Clauses -->\\n      <h2 class=\\\"m-0\\\">\\n        Clausole\\n        <ka-button \\n          if.bind=\\\"params.id !== 'new' && !isActive\\\" \\n          click.delegate=\\\"addClause()\\\" \\n          class=\\\"inverted flat with-icon\\\" \\n          disable.bind=\\\"params.id ==='new'\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Aggiungi clausola</span>\\n        </ka-button>\\n      </h2>\\n      <p if.bind=\\\"params.id ==='new'\\\">Sarà possibile aggiungere clausole solo dopo il primo salvataggio del record.</p>\\n      <p if.bind=\\\"params.id !=='new' && !clauses.data.length\\\">Non sono ancora presenti clausole.</p>\\n      <template if.bind=\\\"params.id !=='new' && clauses.data.length\\\">\\n        <template repeat.for=\\\"clause of clauses.data\\\">\\n          <md-resource view-model.ref=\\\"clause.resource\\\" with.bind=\\\"clause.resource\\\" data.bind=\\\"clause.data\\\" schema.bind=\\\"clauses.schema\\\">\\n            <div class=\\\"row my-3 mx-0\\\">\\n              <div class=\\\"col py-0 px-3 flex-grow-1\\\">\\n                <md-control name=\\\"label\\\" readonly.bind=\\\"!clause.data || !!clause.data.id\\\"></md-control>\\n              </div>\\n              <div class=\\\"col d-flex align-items-center py-0 px-3 flex-grow-0\\\" style=\\\"min-width: 16.5rem\\\">\\n                <ka-button if.bind=\\\"clause.data && !isActive\\\" click.delegate=\\\"deleteClause($event, clause.data.id, $index)\\\" class=\\\"flat secondary m-0\\\"><i class=\\\"fal fa-trash-alt me-3\\\" style=\\\"vertical-align: unset;\\\"></i>Elimina clausola</ka-button>\\n              </div>\\n            </div>\\n            <div class=\\\"row m-0 mt-3\\\">\\n              <div class=\\\"col-12 py-0 px-3\\\">\\n                <md-control name=\\\"content\\\" readonly.bind=\\\"!clause.data || !!clause.data.id\\\"></md-control>\\n              </div>\\n            </div>\\n          </md-resource>\\n        </template>\\n      </template>\\n    </template>\\n  </template>\\n\\n  <!-- View -->\\n  <template if.bind=\\\"agreement.view\\\">\\n    <h2 if.bind=\\\"agreement.back\\\">\\n      ${agreement.view.label}\\n      <ka-button click.delegate=\\\"cancel()\\\" class=\\\"flat inverted\\\"><i class=\\\"far fa-undo me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Torna indietro</ka-button>\\n    </h2>\\n    <div style=\\\"height: 100%; overflow-y: auto\\\">\\n      <compose containerless view-model=\\\"${agreement.route}\\\" model.bind=\\\"{ agreement }\\\"></compose>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"\\n<template>\\n  <require from=\\\"./backoffice.scss\\\"></require>\\n  <template if.bind=\\\"!params.id\\\">\\n    <h2>Elenco alias sms</h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"aliasSearchInterface.initialized && (aliasTableInterface.data || aliasSearchInterface.isLoading)\\\">\\n      <md-table-toolbar table.bind=\\\"aliasTableInterface\\\" search.bind=\\\"aliasSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"aliasTableInterface.data.length\\\">\\n            <tr>\\n              <th><md-table-sort table.bind=\\\"aliasTableInterface\\\" attribute=\\\"requestedAt\\\">Data richiesta</md-table-sort></th>\\n              <th>Azienda</th>\\n              <th>Stato di attivazione</th>\\n              <th>Mittente SMS</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"aliasTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of aliasTableInterface.data\\\">\\n              <td>${record.requestedAt | dateFormat}</td>\\n              <td>${record.companyName}</td>\\n              <td\\n                css=\\\"${['COMPLETED', 'REGISTERED'].includes(record.status) ? 'color: #1ab91a' : ['ERRORR', 'REFUSED'].includes(record.status) ? 'color: #f91a1a' : ''}\\\">\\n                ${record.status === 'PENDING' ? 'In attesa di registrazione' : record.status === 'REGISTERED' ? 'Richiesta registrata' : record.status === 'COMPLETED' ? 'Attivo' : record.status === 'ERROR' ? 'Errore' : record.status === 'REFUSED' ? 'Richiesta rifiutata' : ''}\\n              </td>\\n              <td>${record.displayName}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button\\n                  click.delegate=\\\"edit(record)\\\"\\n                  ka-tooltip=\\\"Conferma invio\\\"\\n                  class=\\\"ka-table-button arrow\\\">\\n                  <i class=\\\"material-icons\\\">keyboard_arrow_rights</i>\\n                </button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!aliasTableInterface.data.length\\\">Non sono presenti alias sms</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- Modifica -->\\n  <template if.bind=\\\"params.id\\\">\\n    <h2>Dettaglio alias sms</h2>\\n    <md-resource view-model.ref=\\\"resource\\\">\\n      <div class=\\\"row modify-alias\\\">\\n        <div class=\\\"col-6\\\">\\n          <ka-control name=\\\"companyName\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-6\\\">\\n          <ka-control name=\\\"status\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"vatCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"fiscalCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"streetAddress\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-3 col-md-6\\\">\\n          <ka-control name=\\\"zipCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-3 col-md-6\\\">\\n          <ka-control name=\\\"country\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"email\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"phoneNumber\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n      </div>\\n      <div class=\\\"form-buttons d-flex flex-row-reverse\\\">\\n        <!-- <ka-button click.delegate=\\\"save()\\\">Salva</ka-button> -->\\n        <ka-button click.delegate=\\\"cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n      </div>\\n    </md-resource>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <p if.bind=\\\"preview && !result\\\">Con questa archiviazione verrebbero spostate <strong>${preview.willAffect}</strong> code</p>\\n  <p if.bind=\\\"result\\\">Con questa archiviazione sono state spostate <strong>${result.affected}</strong> code</p>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"archivia($event)\\\">Archivia</ka-button>\\n    <ka-button if.bind=\\\"result\\\"  click.trigger=\\\"controller.ok()\\\">OK</button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    table.ka-table-like { border: 1px solid #e0e0e0; background-color: #fff; }\\n  </style>\\n  <table class=\\\"ka-table-like\\\" show.bind=\\\"archives.length\\\">\\n    <tr>\\n      <th>Percorso</th>\\n      <th>Code</th>\\n      <th></th>\\n    </tr>\\n    <template repeat.for=\\\"record of archives\\\">\\n      <tr>\\n        <td>${record.realPath}</td>\\n        <td>${record.total}</td>\\n        <td class=\\\"ka-tr-tools\\\">\\n          <ka-button click.delegate=\\\"archivia(record)\\\">Archivia</ka-button>\\n        </td>\\n      </tr>\\n    </template>\\n  </table>\\n  <p show.bind=\\\"!archives.length\\\">Non ci sono elementi da archiviare!</p>\\n\\n  <h3>Filtra elenco code</h3>\\n  <ka-flex-row>\\n    <ka-input ka-flex label=\\\"Dal mese\\\" config.bind=\\\"{control:'combo', datasource: datasources.months, datapreload: true}\\\" value.bind=\\\"data.monthFrom\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"anno\\\" config.bind=\\\"{control:'combo', datasource: datasources.years, datapreload: true}\\\" value.bind=\\\"data.yearFrom\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"Al mese\\\" config.bind=\\\"{control:'combo', datasource: datasources.months, datapreload: true}\\\" value.bind=\\\"data.monthTo\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"anno\\\" config.bind=\\\"{control:'combo', datasource: datasources.years, datapreload: true}\\\" value.bind=\\\"data.yearTo\\\"></ka-input>\\n    <ka-button click.delegate=\\\"load()\\\">Aggiorna</ka-button>\\n  </ka-flex-row>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./editor-wall-advice.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n    <p if.bind=\\\"pendingGetWallAdvice\\\" class=\\\"m-0\\\">Caricamento in corso...</p>\\n    <div if.bind=\\\"!pendingGetWallAdvice\\\" class=\\\"row\\\">\\n      <div class=\\\"col\\\">\\n        <ka-control name=\\\"tag\\\" buttons=\\\"close\\\" class=\\\"pb-3\\\">${wallAdvice.tag}</ka-control>\\n        <ka-control name=\\\"title\\\" buttons=\\\"close\\\" class=\\\"pb-3\\\">${wallAdvice.title}</ka-control>\\n        <ka-control name=\\\"targetCodes\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\">${wallAdvice.targetCodes}</ka-control>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col p-0\\\">\\n            <ka-control change.trigger=\\\"normalizeStartAtDateTime()\\\" name=\\\"startAt\\\" buttons=\\\"close,dropdown\\\" class=\\\"pb-3 pe-2\\\">${wallAdvice.startAt}</ka-control>\\n          </div>\\n          <div class=\\\"col p-0\\\">\\n            <ka-control change.trigger=\\\"normalizeEndAtDateTime()\\\" name=\\\"endAt\\\" buttons=\\\"close,dropdown\\\" class=\\\"pb-3 ps-2\\\">${wallAdvice.endAt}</ka-control>\\n          </div>\\n        </div>\\n        <ka-control name=\\\"type\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\">${wallAdvice.type}</ka-control>\\n        <ka-control name=\\\"public\\\" buttons=\\\"dropdown\\\">${wallAdvice.public}</ka-control>\\n      </div>\\n      <ka-control name=\\\"htmlContent\\\" buttons=\\\"close\\\">${wallAdvice.htmlContent}</ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button\\n      if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" \\n      class=\\\"inverted secondary with-icon\\\" \\n      style=\\\"margin-right: auto\\\" \\n      click.trigger=\\\"wallAdvicePreview(record)\\\" \\n      class=\\\"me-0\\\">\\n      <i class=\\\"far fa-eye\\\"></i>\\n      <span>Anteprima</span>\\n    </ka-button>\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"inverted\\\"if.bind=\\\"wallAdvice && api.hasRole('MODIFY_WALL_ADVICES')\\\" click.delegate=\\\"editWallAdvice($event)\\\">Salva modifiche</ka-button>\\n    <ka-button if.bind=\\\"!wallAdvice && api.hasRole('CREATE_WALL_ADVICES')\\\" class=\\\"inverted\\\" click.delegate=\\\"createWallAdvice($event)\\\">Aggiungi avviso</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./wall-advice-preview.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <h3>${wallAdvice.title}</h3>\\n    <div innerHtml.bind=\\\"wallAdvice.htmlContent\\\"></div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi anteprima</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./wall-advice.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingGetWallAdvice !== false && !htmlTemplate\\\">Caricamento in corso......</p>\\n    <div if.bind=\\\"htmlTemplate\\\">\\n      <h3>${wallAdvice.title}</h3>\\n      <div innerHtml.bind=\\\"htmlTemplate\\\"></div>\\n    </div>\\n    <p if.bind=\\\"pendingGetWallAdvice === false && !htmlTemplate\\\">Non è possibile visualizzare l'avviso</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"params.wallAdvice\\\" class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi</ka-button>\\n    <template if.bind=\\\"params.adviceToShow\\\">\\n      <ka-button if.bind=\\\"wallAdvice.type === 'REMINDER'\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Ricordamelo al prossimo accesso</ka-button>\\n      <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_WALL_ADVICES')\\\" class=\\\"inverted secondary\\\" click.trigger=\\\"acknowledgedAdvice()\\\" class=\\\"me-0\\\">${wallAdvice.type === 'REMINDER' ? 'Non visualizzare più' : 'Chiudi'}</ka-button>\\n    </template>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../wall-advices.sass\\\"></require>\\n\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca avvisi attivi</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"title\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"tag\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control\\n            name=\\\"startAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control\\n            name=\\\"endAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col-6 col-md-3\\\">\\n        <md-control name=\\\"public\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco avvisi attivi</span>\\n      <ka-button\\n        class=\\\"inverted flat with-icon\\\"\\n        click.delegate=\\\"openEditorWallAdvice()\\\"\\n        if.bind=\\\"api.hasRole('CREATE_WALL_ADVICES')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Aggiungi avviso</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Tag</th>\\n            <th>Titolo</th>\\n            <th>Autore</th>\\n            <th>Date</th>\\n            <th>Tipologia</th>\\n            <th>Visibilità</th>\\n            <th>Pagine target</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span>${record.tag}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"limitwidth\\\">${record.title}</span>\\n            </td>\\n            <td>${record.authorDisplayName}</td>\\n            <td class=\\\"dates\\\">\\n              <small><strong>Creato il:</strong> ${record.createdAt|dateFormat}</small>\\n              <small><strong>Programmato dal:</strong> ${record.startAt|dateFormat}</small>\\n              <small><strong>Programmato fino al:</strong> ${record.endAt|dateFormat}</small>\\n            </td>\\n            <td>\\n              <span>${record.type === \\\"SIMPLE\\\" ? \\\"Semplice\\\" : \\\"Reminder\\\"}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"tag ${record.public === 'YES' ? 'success' : ''}\\\">${record.public === \\\"YES\\\" ? \\\"Pubblico\\\" : \\\"Privato\\\"}</span>\\n            </td>\\n            <td>\\n              <span>${record.targetCodes}</span>\\n            </td>\\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                class=\\\"flat inverted m-0 ms-1\\\"\\n                if.bind=\\\"api.hasRole('CREATE_WALL_ADVICES')\\\"\\n                click.delegate=\\\"openEditorWallAdvice(record)\\\">\\n                Modifica\\n              </ka-button>\\n              <ka-button\\n                click.delegate=\\\"tools.dialogWallAdvice(record)\\\"\\n                class=\\\"flat inverted icon secondary m-0 ms-1\\\">\\n                <i class=\\\"far fa-eye\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti avvisi</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../wall-advices.sass\\\"></require>\\n\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca avvisi non attivi</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"title\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"tag\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control \\n            name=\\\"startAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control \\n            name=\\\"endAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco avvisi non attivi</span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Tag</th>\\n            <th>Titolo</th>\\n            <th>Autore</th>\\n            <th>Date</th>\\n            <th>Tipologia</th>\\n            <th>Pagine target</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span>${record.tag}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"limitwidth\\\">${record.title}</span>\\n            </td>\\n            <td>${record.authorDisplayName}</td>\\n            <td class=\\\"dates\\\">\\n              <small><strong>Creato il:</strong> ${record.createdAt|dateFormat}</small>\\n              <small><strong>Programmato dal:</strong> ${record.startAt|dateFormat}</small>\\n              <small><strong>Programmato fino al:</strong> ${record.endAt|dateFormat}</small>\\n            </td>\\n            <td>\\n              <span>${record.type === \\\"SIMPLE\\\" ? \\\"Semplice\\\" : \\\"Reminder\\\"}</span>\\n            </td>\\n            <td>\\n              <span>${record.targetCodes}</span>\\n            </td>\\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                click.delegate=\\\"tools.dialogEditorWallAdvice(record)\\\"\\n                class=\\\"flat inverted m-0 ms-1\\\">\\n                Modifica\\n              </ka-button>\\n              <ka-button\\n                click.delegate=\\\"tools.dialogWallAdvice(record)\\\"\\n                class=\\\"flat inverted icon secondary m-0 ms-1\\\">\\n                <i class=\\\"far fa-eye\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"api.hasRole('DELETE_WALL_ADVICES')\\\"\\n                class=\\\"flat inverted icon secondary m-0 ms-1\\\"\\n                click.delegate=\\\"dialogConfirmExpiredAdviceDeletion($event, record.id)\\\">\\n                <i class=\\\"fas fa-trash-alt\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti avvisi</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs>\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tab, privileges, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-blacklisted-tax-codes.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"isErrorInit === true\\\" class=\\\"dialog-loader m-0 p-3\\\">Errore in fase di caricamento</p>\\n    <p if.bind=\\\"!isErrorInit && isPendingInit !== false\\\" class=\\\"dialog-loader m-0 p-3\\\">Caricamento in corso</p>\\n    <template if.bind=\\\"!isErrorInit && isPendingInit === false\\\">\\n      <h2 class=\\\"table-title\\\">Elenco</h2>\\n      <template if.bind=\\\"tableInterface.data\\\">\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Data inserimento</th>\\n              <th>Partita IVA o codice fiscale</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td class=\\\"date\\\">${record.created | dateFormat:'DD/MM/YYYY'}</td>\\n              <td class=\\\"tax-code\\\">${record.taxCode}</td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Non sono presenti movimenti</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </template>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Elenco bounces</h2>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"bouncesSearchInterface.initialized && (bouncesTableInterface.data || bouncesTableInterface.isLoading)\\\">\\n    <md-table-toolbar table.bind=\\\"bouncesTableInterface\\\" search.bind=\\\"bouncesSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"bouncesTableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"receivedAt\\\">Data ricezione</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"email\\\">Email</md-table-sort></th>\\n            <th>Classe</th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"type\\\">Tipo</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"subType\\\">Sotto tipo</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"reason\\\">Ragione</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"bouncesTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of bouncesTableInterface.data\\\">\\n            <td>${record.receivedAt | dateFormat}</td>\\n            <td>${record.email}</td>\\n            <td>${record.class}</td>\\n            <td>${record.type}</td>\\n            <td>${record.subType}</td>\\n            <td>${record.reason}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!bouncesTableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./documenti-approval.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"mx-0 mt-0\\\">\\n      <strong>${type.label || document.documentTypeLabel}.</strong><br>\\n      <small if.bind=\\\"document.ownerDisplayName\\\">Utente: ${document.ownerDisplayName}.<br></small>\\n      <small if.bind=\\\"!document.approvedAt && !document.refusedAt\\\">documento caricato il ${document.uploadedAt | dateFormat}.</small>\\n      <small if.bind=\\\"document.approvedAt\\\">documento approvato il ${document.approvedAt | dateFormat}.</small>\\n      <small if.bind=\\\"document.refusedAt\\\">documento rifiutato il ${document.refusedAt | dateFormat}.</small>\\n    </p>\\n    <ka-control \\n      schema.bind=\\\"schema.status\\\" \\n      value.bind=\\\"data.status\\\" \\n      buttons=\\\"clear\\\" \\n      class=\\\"${data.status === 'REFUSED' ? 'pb-3' : ''}\\\">\\n    </ka-control>\\n    <ka-control \\n      if.bind=\\\"data.status === 'REFUSED'\\\" \\n      schema.bind=\\\"schema.statusReason\\\" \\n      value.bind=\\\"data.statusReason\\\" \\n      buttons=\\\"clear\\\"\\n      class=\\\"mb-3\\\">\\n    </ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event, data)\\\" disabled.bind=\\\"!data.status || (data.status === 'REFUSED' && !data.statusReason)\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca documenti caricati</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"_search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco documenti caricati</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th></th>\\n            <th>Tipologia documento</th>\\n            <th>Utente</th>\\n            <th>Data di caricamento</th>\\n            <th>Stato di approvazione</th>\\n            <th>Operatore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"document ${ item.refusedAt ? 'refused' : item.approvedAt ? 'approved' : '' } align-middle\\\" style=\\\"width: 0;\\\">\\n              <i class=\\\"fal ${ item.refusedAt ? 'fa-file-times' : item.approvedAt ? 'fa-file-check' : 'fa-file-alt' } align-text-bottom\\\" ka-tooltip=\\\"value.bind: item.refusedAt ? 'Rifiutato' : item.approvedAt ? 'Approvato' : 'In attesa di approvazione'\\\"></i>\\n            </td>\\n            <td class=\\\"align-middle text-nowrap\\\">\\n              <span>${item.documentTypeLabel}</span>\\n              <small if.bind=\\\"item.placeholder\\\" class=\\\"d-block\\\">Etichetta - ${item.placeholderType} ${item.placeholder}</small>\\n            </td>\\n            <td class=\\\"align-middle\\\">${item.ownerDisplayName}</td>\\n            <td class=\\\"align-middle text-nowrap\\\">Caricato il ${item.uploadedAt | dateFormat}</td>\\n            <td class=\\\"align-middle text-nowrap\\\">\\n              <span if.bind=\\\"item.approvedAt\\\" ka-tooltip.bind=\\\"item.statusReason\\\">Approvato il ${item.approvedAt|dateFormat}</span>\\n              <span if.bind=\\\"item.refusedAt\\\" ka-tooltip.bind=\\\"item.statusReason\\\">Rifiutato il ${item.refusedAt|dateFormat}</span>\\n              <span if.bind=\\\"!item.approvedAt && !item.refusedAt\\\">In attesa di approvazione</span>\\n              <small if.bind=\\\"item.statusReason\\\" class=\\\"limitwidth-30\\\">${item.statusReason}</small>\\n            </td>\\n            <td class=\\\"align-middle\\\">\\n              <span if.bind=\\\"item.approvalOperatorDisplayName || item.refusalOperatorDisplayName\\\" ka-tooltip.bind=\\\"item.approvedByUuid ? `Uuid operatore: ${item.approvedByUuid}` : item.refusedByUuid ? `Uuid operatore: ${item.refusedByUuid}` : ''\\\">${item.approvalOperatorDisplayName || item.refusalOperatorDisplayName}</span>\\n            </td>\\n            <td class=\\\"ka-tr-tools align-middle\\\">\\n              <!-- Approval -->\\n              <button if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CERTIFIABLE_BUCKET_DOCUMENT')\\\" click.delegate=\\\"approval(item)\\\" ka-tooltip=\\\"Approva o Rifiuta documento\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"fal fa-file-certificate\\\"></i>\\n              </button>\\n              <!-- Download -->\\n              <button click.delegate=\\\"download(item)\\\" ka-tooltip=\\\"Scarica documento\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"fal fa-arrow-to-bottom\\\"></i>\\n              </button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"strategyIn\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"typeIn\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"excludeFromRetry\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"createdAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"createdAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"lastAttemptStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"lastAttemptEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"deliveredAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"deliveredAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"tableInterface.data || tableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like users_table\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data creazione</md-table-sort></th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"deliveredAt\\\">Data elaborazione mtrax</md-table-sort></th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"type\\\">Tipologia</md-table-sort></th>\\n              <th>Motivo</th>\\n              <th>Modalità</th>\\n              <th>Retry</th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"attempts\\\">Tentativi</md-table-sort></th>\\n              <th>Ultimo tentativo</th>\\n              <th>Non consegnato</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td>\\n                ${record.createdAt|dateFormat}\\n                <span><br>ID: ${record.id}</span>\\n              </td>\\n              <td>${record.deliveredAt|dateFormat}</td>\\n              <td>${record.type}</td>\\n              <td>${record.payload.data.attributes.reason}</td>\\n              <td>${record.strategy}</td>\\n              <td class=\\\"limitwidth-20\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.excludeFromRetry\\\"\\n                  value.bind=\\\"record.excludeFromRetry\\\"\\n                  value.bind=\\\"record.status\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"setExcludeFromRetry(record)\\\"\\n                  class=\\\"limitwidth-20\\\">\\n                </ka-control>\\n              </td>\\n              <td>${record.attemptsCount}</td>\\n              <td>\\n                <strong>Data:</strong> ${record.lastFailedAttemptAt|daysFormat}\\n                <span if.bind=\\\"record.lastFailedAttemptReason\\\"><br>Motivo errore: ${record.lastFailedAttemptReason}</span>\\n              </td>\\n              <td class=\\\"limitwidth-20\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.notDelivered\\\"x\\n                  change.delegate=\\\"setNotDelivered(record)\\\"\\n                  class=\\\"limitwidth-20\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"deleteRecord(record)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">No data</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche-dettaglio.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"meta\\\">\\n      <span style=\\\"white-space: nowrap;\\\"><strong>Codice</strong> <span class=\\\"code\\\">${notification.code}</span></span>\\n      <span style=\\\"white-space: nowrap;\\\"><strong>Chiave</strong> <span class=\\\"key\\\">${notification.uniqueKey}</span></span>\\n      <span if.bind=\\\"notification.doNotSendBefore\\\" style=\\\"white-space: nowrap;\\\"><strong>Programmata per il</strong> ${notification.doNotSendBefore | dateFormat}</span>\\n      <span else style=\\\"white-space: nowrap;\\\"><strong>Programmata per il</strong> ${notification.sendBefore | dateFormat}</span>\\n    </p>\\n    <h2>Report per canale</h2>\\n    <ka-tabs if.bind=\\\"notification.channels\\\">\\n      <!-- Email -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('email')\\\" label=\\\"Canale Email\\\">\\n        <div class=\\\"row\\\" repeat.for=\\\"notificationEmail of notification.emails\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${notificationEmail.recipientEmailAddress}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notificationEmail.emailDispatchedAt && !notificationEmail.emailDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notificationEmail.emailDispatchedAt\\\">Inviata il ${notificationEmail.emailDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notificationEmail.emailDispatchErrorAt\\\">Errore il ${notificationEmail.emailDispatchErrorAt | dateFormat}<br><small>${notificationEmail.emailDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notificationEmail.emailDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p if.bind=\\\"!notificationEmail.emailDeliveredAt && !notificationEmail.emailBouncedAt\\\">In attesa di essere consegnata</p>\\n            <p if.bind=\\\"notificationEmail.emailDeliveredAt\\\">Consegnata il ${notificationEmail.emailDeliveredAt | dateFormat}</p>\\n            <p if.bind=\\\"notificationEmail.emailBouncedAt\\\">Errore il ${notificationEmail.emailBouncedAt | dateFormat}<br><small>${notificationEmail.emailBounceReason}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin-top: 0;\\\">Oggetto</h3>\\n        <p>${notification.emailSubject}</p>\\n        <iframe id=\\\"emailFrame\\\" src=\\\"about:blank\\\"></iframe>\\n      </ka-tab>\\n      <!-- Sms -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('sms')\\\" label=\\\"Canale SMS\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${notification.recipientMobileNumber}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notification.smsDispatchedAt && !notification.smsDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notification.smsDispatchedAt\\\">Inviata il ${notification.smsDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.smsDispatchErrorAt\\\">Errore il ${notification.smsDispatchErrorAt | dateFormat}<br><small>${notification.smsDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notification.smsDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p if.bind=\\\"!notification.smsDeliveredAt && !notification.smsBouncedAt\\\">In attesa di essere consegnata</p>\\n            <p if.bind=\\\"notification.smsDeliveredAt\\\">Consegnata il ${notification.smsDeliveredAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.smsBouncedAt\\\">Errore il ${notification.smsBouncedAt | dateFormat}<br><small>${notification.smsBounceReason}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin: 0;\\\">Messaggio</h3>\\n        <p>${notification.smsBody}</p>\\n      </ka-tab>\\n\\n      <!-- Ui -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('ui')\\\" label=\\\"Canale Notifica UI\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${userDisplayName}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notification.uiDispatchedAt && !notification.uiDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notification.uiDispatchedAt && !notification.uiDispatchErrorAt\\\">Inviata il ${notification.uiDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.uiDispatchErrorAt\\\">Errore il ${notification.uiDispatchErrorAt | dateFormat}<br><small>${notification.uiDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notification.uiDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p>Consegnata il ${notification.uiDispatchedAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin-top: 0;\\\">Messaggio</h3>\\n        <p><strong>${notification.uiSubject}</strong></p>\\n        <div class=\\\"unformat\\\" innerhtml.bind=\\\"notification.uiHtmlBody\\\"></div>\\n      </ka-tab>\\n    </ka-tabs>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca notifice</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-xxl\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-xxl\\\">\\n        <md-input name=\\\"code\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleEmail\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusEmail\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleEmail\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleSms\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusSms\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleSms\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleUiNotice\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusUI\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleUiNotice\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE -->\\n  <template if.bind=\\\"tableInterface.data\\\" class=\\\"notifications\\\">\\n    <h2>Elenco notifiche <span if.bind=\\\"selectedUser\\\">di ${selectedUser.profile.displayName}</span></h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like notifications\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Data creazione</th>\\n            <th>Canale</th>\\n            <th>Programmata per</th>\\n            <th>Programmata entro</th>\\n            <th>Stato</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <!-- Code -->\\n            <td><span class=\\\"code\\\" click.delegate=\\\"tools.copyText(item.code)\\\" ka-tooltip=\\\"Copia codice\\\">${item.code}</span></td>\\n            <!-- Created at -->\\n            <td>${item.createdAt | dateFormat}</td>\\n            <!-- Canale -->\\n            <td class=\\\"channels\\\">\\n              <div>\\n                <i class=\\\"fal fa-at ${item.scheduleEmail === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica email\\\"></i>\\n                <i class=\\\"fal fa-sms ${item.scheduleSms === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica SMS\\\"></i>\\n                <i class=\\\"fal fa-bell-exclamation ${item.scheduleUiNotice === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica UI\\\"></i>\\n              </div>\\n            </td>\\n            <!-- doNotSendBefore -->\\n            <td>\\n              <span if.bind=\\\"item.doNotSendBefore\\\">${item.doNotSendBefore | dateFormat}</span>\\n              <span else>Appena possibile</span>\\n            </td>\\n            <!-- sendBefore -->\\n            <td>${item.sendBefore | dateFormat}</td>\\n            <!-- Sending -->\\n            <td>\\n              <ul class=\\\"send\\\">\\n                <!-- Email -->\\n                <li if.bind=\\\"item.scheduleEmail === 'YES'\\\" class=\\\"email\\\">\\n                  <div if.bind=\\\"item.recipientEmailAddress\\\" class=\\\"emailAdress\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email</span>\\n                    <ul class=\\\"timeline email-sms ${!item.emailDispatchedAt && !item.emailDispatchErrorAt ? 'pending' : item.emailDispatchedAt && !item.emailDeliveredAt && !item.emailBouncedAt ? 'transit' : item.emailDispatchErrorAt ? 'error' : item.emailBouncedAt ? 'bounced' : item.emailDeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                  <div if.bind=\\\"item.recipientEmailAddress2\\\" class=\\\"emailAdress\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email 2</span>\\n                    <ul class=\\\"timeline email-sms ${!item.email2DispatchedAt && !item.email2DispatchErrorAt ? 'pending' : item.email2DispatchedAt && !item.email2DeliveredAt && !item.email2BouncedAt ? 'transit' : item.email2DispatchErrorAt ? 'error' : item.email2BouncedAt ? 'bounced' : item.email2DeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                  <div if.bind=\\\"item.recipientEmailAddress3\\\" class=\\\"emailAdress\\\" ka-tooltip=\\\"${item.recipientEmailAddress}\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email 3</span>\\n                    <ul class=\\\"timeline email-sms ${!item.email3DispatchedAt && !item.email3DispatchErrorAt ? 'pending' : item.email3DispatchedAt && !item.email3DeliveredAt && !item.email3BouncedAt ? 'transit' : item.email3DispatchErrorAt ? 'error' : item.email3BouncedAt ? 'bounced' : item.email3DeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                </li>\\n\\n                <!-- Sms -->\\n                <li if.bind=\\\"item.scheduleSms === 'YES'\\\" class=\\\"sms\\\">\\n                  <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientMobileNumber\\\">SMS</span>\\n                  <ul class=\\\"timeline email-sms ${!item.smsDispatchedAt && !item.smsDispatchErrorAt ? 'pending' : item.smsDispatchedAt && !item.smsDeliveredAt && !item.smsBouncedAt ? 'transit' : item.smsDispatchErrorAt ? 'error' : item.smsBouncedAt ? 'bounced' : item.smsDeliveredAt ? 'delivered' : ''}\\\">\\n                    <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'sms', item);\\\"></li>\\n                  </ul>\\n                </li>\\n\\n                <!-- Ui -->\\n                <li if.bind=\\\"item.scheduleUiNotice === 'YES'\\\" class=\\\"ui\\\">\\n                  <span class=\\\"send-channel\\\">Notifica UI</span>\\n                  <ul class=\\\"timeline ui ${!item.uiDispatchedAt && !item.uiDispatchErrorAt ? 'pending' : item.uiDispatchErrorAt ? 'error' : item.uiDispatchedAt ? 'delivered' : ''}\\\">\\n                    <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'ui', item);\\\"></li>\\n                  </ul>\\n                </li>\\n              </ul>\\n            </td>\\n            <!-- Button -->\\n            <td class=\\\"d-flex justify-content-sm-end my-2 my-sm-0\\\"><ka-button class=\\\"flat\\\" click.delegate=\\\"detail(item)\\\">Dettaglio</ka-button></td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body py-4\\\">\\n    <p class=\\\"mt-0\\\">Seleziona l'utente a cui assegnare l'offerta oppure inserisci l'indirizzo email per assegnare l'offerta ad un nuovo utente</p>\\n    <div class=\\\"row px-3\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control readonly.bind=\\\"resource.data.email\\\" name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control readonly.bind=\\\"resource.data.user\\\" name=\\\"email\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button class=\\\"inverted m-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./offerte-editor.sass\\\"></require>\\n\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4 pt-3 pt-md-0\\\">\\n        <ka-control name=\\\"promotionCode\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4 pt-2 pt-md-0\\\">\\n        <ka-control name=\\\"public\\\"></ka-control>\\n      </div>\\n\\n      <div if.bind=\\\"params\\\" class=\\\"col-12 order-1 mt-2\\\">\\n        <h2 style=\\\"margin: 0 -2rem\\\">Dati modificabili</h2>\\n      </div>\\n      <div class=\\\"col-12 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"title\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"description\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6 col-md-4\\\">\\n        <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6 order-1 ' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"endAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"targetUserType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"contextBusinessType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"deadlineType\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"deadlineTypeChange()\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"deadlineAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted m-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./offerte.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"promotionCode\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"targetUserType\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"startAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"startAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"endAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"endAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <md-control name=\\\"deadlineType\\\" change.call=\\\"deadlineTypeChange()\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div  if.bind=\\\"data.deadlineType\\\" class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"deadlineAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"deadlineAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-2\\\">\\n        <md-control name=\\\"public\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n\\n      <div class=\\\"col-12 col-xl d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco offerte \\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_PROMOTION_OFFERS')\\\"\\n        class=\\\"inverted flat\\\" \\n        click.delegate=\\\"createOffer()\\\">\\n        <i class=\\\"far fa-plus me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Crea nuova offerta\\n      </ka-button>\\n      </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Codice promozione</th>\\n            <th>Titolo/Descrizione</th>\\n            <th>Data creazione</th>\\n            <th>Periodo di validità</th>\\n            <th>Applicabile a</th>\\n            <th>Scadenza</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td>\\n              <span if.bind=\\\"offer.public === 'NO'\\\" class=\\\"text-primary\\\">Offerta privata<br></span>\\n              <span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.code}</span>\\n            </td>\\n            <td><span if.bind=\\\"offer.promotionCode\\\" class=\\\"${offer.promotionCode ? 'promo-code' : ''}\\\">${offer.promotionCode ? offer.promotionCode : 'Nessuna promozione'}</span></td>\\n            <td style=\\\"max-width: 250px\\\">\\n              ${offer.title}\\n              <small class=\\\"limitwidth-20\\\" ka-tooltip.bind=\\\"offer.description\\\">${offer.description}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap d-block\\\">${offer.createdAt|dateFormat}</span>\\n              <small>${offer.authorDisplayName}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap d-block\\\"><small>Dal:</small> ${offer.startAt|dateFormat}</span>\\n              <span class=\\\"text-nowrap d-block\\\"><small>Al:</small> ${offer.endAt|dateFormat}</span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"offer.targetUserType\\\">${offer.targetUserType === 'PARENT' ? 'Utenti' : 'Sottoutenti'}</span><br>\\n              <small if.bind=\\\"offer.contextBusinessType\\\">${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Amministratore' : 'Altro'}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap\\\">${offer.deadlineAt|dateFormat}</span>\\n              <small if.bind=\\\"offer.deadlineType === 'USER-CREATION'\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Per iscrizione utente</small>\\n              <small if.bind=\\\"offer.deadlineType === 'FLAT-SERVICE-SUBSCRIPTION'\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Per sottoscrizione servizio</small>\\n            </td>\\n            <td class=\\\"text-end\\\">\\n              <template if.bind=\\\"offer.endAt > currentDate\\\">\\n                <ka-button click.delegate=\\\"editOffer($event, offer)\\\" class=\\\"flat\\\">Modifica</ka-button>\\n                <span if.bind=\\\"offer.startAt < currentDate\\\">\\n                  <br><ka-button click.delegate=\\\"assignOffer($event, offer)\\\" class=\\\"flat inverted secondary mt-2\\\">Assegna</ka-button>\\n                </span>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-xl-2\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"requestedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"requestedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4\\\">\\n        <md-control name=\\\"email\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Offerte prenotate</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Data prenotazione</th>\\n            <th>Email</th>\\n            <th>Autore</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td><span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.redeemCode}</span></td>\\n            <td class=\\\"text-nowrap\\\">${offer.requestedAt|dateFormat}</td>\\n            <td>${offer.requestEmail}</td>\\n            <td>${offer.authorDisplayName}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-xl-2\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"requestedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"requestedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"redeemedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"redeemedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-12 col-xl-2\\\">\\n        <md-control name=\\\"userId\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-xl-4\\\">\\n        <md-control name=\\\"userUuid\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-xl-4\\\">\\n        <md-control name=\\\"email\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Offerte riscattate</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Data prenotazione</th>\\n            <th>Data riscatto</th>\\n            <th>ID/UUID utente</th>\\n            <th>Nome</th>\\n            <th>Email</th>\\n            <th>Autore</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td><span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.redeemCode}</span></td>\\n            <td class=\\\"text-nowrap\\\">${offer.requestedAt|dateFormat}</td>\\n            <td class=\\\"text-nowrap\\\">${offer.redeemedAt|dateFormat}</td>\\n            <td>\\n              <span>${offer.userId}</span><br>\\n              <small>${offer.userUuid}</small>\\n            </td>\\n            <td class=\\\"limitwidth-20\\\">${offer.userDisplayName}</td>\\n            <td class=\\\"limitwidth-20\\\">${offer.requestEmail}</td>\\n            <td>${offer.authorDisplayName}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tools, tab }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./contract-detail.sass\\\"></require>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p if.bind=\\\"!htmlTemplate && pendingGetCashbackContract !== false\\\">Caricamento in corso...</p>\\n    <p if.bind=\\\"htmlTemplate\\\" class=\\\"content\\\" innerhtml.bind=\\\"htmlTemplate\\\"></p>\\n    <p if.bind=\\\"!htmlTemplate && pendingGetCashbackContract === false\\\">Non è possibile visualizzare il contratto</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./contract-rescission.sass\\\"></require>\\n  <div class=\\\"body p-3\\\"> \\n    <p class=\\\"mx-0 mt-0\\\">\\n      <strong>Chiude definitivamente una sottoscrizione ad un contratto cashback.</strong>\\n    </p>\\n    <ka-control name=\\\"userUuid\\\" class=\\\"mb-3\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.trigger=\\\"changeUserUuid()\\\">\\n    </ka-control>\\n    <ka-control name=\\\"contractType\\\" buttons=\\\"dropdown\\\"> </ka-control>\\n    <small class=\\\"reason-alert mt-2 mb-2\\\"><strong>Attenzione!</strong> Il recesso avverrà su entrambe le tipologie di contratto indipendentemente dalla tipologia selezionata. La tipologia di contratto selezionata sarà ad esclusivo uso interno.</small>\\n    <span class=\\\"contract-versions\\\" if.bind=\\\"userId\\\" repeat.for=\\\"version of latestVersions\\\">\\n      <small class=\\\"flat-service\\\" if.bind=\\\"version['FLAT-SERVICE']\\\">${version['FLAT-SERVICE']}</small>\\n      <small class=\\\"multinvio-volumes\\\" if.bind=\\\"version['MULTINVIO-VOLUMES']\\\">${version['MULTINVIO-VOLUMES']}</small>\\n    </span>\\n    <ka-control class=\\\"mt-3 mb-3\\\" name=\\\"defaultMessage\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeDefaultMessage()\\\">\\n    </ka-control>\\n    <ka-control name=\\\"reason\\\"> </ka-control>\\n    <small class=\\\"reason-alert mt-1\\\"><strong>Attenzione!</strong> Il messaggio sarà visibile al cliente.</small>\\n    <p class=\\\"mx-0\\\">\\n      Il recesso di un contratto è un'operazione straordinaria e non va\\n      utilizzata in maniera inadeguata. L'utente verrà bloccato su quel\\n      contratto e non potrà attivarne altri. Il nominativo dell'esecutore sarà\\n      registrato e conservato per eventuali verifiche.\\n    </p>\\n    <ka-control class=\\\"mb-3\\\" name=\\\"isConfirmed\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n      <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n      <ka-button \\n        class=\\\"ms-0\\\" \\n        disabled.bind=\\\"!resource.data.userUuid || userId === undefined || !resource.data.reason || !resource.data.isConfirmed\\\" \\n        click.delegate=\\\"rescindContract($event)\\\">Recedi contratto\\n      </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./create-contract.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n    <p class=\\\"m-0 p-0 mb-3\\\">Stai creando una nuova versione del <strong>contratto cashback per ${params.type === 'MULTINVIO-VOLUMES' ? 'spedizioni MultInvio' : 'sottoscrizioni servizi'}.</strong></p>\\n    <ka-control name=\\\"htmlTemplate\\\" class=\\\"pb-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"pendingCreateCashbackContracts || !resource.data.htmlTemplate\\\"\\n      click.delegate=\\\"createCashbackContracts($event)\\\">Crea contratto\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"tableInterface.initialized\\\">\\n    <h2>\\n      <span>Lista contratti cashback per spedizioni MultInvio</span>\\n      <ka-button\\n        class=\\\"inverted flat\\\"\\n        click.delegate=\\\"openDialogCreateContract()\\\"\\n        if.bind=\\\"api.hasRole('CREATE_CASHBACK_CONTRACTS')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuovo contratto</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Versione</th>\\n            <th>Data di creazione</th>\\n            <th>Autore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.version}</td>\\n              <td>${record.createdAt|dateFormat}</td>\\n              <td>${record.authorDisplayName}</td>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button\\n                  class=\\\"flat inverted secondary m-0\\\"\\n                  click.delegate=\\\"tools.openDialogContractDetail(record)\\\">Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"4\\\">\\n              <span>Non sono presenti contratti</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"tableInterface.initialized\\\">\\n    <h2>\\n      <span>Lista contratti cashback per sottoscrizioni servizi</span>\\n      <ka-button\\n        class=\\\"inverted flat\\\"\\n        click.delegate=\\\"openDialogCreateContract()\\\"\\n        if.bind=\\\"api.hasRole('CREATE_CASHBACK_CONTRACTS')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuovo contratto</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Versione</th>\\n            <th>Data di creazione</th>\\n            <th>Autore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.version}</td>\\n              <td>${record.createdAt|dateFormat}</td>\\n              <td>${record.authorDisplayName}</td>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button\\n                  class=\\\"flat inverted secondary m-0\\\"\\n                  click.delegate=\\\"tools.openDialogContractDetail(record)\\\">Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"4\\\">\\n              <span>Non sono presenti contratti</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca sottoscrizioni</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco sottoscrizioni</span>\\n      <ka-button class=\\\"inverted with-icon ms-0\\\"\\n        disabled.bind=\\\"!api.hasRole('CREATE_ANY_USER_CASHBACK_CONTRACT_ACCEPTANCE_RESCISSION')\\\"\\n        if.bind=\\\"true\\\"\\n        ka-tooltip=\\\"Gestisci recesso contratti cashback\\\"\\n        click.delegate=\\\"dialogCashbackContractRescission()\\\">\\n        <i class=\\\"far fa-file-times\\\"></i>\\n        <span>Recedi contratti</span>\\n      </ka-button>\\n    </h2>\\n\\n\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Utente</th>\\n            <th>Versione</th>\\n            <th>Data sottoscrizione</th>\\n            <th>Tipologia</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>${record.userDisplayName}<br>\\n              <small>\\n                <span\\n                  class=\\\"copy-text with-icon\\\"\\n                  click.delegate=\\\"tools.copyText(record.userUuid, 'UUID')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia: ' + record.userUuid\\\">\\n                  UUID\\n                </span>\\n              </small>\\n            </td>\\n            <td>${record.contractVersion}</td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              <span style=\\\"white-space: nowrap\\\">${record.contractType === 'FLAT-SERVICE' ? 'Servizi' : 'MultInvio'}</span><br>\\n              <small if.bind=\\\"record.cashbackPercentage\\\">Cashback: ${record.cashbackPercentage}%</small>\\n            </td>\\n\\n            <!-- Buttons -->\\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                class=\\\"flat inverted secondary m-0\\\">Visualizza\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti sottoscrizioni</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./user-archive.sass\\\"></require>\\n  <div class=\\\"subscriptions row p-0 mx-2\\\">\\n    <div if.bind=\\\"tableInterfaceServiceContractSubscriptions.initialized\\\" class=\\\"subscription col p-0 mt-3 mx-2\\\">\\n      <h2 class=\\\"w-100 m-0\\\">Elenco sottoscrizioni contratti cashback per attivazione servizi</h2>\\n      <table class=\\\"ka-table-like\\\">\\n        <tbody if.bind=\\\"tableInterfaceServiceContractSubscriptions.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterfaceServiceContractSubscriptions.data\\\">\\n            <tr>\\n              <td>Versione: <strong>${record.contractVersion}</strong></td>\\n              <td>Sottoscrizione: <strong>${record.createdAt|dateFormat:'DD/MM/YYYY'}</strong></td>\\n              <td>\\n                <ka-button\\n                  click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                  class=\\\"flat inverted secondary m-0\\\">\\n                  Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterfaceServiceContractSubscriptions.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"3\\\">\\n              <span>Non sono presenti approvazioni</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </div>\\n\\n    <div if.bind=\\\"tableInterfaceMultinvioContractSubscriptions.initialized\\\" class=\\\"subscription col p-0 mt-3 mx-2\\\">\\n      <h2 class=\\\"w-100 m-0\\\">Elenco sottoscrizioni contratti cashback per spedizioni MultInvio</h2>\\n      <table class=\\\"ka-table-like\\\">\\n        <tbody if.bind=\\\"tableInterfaceMultinvioContractSubscriptions.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterfaceMultinvioContractSubscriptions.data\\\">\\n            <tr>\\n              <td>Versione: <strong>${record.contractVersion}</strong></td>\\n              <td>Sottoscrizione: <strong>${record.createdAt|dateFormat:'DD/MM/YYYY'}</strong></td>\\n              <td>\\n                <ka-button\\n                  click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                  class=\\\"flat inverted secondary m-0\\\">\\n                  Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterfaceMultinvioContractSubscriptions.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"3\\\">\\n              <span>Non sono presenti approvazioni</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./user-subscriptions.sass\\\"></require>\\n\\n  <div class=\\\"contracts row p-0 mx-2 me-4 me-md-2\\\">\\n    <div class=\\\"contract col-12 col-md p-0 mt-3 mx-2\\\">\\n      <h3>Cashback per attivazioni servizi in abbonamento</h3>\\n      <p class=\\\"my-0 mb-1\\\">La sottoscrizione del contratto abilita all'attivazione di servizi in abbonamento che prevedono cashback.</p>\\n\\n      <p if.bind=\\\"flatServiceContract.lastContractGracePeriodEndsOn\\\" class=\\\"grace-period-warning my-0\\\">\\n        <strong>Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.</strong>\\n        <!-- <strong>Necessario sottoscrivere per continuare ad usufruire del cashback. La mancata sottoscrizione entro il ${flatServiceContract.lastContractGracePeriodEndsOn|dateFormat:'DD/MM/YYYY'} comporterà il recesso di entrambi i contratti</strong> -->\\n      </p>\\n\\n      <p if.bind=\\\"!flatServiceContract.lastContractGracePeriodEndsOn\\\" class=\\\"subscription my-0\\\">\\n        <strong if.bind=\\\"!pendingFlatServiceContract && !flatServiceContract\\\" class=\\\"nothing-to-subscript\\\">Nessun contratto visualizzabile.</strong>\\n        <strong if.bind=\\\"flatServiceContract.acceptedAt\\\" class=\\\"subscripted\\\">Contratto sottoscritto il ${flatServiceContract.acceptedAt|dateFormat:'DD/MM/YYYY'}.</strong>\\n        <strong if.bind=\\\"flatServiceContract && !flatServiceContract.acceptedAt\\\" class=\\\"to-be-subscripted\\\">Leggere con attenzione prima di sottoscrivere.</strong>\\n      </p>\\n\\n      <div class=\\\"content p-3 ms-3 my-3\\\">\\n        <div if.bind=\\\"pendingFlatServiceContract\\\" class=\\\"spinner-loader\\\"></div>\\n        <div if.bind=\\\"!pendingFlatServiceContract && flatServiceContract\\\" innerhtml.bind=\\\"flatServiceContract.userRenderableHtml\\\"></div>\\n      </div>\\n\\n      <div if.bind=\\\"!flatServiceContract.acceptedAt && flatServiceContract.acceptanceDeniedUntilDate\\\" class=\\\"cashback-restriction\\\">\\n        <p><strong>Attenzione!</strong> Per via del recente recesso di un precedente contratto cashback sottoscritto, la sottoscrizione di questo nuovo contratto non sarà abilitata fino al ${flatServiceContract.acceptanceDeniedUntilDate|dateFormat:'DD/MM/YYYY'}.</p>\\n      </div>\\n\\n      <template if.bind=\\\"!pendingFlatServiceContract && flatServiceContract\\\">\\n        <template if.bind=\\\"!flatServiceContract.acceptanceDeniedUntilDate\\\">\\n          <h3 class=\\\"mt-0\\\">Clausole di accettazione</h3>\\n          <div class=\\\"clauses ms-3\\\">\\n            <ka-control readonly.bind=\\\"flatServiceContract.acceptedAt\\\" value.bind=\\\"clauses[flatServiceContract.type].data.clause1\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\\\"\\n              schema.bind=\\\"clauses[flatServiceContract.type].schema.clause1\\\">\\n            </ka-control>\\n            <ka-control class=\\\"mt-1\\\" readonly.bind=\\\"flatServiceContract.acceptedAt\\\"\\n              value.bind=\\\"clauses[flatServiceContract.type].data.clause2\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\\\"\\n              schema.bind=\\\"clauses[flatServiceContract.type].schema.clause2\\\">\\n            </ka-control>\\n            <ul>\\n              <li><strong>8</strong> Obblighi del Cliente,</li>\\n              <li><strong>10</strong> Modifiche ed integrazioni,</li>\\n              <li><strong>11</strong> Legge applicabile e foro esclusivo.</li>\\n            </ul>\\n          </div>\\n        </template>\\n        <div class=\\\"d-flex align-items-center justify-content-between mt-3\\\">\\n          <p if.bind=\\\"flatServiceContract\\\" class=\\\"my-0 tag\\\">\\n            <small>Versione <strong>${flatServiceContract.version}</strong> del contratto creata il <strong>${flatServiceContract.createdAt|dateFormat:'DD/MM/YYYY'}</strong></small>\\n          </p>\\n          <div class=\\\"d-flex flex-nowrap\\\">\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"downloadPdfContract($event, flatServiceContract.type)\\\"\\n              disabled.bind=\\\"!flatServiceContract || pendingSubscriptionFlatServiceContract\\\">\\n              <i class=\\\"far fa-file-download\\\"></i>\\n              <span>Scarica PDF</span>\\n            </ka-button>\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"tools.openDialogContractDetail(flatServiceContract)\\\"\\n              disabled.bind=\\\"!flatServiceContract || pendingSubscriptionFlatServiceContract\\\">\\n              <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n              <span>Visualizza</span>\\n            </ka-button>\\n            <!-- <ka-button\\n              class=\\\"flat\\\"\\n              click.delegate=\\\"subscribeContract($event, flatServiceContract)\\\"\\n              disabled.bind=\\\"!api.hasRole('CREATE_USER_CASHBACK_CONTRACT_ACCEPTANCES') || !flatServiceContract || flatServiceContract.acceptedAt || pendingSubscriptionFlatServiceContract || !clauses[flatServiceContract.type].data.clause1 || !clauses[flatServiceContract.type].data.clause2\\\">\\n              Sottoscrivi\\n            </ka-button> -->\\n            <ka-button\\n              class=\\\"flat\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n              disabled.bind=\\\"true\\\">\\n              Sottoscrivi\\n            </ka-button>\\n          </div>\\n        </div>\\n      </template>\\n    </div>\\n\\n    <div class=\\\"contract col-12 col-md p-0 mt-md-3 mx-2\\\">\\n      <h3>Cashback per spedizioni MultInvio</h3>\\n      <p class=\\\"my-0 mb-1\\\">Sottoscrivendo questo contratto otterrai il rispettivo cashback su ogni spedizione MultiPosta, Multicerta e Multisms.</p>\\n\\n      <p if.bind=\\\"multinvioContract.lastContractGracePeriodEndsOn\\\" class=\\\"grace-period-warning my-0\\\">\\n        <strong>Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.</strong>\\n        <!-- <strong>Necessario sottoscrivere per continuare ad usufruire del cashback. La mancata sottoscrizione entro il ${multinvioContract.lastContractGracePeriodEndsOn|dateFormat:'DD/MM/YYYY'} comporterà il recesso di entrambi i contratti</strong> -->\\n      </p>\\n\\n      <p if.bind=\\\"!multinvioContract.lastContractGracePeriodEndsOn\\\" class=\\\"subscription my-0\\\">\\n        <strong if.bind=\\\"!pendingMultinvioContract && !multinvioContract\\\" class=\\\"nothing-to-subscript\\\">Nessun contratto visualizzabile.</strong>\\n        <strong if.bind=\\\"multinvioContract.acceptedAt\\\" class=\\\"subscripted\\\">Contratto sottoscritto il ${multinvioContract.acceptedAt|dateFormat:'DD/MM/YYYY'}.</strong>\\n        <strong if.bind=\\\"multinvioContract && !multinvioContract.acceptedAt\\\" class=\\\"to-be-subscripted\\\">Leggere con attenzione prima di sottoscrivere.</strong>\\n      </p>\\n\\n      <div class=\\\"content p-3 ms-3 my-3\\\">\\n        <div if.bind=\\\"pendingMultinvioContract\\\" class=\\\"spinner-loader\\\"></div>\\n        <div if.bind=\\\"!pendingMultinvioContract && multinvioContract\\\" innerhtml.bind=\\\"multinvioContract.userRenderableHtml\\\"></div>\\n      </div>\\n\\n      <div if.bind=\\\"multinvioContract.acceptanceDeniedUntilDate && !multinvioContract.acceptedAt\\\" class=\\\"cashback-restriction\\\">\\n        <p><strong>Attenzione!</strong> Per via del recente recesso di un precedente contratto cashback sottoscritto, la sottoscrizione di questo nuovo contratto non sarà abilitata fino al ${multinvioContract.acceptanceDeniedUntilDate|dateFormat:'DD/MM/YYYY'}.</p>\\n      </div>\\n\\n      <template if.bind=\\\"!pendingMultinvioContract && multinvioContract\\\">\\n        <template if.bind=\\\"!multinvioContract.acceptanceDeniedUntilDate\\\">\\n          <h3 class=\\\"mt-0\\\">Clausole di accettazione</h3>\\n          <div class=\\\"clauses ms-3\\\">\\n            <ka-control readonly.bind=\\\"multinvioContract.acceptedAt\\\" value.bind=\\\"clauses[multinvioContract.type].data.clause1\\\"\\n            ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n            schema.bind=\\\"clauses[multinvioContract.type].schema.clause1\\\">\\n            </ka-control>\\n            <ka-control class=\\\"mt-1\\\" readonly.bind=\\\"multinvioContract.acceptedAt\\\"\\n              value.bind=\\\"clauses[multinvioContract.type].data.clause2\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"              \\n              schema.bind=\\\"clauses[multinvioContract.type].schema.clause2\\\">\\n            </ka-control>\\n            <ul>\\n              <li><strong>8</strong> Obblighi del Cliente,</li>\\n              <li><strong>10</strong> Modifiche ed integrazioni,</li>\\n              <li><strong>11</strong> Legge applicabile e foro esclusivo.</li>\\n            </ul>\\n          </div>\\n        </template>\\n        <div class=\\\"d-flex align-items-center justify-content-between mt-3\\\">\\n          <p if.bind=\\\"multinvioContract\\\" class=\\\"my-0 tag\\\">\\n            <small>Versione <strong>${multinvioContract.version}</strong> del contratto creata il <strong>${multinvioContract.createdAt|dateFormat:'DD/MM/YYYY'}</strong></small>\\n          </p>\\n          <div class=\\\"d-flex flex-nowrap\\\">\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"downloadPdfContract($event, multinvioContract.type)\\\"\\n              disabled.bind=\\\"!multinvioContract || pendingSubscriptionMultinvioContract\\\">\\n              <i class=\\\"far fa-file-download\\\"></i>\\n              <span>Scarica PDF</span>\\n            </ka-button>\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"tools.openDialogContractDetail(multinvioContract)\\\"\\n              disabled.bind=\\\"!multinvioContract || pendingSubscriptionMultinvioContract\\\">\\n              <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n              <span>Visualizza</span>\\n            </ka-button>\\n            <!-- <ka-button\\n              class=\\\"flat\\\"\\n              click.delegate=\\\"subscribeContract($event, multinvioContract)\\\"\\n              disabled.bind=\\\"!api.hasRole('CREATE_USER_CASHBACK_CONTRACT_ACCEPTANCES') || !multinvioContract || multinvioContract.acceptedAt || pendingSubscriptionMultinvioContract || !clauses[multinvioContract.type].data.clause1 || !clauses[multinvioContract.type].data.clause2\\\">\\n              Sottoscrivi\\n            </ka-button> -->\\n            <ka-button\\n              class=\\\"flat\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n              disabled.bind=\\\"true\\\">\\n              Sottoscrivi\\n            </ka-button>\\n          </div>\\n        </div>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credit-transfer.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <ka-control name=\\\"amount\\\" buttons=\\\"clear\\\" class=\\\"pb-2\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.amount\\\"\\n      click.delegate=\\\"saveTransferCreditMovements($event)\\\">Trasferisci\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./edit-request.sass\\\"></require>\\n  <p class=\\\"m-0 p-4\\\" class=\\\"body p-4\\\">Sei sicuro di voler ${status === 'REFUSED' ? 'rifiutare' : 'confermare'} questa richiesta?</p>\\n  <div if.bind=\\\"status === 'REFUSED'\\\" class=\\\"body px-4 pb-4\\\">\\n    <ka-control name=\\\"statusReason\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"status === 'REFUSED' && !resource.data.statusReason\\\"\\n      click.delegate=\\\"saveEditRequest($event)\\\">${status === 'REFUSED' ? 'Rifiuta' : 'Conferma'}\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./insert-movement.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <ka-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control name=\\\"direction\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control name=\\\"reason\\\" class=\\\"pb-3\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control name=\\\"amount\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.user\\\"\\n      click.delegate=\\\"saveInsertCreditMovement($event)\\\">salva\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./withdrawal-request.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <div class=\\\"instructions mb-4\\\">\\n      <strong>Attenzione! Attendere la nostra accettazione prima della trasmissione all'Agenzia delle Entrate.</strong>\\n      <p class=\\\"m-0 my-3\\\">Per richiedere il pagamento di tutte o parte delle autoricariche maturate è necessario compilare i campi sottostanti e cliccare sul pulsante Richiedi. Non deve essere applicata nè ritenuta d'acconto, nè cassa previdenziale ed indicare come descrizione esclusivamente: CORRISPETTIVO CASHBACK.</p>\\n      <p class=\\\"m-0 mb-4 download\\\" click.delegate=\\\"downloadStaticResource('documento-fiscale-cashback.pdf')\\\">Scarica il nostro Documento fiscale cashback.</p>\\n      <strong>Indicare solo l'imponibile + IVA e intestare a:</strong>\\n      <p class=\\\"m-0 mt-3\\\">Multidialogo s.r.l. a socio unico. Via Emilia Ovest 129/2, 43126 Parma (PR). P.Iva 02149430346. Codice intermediario (SDI) : USAL8PV.</p>\\n    </div>\\n    <div class=\\\"form d-flex pb-2\\\">\\n      <ka-control name=\\\"amount\\\" class=\\\"pe-2\\\"></ka-control>\\n      <ka-control name=\\\"temporaryInvoiceFileUploadUuid\\\" class=\\\"ps-2\\\" buttons=\\\"clear\\\"></ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.temporaryInvoiceFileUploadUuid\\\"\\n      click.delegate=\\\"saveWithdrawalRequest($event)\\\">Richiedi\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./movements.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca movimenti cashback</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-md-3 col-12\\\">\\n        <md-control\\n          name=\\\"sourceUser\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"dropdown,clear\\\"\\n          if.bind=\\\"privileges.isOperator\\\">\\n        </md-control>\\n      </div>\\n      <div else class=\\\"col-12 col-md-6\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-8 p-0 pe-2\\\">\\n            <md-control\\n              name=\\\"sourceUuids\\\"\\n              client.bind=\\\"api\\\"\\n              buttons=\\\"clear,dropdown\\\"\\n              class=\\\"no-add no-open dropdown\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-4 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"sourceUser\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 ${privileges.isOperator ? 'col-md-5' : 'col-md-6'}\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-4 p-0 pe-2\\\">\\n            <md-control \\n              name=\\\"direction\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"changeDirection()\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-8 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"sourceType\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 ${privileges.isOperator ? 'col-md-4' : 'col-md-6 col-xl-4'}\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 p-0 pe-2\\\">\\n            <md-control \\n              name=\\\"createdAtGte\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-6 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"createdAtLte\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2 class=\\\"d-flex flex-nowrap\\\">\\n      <span class=\\\"me-auto text-nowrap\\\">Elenco movimenti cashback</span>\\n      <ka-button\\n        class=\\\"inverted with-icon\\\"\\n        if.bind=\\\"privileges.isOperator\\\"\\n        click.delegate=\\\"dialogInsertMovement()\\\">\\n        <i class=\\\"fad fa-exchange\\\"></i>\\n        <span>Inserisci movimento</span>\\n      </ka-button>\\n      <template else>\\n        <ka-button\\n          class=\\\"inverted with-icon me-0\\\"\\n          click.delegate=\\\"getCashbackTransferEligibilityCheck($event, 'TRANSFER-CREDIT')\\\"\\n          if.bind=\\\"api.hasRole('CREATE_USER_CASHBACK_CREDIT_TRANSFERS')\\\"\\n          ka-tooltip=\\\"value.bind: lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt ? 'Non puoi trasferire il tuo cashback maturato se non hai sottoscritto tutti i contratti cashback' : 'Trasferisci il tuo saldo cashback maturato'\\\"\\n          disabled.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n          <i class=\\\"far fa-exchange\\\"></i>\\n          <span>Trasferisci</span>\\n        </ka-button>\\n        <ka-button\\n          class=\\\"inverted with-icon\\\"\\n          if.bind=\\\"api.hasRole('CREATE_USER_CASHBACK_WITHDRAWAL_REQUESTS')\\\"\\n          click.delegate=\\\"getCashbackTransferEligibilityCheck($event, 'TRANSFER-WITHDRAWAL')\\\"\\n          ka-tooltip=\\\"value.bind: lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt ? 'Non puoi prelevare il tuo cashback maturato se non hai sottoscritto tutti i contratti cashback' : 'Preleva il tuo saldo cashback maturato'\\\"\\n          disabled.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n          <i class=\\\"far fa-arrow-from-left\\\"></i>\\n          <span>Preleva</span>\\n        </ka-button>\\n      </template>\\n    </h2>\\n    <p \\n      class=\\\"grace-period-warning\\\" \\n      if.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n      <strong>Attenzione!</strong> Sottoscrivi i nuovi contratti cashback se non vuoi rischiare di perdere il cashback maturato.\\n      <a click.delegate=\\\"router.navigateToRoute('cashback/contracts')\\\">Procedi</a>\\n    </p>\\n    <h2 if.bind=\\\"metaResponse\\\">\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Totale entrate:</strong> ${metaResponse.totalInAmount} €</span>\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Totale uscite:</strong> ${metaResponse.totalOutAmount} €</span>\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Saldo:</strong> ${metaResponse.totalDiffAmount} €</span>\\n      <span \\n        class=\\\"ms-auto text-nowrap ${isTransactionDisabledAfterDate(transactionDisabledDate) ? 'balance' : ''}\\\" \\n        ka-tooltip=\\\"value.bind: isTransactionDisabledAfterDate(transactionDisabledDate) ? inhibitionCashbackMessage : '' \\\">\\n        <strong class=\\\"text-primary\\\">Saldo fatturabile: </strong>${isTransactionDisabledAfterDate(transactionDisabledDate) ? 'Non disponibile' : `${metaResponse.billableAmount}` + ' €'}</span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Origine</th>\\n            <th>Tipologia</th>\\n            <th>Importo</th>\\n            <th>Causale</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <small class=\\\"text-color\\\">${record.createdAt|dateFormat}</small>\\n            </td>\\n            <td>\\n              <span>${record.sourceUserDisplayName}</span><br>\\n              <small if.bind=\\\"record.sourceQueueMultiSendCode\\\">Spedizione: ${record.sourceQueueMultiSendCode}</small>\\n              <small if.bind=\\\"record.sourceFlatServiceSubscriptionOrderId\\\">Ordine: ${record.sourceFlatServiceSubscriptionOrderId}</small>\\n            </td>\\n            <td>\\n              <span>${sourceTypeSchema[record.direction].text}</span><br>\\n              <small>${sourceTypeSchema[record.direction].values[record.sourceType]}</small>\\n            </td>\\n            <td>\\n              <span>${record.amount} €</span>\\n            </td> \\n            <td>\\n              <small>${record.reason}</small>\\n            </td>     \\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                if.bind=\\\"record.sourceFlatServiceSubscriptionUuid || record.sourceQueueUuid\\\"\\n                click.delegate=\\\"movementDetail(record)\\\"\\n                class=\\\"flat inverted primary m-0\\\">\\n                Dettaglio\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"api.hasRole('DOWNLOAD_USER_CASHBACK_WITHDRAWAL_REQUEST_INVOICE_FILES') && record.withdrawalRequestInvoiceDownloadable === 'YES' \\\"\\n                click.delegate=\\\"tools.downloadDocument($event, record.sourceUserId, record.withdrawalRequestUuid)\\\"\\n                class=\\\"flat secondary inverted m-0\\\"\\n                style=\\\"width: 7.68rem !important; max-width: none\\\">\\n                Fattura\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti movimenti cashback</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST') && searchInterface.initialized\\\">\\n    <h2>Ricerca richieste di prelievo</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-xl-3\\\">\\n        <md-control \\n          name=\\\"user\\\" \\n          client.bind=\\\"api\\\" \\n          buttons=\\\"dropdown,clear\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco richieste di prelievo</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">Utente</th>\\n            <th>Importo</th>\\n            <th>Stato</th>\\n            <th>Note</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td><small class=\\\"text-color\\\">${record.createdAt|dateFormat:'DD/MM/YYYY'}</small></td>\\n            <td if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">${record.userDisplayName}</td>\\n            <td>${record.amount} €</td>\\n            <td>\\n              ${status[record.status]}<br>\\n              <small>${record.statusReason}</small>\\n            </td>\\n            <td><small class=\\\"text-color\\\">${record.notes}</small></td>  \\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                class=\\\"inverted flat secondary icon m-0 ms-1\\\"\\n                click.delegate=\\\"dialogDeleteRequest($event, record)\\\"\\n                ka-tooltip=\\\"Elimina richiesta\\\"\\n                if.bind=\\\"!privileges.isOperator && api.hasRole('DELETE_USER_CASHBACK_WITHDRAWAL_REQUESTS') && record.status === 'PENDING'\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat secondary m-0\\\"\\n                click.delegate=\\\"tools.downloadDocument($event, record.userId, record.id)\\\"\\n                if.bind=\\\"api.hasRole('DOWNLOAD_USER_CASHBACK_WITHDRAWAL_REQUEST_INVOICE_FILES') && record.invoiceFileUploadUuid\\\">\\n                Fattura\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat primary icon m-0 ms-1\\\"\\n                disabled.bind=\\\"record.status !== 'PENDING'\\\"\\n                ka-tooltip=\\\"Conferma richiesta\\\"\\n                click.delegate=\\\"dialogEditRequest($event, record, 'CONFIRMED')\\\"\\n                if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">\\n                <i class=\\\"far fa-check\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat primary icon m-0 ms-1\\\"\\n                disabled.bind=\\\"record.status !== 'PENDING'\\\"\\n                ka-tooltip=\\\"Rifiuta richiesta\\\"\\n                click.delegate=\\\"dialogEditRequest($event, record, 'REFUSED')\\\"\\n                if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">\\n                <i class=\\\"far fa-times\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti richieste di prelievo</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tab, privileges, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./order-detail.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"!order\\\" class=\\\"dialog-loader\\\"><span>Caricamento in corso</span></p>\\n    <div if.bind=\\\"order\\\" class=\\\"content\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Data di creazione</th>\\n            <th>Numero ordine</th>\\n            <th>Intestatario</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>\\n              <div class=\\\"mono\\\">${order.createdAt|dateFormat:'DD/MM/YY'}</div>\\n              <small>Ore ${order.createdAt|dateFormat:'HH:MM'}</small>\\n            </td>\\n            <td class=\\\"order-number\\\">\\n              <span \\n                ka-tooltip=\\\"Copia numero ordine\\\" \\n                class=\\\"copy-text with-icon mono\\\"\\n                click.delegate=\\\"copyText(order.id, 'numero ordine')\\\">${order.id}</span>\\n            </td>\\n            <td>${order.userDisplayName}</td>\\n          </tr>\\n        </tbody>\\n      </table>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th>Prezzo parziale</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"item of order.orderDetails\\\">\\n            <tr>\\n              <td><small class=\\\"text-color\\\">${item.description}</small></td>\\n              <td>\\n                <div class=\\\"mono currency\\\">${item.detailGrossAmount}</div>\\n                <small>Aliquota IVA: <span class=\\\"mono\\\">${item.vatAmount}</span></small>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n      </table>\\n      <h3>Dettagli sul pagamento</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Stato/metodo pagamento</th>\\n            <th>Imponibile</th>\\n            <th>IVA</th>\\n            <th>Ritenuta</th>\\n            <th>Totale da pagare</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>\\n              <span class=\\\"new-tag ${orderStatuses[order.status].class}\\\">${orderStatuses[order.status].text}</span>\\n              <small if.bind=\\\"order.paymentMethod\\\" class=\\\"d-block mt-2\\\">${paymentMethods.get(order.paymentMethod)}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"mono currency\\\">${order.taxableAmount}</span>\\n            </td>\\n            <td>\\n              <div class=\\\"mono currency\\\">${order.vatAmount}</div>\\n              <small>Aliquota IVA: <span class=\\\"mono\\\">${order.percentageVatAmount}</span></small>\\n            </td>\\n            <td>\\n              <span class=\\\"mono currency\\\">${order.withholdingTaxAmount}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"mono currency\\\">${order.grossAmount}</span>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n      <template if.bind=\\\"order.billingProfileDetails\\\">\\n        <h3>Dati di fatturazione</h3>\\n        <table class=\\\"ka-table-like billing-profile\\\">\\n          <thead>\\n            <tr>\\n              <th>Intestatario</th>\\n              <th>Recapiti</th>\\n              <th>Codici</th>\\n            </tr>\\n          </thead>\\n          <tbody>\\n            <tr>\\n              <td>\\n                <div>${order._billingProfileDetails.owner}</div>\\n                <small if.bind=\\\"order.billingProfileDetails.legalForm\\\">${order.billingProfileDetails.legalForm}</small>\\n              </td>\\n              <td>\\n                <div if.bind=\\\"order._billingProfileDetails.address\\\">${order._billingProfileDetails.address}</div>\\n                <div if.bind=\\\"order.billingProfileDetails.email\\\">\\n                  <small>Email: ${order.billingProfileDetails.email}</small>\\n                </div>\\n                <div if.bind=\\\"order.billingProfileDetails.cell\\\">\\n                  <small>Tel: ${order.billingProfileDetails.cell}</small>\\n                </div>\\n              </td>\\n              <td>\\n                <div repeat.for=\\\"item of order._billingProfileDetails.codes\\\">\\n                  <small>${item.text}</small>\\n                  <span class=\\\"mono\\\">${item.code}</span>\\n                </div>\\n              </td>\\n            </tr>\\n          </tbody>\\n        </table>\\n        <table class=\\\"ka-table-like billing-profile\\\">\\n          <thead>\\n            <tr>\\n              <th>Codice fiscale</th>\\n              <th>IBAN</th>\\n              <th>P.IVA</th>\\n            </tr>\\n          </thead>\\n          <tbody>\\n            <tr>\\n              <td>\\n                <span\\n                  class=\\\"mono copy-text with-icon\\\"\\n                  ka-tooltip=\\\"Copia codice fiscale\\\"\\n                  if.bind=\\\"order.billingProfileDetails.fiscalCode\\\" \\n                  click.delegate=\\\"copyText(order.billingProfileDetails.fiscalCode, 'Codice fiscale')\\\">${order.billingProfileDetails.fiscalCode}</span>\\n              </td>\\n              <td>\\n                <span\\n                  ka-tooltip=\\\"Copia codice iban\\\" \\n                  class=\\\"mono copy-text with-icon\\\"\\n                  if.bind=\\\"order.billingProfileDetails.iban\\\" \\n                  click.delegate=\\\"copyText(order.billingProfileDetails.iban, 'IBAN')\\\">${order.billingProfileDetails.iban}</span>\\n              </td>\\n              <td>\\n                <span \\n                  ka-tooltip=\\\"Copia partita IVA\\\" \\n                  class=\\\"mono copy-text with-icon\\\"\\n                  if.bind=\\\"order.billingProfileDetails.vatCode\\\"\\n                  click.delegate=\\\"copyText(order.billingProfileDetails.vatCode, 'P.IVA')\\\">${order.billingProfileDetails.vatCode}</span>\\n              </td>\\n            </tr>\\n          </tbody>\\n        </table>\\n      </template>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"inverted with-icon\\\" \\n      ka-tooltip=\\\"Scarica fattura\\\"\\n      click.delegate=\\\"downloadOrderInvoice(order)\\\" \\n      disabled.bind=\\\"!order.invoiceNumber\\\">\\n      <i class=\\\"far fa-file-download\\\"></i>\\n      <span>Scarica fattura</span>\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./payment-instructions.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div>\\n      <p>${order.status === 'A' ? 'Grazie per aver confermato l\\\\'acquisto.' : 'Puoi saldare l\\\\'insoluto solo tramite bonifico bancario'}<br>Per completare la procedura è necessario effettuare il versamento di ${instruction.totalGrossAmount}&euro; sul C/C intestato a: </p>\\n    </div>\\n    <ul>\\n      <li><strong>${instruction.payeeDisplayName}</strong></li>\\n      <li><strong>IBAN: </strong>${instruction.payeeIbanCode}</li>\\n      <li><strong>CAUSALE: </strong>${instruction.reason}</li>\\n      <li><strong>IMPORTO: </strong>${instruction.totalGrossAmount}&euro;</li>\\n      <li if.bind=\\\"order.status === 'I'\\\"><strong>ORDINI INSOLUTI: </strong>${instruction.unsolvedOrders}</li>\\n    </ul>\\n    <div class=\\\"tips\\\">\\n      <p if.bind=\\\"order.status === 'A'\\\">Il tuo ordine sarà confermato non appena riceveremo il bonifico. L'operazione potrebbe richiedere qualche giorno.</p>\\n      <p if.bind=\\\"instruction.customerCareEmail && order.status === 'A'\\\">Per accelerare i tempi di ricarica, inviare al seguente indirizzo email <strong><a href=\\\"mailto:${instruction.customerCareEmail}\\\">${instruction.customerCareEmail}</a></strong> la distinta di pagamento.</p>\\n      <p if.bind=\\\"order.status === 'I'\\\">La tua fattura sarà saldata ed il tuo deposito cauzionale sarà riaccreditato non appena riceveremo il bonifico. Dal momento in cui effettuerete il bonifico potranno trascorrere alcuni giorni prima che la fattura risulti saldata.<br>\\n        <strong class=\\\"important\\\"> prestare la massima attenzione alla causale del bonifico riportando esattamente quella indicata in questa comunicazione.</strong>\\n      </p>\\n    </div>\\n    <p if.bind=\\\"!instruction\\\">Non è possibile visualizzare l'avviso</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" class=\\\"me-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./settle-invoice.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingInit !== false\\\" class=\\\"dialog-loader m-0\\\"><span>Caricamento in corso</span></p>\\n    <template if.bind=\\\"pendingInit === false\\\">\\n      <p if.bind=\\\"error.load.found || error.confirm.found\\\" class=\\\"m-0 banner-message error\\\"><span>${error.load.msg || error.confirm.msg}</span></p>\\n      <template else>\\n        <div if.bind=\\\"settle.seen === 0\\\" innerhtml.bind=\\\"settle.html\\\"></div>\\n        <p else class=\\\"m-0 banner-message success\\\"><span>Presa visione effettuata!</span></p>\\n      </template>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      class=\\\"inverted secondary\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\" \\n      if.bind=\\\"settle.seen === 0\\\" \\n      click.delegate=\\\"confirmInvoice($event)\\\">Ho preso visione\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./invoices-list.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2>Ricerca fatture</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"doctype\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"date_from\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"date_to\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"number\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"payment_status\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"source\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"supplier_id\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"name\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"fiscal_code\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"invoices-list\\\">\\n      <h2 class=\\\"table-title\\\">\\n        <span>Elenco fatture</span>\\n        <div class=\\\"download-container\\\">\\n          <ka-button \\n            class=\\\"flat inverted with-icon me-0\\\" \\n            disabled.bind=\\\"tableInterface.data.length === 0\\\"\\n            click.delegate=\\\"mfFileDownload.exportFiles({ query: parseDataQuery(), path: 'reports/zip' }, $event)\\\">\\n            <i class=\\\"fal fa-receipt\\\"></i>\\n            <span>Scarica distinte</span>\\n          </ka-button>\\n          <ka-button \\n            class=\\\"flat inverted with-icon secondary\\\" \\n            disabled.bind=\\\"tableInterface.data.length === 0\\\"\\n            click.delegate=\\\"mfFileDownload.exportFiles({ query: parseDataQuery(), path: 'zip' }, $event)\\\">\\n            <i class=\\\"fal fa-file-download\\\"></i>\\n            <span>Scarica fatture</span>\\n          </ka-button>\\n        </div>\\n      </h2>\\n      <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\">\\n        </md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th>Tipo</th>\\n                <th>Fornitore</th>\\n                <th>Data</th>\\n                <th>Numero</th>\\n                <th>Condominio</th>\\n                <th>Codici importazione</th>\\n                <th>Utenze</th>\\n                <th>Stato pagamento</th>\\n                <th>Totale</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <template repeat.for=\\\"record of tableInterface.data\\\">\\n                <tr>\\n                  <td>\\n                    ${record.doctype_label}<br>\\n                    <small>ID ${record.invoice_id}</small>\\n                  </td>\\n                  <td>\\n                    ${record.supplier.name}<br>\\n                    <small if.bind=\\\"record.supplier.vat_code\\\">IVA ${record.supplier.vat_code}</small>\\n                    <small else>CF ${record.supplier.fiscal_code}</small>\\n                  </td>\\n                  <td>${record.document_date|dateFormat:'DD/MM/YYYY'}</td>\\n                  <td>${record.number}</td>\\n                  <td>\\n                    <strong>${record.name}</strong><br>\\n                    <small>${record.fiscal_code}</small>\\n                  </td>\\n                  <td>\\n                    <div repeat.for=\\\"codice of record.codici_importazione\\\">${codice}</div>\\n                  </td>\\n                  <td>\\n                    <div repeat.for=\\\"utenza of record.commodity\\\">${utenza}</div>\\n                  </td>\\n                  <td>\\n                    <span class=\\\"tag mt-2 ${record.payment_status_class}\\\"> ${record.payment_status_label}</span>\\n                    <small if.bind=\\\"record.settle\\\" class=\\\"d-block instruction mt-2\\\"\\n                      click.delegate=\\\"dialogSettleInvoice(record)\\\">${record.settle}</small>\\n                  </td>\\n                  <td>${record.total_amount}€</td>\\n                  <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                    <ka-button class=\\\"flat inverted m-0 ms-1\\\" show.bind=\\\"record.report\\\"\\n                      click.delegate=\\\"mfFileDownload.fileDownload({ documentType: 'report', fileId: record.document_id, fileName: record.report_filename }, $event)\\\"\\n                      ka-tooltip=\\\"Scarica distinta\\\">\\n                      <i class=\\\"fal fa-receipt p-0\\\"></i>\\n                    </ka-button>\\n                    <ka-button class=\\\"flat secondary inverted m-0 ms-1\\\" show.bind=\\\"record.invoice_filename\\\"\\n                      click.delegate=\\\"mfFileDownload.fileDownload({ documentType: 'document', fileId: record.document_id, fileName: record.invoice_filename }, $event)\\\"\\n                      ka-tooltip=\\\"Scarica fattura\\\">\\n                      <i class=\\\"fal fa-file-download\\\"></i>\\n                    </ka-button>\\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./orders.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca ordini</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div class=\\\"col-12 col-md-3 order-${isOperator ? '2' : '1'}\\\">\\n      <md-control \\n        name=\\\"context\\\" \\n        buttons=\\\"dropdown,clear\\\"\\n        readonly.bind=\\\"isOperator && !data.owner\\\"\\n        change.call=\\\"contextChanged()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-${isOperator ? '1' : '2'}\\\">\\n      <md-control \\n        name=\\\"owner\\\" \\n        buttons=\\\"dropdown,clear\\\"\\n        readonly.bind=\\\"!isOperator && data.context !== 'SUBUSERS'\\\"\\n        client.bind=\\\"api\\\"\\n        change.call=\\\"ownerChanged()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"orderNumber\\\" \\n        buttons=\\\"clear\\\"\\n        md-tooltip=\\\"Inserire i numeri d'ordine separati da virgola es: 563,972\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"paymentStatus\\\" \\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"paymentMethod\\\" \\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-4 d-flex order-3\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control \\n          name=\\\"createdAtGte\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100 order-3\\\">\\n        <md-control \\n          name=\\\"createdAtLte\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n  <!-- Table interface -->\\n  <h2 class=\\\"d-flex justify-content-between\\\">\\n    <span>Elenco ordini</span>\\n    <span class=\\\"ms-auto text-nowrap\\\" style=\\\"margin-right: 2rem;\\\" if.bind=\\\"totalGrossAmount\\\">\\n      <strong>Totale + iva: </strong>\\n      <span style=\\\"color: black;\\\">${totalGrossAmount}&euro;</span>\\n    </span>\\n  </h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data di creazione</th>\\n            <th>Numero ordine</th>\\n            <th>Intestatario</th>\\n            <th>Pagamento</th>\\n            <th>Totale da pagare</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"order of tableInterface.data\\\">\\n            <tr>\\n              <td>${order.createdAt|dateFormat}</td>\\n              <td>\\n                <div class=\\\"order-number\\\" click.delegate=\\\"copyText(order.id, 'numero ordine')\\\">\\n                  <span ka-tooltip=\\\"Copia numero ordine\\\">${order.id}</span>\\n                </div>\\n              </td>\\n              <td>${order.userDisplayName}</td>\\n              <td>\\n                ${paymentMethods.get(order.paymentMethod)}\\n                <!-- <small class=\\\"invoice\\\" if.bind=\\\"order.invoiceNumber\\\">\\n                  <span class=\\\"text-color\\\">Fattura: </span>\\n                  <span>${order.invoiceNumber}</span>\\n                </small> -->\\n              </td>\\n              <td>${order.grossAmount}€<br>\\n                <span class=\\\"tag mt-2 ${orderStatuses[order.status].class} with-icon\\\"> ${orderStatuses[order.status].text}</span>\\n                <small if.bind=\\\"(order.status === 'A' && order.paymentMethod === 'BANK-TRANSFER') || order.status === 'I'\\\" class=\\\"d-block instruction mt-2\\\" click.delegate=\\\"dialogPaymentInstructions(order)\\\">Salda con bonifico</small>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button \\n                  class=\\\"flat inverted m-0\\\"\\n                  click.delegate=\\\"dialogOrderDetail(order)\\\"\\n                  ka-tooltip=\\\"Apri dettaglio ordine\\\">Dettaglio\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Nessun ordine presente</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <h2>Benvenuto in MultiDialogo</h2>\\n   <template if.bind=\\\"sendEnabled\\\">\\n      <h3>Spedizioni</h3>\\n      <p>Per creare una nuova spedizione, <a href=\\\"\\\" click.delegate=\\\"navigation.openSenderui()\\\">clicca qui</a>!</p>\\n   </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./activation.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <div class=\\\"cards-wrapper\\\">\\n    <div class=\\\"information-band\\\">\\n      <div class=\\\"title me-3\\\">\\n        <h2>Attivazione</h2>\\n        <p>Per ricevere assistenza sull’attivazione della Fidelity Card scrivi a <a href=\\\"mailto:fidelity@multidialogo.it\\\">fidelity@multidialogo.it</a></p>\\n      </div>\\n      <div class=\\\"messages\\\">\\n        <p if.bind=\\\"userPromotions.length\\\" class=\\\"banner-message alert m-0\\\">\\n          <span>\\n            <template repeat.for=\\\"promotion of userPromotions\\\">${$index === 0 ? 'A' : 'a'}ttiva la\\n              <strong class=\\\"card-title\\\">Fidelity Card ${promotion.card.title}</strong>\\n              con la tua <strong class=\\\"promotion-title\\\">promo ${promotion.promotionDescription}</strong>${userPromotions.length > 1 && ($index+1) !== userPromotions.length ? ' o' : ''}\\n            </template>\\n          </span>\\n        </p>\\n      </div>\\n    </div>\\n    <div class=\\\"cards-${fidelityCards.length}\\\">\\n      <template repeat.for=\\\"card of fidelityCards\\\">\\n        <compose containerless view-model=\\\"${templateCard}\\\" model.bind=\\\"{ parent: $parent, card }\\\"></compose>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card-activation.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"[undefined,true].includes(isPendingInit)\\\" class=\\\"dialog-loader m-4\\\">\\n      <span>Caricamento in corso</span>\\n    </p>\\n    <p if.bind=\\\"isPendingInit === false && !disclosure\\\" class=\\\"banner-message error m-4\\\">\\n      <span>Errore in fase di caricamento</span>\\n    </p>\\n    <template if.bind=\\\"isPendingInit === false && disclosure\\\">\\n      <p class=\\\"banner-message highlight m-4 mb-0\\\">\\n        <span><strong>Leggi con attenzione l'informativa</strong> e clicca su <strong>Accetta</strong> per attivare la <strong>Fidelity Card ${card.title}</strong></span>\\n      </p>\\n      <div class=\\\"disclosure\\\" innerhtml.bind=\\\"disclosure.contentHtml\\\"></div>\\n      <div class=\\\"acknowledgement\\\">\\n        <h4>Dichiarazione obbligatoria di presa visione</h4>\\n        <ka-control name=\\\"acknowledgement\\\" change.trigger=\\\"changeAcknowledgement()\\\"></ka-control>\\n      </div>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <md-table-progressbar if.bind=\\\"isAcknowledgementPending\\\"></md-table-progressbar>\\n    <ka-button \\n      class=\\\"flat inverted secondary me-0\\\"\\n      click.delegate=\\\"controller.cancel()\\\"\\n      disabled.bind=\\\"isPendingActivation === true\\\">Chiudi\\n    </ka-button>\\n    <ka-button\\n      click.delegate=\\\"acceptDisclosure($event)\\\"\\n      disabled.bind=\\\"!disclosure || !isActivable || isAcknowledgementPending\\\">Accetta\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card-renewal-management.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <h3 class=\\\"p-0 m-0\\\">${card.autoRenewEnabled === 'YES' ? 'Disattivazione' : 'Attivazione'} del rinnovo automatico.</h3>\\n    <template if.bind=\\\"card.autoRenewEnabled === 'YES'\\\">\\n      <p>La tua Fidelity Card resterà attiva fino al <strong>${card.expireAt|dateFormat:'DD/MM/YY'}.</strong></p>\\n      <p>Disattivando il rinnovo automatico della tua Fidelity Card sarà disattivato anche il rinnovo automatico di ogni servizio in abbonamento attivo che dia la possibilità di maturare punti Multicoin.</p>\\n      <p>Potrai verificare le scadenze dei tuoi servizi attivi dalla sezione <a href=\\\"/servizi/abbonamenti?ka-tab-main=attivi\\\">servizi attivi</a>.</p>\\n      <p>Puoi riattivare il rinnovo automatico in qualsiasi momento prima della scadenza.</p>\\n    </template>\\n    <template else>\\n      <p>\\n        Perfetto! Attivando il rinnovo automatico continuerai a collezionare i tuoi punti Multicoin.\\n      </p>\\n    </template>\\n    <p>Sei sicuro di voler <strong>${card.autoRenewEnabled === 'YES' ? 'disattivare' : 'attivare'}</strong> il rinnovo automatico della <strong>Fidelity Card ${card.title}?</strong></p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      click.delegate=\\\"controller.cancel()\\\"\\n      class=\\\"secondary flat inverted me-0\\\">Chiudi\\n    </ka-button>\\n    <ka-button\\n      class=\\\"flat\\\"\\n      click.delegate=\\\"confirm($event)\\\"\\n      disabled.bind=\\\"!resource.data.features && !api.hasRole('MODIFY_USER_FIDELITY_CARD_AUTO_RENEW')\\\">Conferma\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./card.sass\\\"></require>\\n  <require from=\\\"../activation.sass\\\"></require>\\n\\n  <div class=\\\"card\\\">\\n    <div class=\\\"card-header\\\">\\n      <div class=\\\"card-title-wrapper\\\">\\n        <div class=\\\"card-title\\\">\\n          <h3>fidelity card <span class=\\\"highlighted\\\">${card.title}</span></h3>\\n          <h4>${card.subtitle}</h4>\\n        </div>\\n      </div>\\n      <div \\n        if.bind=\\\"card.statusLabel\\\" \\n        class=\\\"new-tag ${ card.statusClass }\\\" \\n        ka-tooltip=\\\"value.bind: card.statusDescription\\\">${card.statusLabel}\\n      </div>\\n    </div>\\n    \\n    <div class=\\\"card-body\\\">\\n      <p class=\\\"card-description-html\\\" innerHtml.bind=\\\"card.descriptionHtml\\\"></p>\\n      <div class=\\\"card-content\\\">\\n        <compose containerless view-model=\\\"${ templateFidelityCard }\\\" model.bind=\\\"{ card }\\\"></compose>\\n        <div class=\\\"card-section\\\">\\n          <ul class=\\\"card-benefits\\\">\\n            <template repeat.for=\\\"item of card.marketingHints\\\">\\n              <li class=\\\"${item.type}\\\" innerhtml.bind=\\\"item.html\\\"></li>\\n            </template>\\n          </ul>\\n          <div class=\\\"card-actions\\\">\\n            <p class=\\\"activation-info me-3\\\">\\n              <span\\n                class=\\\"new-tag card-activable-${card.activable}\\\"\\n                ka-tooltip=\\\"value.bind: card.statusDescription\\\"\\n                if.bind=\\\"!card.statusLabel\\\">${card.activable === 'YES' ? 'Attivabile' : 'Non attivabile'}\\n              </span>\\n              <span\\n                class=\\\"new-tag\\\"\\n                ka-tooltip=\\\"value.bind: card.statusDescription\\\"\\n                if.bind=\\\"card.status === 'GRACE-PERIOD'\\\">Rinnovabile fino al ${card.gracePeriodEndAt|dateFormat:'DD/MM/YY'}\\n              </span>\\n              <span\\n                class=\\\"new-tag\\\"\\n                if.bind=\\\"card.status === 'ACTIVE'\\\"\\n                ka-tooltip=\\\"La Fidelity Card scadrà il ${card.expireAt|dateFormat:'DD/MM/YY'}\\\">Scade il ${card.expireAt|dateFormat:'DD/MM/YY'}\\n              </span>\\n              <span\\n                class=\\\"new-tag self-renewal ${card.autoRenewEnabled === 'YES' ? 'success' : 'error'}\\\"\\n                if.bind=\\\"card.status === 'ACTIVE' && card.autoRenewEnabled\\\"\\n                ka-tooltip=\\\"value.bind: setSelfRenewTooltip(card)\\\">Rinnovo\\n              </span>\\n            </p>\\n            <div class=\\\"buttons\\\">\\n              <ka-button\\n                class=\\\"secondary m-0\\\"\\n                if.bind=\\\"card.status === 'ACTIVE'\\\"\\n                click.delegate=\\\"dialogCardManagement($event, card)\\\"\\n                disabled.bind=\\\"card.autoRenewable === 'NO' || !api.hasRole('MODIFY_USER_FIDELITY_CARD_AUTO_RENEW')\\\">Gestisci rinnovo\\n              </ka-button>\\n              <ka-button\\n                class=\\\"m-0\\\"\\n                if.bind=\\\"!['ACTIVE','GRACE-PERIOD'].includes(card.status)\\\"\\n                ka-tooltip=\\\"value.bind: setActivationButtonMessage(card, 'tooltip')\\\"\\n                disabled.bind=\\\"!api.hasRole('CREATE_USER_FIDELITY_CARD_ACTIVATION') || card.activable === 'NO'\\\"\\n                click.delegate=\\\"dialogCardActivation($event, card)\\\">${setActivationButtonMessage(card)}\\n              </ka-button>\\n              <ka-button\\n                class=\\\"m-0\\\"\\n                if.bind=\\\"card.status === 'GRACE-PERIOD'\\\"\\n                ka-tooltip=\\\"value.bind: setActivationButtonMessage(card, 'tooltip')\\\"\\n                disabled.bind=\\\"!api.hasRole('CREATE_USER_FIDELITY_CARD_ACTIVATION')\\\"\\n                click.delegate=\\\"fidelityCardRenew($event, card)\\\">${setActivationButtonMessage(card)}\\n              </ka-button>\\n              <ka-button \\n                class=\\\"flat inverted secondary icon m-0 ms-2\\\"\\n                click.delegate=\\\"disclosureDownload($event, card)\\\"\\n                ka-tooltip=\\\"value.bind: 'Scarica l\\\\'informativa della Fidelity Card '+card.title\\\">\\n                <i class=\\\"far fa-file-download\\\"></i>\\n              </ka-button>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card.sass\\\"></require>\\n\\n  <div class=\\\"fidelity-card ${card.code}\\\">\\n    <div class=\\\"fidelity-card-header\\\">\\n      <h5>${card.title}</h5>\\n      <p>${card.subtitle}</p>\\n    </div>\\n    <div class=\\\"fidelity-card-footer\\\">\\n      <div class=\\\"fidelity-card-price\\\">\\n        <h6>Prezzo</h6>\\n        <p>\\n          <span class=\\\"price\\\">${card.price}€/</span>${card.price === 0 ? 'Gratis' : 'Anno'}\\n          <span if.bind=\\\"card.referencePrice\\\" class=\\\"reference-price\\\">Invece di <span class=\\\"price\\\">${card.referencePrice}€</span></span>\\n        </p>\\n      </div>\\n      <svg version=\\\"1.1\\\" viewBox=\\\"0 0 369.01 352.19\\\">\\n        <circle cx=\\\"145.95\\\" cy=\\\"146.85\\\" r=\\\"45.65\\\"/>\\n        <path d=\\\"M145.95,289.33C67.39,289.33,3.47,225.42,3.47,146.85S67.39,4.36,145.95,4.36s142.48,63.92,142.48,142.48-63.92,142.48-142.48,142.48ZM145.95,53.36c-51.55,0-93.48,41.94-93.48,93.48s41.94,93.48,93.48,93.48,93.48-41.94,93.48-93.48-41.94-93.48-93.48-93.48Z\\\"/>\\n        <g>\\n          <path d=\\\"M146.14,146.64l73.86,202.93,138.81-165.44-212.66-37.49ZM270.93,216.13l-34.69,41.34-18.46-50.72,53.15,9.37Z\\\"/>\\n        </g> \\n      </svg>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./help-services-agreement.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"service\\\" buttons=\\\"dropdown\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"secondary inverted flat\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button disabled.bind=\\\"!resource.data.service\\\" class=\\\"inverted flat ms-0\\\" click.delegate=\\\"openServiceAgreement()\\\">Condizioni servizio\\n      ${resource.data.service}</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./help.sass\\\"></require>\\n  <div class=\\\"row\\\">\\n    <!-- Agreements -->    \\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-handshake\\\"></i>\\n        <p>\\n          <strong> Quali sono le condizioni dei nostri servizi?</strong><br>\\n          Visualizza termini e condizioni contrattuali.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"dialogHelpServicesAgreement()\\\" \\n            class=\\\"inverted flat with-icon m-0 mb-2\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n          <p>\\n            <small class=\\\"disclaimer\\\">\\n              <a href=\\\"https://termsofservice.multidialogo.it/multidialogo/disclaimer\\\" target=\\\"_blank\\\">Disclaimer copyright</a>\\n            </small>\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Privacy policy -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-shield\\\"></i>\\n        <p>\\n          <strong>Quali sono le nostre politiche sulla privacy?</strong><br>\\n          Visualizza la nostra informativa privacy.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.privacy)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Service level agreement -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-check\\\"></i>\\n        <p>\\n          <strong>Quali sono le specifiche di qualità dei servizi?</strong><br>\\n          Visualizza la nostra Service Level Agreement (SLA).\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.sla)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Knowledge -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-books\\\"></i>\\n        <p>\\n          <strong>Hai un problema che non sai come risolvere?</strong><br>\\n          Consulta il nostro portale online di assistenza e risolvi rapidamente.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.knowledge)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-book\\\"></i>\\n            <span>Portale di assistenza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Help mail -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-mailbox\\\"></i>\\n        <p>\\n          <strong>Vuoi fare una segnalazione alla nostra assistenza?</strong><br>\\n          Contattaci via email: <span>assistenza@multidialogo.it</span>\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.mailTo)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-envelope\\\"></i>\\n            <span>Contattaci</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Help code -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-headset\\\"></i>\\n        <p>\\n          <strong>Vuoi richiedere un codice assistenza?</strong><br>\\n          <template if.bind=\\\"!supportTickets.data\\\">\\n            <span>Genera un codice per ricevere supporto.</span>\\n          </template>\\n          <template if.bind=\\\"supportTickets.data\\\">\\n            <span class=\\\"code\\\">Codice assistenza:<strong class=\\\"primary-text\\\"> ${supportTickets.data.id}</strong> (scade il ${supportTickets.data.expireAt | dateFormat}).<br>\\n              <small>Comunica questo codice al tuo assistente entro la scadenza per ricevere il supporto.</small>\\n            </span>\\n          </template>\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button\\n            click.delegate=\\\"supportTickets.request()\\\" \\n            class=\\\"inverted flat with-icon m-0 mb-2\\\">\\n            <i class=\\\"fal fa-receipt\\\"></i>\\n            <span>Genera codice assistenza</span>\\n          </ka-button>\\n          <p>\\n            <small class=\\\"software\\\">\\n              <a href=\\\"https://anydesk.com/it/downloads\\\" target=\\\"_blank\\\">Scarica software per collegamento remoto</a>\\n            </small>\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <!-- About us -->\\n  <div class=\\\"col-12\\\">\\n    <div class=\\\"d-flex flex-row justify-content-center mx-auto\\\">\\n      <p>\\n        <strong>MultiDialogo Srl</strong>\\n        <small class=\\\"address ms-2\\\" ka-tooltip=\\\"Visualizza la nostra posizione su Google Maps\\\">\\n          <a href=\\\"http://www.google.it/maps/place/Multidialogo/@44.8112768,10.278883,17z/data=!3m1!4b1!4m5!3m4!1s0x47806b28eb1d5161:0xc53f0f09bd064a4e!8m2!3d44.8112768!4d10.2810717\\\" target=\\\"_blank\\\">\\n            <span>Indirizzo: via Emilia Ovest, 129/2. 43126 Parma</span>\\n          </a>\\n        </small>\\n        <small class=\\\"iva ms-1\\\">\\n          P.IVA: 02149430346\\n        </small> \\n        <small class=\\\"telephone ms-1\\\">\\n          Tel: +39 0521247791\\n        </small>\\n        <small class=\\\"email ms-1\\\">\\n          Email: assistenza@multidialogo.it\\n        </small>\\n      </p>\\n    </div>\\n  </div> \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../_agreement/agreement.sass\\\"></require>\\n\\n  <p if.bind=\\\"!agreement.view\\\">Grazie per aver accettato le nostre condizioni di servizo.</p>\\n  <ka-button if.bind=\\\"redirect\\\" href=\\\"${redirect}\\\">Procedi</ka-button>\\n\\n  <!-- Agreement -->\\n  <div if.bind=\\\"agreement.view\\\" style=\\\"height: 100%; overflow-y: auto\\\">\\n    <h2 if.bind=\\\"agreement.back\\\">\\n      ${agreement.view.label}\\n      <ka-button click.delegate=\\\"cancel()\\\" class=\\\"flat inverted\\\"><i class=\\\"far fa-undo me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Torna indietro</ka-button>\\n    </h2>\\n    <compose containerless view-model=\\\"${agreement.route}\\\" model.bind=\\\"{ agreement }\\\"></compose>\\n\\n    <!-- Clauses -->\\n    <div if.bind=\\\"!agreement.back && agreement.view.clauses && agreement.view.clauses.length\\\" class=\\\"clauses\\\">\\n      <h2 class=\\\"m-0 mb-3\\\">Clausole</h2>\\n      <div repeat.for=\\\"clause of agreement.view.clauses\\\" class=\\\"clause\\\">\\n        <ka-control schema.bind=\\\"{ control: 'check', description: clause.label, readonly: params && params.id === 'last' ? true : false }\\\" value.bind=\\\"clause.accepted\\\" change.trigger=\\\"areAllClausesAccepted()\\\" class=\\\"p-0 m-0\\\"></ka-control>\\n        <p>${clause.content}</p>\\n      </div>\\n    </div>\\n\\n    <div if.bind=\\\"!params.id\\\" class=\\\"d-flex justify-content-center mt-2\\\">\\n      <ka-button click.delegate=\\\"accept($event)\\\" disabled.bind=\\\"!allClausesAccepted\\\">Accetta</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./email.sass\\\"></require>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2 class=\\\"preferences\\\">\\n        <p class=\\\"m-0 text-primary\\\" style=\\\"font-size: 1.6rem\\\">Preferenze Email/Pec</p>\\n        <div\\n          if.bind=\\\"multinvioDigitalSelfUsages\\\" \\n          class=\\\"multinvio-digital-self-usages ${isMultinvioDigitalSelfUsagesEnded ? 'finished' : ''}\\\">\\n          <p ka-tooltip=\\\"Il tuo abbonamento gratuito Spedizioni Digitali limita gli invii di Email e PEC per lo Studio\\\">\\n            <span class=\\\"title\\\">Invii per lo studio<span> Esauriti</span>:</span>\\n            <span class=\\\"content\\\"><span class=\\\"me-2\\\">utilizzati</span>${multinvioDigitalSelfUsages.usage}<span class=\\\"mx-2\\\">su</span>${multinvioDigitalSelfUsages.limit}<span class=\\\"ms-2\\\">disponibili.</span></span>\\n          </p>\\n        </div>\\n      </h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n\\n      <md-resource \\n        view-model.ref=\\\"preferences.resource\\\" \\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\" \\n        schema.bind=\\\"preferences.schema\\\" \\n        data.bind=\\\"preferences.data\\\">\\n\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Posta elettronica</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"displayName\\\" md-tooltip=\\\"Il nome che viene visualizzato dal destinatario come mittente email\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"displayAddress\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <h3 class=\\\"tooltip d-inline-block\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding.notCertified\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-button if.bind=\\\"preferences.isOverride && !pec.selected\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n          </div>\\n          <div ka-flex>\\n            <h3>Posta elettronica certificata</h3>\\n            <template if.bind=\\\"!pec.selected\\\">\\n              <table class=\\\"ka-table-like pec\\\" if.bind=\\\"preferences.data.certifiedAddresses.length\\\">\\n                <tbody>\\n                  <tr repeat.for=\\\"item of preferences.data.certifiedAddresses\\\">\\n                    <td>${item.label}</td>\\n                    <td>${item.address}</td>\\n                    <td class=\\\"ka-tr-tools\\\">\\n                      <button \\n                        disabled.bind=\\\"preferences.hasInheritedPEC\\\"\\n                        show.bind=\\\"preferences.isOverride\\\" \\n                        class=\\\"ka-table-button primary\\\" \\n                        ka-tooltip=\\\"Elimina\\\"\\n                        click.delegate=\\\"pec.delete(item)\\\">\\n                        <i class=\\\"material-icons\\\">delete</i>\\n                      </button>\\n                      <button \\n                        disabled.bind=\\\"preferences.hasInheritedPEC\\\"\\n                        show.bind=\\\"preferences.isOverride\\\" \\n                        class=\\\"ka-table-button primary\\\" \\n                        ka-tooltip=\\\"Modifica\\\"\\n                        click.delegate=\\\"pec.edit(item)\\\">\\n                        <i class=\\\"material-icons\\\">edit</i>\\n                      </button>\\n                    </td>\\n                  </tr>\\n                </tbody>\\n              </table>\\n              <ka-button class=\\\"inverted\\\" \\n                show.bind=\\\"!preferences.data.certifiedAddresses.length || preferences.hasInheritedPEC\\\"\\n                if.bind=\\\"preferences.isOverride\\\" \\n                click.delegate=\\\"pec.add()\\\">\\n                Aggiungi PEC\\n              </ka-button><br>\\n              <h3 class=\\\"tooltip d-inline-block\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n              <ka-flex-row>\\n                <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding.certified\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              </ka-flex-row>\\n            </template>\\n            <md-resource \\n              if.bind=\\\"preferences.isOverride && pec.selected\\\" \\n              view-model.ref=\\\"pec.resource\\\" \\n              with.bind=\\\"pec.resource\\\" \\n              endpoint.bind=\\\"pec.endpoint\\\" \\n              schema.bind=\\\"pec.schema\\\" \\n              data.bind=\\\"pec.data\\\">\\n              <ka-flex-col>\\n                <md-input name=\\\"label\\\"></md-input>\\n                <md-input name=\\\"address\\\"></md-input>\\n                <ka-flex-row>\\n                  <md-input ka-flex name=\\\"username\\\"></md-input>\\n                  <md-input if.bind=\\\"pec.data.uuid\\\" ka-flex name=\\\"password\\\" autocomplete=\\\"new-password\\\" placeholder=\\\"********\\\"></md-input>\\n                  <md-input if.bind=\\\"!pec.data.uuid\\\" ka-flex name=\\\"password\\\" autocomplete=\\\"new-password\\\"></md-input>\\n                </ka-flex-row>\\n                <ka-flex-row>\\n                  <md-input ka-flex name=\\\"smtpServer\\\"></md-input>\\n                  <md-input ka-flex name=\\\"smtpPort\\\"></md-input>\\n                </ka-flex-row>\\n              </ka-flex-col>\\n              <ka-button class=\\\"\\\" click.delegate=\\\"pec.save($event)\\\">Salva modifiche</ka-button>\\n              <ka-button class=\\\"inverted\\\" click.delegate=\\\"pec.reload()\\\">Annulla</ka-button>\\n            </md-resource>\\n          </div>\\n        </ka-flex-row>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Impostazioni</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"cover\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex class=\\\"col-border-left\\\">\\n            <h3>Dati mittente Fax</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"name\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <ka-flex-row>\\n              <md-input ka-flex=\\\"30\\\" name=\\\"prefix\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"number\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n\\n\\n\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    .redbox { border: 1px solid #ed5a2366; padding: 1rem; background: #ed5a2322; }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    ka-input.compact { margin: 0; }\\n    ka-flex-col > p { margin-left: 0; margin-right: 0; }\\n    ka-flex-row.list + ka-flex-row.list { border-top: 1px solid #e0e0e0; padding-top: 1rem; }\\n    ka-flex-row > ka-input + ka-button + ka-button, ka-flex-row > ka-input + ka-button + ka-button + ka-button { margin-top: 1.5rem; margin-left: 0; }\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"pagamenti\\\" label=\\\"Pagamenti\\\">\\n      <h2>Pagamenti</h2>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n      <ka-flex-row class=\\\"no-padding\\\">\\n\\n        <div ka-flex>\\n          <h3>Gestione credito</h3>\\n          <ka-flex-col>\\n            <md-input name=\\\"debtGuarantorDisplayName\\\" show.bind=\\\"!preferences.writeEnabled && preferences.data.debtGuarantorDisplayName\\\" readonly=\\\"true\\\"></md-input>\\n            <md-input class=\\\"no-add\\\" name=\\\"debtGuarantorUuid\\\" client.bind=\\\"api.client\\\" if.bind=\\\"preferences.writeEnabled\\\"></md-input>\\n            <md-input\\n              show.bind=\\\"false\\\"\\n              name=\\\"enableCreditPartialUsage\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              md-tooltip=\\\"L'eventuale credito residuo presente ${mdt.parsers.contextualize(api.user, 'sull\\\\'account')} per il quale si sta spedendo, sarà conteggiato per calcolare il corretto importo da pagare. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n            <md-input\\n              show.bind=\\\"false\\\"\\n              name=\\\"enableToPayQueueDutiesForSubuserAtCheckout\\\"\\n              label=\\\"Utilizzare il credito del mio ${mdt.parsers.contextualize(api.user, 'account')} per il pagamento delle spedizioni dei miei ${mdt.parsers.contextualize(api.user, 'utenti')}\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              md-tooltip=\\\"Potrai decidere di utilizzare totalmente o parzialmente il credito servizio o affrancatura ${mdt.parsers.contextualize(api.user, 'dell\\\\'account')}, per pagare una spedizione che appartiene ad un tuo ${mdt.parsers.contextualize(api.user, 'utente')}. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n            <md-input\\n              name=\\\"masterUserCreditSharing\\\"\\n              label=\\\"Sblocco automatico delle spedizioni dei miei ${mdt.parsers.contextualize(api.user, 'utenti')} con il credito del mio ${mdt.parsers.contextualize(api.user, 'account')}\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              value.bind=\\\"preferences.checks.masterUserCreditSharing\\\"\\n              md-tooltip=\\\"Tutte le spedizioni appartenenti ai propri ${mdt.parsers.contextualize(api.user, 'utenti')} verranno pagate automaticamente, con il credito ${mdt.parsers.contextualize(api.user, 'dell\\\\'account')}, solo se sufficiente a coprire la spesa. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n          </ka-flex-col>\\n          <h3>Fatturazione elettronica</h3>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"sdi.code\\\" label=\\\"Codice univoco SdI per il mio ${mdt.parsers.contextualize(api.user, 'account')}\\\"></md-input>\\n            <md-input ka-flex name=\\\"sdi.genericSubuserCode\\\" label=\\\"Codice univoco SdI per i miei ${mdt.parsers.contextualize(api.user, 'utenti')}\\\"></md-input>\\n            <md-input class=\\\"compact\\\" name=\\\"registerBillsAsManagementMovement\\\"></md-input>\\n          </ka-flex-row>\\n          <ka-button click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n        </div>\\n\\n        <div ka-flex class=\\\"col-border-left\\\">\\n\\n          <h3>Pagamenti con carta di credito</h3>\\n          <div if.bind=\\\"mobileNumbers.optedIn.length\\\">\\n            <p class=\\\"greenbox\\\">Pagamento con carta di credito abilitato.</p>\\n            <p></p>\\n          </div>\\n          <div else>\\n            <p class=\\\"redbox\\\">Pagamento con carta di credito non abilitato.</p>\\n          </div>\\n          <div if.bind=\\\"!mobileNumbers.optedIn.length\\\">\\n            <p>Per richiedere l'abilitazione dei pagamenti con carta di credito, devi avere almeno un numero di cellulare abilitato per confermarne il personale ed esclusivo utilizzo nei nostri sistemi: <a href=\\\"impostazioni/generali?ka-tab-t=cellulari\\\">registra cellulare qui!</a></p>\\n          </div>\\n\\n        </div>\\n      </ka-flex-row>\\n    </ka-tab>\\n    <ka-tab id=\\\"cellulari\\\" label=\\\"Cellulari certificati\\\">\\n      <h2>Numeri di cellulare certificati</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"null\\\"></md-prefsel>\\n      \\n      <md-resource\\n        style=\\\"display: block; max-width: 700px\\\"\\n        view-model.ref=\\\"mobileNumbers.resource\\\"\\n        with.bind=\\\"mobileNumbers.resource\\\"\\n        endpoint.bind=\\\"mobileNumbers.endpoint\\\"\\n        schema.bind=\\\"mobileNumbers.schema\\\"\\n        data.bind=\\\"mobileNumbers.data\\\">\\n\\n        <div if.bind=\\\"!mobileNumbers.optedIn.length && !mobileNumbers.optedOut.length\\\">\\n          <p>Per richiedere l'abilitazione inserisci il numero di cellulare. Riceverai un SMS contenente un codice alfanumerico di sicurezza da inserire nell'apposito campo per confermare l'abilitazione.</p>\\n        </div>\\n        <div if.bind=\\\"mobileNumbers.optedOut.length\\\">\\n          <p>I seguenti numeri di telefono sono in attesa di verifica tramite codice ricevuto via SMS:</p>\\n          <ka-flex-row class=\\\"list\\\" repeat.for=\\\"record of mobileNumbers.optedOut\\\">\\n            <ka-input style=\\\"width: 120px\\\" config.bind=\\\"{control: 'text', label: 'Numero di cellulare', readonly: true}\\\" value.bind=\\\"record.number\\\"></ka-input>\\n            <ka-input ka-flex config.bind=\\\"{control: 'text', label: 'Codice ricevuto tramite SMS'}\\\" value.bind=\\\"record.confirmationCode\\\"></ka-input>\\n            <ka-button click.delegate=\\\"mobileNumbers.confirm($event, record)\\\">Verifica</ka-button>\\n            <ka-button class=\\\"inverted\\\" click.delegate=\\\"mobileNumbers.resend($event, record)\\\">Rinvia codice SMS</ka-button>\\n            <ka-button click.delegate=\\\"mobileNumbers.delete($event, record)\\\">Elimina</ka-button>\\n          </ka-flex-row>\\n        </div>\\n        <div if.bind=\\\"mobileNumbers.optedIn.length\\\">\\n          <p>I seguenti numeri di telefono risultano verificati:</p>\\n          <ka-flex-row class=\\\"list\\\" repeat.for=\\\"record of mobileNumbers.optedIn\\\">\\n            <ka-input style=\\\"width: 120px\\\" config.bind=\\\"{control: 'text', label: 'Numero di cellulare', readonly: true}\\\" value.bind=\\\"record.number\\\"></ka-input>\\n            <ka-button class=\\\"inverted\\\" click.delegate=\\\"mobileNumbers.revoke($event, record)\\\">Revoca abilitazione</ka-button>\\n          </ka-flex-row>\\n        </div>\\n        <p>Inserisci un nuovo numero di cellulare:</p>\\n        <ka-flex-row>\\n          <md-input style=\\\"width: 50px\\\" class=\\\"no-clear\\\" name=\\\"internationalPrefix\\\"></md-input>\\n          <md-input ka-flex name=\\\"number\\\"></md-input>\\n          <ka-button click.delegate=\\\"mobileNumbers.request($event)\\\">Richiedo abilitazione</ka-button>\\n        </ka-flex-row>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .card {\\n      position: relative;\\n      display: inline-block;\\n      width: 20%;\\n      height: auto;\\n    }\\n    .card:before {\\n      content: \\\" \\\";\\n      position: absolute;\\n      left: 50%;\\n      top: 50%;\\n      bottom: 5px;\\n      width: 1px;\\n      background-color: #c0c0c0;\\n    }\\n\\n    .card i {\\n      display: block;\\n      position: absolute;\\n      top: 50%;\\n      left: 50%;\\n      border-radius: 50%;\\n      width: 10vw;\\n      height: 10vw;\\n      font-size: 5vw;\\n      line-height: 10vw;\\n      text-align: center;\\n      color: #fff;\\n      background-color: #e9e9e9;\\n      transform: translate(-50%, -50%);\\n      text-shadow: 0 0 3vw #c0c0c0, 0 0 1px #000;\\n      box-shadow: inset 0 0 0 1px #c0c0c0;\\n      transition: all 0.3s;\\n    }\\n    .card h3 {\\n      position: absolute;\\n      bottom: 0;\\n      left: 50%;\\n      margin: 0;\\n      border-radius: 10px;\\n      padding: 10px;\\n      font-size: 14px;\\n      font-weight: bold;\\n      text-align: center;\\n      text-transform: uppercase;\\n      background-color: #fff;\\n      white-space: nowrap;\\n      box-shadow: inset 0 0 0 1px #c0c0c0;\\n      transform: translateX(-50%);\\n    }\\n    .card a {\\n      position: relative;\\n      display: block;\\n      padding-top: 100%;\\n      width: 100%;\\n      z-index: 2;\\n    }\\n\\n    .card:hover i {\\n      color: #ed5a23;\\n      background-color: #fff;\\n      text-shadow: none;\\n      transform: translate(-50%, -50%) scale(1.1);\\n    }\\n  </style>\\n  <div repeat.for=\\\"module of modules\\\" class=\\\"card\\\">\\n    <i class=\\\"${module.icon || 'fal fa-shield-check'}\\\"></i>\\n    <h3>${module.label}</h3>\\n    <a href=\\\"${module.href}\\\"></a>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    table tbody td small { line-height: 1rem; }\\n    #loghi ka-table th .ka-sort-button { display: none; }\\n    ka-table .ka-wrapper > table tbody tr small.rollover {\\n      opacity: 0;\\n      transition: opacity 0.5s;\\n    }\\n    ka-table .ka-wrapper > table tbody tr:hover small.rollover {\\n      opacity: 1;\\n    }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n    #preferenze .ka-input-checkbox-description > i { vertical-align: text-bottom; } /* Sovrascrive allineamento md-tooltip icon */\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Impostazioni</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"envelope.packagePresentation\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"preferences.checks.recipientList\\\" label=\\\"Aggiungi foglio elenco destinatari\\\" readonly.bind=\\\"!preferences.isOverride\\\" md-tooltip=\\\"Verrà aggiunto all’interno del pacco il foglio per far firmare l’avvenuta consegna ai destinatari\\\"></ka-input>\\n              <md-input show.bind=\\\"preferences.checks.recipientList\\\" name=\\\"envelope.recipientList.subject\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <h3 class=\\\"tooltip d-inline-block\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex class=\\\"col-border-left\\\">\\n            <h3>Dati destinatario</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"firstname\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"lastname\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"companyName\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"addressee\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-col>\\n              <md-input name=\\\"streetAddress\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"zipCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl3\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl2\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-col>\\n          <md-input name=\\\"multicertaInvitation\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n        </ka-flex-col>\\n        <p>Imposta l’affrancatura di default del canale alternativo in base al tipo di Multicerta inviata:</p>\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>MultiCerta Legal&reg;</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"postage.legalType\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"deadline.legalDuration\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"deadline.legalAcknowledgement\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n          <div ka-flex class=\\\"col-border-left\\\">\\n            <h3>MultiCerta Classic&reg;</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"postage.type\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"deadline.duration\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"deadline.acknowledgement\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <h3 ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia <i class=\\\"fas fa-question-circle\\\"></i></h3>\\n        <ka-flex-row>\\n          <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n\\n\\n\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n  </style>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n\\n  <ka-tabs id=\\\"t\\\">\\n    <!-- Notifiche email -->\\n    <ka-tab id=\\\"email\\\" label=\\\"Notifiche email\\\">\\n      <h2> Notifiche via Email </h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"uiPreferences.isOverride\\\" toggle-override.bind=\\\"uiPreferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"uiPreferences.resource\\\"\\n        endpoint.bind=\\\"uiPreferences.endpoint\\\"\\n        schema.bind=\\\"uiPreferences.schema\\\"\\n        data.bind=\\\"uiPreferences.data\\\">\\n      </md-resource>\\n      <div with.bind=\\\"uiPreferences.resource\\\">\\n        <ka-flex-col style=\\\"max-width: 600px;\\\">\\n          <md-control readonly.bind=\\\"!uiPreferences.isOverride\\\" name=\\\"email\\\"></md-control>\\n        </ka-flex-col>\\n        <ka-button if.bind=\\\"uiPreferences.isOverride\\\" click.delegate=\\\"uiPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </div>\\n    </ka-tab>\\n\\n    <!-- Notifiche avvisi -->\\n    <ka-tab id=\\\"avvisi\\\" label=\\\"Notifiche avvisi\\\">\\n      <h2>Notifiche avvisi</h2>\\n      <md-resource\\n        view-model.ref=\\\"emailPreferences.resource\\\"\\n        with.bind=\\\"emailPreferences.resource\\\"\\n        endpoint.bind=\\\"emailPreferences.endpoint\\\"\\n        schema.bind=\\\"emailPreferences.schema\\\"\\n        data.bind=\\\"emailPreferences.data\\\">\\n        <ka-flex-col>\\n          <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"emailPreferences.checks.dailyDigest\\\" description=\\\"Ricevi avviso giornaliero delle spedizioni bloccate a causa di insufficienza credito\\\"></ka-input>\\n        </ka-flex-col>\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"credit.enabled\\\" description=\\\"Ricevi avviso giornaliero su credito residuo (imposta una soglia minima per l’avviso)\\\"></md-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.credit.enabled\\\">\\n          <ka-flex-row style=\\\"padding-left: 31px; max-width: 400px; margin-top: 1rem;\\\">\\n            <md-input ka-flex name=\\\"credit.serviceThreshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n            <md-input ka-flex name=\\\"credit.postageThreshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n          </ka-flex-row>\\n        </template>\\n        <!--\\n        <ka-flex-col>\\n          <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"emailPreferences.data.space.enabled\\\" description=\\\"Ricevi avviso su spazio MultiInvio residuo\\\"></ka-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.space.enabled\\\">\\n          <ka-flex-col style=\\\"padding-left: 31px\\\">\\n            <ka-input config.bind=\\\"{control: 'number'}\\\" value.bind=\\\"emailPreferences.data.space.threshold\\\" label=\\\"Soglia minima %\\\" description=\\\"Percentuale spazio residuo al di sotto del quale attivare l'avviso\\\"></ka-input>\\n            <ka-input config.bind=\\\"{control: 'text'}\\\" value.bind=\\\"emailPreferences.data.space.notificationEmail\\\" label=\\\"Email per notifica\\\"></ka-input>\\n          </ka-flex-col>\\n        </template>\\n        -->\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"directDebit.sdd.enabled\\\" description=\\\"Ricevi avviso giornaliero sul credito residuo del deposito cauzionale (imposta una soglia minima per l’avviso)\\\"></md-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.directDebit.sdd.enabled\\\">\\n          <ka-flex-col style=\\\"padding-left: 31px; max-width: 400px; margin-top: 1rem;\\\">\\n            <md-input name=\\\"directDebit.sdd.threshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n          </ka-flex-col>\\n        </template>\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"bouncedEmailsDigest.enabled\\\" description=\\\"Ricevi riassunto delle email non consegnate\\\"></md-input>\\n        </ka-flex-col>\\n\\n        <ka-button click.delegate=\\\"emailPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Notifiche app -->\\n    <ka-tab id=\\\"app\\\" label=\\\"Notifiche App\\\">\\n      <h2>Notifiche Push per App Multidialogo</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"pushPreferences.isOverride\\\" toggle-override.bind=\\\"pushPreferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"pushPreferences.resource\\\"\\n        with.bind=\\\"pushPreferences.resource\\\"\\n        endpoint.bind=\\\"pushPreferences.endpoint\\\"\\n        schema.bind=\\\"pushPreferences.schema\\\"\\n        data.bind=\\\"pushPreferences.data\\\">\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.blocked\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code bloccate\\\"></md-input>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.refused\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code rifiutate\\\"></md-input>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.delivered\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code consegnate\\\"></md-input>\\n        </ka-flex-col>\\n        <ka-button if.bind=\\\"pushPreferences.isOverride\\\" click.delegate=\\\"pushPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Privacy acceptance clauses -->\\n    <ka-tab id=\\\"comm\\\" label=\\\"Notifiche Commerciali\\\">\\n      <template if.bind=\\\"privacyConsent.data\\\">\\n        <h2>Notifiche per comunicazioni commerciali</h2>\\n        <fieldset class=\\\"d-flex flex-column justify-content-between px-3 mb-4\\\">\\n          <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per finalità di marketing.</span>\\n  \\n          <div class=\\\"d-md-flex\\\">\\n            <div class=\\\"input-radio\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"NO\\\"\\n              checked.bind=\\\"privacyConsent.data.firstPartyEnabled\\\"\\n              name=\\\"firstPartyEnabled\\\"\\n              id=\\\"firstPartyEnabled_no\\\">\\n              <label for=\\\"firstPartyEnabled_no\\\">Nego il consenso.</label>\\n            </div>\\n            <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"YES\\\"\\n              checked.bind=\\\"privacyConsent.data.firstPartyEnabled\\\"\\n              name=\\\"firstPartyEnabled\\\"\\n              id=\\\"firstPartyEnabled_yes\\\">\\n              <label for=\\\"firstPartyEnabled_yes\\\">Do il consenso.</label>\\n            </div>\\n          </div>\\n        </fieldset>\\n  \\n        <fieldset class=\\\"d-flex flex-column justify-content-between mb-4 px-3\\\">\\n          <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per attività di marketing su prodotti e servizi di società partner o per ricerche di mercato e indagini statistiche.</span>\\n          <div class=\\\"d-md-flex\\\">\\n            <div class=\\\"input-radio\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"NO\\\"\\n              checked.bind=\\\"privacyConsent.data.thirdPartyEnabled\\\"\\n              name=\\\"thirdPartyEnabled\\\"\\n              id=\\\"thirdPartyEnabled_no\\\">\\n              <label for=\\\"thirdPartyEnabled_no\\\">Nego il consenso.</label>\\n            </div>\\n            <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"YES\\\"\\n              checked.bind=\\\"privacyConsent.data.thirdPartyEnabled\\\"\\n              name=\\\"thirdPartyEnabled\\\"\\n              id=\\\"thirdPartyEnabled_yes\\\">\\n              <label for=\\\"thirdPartyEnabled_yes\\\">Do il consenso.</label>\\n            </div>\\n          </div>\\n        </fieldset>\\n\\n        <ka-button\\n          if.bind=\\\"api.hasRole('MODIFY_USER_PREFERENCES_SENDER_NOTIFICATIONS')\\\"\\n          click.delegate=\\\"privacyConsent.save($event)\\\"\\n          class=\\\"mt-0\\\">Salva modifiche\\n        </ka-button>\\n      </template>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./posta-dialog-confirm.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <md-prefsel view-model.ref=\\\"prefSelector\\\" value.bind=\\\"prefsel\\\" label=\\\"autorizzazioni\\\" _datatext=\\\"{displayName} - Bollettini: 0\\\"></md-prefsel>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok(prefSelector.data)\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    table tbody td small { line-height: 1rem; }\\n    #loghi ka-table th .ka-sort-button { display: none; }\\n    ka-table .ka-wrapper > table tbody tr small.rollover {\\n      opacity: 0;\\n      transition: opacity 0.5s;\\n    }\\n    ka-table .ka-wrapper > table tbody tr:hover small.rollover {\\n      opacity: 1;\\n    }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n    #preferenze .ka-input-checkbox-description > i { vertical-align: text-bottom; } /* Sovrascrive allineamento md-tooltip icon */\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <!-- Preferenze -->\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Promemoria e notifica</h3>\\n            <ka-flex-col>\\n              <md-input class=\\\"compact\\\" name=\\\"postage.expectReceipt\\\" readonly.bind=\\\"!preferences.isOverride\\\" md-tooltip=\\\"La scansione sarà a disposizione nel dettaglio delle spedizioni postali, nella sezione “destinatari” accanto al codice invio\\\"></md-input>\\n              <span style=\\\"color: #ED5A23; font-size: 1.1rem; margin: 1rem 0;\\\">\\n                <span>Avvertenze: La cartolina digitale non potrà essere messa a disposizione in caso di smarrimento della stessa o in caso di ritorno al mittente per compiuta giacenza. In questi casi la copia della cartolina sarà fornita, su richiesta, direttamente da Poste Italiane.</span>\\n                <span class=\\\"d-block mb-4\\\">Si precisa che, per le Raccomandate estere, le tempistiche potrebbero protrarsi fino a 45 gg per la ricezione delle cartoline di ritorno oppure potrebbero verificarsi situazioni fuori dal nostro controllo che ne impediscano la consegna.</span>\\n              <md-input class=\\\"compact\\\" name=\\\"postage.topicOnReturnReceipt\\\" md-tooltip=\\\"Il promemoria indicato in fase di invio spedizione verrà riportato su tutte le cartoline di ritorno\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <h3>Vettore preferenziale</h3>\\n            <ka-flex-row>\\n              <ka-input ka-flex if.bind=\\\"preferences.datasources.vectors.length\\\" config.bind=\\\"{control: 'combo', datasource: preferences.datasources.vectors, datavalue: 'code', datatext: 'name', datapreload: true}\\\" readonly.bind=\\\"!preferences.isOverride\\\" label=\\\"Posta prioritaria\\\" value.bind=\\\"preferences.data.vectors.prioritaria\\\" change.call=\\\"preferences.processPostages()\\\"></ka-input>\\n              <ka-input ka-flex if.bind=\\\"preferences.datasources.vectors.length\\\" config.bind=\\\"{control: 'combo', datasource: preferences.datasources.vectors, datavalue: 'code', datatext: 'name', datapreload: true}\\\" readonly.bind=\\\"!preferences.isOverride\\\" label=\\\"Posta raccomandata\\\" value.bind=\\\"preferences.data.vectors.raccomandata\\\" change.call=\\\"preferences.processPostages()\\\"></ka-input>\\n            </ka-flex-row>\\n            <p show.bind=\\\"preferences.isOverride\\\" if.bind=\\\"false\\\" style=\\\"margin-top: -1rem;font-size: 1.2rem;color:#606060;\\\">E' possibile selezionare il vettore Nexive solo dopo averlo <a href=\\\"/impostazioni/posta?ka-tab-t=nexive\\\">abilitato qui.</a></p>\\n            <h3>Stampa e affrancatura</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"print.sheetFormat\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.weight\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"print.frontBack\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.colorMode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.staple\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"postage.code\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <h3 class=\\\"d-inline-block tooltip\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex style=\\\"box-shadow: -1px 0 0 0 #e0e0e0\\\">\\n            <h3>Dati mittente</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"displayName\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"streetAddress\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"zipCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl3\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl2\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"countryCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Bollettini -->\\n    <ka-tab id=\\\"bollettini\\\" label=\\\"Bollettini\\\">\\n      <h2>Gestione autorizzazioni stampa in proprio bollettini postali</h2>\\n      <md-prefsel show.bind=\\\"!postalOrders.prefsel\\\" view-model.ref=\\\"prefSelector\\\" value.bind=\\\"prefsel\\\" label=\\\"autorizzazioni\\\" _datatext=\\\"{displayName} - Bollettini: 0\\\"></md-prefsel>\\n      <div show.bind=\\\"!postalOrders.isToggle\\\">\\n        <p>L'autorizzazione consentirà di inviare autonomamente dal gestionale i bollettini 451 e 896. La richiesta di approvazione potrà protrarsi fino a 2 settimane di attesa, i tempi che servono a Poste Italiane per omologare la richiesta.</p>\\n        <template if.bind=\\\"postalOrders.tableInterface\\\">\\n            <table class=\\\"ka-table-like\\\">\\n              <thead if.bind=\\\"postalOrders.tableInterface.data.length\\\">\\n                <tr>\\n                  <th>Data inserimento</th>\\n                  <th>Intestatario conto corrente</th>\\n                  <th>Numero conto corrente</th>\\n                  <th>Stato</th>\\n                  <th></th>\\n                </tr>\\n              </thead>\\n              <tbody if.bind=\\\"postalOrders.tableInterface.data.length\\\">\\n                <tr repeat.for=\\\"item of postalOrders.tableInterface.data\\\">\\n                  <td>${item.createdAt | dateFormat}<small class=\\\"rollover\\\" if.bind=\\\"item.uuid\\\"><br>${item.uuid}</small></td>\\n                  <td>${item.postalAccountHolder}</td>\\n                  <td>${item.postalAccount}</td>\\n                  <td>${item.statusCode | comboFormat:postalOrders.schema.statusCode}</td>\\n                  <td class=\\\"ka-tr-tools\\\">\\n                    <button class=\\\"ka-table-button primary\\\" if.bind=\\\"item.statusCode === 'PENDING' || item.statusCode === 'PENDING_REVISION' || item.statusCode === 'REFUSED'\\\" click.delegate=\\\"postalOrders.delete(item)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                  </td>\\n                </tr>\\n              </tbody>\\n            </table>\\n        </template>\\n        <ka-button click.delegate=\\\"postalOrders.toggle()\\\">Richiedi nuova autorizzazione</ka-button>\\n      </div>\\n      \\n      <div if.bind=\\\"postalOrders.isToggle && !postalOrders.prefsel\\\" >\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"postalOrders.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"postalOrders.confirm()\\\">Conferma</ka-button>\\n      </div>\\n      <md-resource\\n        show.bind=\\\"postalOrders.isToggle && postalOrders.prefsel\\\"\\n        view-model.ref=\\\"postalOrders.resource\\\"\\n        with.bind=\\\"postalOrders.resource\\\"\\n        endpoint.bind=\\\"postalOrders.endpoint\\\"\\n        schema.bind=\\\"postalOrders.schema\\\"\\n        data.bind=\\\"postalOrders.data\\\">\\n        <h3>Richiedi nuova autorizzazione</h3>\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"postalAccountHolder\\\"></md-input>\\n          <md-input ka-flex name=\\\"postalAccount\\\" placeholder=\\\"Inserire le 12 cifre del numero di conto corrente\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"postalOrders.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"postalOrders.send($event)\\\">Invia</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Loghi -->\\n    <ka-tab id=\\\"loghi\\\" label=\\\"Loghi busta\\\">\\n      <h2>Gestione loghi per stampa su busta</h2>\\n      <div show.bind=\\\"!watermarks.isToggle\\\">\\n        <template if.bind=\\\"watermarks.tableInterface\\\">\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"watermarks.tableInterface.data.length\\\">\\n              <tr>\\n                <th>Data inserimento</th>\\n                <th>Titolo</th>\\n                <th>Stato</th>\\n                <th>Colori</th>\\n                <th>Predefinito</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"watermarks.tableInterface.data.length\\\">\\n              <tr \\n                repeat.for=\\\"item of watermarks.tableInterface.data\\\"\\n                css=\\\"${envelopeLogoUuid === item.uuid ? 'background: rgba(25, 165, 242, 0.05)' : '' }\\\">\\n                <td>${item.createdAt | dateFormat}<small class=\\\"rollover\\\" if.bind=\\\"item.uuid\\\"><br>${item.uuid}</small></td>\\n                <td>${item.label}</td>\\n                <td>\\n                  ${item.statusCode | comboFormat:watermarks.schema.statusCode}\\n                  <small if.bind=\\\"item.statusCode === 'PENDING'\\\"><br><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'PENDING_APPROVAL')\\\">Invia per approvazione</a></small>\\n                  <small if.bind=\\\"item.statusCode === 'PENDING_CONFIRMATION'\\\"><br><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'APPROVED')\\\">Conferma</a> | <a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'REFUSED')\\\">Rifiuta</a></small>\\n                </td>\\n                <td>${item.colorMode}</td>\\n                <td if.bind=\\\"item.default\\\">Predefinito</td>\\n                <td if.bind=\\\"!item.default\\\"><span if.bind=\\\"item.statusCode === 'APPROVED'\\\"><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setDefault(item)\\\">Imposta predefinito</a></span></td>\\n                <td>\\n                  <!--<img if.bind=\\\"item.previews && item.previews[0]\\\" src=\\\"${watermarks.previews[item.uuid]}\\\" style=\\\"float: left; width: auto; height: 80px;\\\" alt=\\\"Anteprima\\\">-->\\n                </td>\\n                <td>\\n                  <small repeat.for=\\\"preview of item.previews\\\"><a href=\\\"${watermarks.uriBuild(preview.webPath)}\\\" click.delegate=\\\"watermarks.getImage(preview.webPath)\\\" target=\\\"_blank\\\" class=\\\"primary-text\\\">Anteprima ${preview.width}x${preview.height}</a><br></small>\\n                </td>\\n                <td class=\\\"ka-tr-tools\\\">\\n                  <button class=\\\"ka-table-button primary\\\" if.bind=\\\"item.statusCode === 'PENDING' || item.statusCode === 'REFUSED' || item.statusCode === 'APPROVED'\\\" click.delegate=\\\"watermarks.delete(item)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                  <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"watermarks.download(item)\\\" ka-tooltip=\\\"Scarica file\\\"><i class=\\\"material-icons\\\">save_alt</i></button>\\n                </td>\\n              </tr>\\n            </tbody>\\n          </table>\\n        </template>\\n        <ka-button click.delegate=\\\"watermarks.toggle()\\\">Carica nuovo logo</ka-button>\\n      </div>\\n\\n      <md-resource\\n        show.bind=\\\"watermarks.isToggle\\\"\\n        view-model.ref=\\\"watermarks.resource\\\"\\n        with.bind=\\\"watermarks.resource\\\"\\n        endpoint.bind=\\\"watermarks.endpoint\\\"\\n        schema.bind=\\\"watermarks.schema\\\"\\n        data.bind=\\\"watermarks.data\\\">\\n        <h3>Carica nuovo logo</h3>\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"label\\\" md-tooltip=\\\"Dai un nome al tuo logo\\\"></md-input>\\n          <md-input ka-flex class=\\\"no-buttons\\\" placeholder=\\\"Seleziona file\\\" name=\\\"fileData\\\" description=\\\"*.jpg o *.png in alta risoluzione (300dpi)\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-flex-row>\\n          <ka-flex-col>\\n            <md-input name=\\\"text\\\" md-tooltip=\\\"Se nel logo non sono già presenti tutte le informazioni, puoi aggiungerle qui (indirizzo, email, telefono ecc.)\\\" description=\\\"Eventuale testo con i recapiti del mittente, da aggiungere al logo\\\"></md-input>\\n          </ka-flex-col>\\n          <ka-flex-col>\\n            <md-input name=\\\"colorMode\\\"></md-input>\\n          </ka-flex-col>\\n        </ka-flex-row>\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"watermarks.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"watermarks.send($event)\\\">Invia</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Copertina -->\\n    <ka-tab if.bind=\\\"api.hasRole(['LIST_USER_PREFERENCES_SENDER_LETTER_COVERS','LIST_ANY_USER_PREFERENCES_SENDER_LETTER_COVER'])\\\" id=\\\"copertine\\\" label=\\\"Copertine\\\">\\n      <compose containerless view-model=\\\"${vmCover}\\\" model.bind=\\\"{ context: 'settings' }\\\"></compose>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n  </style>\\n  <require from=\\\"./sms.sass\\\"></require>\\n  <ka-tabs id=\\\"t\\\">\\n\\n    <!-- Preferences -->\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        if.bind=\\\"prefsel\\\"\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row if.bind=\\\"preferences.data\\\" class=\\\"no-padding\\\">\\n          <div ka-flex style=\\\"max-width: 600px;\\\">\\n            <h3>Dati mittente</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"display\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <ka-flex-col>\\n              <md-input class=\\\"no-buttons\\\" client.bind=\\\"api\\\" name=\\\"numberUuid\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <p show.bind=\\\"preferences.isOverride\\\" style=\\\"margin: -0.5rem 0 1rem 0; font-size: 1rem\\\"><a href=\\\"impostazioni/generali?ka-tab-t=cellulari\\\">Aggiungi nuovo numero certificato</a></p>\\n            </ka-flex-col>\\n            <ka-flex-col>\\n              <md-input class=\\\"no-buttons\\\" client.bind=\\\"api\\\" name=\\\"aliasUuid\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <p show.bind=\\\"preferences.isOverride\\\" style=\\\"margin: -0.5rem 0 1rem 0; font-size: 1rem\\\"><a href=\\\"impostazioni/sms?ka-tab-t=alias\\\">Aggiungi nuovo alias</a></p>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Alias sms -->\\n    <ka-tab id=\\\"alias\\\" label=\\\"Alias\\\">\\n      <h2>\\n        <span static-tooltip=\\\"value.bind: staticTooltipSms\\\">\\n          Gestione Alias SMS\\n        </span>\\n      </h2>\\n\\n      <!-- Table alias sms -->\\n      <div show.bind=\\\"!smsAliases.isToggle\\\">\\n        <md-prefsel view-model.ref=\\\"prefSelector\\\" value.bind=\\\"prefsel\\\"></md-prefsel>\\n        <p>L'Alias del mittente serve per mostrare il nome del mittente del messaggio senza che venga visualizzato il numero di telefono.</p>\\n        <template if.bind=\\\"smsAliases.tableInterface\\\">\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"smsAliases.tableInterface.data.length\\\">\\n              <tr>\\n                <th>Data richiesta</th>\\n                <th>Azienda</th>\\n                <th>Stato attivazione</th>\\n                <th>Mittente SMS</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"smsAliases.tableInterface.data.length\\\">\\n              <tr repeat.for=\\\"item of smsAliases.tableInterface.data\\\">\\n                <td>${item.requestedAt | dateFormat}</td>\\n                <td>${item.companyName}</td>\\n                <td>${item.status | comboFormat:smsAliases.schema.status}<small if.bind=\\\"item.status === 'ERROR'\\\"><br>Contattare l'assistenza</small></td>\\n                <td>${item.displayName}</td>\\n                <td class=\\\"ka-tr-tools\\\">\\n                  <ka-button if.bind=\\\"item.status === 'REFUSED'\\\" class=\\\"flat\\\" click.delegate=\\\"smsAliases.delete(item)\\\" disabled.bind=\\\"false\\\" style=\\\"margin-left:0;\\\"><i class=\\\"material-icons\\\">delete_forever</i></ka-button>\\n                </td>\\n              </tr>\\n            </tbody>\\n          </table>\\n        </template>\\n        <ka-button click.delegate=\\\"smsAliases.toggle()\\\">Richiedi nuovo alias</ka-button>\\n      </div>\\n\\n      <!-- Form alias request -->\\n      <md-resource\\n        view-model.ref=\\\"smsAliases.resource\\\"\\n        with.bind=\\\"smsAliases.resource\\\"\\n        endpoint.bind=\\\"smsAliases.endpoint\\\"\\n        schema.bind=\\\"smsAliases.schema\\\"\\n        data.bind=\\\"smsAliases.data\\\"\\n        show.bind=\\\"smsAliases.isToggle\\\">\\n        <h3>Richiedi nuovo alias</h3>\\n        <ka-flex-col>\\n          <md-input name=\\\"displayName\\\"></md-input>\\n          <md-input name=\\\"companyName\\\"></md-input>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"vatCode\\\"></md-input>\\n            <md-input ka-flex name=\\\"fiscalCode\\\"></md-input>\\n          </ka-flex-row>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"streetAddress\\\"></md-input>\\n            <md-input ka-flex name=\\\"zipCode\\\"></md-input>\\n            <md-input ka-flex name=\\\"admLvl3\\\"></md-input>\\n            <md-input ka-flex name=\\\"admLvl2\\\"></md-input>\\n            <md-input ka-flex name=\\\"country\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\"></md-input>\\n          </ka-flex-row>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"email\\\" md-tooltip=\\\"Una volta che l'AGICOM avrà effettuato la registrazione, sarete avvisati tramite e-mail e sarà necessario impostare l'ALIAS come mittente del messaggio.\\\"></md-input>\\n            <md-input ka-flex name=\\\"pec\\\"></md-input>\\n            <md-input ka-flex name=\\\"phoneNumber\\\"></md-input>\\n          </ka-flex-row>\\n        </ka-flex-col>\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"smsAliases.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"smsAliases.send($event)\\\">Invia</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template></template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand-horizontal.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./offerta.sass\\\"></require>\\n  <div class=\\\"d-flex justify-content-center align-items-center h-100 ${offerExpired ? 'expired' : ''}\\\" style=\\\"position: relative; z-index: 10\\\">\\n    <div if.bind=\\\"!offerExpired\\\" class=\\\"offer-box\\\">   \\n      <!-- Header -->\\n      <div class=\\\"offer-header\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <p class=\\\"m-0 p-0 text-center\\\">\\n          Software per l'amministrazione condominiale<br>\\n          <small class=\\\"d-inline-block mt-3\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"www.multidialogo.it\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n        </p>\\n        <a href=\\\"dashboard\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <!-- Content -->\\n      <div class=\\\"row m-0\\\">\\n        <!-- Offer content - left side -->\\n        <div class=\\\"col-12 col-md-6 left-side\\\">\\n          <h1 class=\\\"m-0 mb-4\\\">${offer.title}</h1>\\n          <div class=\\\"ribbon ps-4 mb-5 text-nowrap\\\">Offerta di MultiDialogo</div>\\n          <p class=\\\"m-0 mb-4\\\">${offer.description}</p>\\n          <h3 class=\\\"mx-0 px-0\\\">\\n            <i class=\\\"far fa-stopwatch me-2\\\"></i>Offerta valida fino al ${offer.endAt|dateFormat: 'DD/MM/YYYY'}!\\n          </h3>\\n          <small if.bind=\\\"offer.deadlineType\\\" class=\\\"d-block\\\">\\n            <template if.bind=\\\"offer.deadlineType === 'FLAT-SERVICE-SUBSCRIPTION'\\\">\\n              <span if.bind=\\\"!api.isAuthenticated\\\">\\n                Attiva l'offerta e sottoscrivi i servizi entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n              <span if.bind=\\\"api.isAuthenticated\\\">\\n                Servizi sottoscrivibili entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n            </template>\\n            <template if.bind=\\\"offer.deadlineType === 'USER-CREATION'\\\">\\n              <span if.bind=\\\"offer.targetUserType === 'USER'\\\">\\n                Per attivare questa offerta è necessario registrarsi entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}\\n              </span>\\n              <span if.bind=\\\"offer.targetUserType === 'SUBUSER'\\\">\\n                Estendibile a tutti i ${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Condomini' : 'Sottoutenti'} attivati entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n            </template>\\n          </small>\\n        </div>\\n\\n        <!-- Offer content - right side -->\\n        <div class=\\\"col-12 col-md-6 p-0 right-side\\\">\\n          <h2 class=\\\"m-0 p-0 p-4 white-bg\\\">Servizi disponibili alla sottoscrizione</h2>\\n          <div class=\\\"wrapper-services\\\">\\n            <template repeat.for=\\\"flat of offer.flatServices\\\">\\n              <div class=\\\"flat-service\\\">\\n                <h3 class=\\\"m-0 mb-4 p-0\\\">${flat.attributes.title}</h3>\\n                <div class=\\\"m-0 mb-4 p-0 description\\\" innerhtml.bind=\\\"flat.attributes.description\\\"></div>\\n                <div class=\\\"row m-0\\\">\\n                  <div class=\\\"col-auto p-0 pe-4 activability\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Validità</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">\\n                      Dal ${flat.attributes.startAt|dateFormat:'DD/MM/YYYY'}\\n                    </p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 duration\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Durata</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${flat.attributes.duration} giorni</p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 price\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Prezzo</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${flat.attributes.price > 0 ? flat.attributes.price+' + IVA €' : 'Gratis'}</p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 billing\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Fatturazione</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${$index % 2 === 0 ? 'Al Condominio' : 'Allo Studio'}</p>\\n                  </div>\\n                </div>\\n              </div>\\n            </template>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Offer footer -->\\n      <div class=\\\"offer-footer\\\">\\n        <!-- User has an account and already activated this offer -->\\n        <p if.bind=\\\"offerStatus === 'AUTH-USER-ACTIVATED'\\\" class=\\\"m-0 authenticated-activated\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Buone notizie! La tua offerta è già stata riscattata* il ${authUserRedeemDate}.\\n          <small>* I servizi sono già attivabili al prezzo di offerta.</small>\\n        </p>\\n        <div if.bind=\\\"offerStatus !== 'AUTH-USER-ACTIVATED' && offerStatus !== 'SUBUSER-WITHOUT-PERMISSIONS' && offerStatus !== 'AUTH-USER-ACTIVATED-NOW'\\\" class=\\\"form row m-0\\\">\\n          <template if.bind=\\\"!api.isAuthenticated\\\">\\n            <div class=\\\"col-12 p-0 mb-4\\\">\\n              <p class=\\\"m-0 alert\\\">\\n                <strong class=\\\"mb-2\\\">Se possiedi già un account MultiDialogo <a class=\\\"to-login\\\" href=\\\"login?reroute=${reroute}\\\">clicca qui<i class=\\\"far fa-hand-point-left ms-2\\\"></i></a></strong>\\n                <small>Se invece non sei ancora registrato inserisci la tua email e attiva l'offerta!</small>\\n              </p>\\n            </div>\\n            <div class=\\\"col-12 col-sm-6 p-0\\\"><ka-control name=\\\"email\\\"></ka-control></div> \\n          </template>\\n          <div class=\\\"col-12 col-md-${api.isAuthenticated ? '12' : '6'} p-0 d-flex justify-content-end align-items-end\\\">\\n            <!-- Not yet available offer -->\\n            <ka-button if.bind=\\\"currentDate < offer.startAt\\\" class=\\\"m-0 activation-button\\\">Offerta attivabile dal ${offer.startAt|dateFormat}</ka-button>\\n            <!-- Already available offer -->\\n            <ka-button if.bind=\\\"currentDate >= offer.startAt\\\" class=\\\"m-0 activation-button activable\\\" click.trigger=\\\"activateOffer()\\\">Attiva l'offerta!</ka-button>\\n          </div>\\n        </div>\\n        <!-- user authenticated activates offer -->\\n        <p if.bind=\\\"offerStatus === 'AUTH-USER-ACTIVATED-NOW'\\\" class=\\\"m-0 activated-at\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Offerta riscattata* correttamente il ${currentDate|dateFormat:'DD/MM/YYYY'}!\\n          <span style=\\\"display:block;margin-left:3rem\\\">Conferma l'attivazione del servizio nella tua area \\\"Servizi attivabili\\\".</span>\\n          <small>* I servizi sono già attivabili al prezzo di offerta.</small>\\n        </p>\\n        <!-- user not authenticated activates offer -->\\n        <p if.bind=\\\"offerStatus === 'GUEST-USER-ACTIVATED'\\\" class=\\\"m-0 activated-at\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Offerta prenotata* correttamente! Per attivarla è necessario registrarsi a MultiDialogo entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n          <span style=\\\"display:block;margin-left:3rem\\\"><a href=\\\"/registrazione\\\" target=\\\"_blank\\\" style=\\\"color:inherit\\\"><strong>Registrati qui</strong></a> e conferma l'attivazione nella tua area \\\"Servizi attivabili\\\".</span>\\n          <small>* L'offerta sarà utilizzabile dopo essersi iscritti alla piattaforma.</small>\\n        </p>\\n        <!-- email saved in local storage -->\\n        <p if.bind=\\\"offerStatus === 'EMAIL-ALREADY-STORED'\\\" class=\\\"m-0 email-already-stored\\\">\\n          <i class=\\\"far fa-exclamation-circle me-3\\\"></i>Buone notizie! La tua offerta è già stata prenotata* utilizzando l'indirizzo email ${localStorageOffer.email}.\\n          <small>* L'offerta sarà utilizzabile dopo essersi iscritti alla piattaforma.</small>\\n        </p>\\n        <!-- user has not the required permissions -->\\n        <p if.bind=\\\"offerStatus === 'SUBUSER-WITHOUT-PERMISSIONS'\\\" class=\\\"m-0 authenticated-no-permissions\\\">\\n          <i class=\\\"far fa-exclamation-circle me-3\\\"></i>Autenticarsi con account principale per attivare l'offerta. Azione non permessa ai ${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Condomini' : 'Sottoutenti'}.\\n        </p>\\n      </div>\\n    </div>\\n\\n    <div if.bind=\\\"offerExpired\\\" class=\\\"offer-box\\\">\\n      <!-- Header -->\\n      <div class=\\\"offer-header\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <p class=\\\"m-0 p-0 text-center\\\">\\n          Software per l'amministrazione condominiale<br>\\n          <small class=\\\"d-inline-block mt-3\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"www.multidialogo.it\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n        </p>\\n        <a href=\\\"dashboard\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <div class=\\\"p-3\\\">\\n        <h2 class=\\\"pt-3\\\">L'offerta Promo '${params.code}' è scaduta!</h2>\\n        <p>Scrivi ad <a href=\\\"mailto:\\\">assistenza@multidialogo.it</a> per richiedere informazioni sulle offerte disponibili.</p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand-horizontal.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./registrazione.sass\\\"></require>\\n\\n  <div\\n    if.bind=\\\"!pendingAttached\\\"\\n    class=\\\"wrapper\\\">\\n    <div class=\\\"box\\\">   \\n      <!-- Header -->\\n      <div class=\\\"header p-4\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <a if.bind=\\\"!params.prospectUuid\\\" href=\\\"login\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <!-- Content form -->\\n      <div class=\\\"row m-0 p-4\\\">\\n        <h2 class=\\\"col-12 m-0 p-0 pb-4\\\">Crea il tuo account MultiDialogo!</h2>\\n\\n        <!-- First step -->\\n        <section class=\\\"step-section col-12 d-flex p-0 pb-4 mb-3\\\">\\n          <div class=\\\"row w-100 m-0\\\">\\n            <!-- Left side -->\\n            <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3 mb-md-0\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 p-0\\\">\\n                  <ka-control \\n                    name=\\\"profile.email\\\"\\n                    change.trigger=\\\"changeEmail()\\\">\\n                  </ka-control>  \\n                </div>        \\n              </div>\\n            </div>\\n          \\n            <!-- Right side -->\\n            <div class=\\\"col-12 col-md-6 p-0 ps-md-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3 mb-md-0\\\">\\n                  <ka-control \\n                    name=\\\"password\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2\\\">\\n                  <ka-control \\n                    name=\\\"passwordConfirm\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>      \\n              </div>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <!-- Second step -->\\n        <section class=\\\"step-section col-12 p-0 d-flex\\\">\\n          <div class=\\\"row w-100 m-0\\\">\\n            <!-- Left side -->\\n            <div class=\\\"col-12 col-md-6 p-0 pe-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 p-0 mb-3 d-flex align-items-end\\\">\\n                  <ka-control\\n                    readonly.bind=\\\"!editableUsername\\\"\\n                    name=\\\"profile.username\\\"\\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                  <ka-button\\n                    click.delegate=\\\"changeUsername()\\\"\\n                    disabled.bind=\\\"editableUsername || !resource.data.profile.username\\\"\\n                    class=\\\"m-0 ms-3 flat inverted\\\">Modifica\\n                  </ka-button>\\n                </div>\\n                <div class=\\\"col-12 col-md-4 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.countryCode\\\"\\n                    client.bind=\\\"api\\\"\\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('countryCode')\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-8 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    if.bind=\\\"legalFormTypes && legalForms\\\" \\n                    name=\\\"profile.companyLegalFormCode\\\"\\n                    change.trigger=\\\"changeLegalForm()\\\"\\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.businessType\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    if.bind=\\\"clients\\\"\\n                    name=\\\"clientUuid\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\"> \\n                  <ka-control \\n                    name=\\\"profile.holderName.companyName\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.holderName.firstname\\\"\\n                    buttons=\\\"clear\\\">\\n                  </ka-control>  \\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.holderName.lastname\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>  \\n                </div>                 \\n              </div>\\n            </div>\\n            \\n            <!-- Right side -->\\n            <div class=\\\"col-12 col-md-6 p-0 ps-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl1Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('admLvl1Uuid')\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl2Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('admLvl2Uuid')\\\"\\n                    readonly.bind=\\\"!profile.location.admLvl1Uuid\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-8 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl3Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    readonly.bind=\\\"!profile.location.admLvl2Uuid\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-4 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.zipCode\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.streetAddress\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"ccol-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.fiscalCode\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.vatCode\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control\\n                    required.bind=\\\"phoneNumberRequired\\\"\\n                    name=\\\"profile.phoneNumber\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control\\n                    required.bind=\\\"mobilePhoneNumberRequired\\\"\\n                    name=\\\"profile.mobilePhoneNumber\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.pec\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div if.bind=\\\"prospectUuid\\\" class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control\\n                    value.bind=\\\"priceList.data.temporary\\\" \\n                    schema.bind=\\\"priceList.schema.temporary\\\">\\n                  </ka-control>\\n                </div> \\n                <div class=\\\"col p-0 ps-md-2 mb-3\\\">\\n                  <ka-control\\n                    value.bind=\\\"priceList.data.definitive\\\" \\n                    schema.bind=\\\"priceList.schema.definitive\\\">\\n                  </ka-control>\\n                </div>     \\n              </div>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <!-- Privacy acceptance clauses -->\\n        <section if.bind=\\\"!prospectUuid\\\" class=\\\"col-12 p-0 step-section privacy\\\">\\n          <div class=\\\"row m-0 mb-4\\\">\\n            <p>Leggi la nostra informativa sulla <a target=\\\"_blank\\\" href=\\\"https://termsofservice.multidialogo.it/multidialogo/privacy-policy\\\" class=\\\"text-primary\\\">privacy</a> e scegli i consensi che desideri rilasciare a Netbuilder.</p>\\n\\n            <div class=\\\"col-12 col-md-6 p-0\\\">\\n              <fieldset class=\\\"d-flex flex-column justify-content-between px-4 pt-4 p-md-4\\\">\\n                <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per finalità di marketing.</span>\\n      \\n                <div class=\\\"d-md-flex\\\">\\n                  <div class=\\\"input-radio\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"NO\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.commercialContact\\\"\\n                    name=\\\"commercialContact\\\"\\n                    id=\\\"commercialContact_no\\\">\\n                    <label for=\\\"commercialContact_no\\\">Nego il consenso.</label>\\n                  </div>\\n                  <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"YES\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.commercialContact\\\"\\n                    name=\\\"commercialContact\\\"\\n                    id=\\\"commercialContact_yes\\\">\\n                    <label for=\\\"commercialContact_yes\\\">Do il consenso.</label>\\n                  </div>\\n                </div>\\n              </fieldset>\\n            </div>\\n\\n            <div class=\\\"col-12 col-md-6 p-0\\\">\\n              <fieldset class=\\\"d-flex flex-column justify-content-between px-4 pt-4 pb-4 p-md-4\\\">\\n                <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per attività di marketing su prodotti e servizi di società partner o per ricerche di mercato e indagini statistiche.</span>\\n      \\n                <div class=\\\"d-md-flex\\\">\\n                  <div class=\\\"input-radio\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"NO\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.thirdPartyDisclosure\\\"\\n                    name=\\\"thirdPartyDisclosure\\\"\\n                    id=\\\"thirdPartyDisclosure_no\\\">\\n                    <label for=\\\"thirdPartyDisclosure_no\\\">Nego il consenso.</label>\\n                  </div>\\n                  <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"YES\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.thirdPartyDisclosure\\\"\\n                    name=\\\"thirdPartyDisclosure\\\"\\n                    id=\\\"thirdPartyDisclosure_yes\\\">\\n                    <label for=\\\"thirdPartyDisclosure_yes\\\">Do il consenso.</label>\\n                  </div>\\n                </div>\\n              </fieldset>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <ka-button \\n          style=\\\"width: fit-content; margin-left: auto;\\\"\\n          click.delegate=\\\"registration($event)\\\"\\n          class=\\\"me-0 mb-0 mt-3\\\">Crea account\\n        </ka-button>\\n      </div>\\n    </div>\\n    <p class=\\\"footer m-0 p-0 my-4 text-center\\\">\\n      Software per l'amministrazione condominiale<br>\\n      <small class=\\\"d-inline-block\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"https://www.multidialogo.it/multidialogo\\\" target=\\\"_blank\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n    </p>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./invite.scss\\\"></require>\\n  <h2>Invita via email a scaricare l'app MultiCerta</h2>\\n  <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">1</div>\\n        <p class=\\\"step-title\\\">Scarica il file</p>\\n        <div class=\\\"step-description\\\">\\n          <p>Scarica il seguente modello excel per invitare tramite email i tuoi condomini all'utilizzo di MultiCerta.</p>\\n        </div>\\n        <a class=\\\"ka-button\\\" href=\\\"/static/downloads/modello-invito-multicerta.xls\\\" target=\\\"_blank\\\">Scarica</a>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">2</div>\\n        <p class=\\\"step-title\\\">Compila il file</p>\\n        <div class=\\\"step-description\\\">\\n          <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.<br>Il campo <em>email</em> è obbligatorio.</p>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">3</div>\\n        <p class=\\\"step-title\\\">Carica il file</p>\\n        <div ka-flex-col class=\\\"step-description\\\">\\n          <ka-input class=\\\"no-buttons\\\" config.bind=\\\"{control: 'file'}\\\" label=\\\"File da caricare\\\" placeholder=\\\"Seleziona o trascina qui il file\\\" description=\\\"Dimensione massima 1MB\\\" value.bind=\\\"data.file\\\"></ka-input>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">4</div>\\n        <p class=\\\"step-title\\\">Invia</p>\\n        <div ka-flex-col class=\\\"step-description\\\">\\n          <ka-input config.bind=\\\"{control: 'text'}\\\" label=\\\"Denominazione studio\\\" placeholder=\\\"Es: Studio Mario Rossi\\\" value.bind=\\\"data.mittente\\\"></ka-input>\\n          <ka-button click.delegate=\\\"send($event)\\\" style=\\\"margin-bottom:1rem\\\">Invia</ka-button>\\n          <ka-input config.bind=\\\"{control: 'text'}\\\" label=\\\"Invia una prova a:\\\" value.bind=\\\"data.email\\\"></ka-input>\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"test($event)\\\">Invia prova</ka-button>\\n        </div>\\n      </div>\\n\\n    </div>\\n  </ka-flex-row>\\n\\n  <h2>Elenco Inviti</h2>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"multicertaInviteSearchInterface.initialized && multicertaInviteTableInterface\\\">\\n    <md-table-toolbar table.bind=\\\"multicertaInviteTableInterface\\\" search.bind=\\\"multicertaInviteSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"multicertaInviteTableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"email\\\">Email</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"createdAt\\\">Invio</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"expireAt\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"subscribedAt\\\">Sottoscrizione</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"multicertaInviteTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of multicertaInviteTableInterface.data\\\">\\n            <td><strong class=\\\"limitwidth\\\" ka-tooltip.bind=\\\"record.email\\\" style=\\\"cursor: pointer;\\\">${record.email}</strong></td>\\n            <td>${record.createdAt | dateFormat}</td>\\n            <td>${record.expireAt | dateFormat}</td>\\n            <td><span if.bind=\\\"record.subscribedAt\\\">${record.subscribedAt | dateFormat}</span><span else>N.D.</span></td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!multicertaInviteTableInterface.data.length\\\">Nessun invito è stato inviato</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./points-transaction-history.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <md-counter \\n      suffix=\\\"pt\\\" \\n      timeout=\\\"2000\\\"\\n      duration=\\\"3000\\\" \\n      label=\\\"Totale maturati\\\"\\n      end=\\\"${multicoinPoints.totalAmount.amount}\\\"\\n      decimals=\\\"${multicoinPoints.totalAmount.amount >= 50 ? 0 : 1}\\\"\\n      if.bind=\\\"multicoinPoints.totalAmount.amount > 0 && isMdCounterVisible\\\">\\n    </md-counter>\\n\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca dei movimenti\\n        <!-- <md-accordion-button \\n          state=\\\"collapsed\\\"\\n          expand-text=\\\"Mostra ricerca avanzata\\\" \\n          collapse-text=\\\"Nascondi ricerca avanzata\\\" \\n          target=\\\"advancedSearchInterfaceFormSent\\\">\\n        </md-accordion-button> -->\\n      </h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <div class=\\\"row m-0\\\">\\n            <div class=\\\"col-6 p-0 pe-2\\\">\\n              <md-control \\n                name=\\\"createdAtGte\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n            <div class=\\\"col-6 p-0 ps-2\\\">\\n              <md-control \\n                name=\\\"createdAtLte\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div if.bind=\\\"isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control\\n          client.bind=\\\"api\\\" \\n          name=\\\"sourceUserId\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          change.call=\\\"changeSourceUserId()\\\">\\n        </md-control>\\n      </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"context\\\"\\n            buttons=\\\"dropdown\\\"\\n            change.call=\\\"changeContext()\\\"\\n            readonly.bind=\\\"isOperator && !selectedUser\\\">\\n          </md-control>\\n        </div>\\n        <div if.bind=\\\"!isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            client.bind=\\\"api\\\" \\n            name=\\\"sourceUserUuid\\\" \\n            buttons=\\\"clear,dropdown\\\"\\n            change.call=\\\"changeSourceUserUuid()\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"sourceType\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"status\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n    <div class=\\\"activations-list\\\">\\n      <h2 class=\\\"table-title\\\">\\n        <p class=\\\"m-0 text-primary\\\" style=\\\"font-size: 1.6rem\\\">\\n          <span static-tooltip=\\\"value.bind: staticTooltipMulticoin\\\">\\n            Elenco dei movimenti\\n          </span>\\n        </p>\\n        <div class=\\\"multicoin-points-container\\\">\\n          <div\\n            if.bind=\\\"multicoinPoints\\\" \\n            class=\\\"multicoin-points ${multicoinPoints.totalAmount.class}\\\">\\n            <span \\n              class=\\\"new-tag\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalAmount.description\\\">\\n              <span>${multicoinPoints.totalAmount.text}:</span>\\n              <span>${multicoinPoints.totalAmount.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            if.bind=\\\"multicoinPoints\\\" \\n            class=\\\"multicoin-points\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalPending.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalPending.description\\\">\\n              <span>${multicoinPoints.totalPending.text}:</span>\\n              <span>${multicoinPoints.totalPending.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            class=\\\"multicoin-points\\\"\\n            if.bind=\\\"multicoinPoints\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalTransferred.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalTransferred.description\\\">\\n              <span>${multicoinPoints.totalTransferred.text}:</span>\\n              <span>${multicoinPoints.totalTransferred.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            class=\\\"multicoin-points\\\"\\n            if.bind=\\\"multicoinPoints\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalBlocked.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalBlocked.description\\\">\\n              <span>${multicoinPoints.totalBlocked.text}:</span>\\n              <span>${multicoinPoints.totalBlocked.amount}</span>\\n            </span>\\n          </div>\\n        </div>\\n      </h2>\\n      <div\\n        class=\\\"table-band\\\" \\n        if.bind=\\\"!isOperator\\\">\\n        <p class=\\\"m-3 banner-message white\\\">\\n          <span if.bind=\\\"userCurrentFidelityCard\\\" class=\\\"${userCurrentFidelityCard.code}\\\">\\n            <strong>Fidelity Card ${userCurrentFidelityCard.title}</strong>\\n            attiva dal ${userCurrentFidelityCard.activatedAt|dateFormat:'DD/MM/YY'}\\n            <template if.bind=\\\"userCurrentFidelityCard.autoRenewable === 'NO' || userCurrentFidelityCard.autoRenewEnabled === 'NO'\\\">\\n              al <strong>${userCurrentFidelityCard.expireAt}</strong>\\n            </template>\\n          </span>\\n          <span else static-tooltip=\\\"value.bind: staticTooltipFidelityCard\\\">\\n            Non hai una Fidelity Card attiva.\\n          </span>\\n        </p>\\n        <div class=\\\"table-buttons\\\">\\n          <ka-button \\n            disabled.bind=\\\"true\\\" \\n            class=\\\"secondary inverted mx-0\\\"\\n            ka-tooltip=\\\"Prossimamente disponibile\\\">Regolamento\\n          </ka-button>\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"openMulticoin()\\\">Accedi a Multicoin</ka-button>\\n        </div>\\n      </div>\\n      <template if.bind=\\\"tableInterface.data\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th>Inserimento</th>\\n                <th>Origine</th>\\n                <th class=\\\"info-tooltip\\\">\\n                  <span ka-tooltip=\\\"value.bind: infoTooltipStatus\\\">Stato</span>\\n                </th>\\n                <th class=\\\"info-tooltip\\\">\\n                  <span ka-tooltip=\\\"value.bind: infoTooltipPoints\\\">Punti</sapn>\\n                </th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of tableInterface.data\\\" id=\\\"transaction-${record.id}\\\">\\n                <td class=\\\"created-at\\\">\\n                  <span class=\\\"data\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span>\\n                  <div>Alle ore: \\n                    <span class=\\\"data\\\">${record.createdAt|dateFormat:'HH:mm'}</span>\\n                  </div>\\n                </td>\\n                <td class=\\\"source\\\">\\n                  <p>${record.sourceUserDisplayName}</p>\\n                  <p \\n                    class=\\\"source-type\\\" \\n                    if.bind=\\\"record.legacySmsQueueId || record.sourceQueueMultiSendCode || record.sourceFlatServiceSubscriptionOrderId\\\">\\n                    <span if.bind=\\\"record.status !== 'ACCREDITED'\\\">${sourceTypes[record.sourceType]} ${record.legacySmsQueueId ? 'SMS' : record.sourceQueueMultiSendCode ? 'Multinvio' : ''}:</span>\\n                    ${record.legacySmsQueueId || record.sourceQueueMultiSendCode || record.sourceFlatServiceSubscriptionOrderId}\\n                    <a\\n                      class=\\\"reason\\\"\\n                      click.delegate=\\\"dialogReason(record)\\\"\\n                      if.bind=\\\"record.reason && ['OPERATOR-IN','OPERATOR-OUT'].includes(record.sourceType)\\\">\\n                      Vedi dettaglio\\n                    </a>\\n                  </p>\\n                </td>\\n                <td class=\\\"type\\\">\\n                  <span \\n                    class=\\\"new-tag ${getTransactionStatus(record, 'class')}\\\" \\n                    ka-tooltip=\\\"value.bind: getTransactionStatus(record, 'description')\\\">${getTransactionStatus(record, 'text')}\\n                  </span>\\n                  <div if.bind=\\\"record.hasTransferErrors === 'YES'\\\" class=\\\"transfer-error-details\\\">\\n                    <p click.delegate=\\\"toggleTransferError(record)\\\">\\n                      <span class=\\\"text\\\">Si è verificato un errore!</span> \\n                      <span class=\\\"accordion\\\">Vedi causa</span>\\n                    </p>              \\n                    <div class=\\\"wrapper\\\">\\n                      <p>${record.transferErrorDetails}</p>\\n                    </div>\\n                  </div>\\n                </td> \\n                <td class=\\\"points ${getTransactionStatus(record, 'class')}\\\">\\n                  <span>${record.amount}</span>\\n                <p class=\\\"accreditation\\\">\\n                  ${getTransactionStatus(record, 'explanation')}\\n                  <a\\n                    class=\\\"failed-accreditation-detail\\\"\\n                    if.bind=\\\"record.status === 'BLOCKED'\\\"\\n                    click.delegate=\\\"dialogLockedAccreditation(record)\\\">vedi causa\\n                  </a>\\n                </p>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button\\n                    class=\\\"flat inverted primary m-0\\\"\\n                    click.delegate=\\\"detail(record, $event)\\\"\\n                    if.bind=\\\"record.sourceQueueUuid || record.sourceFlatServiceSubscriptionUuid || record.legacySmsQueueId\\\">Dettaglio\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti movimenti</td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n<require from=\\\"./notifiche-anteprima.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div innerhtml.bind=\\\"notification.htmlBody\\\"></div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"row\\\">\\n    <!-- Users -->\\n    <div class=\\\"col-5 col-md-4 users\\\">\\n      <h2>Ricerca notifiche</h2>\\n      <template if.bind=\\\"myNotificationsSearchInterface.initialized\\\">\\n        <div class=\\\"row app-shared-search-style\\\" with.bind=\\\"myNotificationsSearchInterface\\\">\\n          <div class=\\\"col-12\\\">\\n            <md-control name=\\\"readBy\\\" buttons=\\\"dropdown\\\" change.call=\\\"readByChanged()\\\"></md-control>\\n          </div>\\n        </div>\\n\\n        <!-- Templates -->\\n        <ul if.bind=\\\"templates && templates.length\\\" class=\\\"templates\\\">\\n          <li id=\\\"all-templates\\\" click.delegate=\\\"setTemplate('all-templates')\\\">\\n            <i class=\\\"fal fa-folders\\\" style=\\\"font-size: 1.7rem\\\"></i>\\n            <strong class=\\\"label\\\">Tutti i modelli</strong>\\n          </li>\\n          <template repeat.for=\\\"template of templates\\\">\\n            <li id=\\\"${template.code}\\\" click.delegate=\\\"setTemplate(template.code)\\\">\\n              <i class=\\\"fal fa-folder\\\"></i>\\n              <span class=\\\"label\\\">${template.label}</span>\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Notices -->\\n    <div class=\\\"col-7 col-md-8 notifications\\\">\\n      <h2 class=\\\"d-flex flex-column align-items-start flex-lg-row align-items-lg-center justify-content-lg-between\\\">\\n        <span style=\\\"white-space: nowrap;\\\">Elenco delle mie notifiche</span>\\n        <ka-button \\n          if.bind=\\\"myNotificationsTableInterface.data\\\" \\n          class=\\\"m-0 me-3 mb-4 mb-lg-0 text-nowrap secondary inverted flat with-icon\\\" \\n          click.delegate=\\\"setAllAsRead(myNotificationsTableInterface)\\\" \\n          disabled.bind=\\\"!myNotificationsTableInterface.data.length\\\">\\n          <i class=\\\"fas fa-bell-slash\\\"></i>\\n          <span>Segna tutte come lette</span>\\n        </ka-button>\\n      </h2>\\n      <template if.bind=\\\"myNotificationsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"myNotificationsTableInterface\\\" pagination-limits=\\\"10,50,200\\\"></md-table-toolbar>\\n        <md-table-progressbar if.bind=\\\"pending || myNotificationsTableInterface.isLoading\\\"></md-table-progressbar>\\n        <template if.bind=\\\"myNotificationsTableInterface.data\\\">\\n          <ul>\\n            <template if.bind=\\\"myNotificationsTableInterface.data.length\\\">\\n              <template repeat.for=\\\"notification of myNotificationsTableInterface.data\\\">\\n                <li id=\\\"${notification.id}\\\" class=\\\"notification ${notification.readByMeAt || notification.automaticallyArchivedAt ? 'readed' : 'unreaded'}\\\">\\n                  <div class=\\\"box row\\\">\\n                    <div class=\\\"col reading-icon\\\">\\n                      <ka-button click.delegate=\\\"notificationsReadStatus(notification)\\\" class=\\\"inverted flat\\\">\\n                        <i class=\\\"fad fa-bell${notification.readByMeAt ? '-slash' : '-on'}\\\"></i>\\n                      </ka-button>\\n                    </div>\\n                    <div class=\\\"col notification-content d-flex flex-column\\\">\\n                      <strong class=\\\"title\\\">${notification.title}</strong>\\n                      <span class=\\\"preview\\\" ka-tooltip=\\\"value.bind: tools.notificationTooltip(notification);\\\">${notification.preview}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"!notification.automaticallyArchivedAt && notification.automaticallyArchiveAt\\\" ka-tooltip.bind=\\\"'Questa notifica verrà archiviata automaticamente il ' + date(notification.automaticallyArchiveAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>La notifica verrà archiviata automaticamente il ${notification.automaticallyArchiveAt | dateFormat}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"notification.automaticallyArchivedAt\\\" ka-tooltip.bind=\\\"'Notifica archiviata automaticamente il ' + date(notification.automaticallyArchivedAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>Notifica archiviata automaticamente il ${notification.automaticallyArchivedAt | dateFormat}</span>\\n                    </div>\\n                    <div class=\\\"col-12 col-md notification-right\\\">\\n                      <div class=\\\"date\\\">\\n                        <span class=\\\"checked\\\">Ricevuta il ${notification.createdAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"!notification.readByMeAt\\\">Notifica non letta<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"notification.readByMeAt\\\" class=\\\"checked\\\">Letta il ${notification.readByMeAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                      </div>\\n                      <!-- Buttons -->\\n                      <div class=\\\"d-flex align-items-end h-100 pt-md-3 notification-buttons\\\">\\n                        <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_UI_NOTIFICATION_ASSIGNATION')\\\" class=\\\"flat secondary m-0 me-2 text-nowrap\\\" click.delegate=\\\"takeOver(notification, $event)\\\" disabled.bind=\\\"api.user.uuid === notification.assigneeUuid\\\">Prendi in carico</ka-button>\\n                        <ka-button class=\\\"flat m-0 text-nowrap\\\" click.delegate=\\\"preview(notification, $event)\\\" css=\\\"${notification.readByMeAt || notification.automaticallyArchivedAt ? 'background: #11254b' : ''}\\\">Leggi</ka-button>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </li>\\n              </template>\\n            </template>\\n            <li if.bind=\\\"!myNotificationsTableInterface.data.length\\\" style=\\\"padding: 0 0 0 .5rem\\\">Nessuna notifica disponibile</li>\\n          </ul>\\n        </template>  \\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"row\\\">\\n    <!-- Users -->\\n    <div class=\\\"col-5 col-md-4 users\\\">\\n      <h2>Ricerca notifiche</h2>\\n      <template if.bind=\\\"userNotificationsSearchInterface.initialized\\\">\\n        <div class=\\\"row app-shared-search-style\\\" with.bind=\\\"userNotificationsSearchInterface\\\">\\n          <div class=\\\"col-12 readBy-user\\\">\\n            <md-control name=\\\"readBy\\\" buttons=\\\"dropdown\\\" change.call=\\\"readByChanged()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <md-control if.bind=\\\"privileges.isOperator\\\" name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear\\\" change.call=\\\"searchUser()\\\"></md-control>\\n            <ka-control if.bind=\\\"!privileges.isOperator\\\" schema.bind=\\\"{ control: 'text', label: mdt.parsers.contextualize(api.user, 'Sottoutente') }\\\" value.bind=\\\"searchSubuser\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n        </div>\\n\\n        <!-- Subusers -->\\n        <ul if.bind=\\\"!privileges.isOperator && subusers && subusers.length\\\" class=\\\"subusers\\\">\\n          <template repeat.for=\\\"subuser of _subusers || subusers\\\">\\n            <li id=\\\"${subuser.legacyOwnerId}\\\" click.delegate=\\\"setSubuser(subuser)\\\">\\n              <span class=\\\"label\\\">${subuser.ownerDisplayName}</span>\\n              <input if.bind=\\\"subuser.unreadNotificationsCount\\\" type=\\\"text\\\" value.bind=\\\"subuser.unreadNotificationsCount\\\" readonly=\\\"true\\\" class=\\\"counter\\\">\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Notices -->\\n    <div class=\\\"col-7 col-md-8 notifications\\\">\\n      <h2 class=\\\"d-flex flex-column align-items-start flex-lg-row align-items-lg-center justify-content-lg-between\\\">\\n        <span style=\\\"white-space: nowrap;\\\">Elenco notifiche ${user ? 'di '+user.ownerDisplayName : null}</span>\\n        <ka-button if.bind=\\\"userNotificationsTableInterface.data && !privileges.isOperator\\\" class=\\\"m-0 me-3 mb-4 mb-lg-0 text-nowrap secondary\\\" click.delegate=\\\"setAllAsRead(userNotificationsTableInterface)\\\" disabled.bind=\\\"!userNotificationsTableInterface.data.length\\\"><i class=\\\"fas fa-bell-slash me-2 align-baseline\\\"></i>Segna tutte come lette</ka-button>\\n      </h2>\\n      <template if.bind=\\\"userNotificationsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"userNotificationsTableInterface\\\" pagination-limits=\\\"10,50,200\\\"></md-table-toolbar>\\n        <md-table-progressbar if.bind=\\\"pending || userNotificationsTableInterface.isLoading\\\"></md-table-progressbar>\\n        <template if.bind=\\\"userNotificationsTableInterface.data\\\">\\n          <ul>           \\n            <template if.bind=\\\"userNotificationsTableInterface.data.length\\\">\\n              <template repeat.for=\\\"notification of userNotificationsTableInterface.data\\\">\\n                <li id=\\\"${notification.id}\\\" class=\\\"notification ${notification.readByMeAt || notification.automaticallyArchivedAt ? 'readed' : 'unreaded'}\\\">\\n                  <div class=\\\"box row\\\">\\n                    <div class=\\\"col reading-icon\\\">\\n                      <ka-button click.delegate=\\\"notificationsReadStatus(notification)\\\" class=\\\"inverted flat\\\">\\n                        <i class=\\\"fad fa-bell${notification.readByMeAt ? '-slash' : '-on'}\\\"></i>\\n                      </ka-button>\\n                    </div>\\n                    <div class=\\\"col notification-content d-flex flex-column\\\">\\n                      <strong class=\\\"title\\\">${notification.title}</strong>\\n                      <span class=\\\"preview\\\" ka-tooltip=\\\"value.bind: notificationTooltip(notification);\\\">${notification.preview}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"!notification.automaticallyArchivedAt && notification.automaticallyArchiveAt\\\" ka-tooltip.bind=\\\"'Questa notifica verrà archiviata automaticamente il ' + date(notification.automaticallyArchiveAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>La notifica verrà archiviata automaticamente il ${notification.automaticallyArchiveAt | dateFormat}</span>\\n                      <span class=\\\"archive archived pt-1\\\" if.bind=\\\"notification.automaticallyArchivedAt\\\" ka-tooltip.bind=\\\"'Notifica archiviata automaticamente il ' + date(notification.automaticallyArchivedAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>Notifica archiviata automaticamente il ${notification.automaticallyArchivedAt | dateFormat}</span>\\n                    </div>\\n                    <div class=\\\"col-12 col-md notification-right\\\">\\n                      <div class=\\\"date\\\">\\n                        <span class=\\\"checked\\\">Ricevuta il ${notification.createdAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"!notification.readByMeAt\\\">Notifica non letta<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"notification.readByMeAt\\\" class=\\\"checked\\\">Letta il ${notification.readByMeAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                      </div>\\n                      <!-- Buttons -->\\n                      <div class=\\\"d-flex align-items-end h-100 pt-md-3 notification-buttons\\\">\\n                        <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_UI_NOTIFICATION_ASSIGNATION')\\\" class=\\\"flat secondary m-0 me-2 text-nowrap\\\" click.delegate=\\\"takeOver(notification, $event)\\\" disabled.bind=\\\"api.user.uuid === notification.assigneeUuid\\\">Prendi in carico</ka-button>\\n                        <ka-button class=\\\"flat m-0 text-nowrap\\\" click.delegate=\\\"preview(notification, $event)\\\" css=\\\"${notification.readByMeAt || notification.automaticallyArchivedAt ? 'background: #11254b' : ''}\\\">Leggi</ka-button>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </li>            \\n              </template>\\n            </template>\\n            <li if.bind=\\\"!userNotificationsTableInterface.data.length\\\" style=\\\"padding: 0 0 0 .5rem\\\">Nessuna notifica disponibile</li>\\n          </ul>\\n        </template>\\n        <p if.bind=\\\"!userNotificationsTableInterface.data\\\" style=\\\"padding: .5rem 0 .5rem 1rem; margin: 0\\\">Nessun utente selezionato</p>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./copertine.sass\\\"></require>\\n  <h2>Copertine</h2>\\n\\n  <div if.bind=\\\"searchInterface.initialized\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div \\n      if.bind=\\\"isMasterUser\\\" \\n      class=\\\"col-12 col-md-3 ${IsUserSearchFieldVisible ? 'col-lg-3' : 'col-lg-6'}\\\">\\n      <md-control\\n        name=\\\"target\\\"\\n        buttons=\\\"dropdown\\\"\\n        change.call=\\\"changeSearchInterfaceDataTarget()\\\">\\n      </md-control>\\n    </div>\\n    <div \\n      if.bind=\\\"IsUserSearchFieldVisible\\\" \\n      class=\\\"col-12 col-md-3 col-lg-3\\\">\\n      <md-control\\n        name=\\\"user\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\"\\n        change.call=\\\"changeSearchInterfaceDataUser()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 ${isOperator || isPrintOperator ? 'col-lg-2' : 'col-lg-3'}\\\">\\n      <md-control\\n        name=\\\"label\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 ${isOperator || isPrintOperator ? 'col-lg-2' : 'col-lg-3'}\\\">\\n      <md-control\\n        name=\\\"status\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 ${isOperator || isPrintOperator? 'col-lg-3' : 'col-lg-6'} d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtGte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtLte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.resetCovers()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.getCovers()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <h2>\\n    <span>Elenco copertine</span>\\n    <ka-button\\n      if.bind=\\\"isMasterUser\\\"\\n      class=\\\"flat with-icon inverted\\\"\\n      click.delegate=\\\"dialogAddCover($event)\\\">\\n      <i class=\\\"fas fa-plus\\\"></i>\\n      <span>Nuova copertina</span>\\n    </ka-button>\\n  </h2>\\n\\n  <template if.bind=\\\"searchInterface.initialized && tableInterface.data\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Titolo</th>\\n            <th if.bind=\\\"isOperator || isPrintOperator\\\">Autore</th>\\n            <th if.bind=\\\"isMasterUser\\\">\\n              <span \\n                class=\\\"info regular\\\"\\n                ka-tooltip=\\\"Una copertina associata allo Studio è sempre utilizzabile. Se associata ai Condomini invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.\\\">\\n                Associati\\n              </span>\\n            </th>\\n            <th>Data inserimento</th>\\n            <th>Aspetto</th>\\n            <th>Stato omologazione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span class=\\\"d-block\\\">${record.label}</span>\\n            </td>\\n            <td if.bind=\\\"isOperator || isPrintOperator\\\">\\n              <span>\\n                ${record.authorDisplayName}\\n                <small class=\\\"d-block\\\">ID: ${record.authorId}</small>\\n              </span>\\n            </td>\\n            <td if.bind=\\\"isMasterUser\\\">\\n              <p class=\\\"user-subusers\\\">\\n                <span\\n                  class=\\\"tag user with-icon\\\"\\n                  if.bind=\\\"record.associations.target === 'SELF'\\\">\\n                  Studio \\n                  <span\\n                    class=\\\"default\\\"\\n                    if.bind=\\\"record.associations.default === 'YES'\\\">\\n                    Predefinita\\n                  </span>\\n                </span>                 \\n                <span\\n                  class=\\\"tag building with-icon mb-2 me-2\\\"\\n                  if.bind=\\\"record.associations.items\\\"\\n                  repeat.for=\\\"item of record.associations.items\\\">\\n                  ${item.displayName}\\n                  <span\\n                    class=\\\"default\\\"\\n                    if.bind=\\\"item.default === 'YES'\\\">\\n                    Predefinita\\n                  </span>\\n                </span>\\n              </p>\\n            </td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              <small class=\\\"d-block mb-2\\\" style=\\\"white-space: nowrap\\\"><span class=\\\"text-color\\\">Stampa:</span> ${record.colorMode === 'BW' ? 'bianco e nero' : 'a colori'}</small>\\n              <small class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><span class=\\\"text-color\\\">Grammatura:</span> ${record.weight}gr</small>\\n            </td>\\n            <td>\\n              <span class=\\\"tag with-icon ${coverStatuses[record.status].class}\\\">\\n                ${coverStatuses[record.status].text}\\n              </span>\\n              <small\\n                class=\\\"d-block\\\" \\n                if.bind=\\\"record.approvedAt\\\" \\n                style=\\\"margin-top: .8rem\\\">Data approvazione: ${ record.approvedAt|dateFormat:'DD/MM/YYYY' }\\n              </small>\\n            </td>\\n            <td class=\\\"text-end\\\" style=\\\"white-space: nowrap\\\">\\n              <ka-button\\n                class=\\\"flat inverted\\\"\\n                if.bind=\\\"isPrintOperator\\\"\\n                click.delegate=\\\"dialogManageCover($event, record)\\\">Gestisci omologazione\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"isMasterUser\\\"\\n                disabled.bind=\\\"record.status === 'REFUSED'\\\"\\n                class=\\\"inverted primary flat ms-0\\\"\\n                click.delegate=\\\"dialogUserAssociationsWithTheCover(record, $event)\\\">\\n                Modifica associazione\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"mdFileViewer.fileViewer(`users/me/preferences/sender/letter-covers/${record.uuid}/download`, 'pdf', $event)\\\">\\n                <i class=\\\"far fa-eye\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"mdFileDownload.fileDownload(`users/me/preferences/sender/letter-covers/${record.uuid}/download`, record, 'pdf', $event)\\\">\\n                <i class=\\\"far fa-file-download\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"isMasterUser\\\"\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"dialogDeleteCover(record.uuid)\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n            </td>      \\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Non sono presenti copertine</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../copertine.sass\\\"></require>\\n  <require from=\\\"./add-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <h4 class=\\\"important m-0 mb-1\\\">IMPORTANTE!</h4>\\n    <p class=\\\"m-0 mb-3\\\">Per aggiungere una nuova copertina è necessario caricare un file PDF di 4 pagine in formato A4. L'ordine delle pagine è indicato qui sotto.\\n    </p>\\n    <h4 class=\\\"layout-title\\\">\\n      <span static-tooltip=\\\"value.bind: staticTooltipCover\\\" style=\\\"align-items: center\\\">\\n        <span>Ordine delle pagine nel documento</span>\\n      </span>\\n    </h4>\\n    <ul class=\\\"document\\\">\\n      <li>\\n        <svg viewBox=\\\"0 0 282.7 396.5\\\"><rect x=\\\"4\\\" y=\\\"4\\\" width=\\\"274.7\\\" height=\\\"388.5\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.49 141.92)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.9 296.9)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.4px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">1</tspan></text></g></g></g></svg   >\\n      </li>\\n      <li>\\n        <svg viewBox=\\\"0 0 557.38 396.5\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.52 141.87)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.94 296.85)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.37px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">2</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(376.83 141.87)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(395.25 296.85)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.37px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">3</tspan></text></g></g></g></g><polygon points=\\\"4 4 278.69 4 553.38 4 553.38 392.5 278.69 392.5 4 392.5 4 4\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><line x1=\\\"278.69\\\" y1=\\\"4\\\" x2=\\\"278.69\\\" y2=\\\"392.5\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/></svg   >\\n      </li>\\n      <li>\\n        <svg viewBox=\\\"0 0 282.6 396.4\\\"><rect x=\\\"4\\\" y=\\\"4\\\" width=\\\"274.6\\\" height=\\\"388.4\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.49 141.82)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.9 296.8)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.4px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">4</tspan></text></g></g></g></svg   >\\n      </li>\\n    </ul>\\n    <h4 class=\\\"layout-title\\\">\\n      <span static-tooltip=\\\"value.bind: staticTooltipCover\\\" style=\\\"align-items: center\\\">\\n        <span>Disposizione grafica del layout o impaginazione</span>\\n      </span>\\n    </h4>\\n    <div class=\\\"paginated\\\">\\n      <svg viewBox=\\\"0 0 556.38 433.45\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M332.4,138.08c-1.87,1.72-4.28,2.52-7.21,2.37-3.62-.18-6.48-1.57-8.54-4.17-2.07-2.61-3.11-6.1-3.11-10.47,0-4.72,1.18-8.28,3.54-10.67,2.05-2.08,4.66-3,7.83-2.78,4.24.3,7.34,1.99,9.3,5.06,1.08,1.72,1.66,3.42,1.74,5.08-2.11-.13-3.16-.2-5.26-.33-.34-1.3-.78-2.3-1.32-2.98-.96-1.22-2.38-1.9-4.26-2.02-1.91-.13-3.42.59-4.53,2.17-1.11,1.58-1.66,3.88-1.66,6.9s.58,5.32,1.75,6.88c1.17,1.57,2.65,2.4,4.45,2.49,1.85.1,3.25-.47,4.22-1.69.54-.66.98-1.67,1.33-3.03,2.09.12,3.13.18,5.21.3-.46,2.88-1.62,5.18-3.49,6.89Z\\\"/><path d=\\\"M351.04,141.76c-3.6-.18-6.35-1.44-8.25-3.51-2.44-2.66-3.83-6.39-3.83-11.16s1.44-8.43,3.83-10.7c1.9-1.8,4.65-2.77,8.25-2.51,3.6.25,6.35,1.58,8.25,3.63,2.39,2.57,3.81,6.25,3.81,11.04s-1.38,8.21-3.81,10.58c-1.9,1.85-4.65,2.82-8.25,2.64ZM356.02,134.96c1.22-1.53,1.83-3.78,1.83-6.73s-.61-5.25-1.84-6.94c-1.22-1.69-2.88-2.61-4.96-2.74-2.08-.14-3.75.55-4.99,2.09-1.24,1.53-1.86,3.79-1.86,6.77s.62,5.31,1.86,7c1.24,1.68,2.91,2.58,4.99,2.69,2.08.11,3.75-.6,4.97-2.14Z\\\"/><path d=\\\"M377.82,133.11c-2.14-.12-3.21-.19-5.35-.31v9.33c-2.09-.11-3.14-.16-5.23-.27v-26.05c4.39.3,6.58.46,10.97.76,2.53.18,4.55.98,6.05,2.41,1.5,1.43,2.26,3.53,2.26,6.31,0,3.03-.75,5.13-2.26,6.3-1.5,1.17-3.65,1.68-6.44,1.51ZM380.28,127.87c.68-.57,1.03-1.54,1.03-2.88s-.34-2.32-1.03-2.94c-.69-.62-1.66-.97-2.9-1.05-1.96-.13-2.94-.19-4.91-.32v7.64c1.96.12,2.94.18,4.91.3,1.24.08,2.22-.17,2.91-.75Z\\\"/><path d=\\\"M408,132.89c-4.89-.29-7.34-.43-12.24-.72,0,2.63,0,3.94,0,6.57,5.58.3,8.37.46,13.95.76v4.55c-7.64-.39-11.45-.59-19.09-.98v-25.64c7.39.51,11.08.77,18.47,1.28v4.48l-13.33-.88v5.42c4.89.3,7.34.46,12.24.76v4.4Z\\\"/><path d=\\\"M424.51,134.99c-2.17-.13-3.26-.19-5.43-.32v9.85c-2.06-.11-3.09-.16-5.14-.26,0-10.09,0-15.13,0-25.22,4.94.34,7.41.51,12.36.86,1.77.16,3.13.46,4.08.92.95.46,1.76,1.1,2.42,1.9.55.67.98,1.39,1.3,2.18.32.79.48,1.67.48,2.65,0,1.18-.3,2.32-.91,3.43-.6,1.1-1.6,1.85-2.99,2.24,1.16.53,1.99,1.24,2.47,2.11.48.88.73,2.19.73,3.93v1.67c0,1.14.05,1.91.14,2.32.14.64.46,1.14.96,1.47v.62l-5.79-.3c-.16-.56-.27-1.01-.34-1.35-.14-.7-.21-1.43-.22-2.16-.01-.93-.02-1.39-.03-2.32-.02-1.59-.32-2.67-.88-3.23-.56-.56-1.62-.89-3.17-.98ZM427.71,130.64c1.05-.41,1.57-1.31,1.57-2.71,0-1.51-.51-2.56-1.52-3.15-.57-.33-1.42-.53-2.56-.61-2.45-.16-3.67-.24-6.12-.4v6.75c2.39.15,3.58.22,5.96.37,1.18.07,2.07,0,2.67-.24Z\\\"/><path d=\\\"M457.39,122.05v4.33c-3.01-.2-4.52-.3-7.54-.5v20.23c-2.12-.11-3.18-.16-5.3-.27,0-8.12,0-12.18,0-20.3-3.03-.2-4.54-.3-7.57-.5v-4.39c8.16.57,12.24.85,20.41,1.41Z\\\"/><path d=\\\"M460.06,122.24c2.09.14,3.14.22,5.23.36,0,9.72,0,14.58,0,24.3-2.09-.11-3.14-.16-5.23-.27,0-9.76,0-14.64,0-24.39Z\\\"/><path d=\\\"M490.57,148.2c-2.11-.11-3.16-.16-5.26-.27-4.12-7.01-6.17-10.55-10.29-17.67,0,6.85,0,10.28,0,17.14-1.96-.1-2.94-.15-4.9-.25,0-9.69,0-14.53,0-24.21,2.21.15,3.31.23,5.52.38,4.01,7.01,6.02,10.49,10.03,17.4v-16.71c1.96.14,2.94.2,4.9.34,0,9.54,0,14.31,0,23.85Z\\\"/><path d=\\\"M510.22,144.38c-3.71-.2-5.57-.31-9.28-.51-.7,1.91-1.05,2.86-1.74,4.77-2.2-.11-3.3-.17-5.5-.28,3.6-9.33,5.39-13.97,8.99-23.17,2.38.16,3.57.25,5.95.41,3.57,9.66,5.35,14.45,8.92,23.98-2.28-.12-3.42-.18-5.71-.29-.65-1.96-.97-2.95-1.62-4.91ZM508.75,140.25c-1.26-3.78-1.89-5.67-3.14-9.46-1.3,3.63-1.95,5.44-3.25,9.09,2.56.15,3.83.22,6.39.37Z\\\"/></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M401.77,279.61v-4.99c4.66-.65,7.9-1.54,9.74-2.68,1.84-1.14,3.21-3.71,4.12-7.7,2.03-.07,3.05-.1,5.09-.17,0,16.97,0,33.93,0,50.9-2.75.19-4.13.29-6.88.48v-36.37c-4.83.21-7.24.32-12.07.53Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M92.13,137.31c-2.17.13-3.26.19-5.43.32,0,3.8,0,5.7,0,9.5-2.06.11-3.09.16-5.14.26,0-9.65,0-14.48,0-24.13,4.94-.34,7.41-.51,12.36-.86,1.77-.09,3.13.03,4.08.35.95.32,1.76.84,2.42,1.54.55.58.98,1.24,1.3,1.97.32.73.48,1.58.48,2.55,0,1.16-.3,2.33-.91,3.49-.6,1.16-1.6,2.02-2.99,2.56,1.16.38,1.99.98,2.47,1.79.48.81.73,2.07.73,3.79v1.65c0,1.12.05,1.88.14,2.27.14.62.46,1.07.96,1.35v.62c-2.32.12-3.48.18-5.79.3-.16-.53-.27-.96-.34-1.29-.14-.67-.21-1.37-.22-2.09-.01-.91-.02-1.36-.03-2.26-.02-1.56-.32-2.57-.88-3.06-.56-.49-1.62-.68-3.17-.59ZM95.33,132.69c1.05-.53,1.57-1.48,1.57-2.85,0-1.48-.51-2.44-1.52-2.88-.57-.25-1.42-.34-2.56-.26-2.45.16-3.67.24-6.12.4v6.51c2.39-.15,3.58-.22,5.96-.37,1.18-.07,2.07-.26,2.67-.56Z\\\"/><path d=\\\"M124.25,134.32c-4.89.29-7.34.43-12.24.72,0,2.54,0,3.81,0,6.34,5.58-.3,8.37-.46,13.95-.76v4.48c-7.64.39-11.45.59-19.09.98,0-9.83,0-14.75,0-24.58,7.39-.51,11.08-.77,18.47-1.28v4.41c-5.33.35-8,.53-13.33.88v5.24c4.89-.3,7.34-.46,12.24-.76v4.32Z\\\"/><path d=\\\"M148.36,118.63v4.48c-3.01.2-4.52.3-7.54.5,0,8.29,0,12.44,0,20.73-2.12.11-3.18.16-5.3.27,0-8.26,0-12.39,0-20.65-3.03.2-4.54.3-7.57.5v-4.42c8.16-.57,12.24-.85,20.41-1.41Z\\\"/><path d=\\\"M162.13,133.22c-2.17.13-3.26.19-5.43.32,0,4,0,5.99,0,9.99-2.06.11-3.09.16-5.14.26,0-10.15,0-15.23,0-25.38,4.94-.34,7.41-.51,12.36-.86,1.77-.09,3.13.04,4.08.38.95.34,1.76.88,2.42,1.63.55.62.98,1.31,1.3,2.08.32.77.48,1.66.48,2.68,0,1.22-.3,2.45-.91,3.66s-1.6,2.11-2.99,2.68c1.16.41,1.99,1.04,2.47,1.89.48.85.73,2.18.73,3.98v1.73c0,1.18.05,1.97.14,2.38.14.65.46,1.13.96,1.42v.65c-2.32.12-3.48.18-5.79.3-.16-.56-.27-1.01-.34-1.36-.14-.71-.21-1.44-.22-2.2-.01-.95-.02-1.43-.03-2.38-.02-1.64-.32-2.71-.88-3.22-.56-.51-1.62-.72-3.17-.63ZM165.33,128.38c1.05-.55,1.57-1.55,1.57-2.99,0-1.55-.51-2.57-1.52-3.03-.57-.26-1.42-.36-2.56-.28l-6.12.4v6.84c2.39-.15,3.58-.22,5.96-.37,1.18-.07,2.07-.27,2.67-.58Z\\\"/><path d=\\\"M187.85,142.65c-3.6.18-6.35-.78-8.25-2.6-2.44-2.34-3.83-5.81-3.83-10.45,0-4.73,1.43-8.36,3.83-10.91,1.91-2.02,4.65-3.35,8.25-3.6,3.6-.25,6.35.69,8.25,2.48,2.38,2.24,3.81,5.76,3.81,10.57,0,4.71-1.37,8.4-3.81,11.03-1.91,2.06-4.65,3.29-8.25,3.47ZM192.83,135.38c1.22-1.66,1.83-3.97,1.83-6.92,0-2.93-.61-5.16-1.84-6.69-1.22-1.52-2.88-2.21-4.96-2.07-2.08.14-3.75,1.04-4.99,2.71-1.24,1.66-1.86,3.95-1.86,6.87,0,2.92.62,5.13,1.86,6.65,1.24,1.51,2.91,2.22,4.99,2.11,2.08-.11,3.75-1,4.97-2.66Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M144.8,315.6v-12.57c-9-.55-13.5-.82-22.5-1.37v-6.22c7.92-10.4,15.75-20.86,23.5-31.39,2.18.07,3.27.11,5.45.18,0,11.18,0,22.35,0,33.53,3.02.17,4.54.26,7.56.43,0,2.28,0,3.42,0,5.7-3.02-.18-4.54-.28-7.56-.46,0,5.05,0,7.58,0,12.63-2.58-.18-3.87-.27-6.45-.45ZM144.69,297.38c0-9.35,0-14.02,0-23.37-6.58,9.08-9.87,13.56-16.44,22.43,6.58.38,9.87.56,16.44.94Z\\\"/></g></g></g></g></g></g><path d=\\\"M140.85,410.98c-45.78-6.31-91.56-12.63-137.35-18.94,0-58.44,0-116.87,0-175.31,0-58.44,0-116.87,0-175.31,45.78-6.31,91.56-12.63,137.35-18.94,45.78-6.31,91.56-12.63,137.34-18.94,0,0,183.13,25.26,274.69,37.88v350.62c-91.56,12.63-183.13,25.26-274.69,37.88,0,0-91.56-12.63-137.34-18.94Z\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/><line x1=\\\"278.19\\\" y1=\\\"3.53\\\" x2=\\\"278.19\\\" y2=\\\"429.92\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/></svg>\\n      <svg viewBox=\\\"0 0 556.38 434.42\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M382.71,127.14c-.54.75-.81,1.72-.79,2.9-1.82.12-2.73.17-4.55.29.04-1.2.24-2.39.63-3.45.36-.95,1.03-1.9,1.88-2.74.62-.61,1.4-1.09,2.27-1.46.88-.36,1.95-.59,3.23-.67,2.37-.16,4.28.31,5.73,1.41,1.45,1.11,2.18,2.68,2.18,4.7,0,1.44-.43,2.67-1.3,3.71-.55.65-1.12,1.11-1.71,1.36.44-.03,1.08.31,1.91,1.01,1.24,1.06,1.86,2.57,1.86,4.53,0,2.06-.73,3.92-2.18,5.56-1.45,1.64-3.6,2.53-6.45,2.67-3.51.18-5.95-.81-7.31-2.97-.72-1.15-1.12-2.68-1.2-4.59,1.91-.11,2.87-.16,4.79-.27,0,.97.16,1.76.48,2.38.59,1.14,1.67,1.66,3.23,1.58.96-.05,1.79-.42,2.5-1.1s1.07-1.63,1.07-2.83c0-1.6-.66-2.63-1.98-3.09-.75-.26-1.94-.34-3.55-.24v-3.41c1.58-.12,2.69-.34,3.32-.66,1.08-.54,1.62-1.52,1.62-2.95,0-.93-.28-1.67-.83-2.21-.55-.54-1.33-.78-2.33-.72-1.15.08-1.99.5-2.53,1.24Z\\\"/><path d=\\\"M397.6,122.58c.91-1.21,2.48-1.89,4.7-2.05,1.45-.1,2.74.09,3.86.58,1.11.49,1.67,1.53,1.67,3.12v6.03c0,.42,0,.93.03,1.53.02.45.09.75.21.91.11.15.28.27.51.36v.51c-1.5.09-2.26.13-3.76.22-.11-.25-.19-.5-.23-.73-.04-.24-.07-.5-.09-.79-.48.55-1.03,1.03-1.64,1.42-.74.47-1.59.72-2.53.78-1.2.07-2.18-.21-2.96-.84s-1.17-1.56-1.17-2.8c0-1.61.63-2.81,1.88-3.61.68-.43,1.69-.77,3.03-1.03.47-.09.71-.14,1.18-.23.64-.12,1.1-.25,1.38-.38.49-.25.73-.59.73-1.03,0-.54-.19-.9-.56-1.08-.38-.18-.93-.24-1.66-.19-.82.06-1.4.3-1.74.73-.24.31-.4.72-.48,1.23-1.33.09-2,.13-3.33.22.07-1.15.39-2.11.97-2.88ZM400.16,131.61c.32.23.72.35,1.2.32.74-.05,1.42-.3,2.05-.78.63-.47.95-1.28.97-2.42v-1.27c-.22.15-.44.27-.66.37-.22.1-.53.19-.91.29-.31.08-.47.12-.79.2-.72.17-1.24.36-1.56.56-.54.35-.8.85-.8,1.5,0,.59.17,1,.5,1.24Z\\\"/><path d=\\\"M432.55,143.95c-4.34.22-6.51.33-10.85.56,0-10.12,0-15.18,0-25.3,4.34-.3,6.51-.45,10.85-.75,1.56-.08,2.86,0,3.9.29,1.77.47,3.2,1.45,4.29,2.96.88,1.21,1.48,2.56,1.79,4.02.32,1.47.48,2.87.48,4.22,0,3.41-.67,6.35-2.02,8.79-1.82,3.29-4.64,5.02-8.44,5.22ZM436.46,124.71c-.8-1.33-2.41-1.92-4.8-1.76-1.94.13-2.91.19-4.85.32v16.57c1.94-.11,2.91-.16,4.85-.26,2.48-.14,4.21-1.47,5.2-4.01.54-1.4.8-3.04.8-4.92,0-2.6-.4-4.59-1.2-5.93Z\\\"/><path d=\\\"M446.56,117.49c2.09-.14,3.14-.22,5.23-.36,0,10.34,0,15.5,0,25.84-2.09.11-3.14.16-5.23.27,0-10.3,0-15.45,0-25.75Z\\\"/><path d=\\\"M332.4,189.68c-1.88,1.66-4.28,2.51-7.21,2.57-3.62.07-6.48-.96-8.54-3.08-2.07-2.12-3.11-5.07-3.11-8.84,0-4.08,1.18-7.26,3.54-9.56,2.05-2,4.66-3.07,7.83-3.19,4.24-.16,7.34,1.03,9.3,3.58,1.08,1.43,1.66,2.89,1.74,4.37-2.11.07-3.16.1-5.26.17-.34-1.12-.78-1.97-1.32-2.53-.96-.99-2.38-1.46-4.26-1.39-1.91.07-3.42.84-4.53,2.32-1.11,1.48-1.66,3.53-1.66,6.16s.58,4.59,1.75,5.87c1.17,1.28,2.65,1.91,4.45,1.87,1.85-.04,3.25-.64,4.22-1.79.54-.62.98-1.55,1.33-2.78,2.09-.05,3.13-.08,5.21-.13-.46,2.6-1.62,4.74-3.49,6.39Z\\\"/><path d=\\\"M351.04,191.75c-3.6.07-6.35-.9-8.25-2.63-2.44-2.23-3.83-5.47-3.83-9.75,0-4.36,1.42-7.67,3.83-9.96,1.9-1.81,4.65-2.96,8.25-3.1,3.6-.14,6.36.81,8.25,2.51,2.39,2.14,3.81,5.42,3.81,9.87s-1.37,7.72-3.81,10.08c-1.9,1.84-4.65,2.91-8.25,2.98ZM356.02,185.18c1.22-1.5,1.83-3.62,1.83-6.34s-.61-4.79-1.84-6.23c-1.22-1.44-2.88-2.12-4.96-2.05-2.08.07-3.75.86-4.99,2.37-1.24,1.5-1.86,3.6-1.86,6.29s.62,4.75,1.86,6.19c1.24,1.43,2.91,2.13,4.99,2.08s3.75-.82,4.97-2.32Z\\\"/><path d=\\\"M377.82,181.75c-2.14.06-3.21.08-5.35.14v8.78c-2.09.04-3.14.06-5.23.1v-24.33c4.39-.16,6.58-.25,10.97-.41,2.53-.09,4.55.46,6.05,1.68s2.26,3.16,2.26,5.83c0,2.91-.75,4.99-2.26,6.24-1.5,1.24-3.65,1.9-6.44,1.97ZM380.28,176.57c.68-.6,1.03-1.55,1.03-2.83s-.34-2.18-1.03-2.7c-.69-.52-1.66-.76-2.9-.72-1.96.07-2.94.1-4.91.17v7.19c1.96-.06,2.94-.09,4.91-.14,1.24-.04,2.21-.36,2.91-.97Z\\\"/><path d=\\\"M408,179.03c-4.89.13-7.34.2-12.24.33v6.39c5.58-.13,8.37-.19,13.95-.32v4.51c-7.64.15-11.45.22-19.09.37v-24.74c7.39-.28,11.08-.41,18.47-.69v4.44c-5.33.18-8,.27-13.33.46v5.27c4.89-.15,7.34-.22,12.24-.37v4.35Z\\\"/><path d=\\\"M424.51,179.71c-2.17.06-3.26.09-5.43.14v9.9c-2.06.04-3.09.06-5.14.1v-25.16c4.94-.18,7.41-.28,12.36-.46,1.77-.03,3.13.14,4.08.5.95.37,1.76.93,2.42,1.69.55.63.98,1.33,1.3,2.1.32.77.48,1.66.48,2.67,0,1.21-.3,2.41-.91,3.6-.6,1.19-1.6,2.04-2.99,2.57,1.16.44,1.99,1.09,2.47,1.95.48.86.73,2.18.73,3.97v1.71c0,1.17.05,1.96.14,2.37.14.65.46,1.13.96,1.44v.64c-2.32.05-3.48.07-5.79.11-.16-.56-.27-1.01-.34-1.36-.14-.71-.21-1.44-.22-2.19-.01-.94-.02-1.42-.03-2.36-.02-1.62-.32-2.69-.88-3.22s-1.62-.77-3.17-.73ZM427.71,175.01c1.05-.51,1.57-1.48,1.57-2.91,0-1.54-.51-2.56-1.52-3.05-.57-.28-1.42-.4-2.56-.36l-6.12.21v6.78c2.39-.07,3.58-.11,5.96-.18,1.18-.03,2.07-.2,2.67-.49Z\\\"/><path d=\\\"M457.39,163.08v4.59c-3.01.1-4.52.15-7.54.26v21.24c-2.12.04-3.18.06-5.3.1v-21.16c-3.03.1-4.54.16-7.57.26v-4.53c8.16-.3,12.24-.46,20.41-.76Z\\\"/><path d=\\\"M460.06,162.98c2.09-.08,3.14-.12,5.23-.2,0,10.43,0,15.65,0,26.08-2.09.04-3.14.06-5.23.1,0-10.39,0-15.59,0-25.99Z\\\"/><path d=\\\"M490.57,188.37l-5.26.1c-4.12-7.43-6.17-11.12-10.29-18.45,0,7.46,0,11.19,0,18.65-1.96.04-2.94.06-4.9.1v-26.17c2.21-.08,3.31-.12,5.52-.21,4.01,7.18,6.02,10.8,10.03,18.09v-18.46c1.96-.07,2.94-.11,4.9-.18,0,10.61,0,15.92,0,26.53Z\\\"/><path d=\\\"M510.22,182.46c-3.71.09-5.57.13-9.28.21-.7,2.21-1.05,3.32-1.74,5.53-2.2.04-3.3.06-5.5.11,3.01-8.97,6.01-17.94,8.99-26.92,2.38-.09,3.57-.13,5.95-.22,2.99,8.89,5.96,17.78,8.92,26.68-2.28.04-3.42.07-5.71.11-.65-2.2-.97-3.3-1.62-5.49ZM508.75,177.87c-1.26-4.19-1.89-6.29-3.14-10.46-1.3,4.26-1.95,6.39-3.25,10.63,2.56-.07,3.83-.1,6.39-.17Z\\\"/></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M400.61,311.2c-2.73-3.48-4.1-7.56-4.1-12.27,2.69.16,4.04.24,6.74.4.29,3.31.91,5.74,1.86,7.29,1.67,2.79,4.69,4.33,9.06,4.62,3.39.23,6.11-.5,8.17-2.19,2.05-1.69,3.08-3.98,3.08-6.87,0-3.56-1.08-6.11-3.24-7.65-2.16-1.53-5.17-2.4-9.01-2.6-.43-.02-.87-.04-1.31-.05-.44-.01-.89-.02-1.34-.02v-5.68c.67.1,1.23.18,1.68.23.45.05.94.08,1.47.11,2.41.12,4.39-.17,5.95-.86,2.72-1.21,4.08-3.55,4.08-7.01,0-2.57-.91-4.59-2.72-6.05-1.82-1.46-3.93-2.23-6.34-2.33-4.3-.16-7.27,1.15-8.92,3.93-.91,1.53-1.42,3.73-1.54,6.62-2.55-.12-3.83-.17-6.38-.29,0-3.77.76-6.95,2.29-9.53,2.63-4.62,7.25-6.84,13.86-6.62,5.23.18,9.28,1.48,12.15,3.93,2.87,2.45,4.3,5.92,4.3,10.38,0,3.19-.85,5.73-2.54,7.62-1.05,1.18-2.41,2.07-4.08,2.68,2.7.88,4.81,2.43,6.32,4.65,1.52,2.22,2.27,4.88,2.27,7.97,0,4.95-1.61,8.89-4.84,11.78-3.22,2.89-7.8,4.11-13.72,3.69-6.07-.43-10.47-2.4-13.2-5.88Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M113.18,123.28c-.58-.75-1.41-1.16-2.5-1.23-1.48-.1-2.49.4-3.03,1.5-.31.63-.49,1.66-.55,3.08-1.89-.12-2.84-.18-4.73-.3.08-2.16.46-3.89,1.14-5.17,1.3-2.45,3.61-3.56,6.92-3.33,2.62.18,4.71,1.07,6.25,2.65,1.55,1.58,2.32,3.58,2.32,6.01,0,1.86-.55,3.48-1.64,4.87-.72.92-1.9,1.92-3.54,3.01-.78.52-1.17.78-1.95,1.3-1.22.81-2.05,1.41-2.5,1.78-.45.37-.83.81-1.14,1.32,4.33.24,6.49.35,10.82.59v4.36c-6.79-.35-10.18-.52-16.97-.87.04-1.82.49-3.49,1.14-4.94.72-1.59,2.34-3.36,4.92-5.1,2.24-1.51,3.7-2.6,4.36-3.27,1.01-1.04,1.52-2.22,1.52-3.53,0-1.07-.29-1.97-.87-2.72Z\\\"/><path d=\\\"M122.6,120.12c.91-1.12,2.48-1.59,4.7-1.44,1.45.1,2.74.48,3.86,1.13,1.12.65,1.67,1.78,1.67,3.38v6.1c0,.42,0,.94.03,1.55.02.46.09.77.21.94.11.17.28.31.51.43v.52c-1.5-.09-2.26-.13-3.76-.22-.11-.27-.19-.53-.23-.77-.04-.24-.07-.52-.09-.82-.48.5-1.03.93-1.64,1.25-.74.39-1.59.54-2.53.49-1.2-.07-2.18-.48-2.96-1.21-.78-.74-1.17-1.75-1.17-3.02,0-1.65.63-2.81,1.88-3.46.68-.35,1.69-.56,3.03-.65.47-.03.71-.05,1.18-.08.64-.04,1.1-.11,1.38-.2.49-.19.73-.5.73-.95,0-.55-.19-.94-.56-1.17s-.93-.37-1.66-.42c-.82-.06-1.4.11-1.74.5-.24.28-.4.68-.48,1.2-1.33-.09-2-.13-3.33-.22.07-1.17.39-2.12.97-2.83ZM125.16,129.7c.32.28.72.44,1.2.47.74.05,1.42-.13,2.05-.54.63-.4.95-1.18.97-2.34v-1.29c-.22.12-.44.22-.66.29-.22.07-.53.13-.91.17-.31.04-.47.06-.79.1-.72.08-1.24.2-1.56.37-.54.29-.8.77-.8,1.44,0,.6.17,1.04.5,1.33Z\\\"/><path d=\\\"M157.55,145.69c-4.34-.22-6.51-.33-10.85-.56,0-10.03,0-15.05,0-25.09,4.34.3,6.51.45,10.85.75,1.56.13,2.86.4,3.9.81,1.77.69,3.2,1.84,4.29,3.44.88,1.29,1.48,2.66,1.79,4.11.32,1.45.48,2.82.48,4.12,0,3.29-.67,6.03-2.02,8.24-1.82,2.98-4.64,4.38-8.44,4.18ZM161.46,127.4c-.8-1.4-2.41-2.18-4.8-2.34-1.94-.13-2.91-.19-4.85-.32,0,6.52,0,9.79,0,16.31,1.94.11,2.91.16,4.85.26,2.48.14,4.21-.98,5.2-3.34.54-1.29.8-2.85.8-4.68,0-2.52-.4-4.5-1.2-5.9Z\\\"/><path d=\\\"M171.56,121.77c2.09.14,3.14.22,5.23.36,0,9.82,0,14.73,0,24.55-2.09-.11-3.14-.16-5.23-.27,0-9.86,0-14.78,0-24.64Z\\\"/><path d=\\\"M57.4,186.21c-1.87,1.78-4.28,2.65-7.21,2.6-3.62-.07-6.48-1.36-8.54-3.89-2.07-2.54-3.11-6.01-3.11-10.37,0-4.72,1.18-8.32,3.54-10.78,2.05-2.14,4.66-3.15,7.83-3.03,4.24.16,7.34,1.75,9.3,4.76,1.08,1.69,1.66,3.36,1.74,5.03-2.11-.07-3.16-.1-5.26-.17-.34-1.29-.78-2.27-1.32-2.94-.96-1.19-2.38-1.82-4.26-1.89-1.91-.07-3.42.7-4.53,2.32-1.11,1.61-1.66,3.93-1.66,6.95s.58,5.3,1.75,6.83c1.17,1.53,2.65,2.31,4.45,2.35,1.85.04,3.25-.57,4.22-1.83.54-.68.98-1.7,1.33-3.07,2.09.05,3.13.08,5.21.13-.46,2.89-1.62,5.23-3.49,7.01Z\\\"/><path d=\\\"M76.04,189.3c-3.6-.07-6.35-1.23-8.25-3.25-2.44-2.58-3.83-6.27-3.83-11.04s1.44-8.48,3.83-10.82c1.9-1.86,4.65-2.92,8.25-2.78,3.6.14,6.35,1.38,8.25,3.37,2.39,2.49,3.81,6.13,3.81,10.92s-1.38,8.25-3.81,10.7c-1.9,1.91-4.65,2.97-8.25,2.9ZM81.02,182.34c1.22-1.57,1.83-3.84,1.83-6.79s-.61-5.24-1.84-6.89c-1.22-1.65-2.88-2.51-4.96-2.59-2.08-.07-3.75.67-4.99,2.25-1.24,1.57-1.86,3.85-1.86,6.83s.62,5.3,1.86,6.94c1.24,1.64,2.91,2.49,4.99,2.53,2.08.05,3.75-.72,4.97-2.29Z\\\"/><path d=\\\"M102.82,179.79c-2.14-.06-3.21-.08-5.35-.14v9.34c-2.09-.04-3.14-.06-5.23-.1,0-10.42,0-15.64,0-26.06,4.39.16,6.58.25,10.97.41,2.53.09,4.55.84,6.05,2.22,1.5,1.38,2.26,3.46,2.26,6.24,0,3.03-.75,5.16-2.26,6.38-1.5,1.22-3.65,1.79-6.44,1.72ZM105.28,174.47c.68-.59,1.03-1.57,1.03-2.91s-.34-2.31-1.03-2.91c-.69-.59-1.66-.91-2.9-.96-1.96-.07-2.94-.1-4.91-.17,0,3.06,0,4.59,0,7.65,1.96.06,2.94.09,4.91.14,1.24.04,2.22-.25,2.91-.85Z\\\"/><path d=\\\"M133,178.61c-4.89-.13-7.34-.2-12.24-.33v6.57c5.58.13,8.37.19,13.95.32v4.55c-7.64-.15-11.45-.22-19.09-.37v-25.64c7.39.28,11.08.41,18.47.69v4.48c-5.33-.18-8-.27-13.33-.46v5.43c4.89.15,7.34.22,12.24.37v4.4Z\\\"/><path d=\\\"M149.51,180.18c-2.17-.06-3.26-.09-5.43-.14v9.86c-2.06-.04-3.09-.06-5.14-.1v-25.22c4.94.18,7.41.28,12.36.46,1.77.1,3.13.37,4.08.79.95.43,1.76,1.04,2.42,1.83.55.65.98,1.36,1.3,2.14.32.78.48,1.65.48,2.63,0,1.18-.3,2.33-.91,3.46s-1.6,1.9-2.99,2.34c1.16.5,1.99,1.17,2.47,2.04.48.86.73,2.16.73,3.91v1.67c0,1.14.05,1.91.14,2.31.14.64.46,1.12.96,1.44v.62c-2.32-.05-3.48-.07-5.79-.11-.16-.56-.27-1-.34-1.34-.14-.7-.21-1.42-.22-2.16-.01-.93-.02-1.39-.03-2.32-.02-1.59-.32-2.66-.88-3.21-.56-.55-1.62-.84-3.17-.88ZM152.71,175.72c1.05-.44,1.57-1.36,1.57-2.76,0-1.51-.51-2.54-1.52-3.1-.57-.31-1.42-.49-2.56-.53-2.45-.08-3.67-.13-6.12-.21v6.75c2.39.07,3.58.11,5.96.18,1.18.03,2.07-.07,2.67-.33Z\\\"/><path d=\\\"M182.39,166.19v4.33c-3.01-.1-4.52-.15-7.54-.26,0,8.09,0,12.14,0,20.23-2.12-.04-3.18-.06-5.3-.1,0-8.12,0-12.18,0-20.31-3.03-.1-4.54-.16-7.57-.26v-4.39c8.16.3,12.24.46,20.41.76Z\\\"/><path d=\\\"M185.06,166.29c2.09.08,3.14.12,5.23.2,0,9.72,0,14.58,0,24.31-2.09-.04-3.14-.06-5.23-.1,0-9.76,0-14.64,0-24.4Z\\\"/><path d=\\\"M215.57,191.28c-2.11-.04-3.16-.06-5.26-.1-4.12-6.88-6.17-10.35-10.29-17.34,0,6.86,0,10.28,0,17.14-1.96-.04-2.94-.06-4.9-.1,0-9.69,0-14.53,0-24.22,2.21.08,3.31.12,5.52.21,4.01,6.89,6.02,10.3,10.03,17.09v-16.71c1.96.07,2.94.11,4.9.18,0,9.54,0,14.31,0,23.85Z\\\"/><path d=\\\"M235.22,186.83c-3.71-.09-5.57-.13-9.28-.21-.7,1.93-1.05,2.9-1.74,4.83-2.2-.04-3.3-.06-5.5-.11,3.6-9.45,5.39-14.14,8.99-23.46,2.38.09,3.57.13,5.95.22,3.57,9.55,5.35,14.29,8.92,23.7-2.28-.04-3.42-.07-5.71-.11-.65-1.94-.97-2.92-1.62-4.86ZM233.75,182.74c-1.26-3.74-1.89-5.61-3.14-9.36-1.3,3.67-1.95,5.51-3.25,9.2l6.39.17Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M125.47,305.22c1.59-3.41,4.69-6.59,9.3-9.53,2.75-1.75,4.13-2.62,6.88-4.36,3.08-1.95,5.24-3.58,6.48-4.91,1.96-2.07,2.94-4.37,2.94-6.91,0-2.97-.9-5.29-2.69-6.97-1.79-1.68-4.18-2.47-7.16-2.35-4.42.17-7.48,1.96-9.17,5.41-.91,1.85-1.41,4.38-1.5,7.59-2.62.12-3.93.18-6.56.3.07-4.52.9-8.25,2.47-11.15,2.79-5.13,7.73-7.79,14.8-8.02,5.88-.2,10.17,1.24,12.88,4.29,2.71,3.05,4.07,6.48,4.07,10.32,0,4.06-1.45,7.59-4.33,10.63-1.67,1.77-4.67,3.96-8.99,6.61-1.96,1.2-2.94,1.8-4.91,3-2.34,1.43-4.18,2.77-5.52,4.03-2.39,2.23-3.89,4.65-4.51,7.24,9.34-.61,18.68-1.23,28.01-1.84v6.02c-11.74.82-23.48,1.64-35.22,2.47.24-4.49,1.15-8.45,2.74-11.85Z\\\"/></g></g></g></g></g></g><path d=\\\"M278.19,392.52c-45.78,6.31-91.56,12.63-137.34,18.94-45.78,6.31-91.56,12.63-137.35,18.94,0-71.06,0-142.13,0-213.19,0-71.06,0-142.13,0-213.19,45.78,6.31,91.56,12.63,137.35,18.94,45.78,6.31,91.56,12.63,137.34,18.94h0c91.56-12.63,183.13-25.26,274.69-37.88v426.38c-91.56-12.63-183.13-25.26-274.69-37.88h0Z\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/><line x1=\\\"278.19\\\" y1=\\\"41.9\\\" x2=\\\"278.19\\\" y2=\\\"392.52\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/></svg>\\n    </div>\\n    <div class=\\\"row\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"label\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"fileData\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"weight\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"colorMode\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"associations.target\\\"\\n        change.trigger=\\\"changeAssociationsTarget()\\\">\\n      </ka-control>\\n      <ka-control \\n        class=\\\"col\\\" \\n        client.bind=\\\"api\\\" \\n        name=\\\"associations.items\\\" \\n        change.trigger=\\\"changeAssociationsItems()\\\"\\n        if.bind=\\\"resource.data.associations.target === 'SUBUSERS'\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 mt-2 alert small\\\">\\n        <small><strong>IMPORTANTE!</strong> Una copertina associata <i>allo Studio</i> è sempre utilizzabile.<br>Se associata <i>ai Condomini</i> invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.</small>\\n      </p>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"associations.presets\\\"\\n        readonly.bind=\\\"!resource.data.associations.target || (resource.data.associations.target === 'SUBUSERS' && !resource.data.associations.items.length)\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 mt-2 alert small\\\">\\n        <small><strong>IMPORTANTE!</strong> L'opzione <i>Predefinita</i> configura questa copertina come prima scelta in fase di spedizione</small>\\n      </p>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"ms-0\\\" click.delegate=\\\"addCover($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./manage-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"label\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"cover\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"weight\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"color\\\"></ka-control>\\n    </div>\\n    <h2>\\n      <span>Omologazione</span>\\n      <ka-button\\n        class=\\\"flat with-icon inverted secondary me-4\\\"\\n        click.delegate=\\\"mdFileViewer.fileViewer(`users/me/preferences/sender/letter-covers/${cover.uuid}/download`, 'pdf', $event)\\\">\\n        <i class=\\\"far fa-eye\\\"></i>\\n        <span>Visualizza PDF</span>\\n      </ka-button>\\n    </h2>\\n    <div class=\\\"row my-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"status\\\">\\n      </ka-control>\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"refusalReason\\\"\\n        if.bind=\\\"resource.data.status === 'REFUSED'\\\">\\n      </ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      class=\\\"inverted secondary\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\" \\n      click.delegate=\\\"manageCover()\\\"\\n      if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PREFERENCES_SENDER_LETTER_COVERS')\\\">Salva \\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../copertine.sass\\\"></require>\\n  <require from=\\\"./user-associations-with-the-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"m-3\\\">\\n      <p class=\\\"alert regular m-0\\\"><strong>IMPORTANTE!</strong> Una copertina associata <i>allo Studio</i> è sempre utilizzabile. Se associata <i>ai Condomini</i> invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.</p>\\n      <p class=\\\"m-0\\\">L'opzione <i>Predefinita</i> configura questa copertina come prima scelta in fase di spedizione.</p>\\n      <div class=\\\"row mt-3 align-items: center\\\">\\n        <ka-control \\n          class=\\\"col\\\" \\n          name=\\\"target\\\" \\n          buttons=\\\"dropdown\\\"\\n          change.trigger=\\\"changeTarget()\\\">\\n        </ka-control>\\n        <ka-control \\n          class=\\\"col\\\" \\n          name=\\\"default\\\"\\n          if.bind=\\\"resource.data.target === 'SELF'\\\"> \\n        </ka-control>\\n      </div>\\n    </div>\\n    <template if.bind=\\\"resource.data.target === 'SUBUSERS'\\\">\\n      <h2>Ricerca condomini</h2>\\n      <div if.bind=\\\"searchInterface.initialized\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div \\n          if.bind=\\\"!isOperator && !isPrintOperator\\\" \\n          class=\\\"col-12 col-md-3 ${IsUserSearchFieldVisible ? 'col-lg-3' : 'col-lg-6'}\\\">\\n          <md-control name=\\\"items\\\" buttons=\\\"clear\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"reset()\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n      <h2 class=\\\"m-0 d-flex justify-content-between\\\" style=\\\"border-bottom: none\\\">Elenco condomini</h2>\\n      <template if.bind=\\\"searchInterface.initialized && tableInterface.data\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th style=\\\"padding: 1rem\\\">Denominazione</th>\\n                <th style=\\\"width: 1%\\\">\\n                  Associazione\\n                </th>\\n                <th style=\\\"width: 1%\\\">\\n                  Configurazione\\n                </th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of tableInterface.data\\\">\\n                <td class=\\\"denominazione\\\" style=\\\"vertical-align: middle\\\">${record.displayName}\\n                <td style=\\\"width: 1%\\\">\\n                  <ka-control \\n                    class=\\\"me-4\\\"\\n                    value.bind=\\\"currentItems[record.uuid].isAssociated\\\"\\n                    schema.bind=\\\"{ control: 'check', description: 'Al condominio' }\\\">\\n                  </ka-control>                \\n                </td>\\n                <td style=\\\"width: 1%\\\">\\n                  <ka-control \\n                    if.bind=\\\"currentItems[record.uuid].isAssociated\\\"\\n                    value.bind=\\\"currentItems[record.uuid].isDefault\\\"\\n                    schema.bind=\\\"{ control: 'check', description: 'Predefinita' }\\\">\\n                  </ka-control>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n              <tr>\\n                <td colspan=\\\"4\\\">\\n                  <span>Nessun ${mdt.parsers.contextualize(api.user, 'sottoutente')} trovato</span>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary m-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button click.delegate=\\\"saveUserAssociationsWithCover()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./autorizzazioni.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav-approval.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"mx-0 mt-0\\\">\\n      <small class=\\\"limitwidth-40\\\">Richiedente: <strong>${request.trustee.displayName}</strong></small>\\n      <small class=\\\"limitwidth-40\\\">Proprietario del conto: <strong>${request.owner.displayName}</strong></small>\\n    </p>\\n    <ka-control name=\\\"status\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control if.bind=\\\"resource.data.status === 'PENDING-ACTIVATION'\\\" name=\\\"trusteeServiceCode\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control if.bind=\\\"resource.data.status === 'REFUSED'\\\" name=\\\"refusalReason\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event, data)\\\">Invia</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav-create-request.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"m-0 ${pending ? 'd-block' : 'd-none'}\\\">Caricamento in corso...</p>\\n    <div class=\\\"${!pending ? 'd-block' : 'd-none'}\\\">\\n      <ka-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"setUserId()\\\"></ka-control>\\n      <ka-control if.bind=\\\"resource.data.context === 'SUBUSER'\\\" name=\\\"subuser\\\" client.bind=\\\"api\\\" change.trigger=\\\"subuserChanged()\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n      <ka-control if.bind=\\\"resource.schema.billingProfile.datasource.length\\\" name=\\\"billingProfile\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!resource.data.context || (resource.data.context === 'SUBUSER' && !resource.data.subuser)\\\" class=\\\"mt-3\\\"></ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"send($event)\\\">Invia richiesta</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav.sass\\\"></require>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca richieste MAV</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col ps-0 pe-2\\\">\\n            <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col pe-0 ps-2\\\">\\n            <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"trusteeDisplayName\\\" buttons=\\\"clear\\\" client.bind=\\\"api\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"ownerDisplayName\\\" buttons=\\\"clear\\\" client.bind=\\\"api\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"trusteeServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"trusteeSubServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2 \\n      style=\\\"line-height: 1.6; min-height: 3rem; padding: 1rem\\\"\\n      class=\\\"d-flex flex-column flex-xl-row justify-content-xl-between align-items-xl-center\\\">Elenco richieste MAV\\n      <!-- MAV request creation -->\\n      <ka-button \\n        if.bind=\\\"isMAVrequestCreatable()\\\"\\n        click.delegate=\\\"dialogMAVRequestCreation()\\\"\\n        class=\\\"inverted flat with-icon align-self-start m-0 ms-3\\\">\\n        <i class=\\\"fas fa-plus\\\"></i>\\n        <span>Richiedi autorizzazione MAV</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\">\\n      <!-- MAV requests CSV download -->\\n      <button\\n        class=\\\"toolbar-button\\\"\\n        ka-tooltip=\\\"Scarica in formato csv\\\"\\n        if.bind=\\\"isMAVrequestsCSVDownloadable()\\\"\\n        click.delegate=\\\"MAVrequestsCSVDownload()\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di invio</md-table-sort></th>\\n            <th>Richiedente</th>\\n            <th>Proprietario conto</th>\\n            <th>IBAN</th>\\n            <th>\\n              <md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"trusteeServiceCode\\\">Cod. servizio</md-table-sort>\\n            </th>\\n            <th>Cod. sottoservizio</th>\\n            <th>Stato</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length && !pending\\\">\\n          <tr repeat.for=\\\"request of tableInterface.data\\\" class=\\\"request ${request.status === 'REFUSED' ? 'refused' : request.status === 'APPROVED' ? 'approved' : request.status === 'DELETED' ? 'cancelled' : ''}\\\">\\n            <td>\\n              <span>${request.createdAt|dateFormat:'DD/MM/YYYY'}</span><br>\\n              <small>Alle ore ${request.createdAt|dateFormat:'HH:mm'}</small>\\n            </td>\\n            <td>${request.trustee.displayName}</td>\\n            <td>${request.owner.displayName}</td>\\n            <td>${request.billingProfileIban}</td>\\n            <td>${request.trustee.serviceCode ? request.trustee.serviceCode : 'Non assegnato' }</td>\\n            <td css=\\\"${request.status === 'DELETED' ? 'text-decoration: line-through' : ''}\\\">${request.trustee.subServiceCode ? request.trustee.subServiceCode : 'Non assegnato'}</td>\\n            <td>\\n              <span class=\\\"tag with-icon ${mavRequestModel.statuses[request.status].class} mt-2\\\">\\n                ${mavRequestModel.statuses[request.status].text}\\n              </span>\\n              <div class=\\\"mt-2\\\">\\n                <small\\n                  class=\\\"status-reason ${request.refusalReason ? 'refused' : ''}\\\"\\n                  ka-tooltip=\\\"value.bind: request.refusalReason  ? 'Motivo del rifiuto: '+request.refusalReason : ''\\\">\\n                  ${mavRequestModel.displayText(request)}\\n                </small>\\n              </div>\\n            </td>\\n            <td style=\\\"display: flex; justify-content: flex-end\\\">\\n              <!-- MAV request approval -->\\n              <ka-button\\n                if.bind=\\\"privileges.isBankOperator\\\"\\n                class=\\\"flat inverted with-icon m-0\\\"\\n                click.delegate=\\\"MAVrequestApproval(request)\\\"\\n                disabled.bind=\\\"IsMAVrequestApprovalDisabled(request.status)\\\" \\n                ka-tooltip.bind=\\\"request.status === 'PENDING-DOCUMENT-DOWNLOAD' ? 'Collezione documenti in attesa di essere scaricata' : 'Gestisci richiesta'\\\">\\n                <i class=\\\"far fa-box-check\\\"></i>\\n                <span>Omologa</span>\\n              </ka-button>\\n              <!-- MAV Collection download -->\\n              <ka-button\\n                class=\\\"flat secondary inverted icon ms-2\\\"\\n                click.delegate=\\\"MAVcollectionDownload(request)\\\" \\n                ka-tooltip.bind=\\\"'Scarica la collezione di documenti'\\\"\\n                disabled.bind=\\\"IsMAVcollectionDownloadDisabled(request.status)\\\">\\n                <i class=\\\"far fa-folder-download\\\"></i>\\n              </ka-button>\\n              <!-- Delete MAV request -->\\n              <ka-button\\n                if.bind=\\\"privileges.isOperator\\\"\\n                class=\\\"flat inverted secondary icon m-0 ms-1\\\"\\n                click.delegate=\\\"dialogDeleteMAVRequest($event, request)\\\"\\n                disabled.bind=\\\"isMAVRequestDeletionDisabled(request)\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessuna richiesta di autorizzazione MAV trovata</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"info\\\">\\n      Oltre a scaricarli, desideri contabilizzare i flussi selezionati?\\n    </p>  \\n  </div>\\n  <div class=\\\"footer d-flex justify-content-end\\\" style=\\\"border-top: 1px solid #e5e5e5;\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"controller.ok(false)\\\">No grazie</ka-button>\\n    <ka-button click.delegate=\\\"controller.ok(true)\\\">Segna come contabilizzati</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n   <style>\\n    .checkboxes { display: flex; }\\n    .checkboxes ka-control { width: auto; }\\n    .checkboxes ka-control + ka-control { margin-left: 1rem; }\\n   </style>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>\\n      Ricerca flussi CBI - Esiti pagamento MAV\\n      <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceMav\\\"></md-accordion-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-lg-3\\\">\\n        <md-control \\n          client.bind=\\\"api\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          name=\\\"billingProfileOwnerDisplayName\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"iban\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"accounted\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"showDisabled\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"downloaded\\\"></md-control>\\n      </div>\\n      <div id=\\\"advancedSearchInterfaceMav\\\" class=\\\"col\\\">\\n        <div class=\\\"row g-3\\\">\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"createdAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"createdAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-3 d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2 class=\\\"d-flex flex-column flex-xl-row justify-content-xl-between align-items-xl-center\\\">\\n      <span>Elenco flussi CBI - Esiti di pagamento MAV</span>\\n      <div>\\n        <small if.bind=\\\"!select.someRecordsSelected\\\">\\n          <i class=\\\"far fa-exclamation-circle primary me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">Seleziona i flussi CBI che vuoi esportare</span>\\n        </small>\\n        <small if.bind=\\\"select.someRecordsSelected\\\">\\n          <i class=\\\"far fa-exclamation-circle primary me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">\\n            ${selectedArray.length} ${selectedArray.length === 1 ? 'flusso selezionato' : 'flussi selezionati'} su ${tableInterface.total} totali\\n          </span>\\n        </small>\\n        <ka-button\\n        click.delegate=\\\"resetSelectedCbis()\\\"\\n        disabled.bind=\\\"!select.someRecordsSelected\\\"\\n        class=\\\"inverted flat\\\">\\n          <i class=\\\"material-icons\\\">close</i>Reset\\n        </ka-button>\\n        <ka-button\\n          click.delegate=\\\"exportSelectedCbis()\\\"\\n          disabled.bind=\\\"!select.someRecordsSelected\\\"\\n          class=\\\"inverted flat\\\">\\n            <i class=\\\"material-icons\\\">download</i>Esporta flussi selezionati\\n        </ka-button>\\n      </div>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th click.trigger=\\\"select.allRecords()\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.allRecordsSelected\\\" style=\\\"pointer-events: none;\\\">\\n            </th>\\n            <th>Codice sottoservizio</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Disponibile dal</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"billingProfileOwnerDisplayName\\\">Intestatario conto</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"lastDownloadedAt\\\">Data di scaricamento</md-table-sort></th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td click.trigger=\\\"select.someRecords(record)\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.recordsSelected[record.uuid]\\\" style=\\\"pointer-events: none;\\\">\\n            </td>\\n            <td>${record.subServiceCode}\\n              <small style=\\\"display: block;\\\">${record.serviceCode}</small>\\n            </td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              ${record.billingProfileOwnerDisplayName}\\n              <small if.bind=\\\"record.billingProfileOwnerIban\\\"><br>${record.billingProfileOwnerIban}</small>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"record.lastDownloadedAt\\\">\\n                <span>File scaricato il ${record.lastDownloadedAt|dateFormat:'DD/MM/YYYY'}</span><br>\\n                <small>Alle ore ${record.lastDownloadedAt|dateFormat:'HH:mm'}</small>\\n              </span>\\n              <span else>\\n                File non scaricato\\n              </span>\\n            </td>\\n            <td class=\\\"ka-tr-tools\\\">\\n              <button\\n                click.trigger=\\\"accountFor(record)\\\"\\n                ka-tooltip.bind=\\\"record.accounted === 'YES' ? 'Segna come non contabilizzata' : 'Segna come contabilizzata'\\\"\\n                class=\\\"ka-table-button ${record.accounted === 'YES' ? 'primary' : ''}\\\">\\n                <i class=\\\"material-icons\\\">savings</i>\\n              </button>\\n              <button click.delegate=\\\"download(record)\\\" ka-tooltip=\\\"Scarica file\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"material-icons\\\">save_alt</i>\\n              </button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInitTabs\\\"></md-loader>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"[true,false].includes(isPendingInitTabs)\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ parent: $parent, tab, privileges, params, tools, requestedUserData }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-attivazione-sottoutenti.sass\\\"></require>\\n  <!-- Service -->\\n  <div class=\\\"service row m-0\\\">\\n    <!-- Payment -->\\n    <div class=\\\"col-6 p-3\\\">\\n      <h3 class=\\\"p-0 mt-0\\\">Servizio in abbonamento</h3>\\n      <strong class=\\\"limitwidth-50\\\">${service.title}</strong>\\n      <small class=\\\"d-block mt-1 mb-3\\\">\\n        Durata ${service.duration} gg. - Prezzo ${service.vatAmount ? (service.price + service.vatAmount).toFixed(2) : service.price}€\\n        <span if.bind=\\\"params.service.vatAmount\\\" style=\\\"color: #909090; white-space: nowrap\\\"> (${service.price}€ + iva).</span>\\n      </small>\\n      <ka-control\\n        buttons=\\\"dropdown\\\"\\n        value.bind=\\\"resourcePayment.data.payment\\\"\\n        schema.bind=\\\"resourcePayment.schema.payment\\\">\\n      </ka-control>\\n    </div>\\n\\n    <!-- Activations -->\\n    <div class=\\\"activations col-6 p-3 d-flex flex-column\\\">\\n      <h3 class=\\\"p-0 mt-0\\\">Riepilogo attivazioni</h3>\\n      <ul class=\\\"p-0 m-0 mb-1 d-flex flex-wrap\\\">\\n        <li class=\\\"me-2\\\" style=\\\"white-space: nowrap\\\">Attivazioni riuscite: <strong>${successfulActivationsCount}</strong></li>\\n        <li style=\\\"white-space: nowrap\\\">Attivazioni fallite: <strong>${failedActivationsCount}</strong></li>\\n      </ul>\\n      <small class=\\\"d-flex align-items-center\\\" ka-tooltip=\\\"value: In tabella, in corrispondenza di ogni riga è possibile cliccare per aprire il dettaglio di ogni attivazione fallita. Scorri i risultati per visualizzarli; placement: left;\\\">\\n        <i class=\\\"far fa-exclamation-circle me-2\\\" style=\\\"color: #ed5a23; cursor: pointer\\\"></i>\\n        <small class=\\\"limitwidth\\\" style=\\\"color: #909090\\\">I dettagli di ogni errore sono visualizzabili nella tabella sottostante.</small>\\n      </small>\\n      <ka-button\\n        class=\\\"inverted flat secondary with-icon m-0\\\"\\n        disabled.bind=\\\"!activationSummary.length\\\"\\n        click.delegate=\\\"exportActivationsReport()\\\"\\n        style=\\\"margin-top: auto !important\\\">\\n        <i class=\\\"far fa-file-download\\\"></i>\\n        <span>Scarica report</span>\\n      </ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Search interface -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca ${mdt.parsers.contextualize(api.user, 'utenti')}</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control\\n          buttons=\\\"clear\\\" \\n          name=\\\"textSearch\\\"\\n          submit.call=\\\"search()\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button\\n          disabled.bind=\\\"pendingActivation\\\"\\n          click.delegate=\\\"reset()\\\" \\n          class=\\\"inverted secondary\\\">Reset\\n        </ka-button>\\n        <ka-button\\n          class=\\\"inverted with-icon primary\\\"\\n          click.delegate=\\\"search()\\\"\\n          disabled.bind=\\\"pendingActivation\\\">\\n          <i class=\\\"far fa-search\\\"></i>\\n          <span>Ricerca</span>\\n        </ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- Table interface-->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2 class=\\\"m-0 border-bottom-0 d-flex justify-content-between\\\">\\n      <span class=\\\"limitwidth-50\\\">Elenco ${mdt.parsers.contextualize(api.user, 'utenti')} su cui il servizio é attivabile</span>\\n      <div class=\\\"d-flex align-items-center ms-3\\\">\\n        <small class=\\\"d-flex align-items-center me-3\\\">\\n          <span style=\\\"color: #404040; white-space: nowrap\\\">Selezionati <strong>${tableSelectionInterface.selectedCount}</strong> su <strong>${tableInterface.total}</strong> totali</span>\\n        </small>\\n        <ka-button \\n          class=\\\"inverted flat m-0 me-3\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount || pendingActivation\\\"\\n          click.delegate=\\\"tableSelectionInterface.reset()\\\"\\n          ka-tooltip=\\\"value: Deseleziona tutti; placement: left;\\\">\\n          <i class=\\\"far fa-times\\\"></i>\\n        </ka-button>\\n        <ka-button \\n          class=\\\"primary flat with-icon m-0 me-3\\\"\\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount || pendingActivation\\\"\\n          click.delegate=\\\"activateSelectedRecords()\\\">\\n          <i class=\\\"far fa-check\\\"></i>\\n          <span>Attiva su selezionati</span>\\n        </ka-button>\\n      </div>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,50,100\\\">\\n      <md-table-progressbar if.bind=\\\"tableInterface.isLoading || pendingActivation || pendingBillingProfiles\\\" class=\\\"progressbar\\\"></md-table-progressbar>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>\\n              <input \\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"tableSelectionInterface.selectEveryVisibleRecordSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectEveryVisibleRecordSelected()\\\"\\n                disabled.bind=\\\"pendingActivation || pendingBillingProfiles || tableSelectionInterface.isEveryVisibleRecordDisabled()\\\">\\n            </th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"display-name\\\">Denominazione</md-table-sort></th>\\n            <th>Profilo fatturazione</th>\\n            <th>Attivazione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length && !pendingBillingProfiles\\\">\\n          <tr \\n            repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"record._selection.isSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectedRecords()\\\"\\n                disabled.bind=\\\"record._selection.isDisabled || pendingActivation\\\">\\n            </td>\\n            <td class=\\\"subuser\\\">\\n              <span class=\\\"limitwidth\\\">${record.profile[0].displayName}</span>\\n              <small class=\\\"tag id me-1\\\">ID: ${record.id}</small>\\n              <small class=\\\"d-inline-block\\\" style=\\\"white-space: nowrap\\\">CF/IVA: ${record.profile[0].fiscalCode || record.profile[0].vatCode}</small>\\n            </td>\\n            <td>\\n              <ka-control\\n                class=\\\"no-label limitwidth\\\"\\n                buttons=\\\"dropdown\\\"\\n                value.bind=\\\"record._resource.data.billingProfile\\\"\\n                schema.bind=\\\"record._resource.schema.billingProfile\\\"\\n                if.bind=\\\"record._resource.schema.billingProfile.datasource.length\\\"\\n                readonly.bind=\\\"record._selection.isDisabled || pendingActivation\\\">\\n              </ka-control>\\n            </td>\\n            <td class=\\\"status\\\" style=\\\"width: 20rem\\\">\\n              <span if.bind=\\\"record._selection.isSelected && !record._selection.feedback\\\" class=\\\"tag\\\">Selezionato per l'attivazione</span>\\n              <template if.bind=\\\"record._selection.feedback\\\">\\n                <span if.bind=\\\"record._selection.feedback.status === 'pending'\\\" class=\\\"tag pending\\\">\\n                  <i class=\\\"far fa-spinner-third fa-spin me-2\\\"></i>Attivazione in corso...\\n                </span>\\n                <span\\n                  click.delegate=\\\"showFailedActivationDetail(record)\\\" \\n                  if.bind=\\\"record._selection.feedback.status === 'error'\\\"\\n                  class=\\\"tag error with-icon\\\">\\n                  Non attivato\\n                  <small class=\\\"detail\\\">Apri dettaglio</small>\\n                </span>\\n                <span\\n                  if.bind=\\\"record._selection.feedback.status === 'success'\\\"\\n                  class=\\\"tag success with-icon\\\">\\n                  Servizio attivato                \\n                </span>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n  <!-- Footer -->\\n  <div class=\\\"footer\\\">\\n    <ka-button\\n      class=\\\"inverted secondary\\\" \\n      disabled.bind=\\\"pendingActivation\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-attivazione.sass\\\"></require>\\n\\n  <div if.bind=\\\"!error\\\" class=\\\"body\\\">\\n    <strong class=\\\"d-block\\\">${params.service.title}</strong>\\n    <small class=\\\"service-description\\\">${params.service.description}</small>\\n    <span class=\\\"service-duration\\\">\\n      Durata ${params.service.duration} gg. - Prezzo ${params.service.vatAmount ? (params.service.price + params.service.vatAmount).toFixed(2) : params.service.price}€\\n      <span if.bind=\\\"params.service.vatAmount\\\"> (${params.service.price}€ + iva)</span>\\n    </span>\\n    <ka-control class=\\\"no-buttons\\\" schema.bind=\\\"schema.payment\\\" value.bind=\\\"data.payment\\\"></ka-control>\\n    <ka-control if.bind=\\\"schema.billing.datasource.length\\\" class=\\\"no-buttons\\\" schema.bind=\\\"schema.billing\\\" value.bind=\\\"data.billing\\\"></ka-control>\\n  </div>\\n  <div if.bind=\\\"error\\\" class=\\\"body\\\">\\n    <strong>Impossibile attivare il servizio!</strong><br>\\n    ${error.message}\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok(data)\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-autorinnovo.sass\\\"></require>\\n  <template if.bind=\\\"params.autoRenew === 'ENABLED'\\\">\\n    <div class=\\\"body\\\">\\n      <p>\\n        <strong>Vuoi disattivare l'autorinnovo?</strong><br>\\n        Alla data di scadenza il servizio in abbonamento cesserà istantaneamente. <strong>Confermi?</strong>\\n      </p>\\n    </div>\\n  </template>\\n\\n  <template if.bind=\\\"params.autoRenew === 'DISABLED'\\\">\\n    <div class=\\\"body p-3\\\">\\n      <p class=\\\"m-0 mb-3\\\">\\n        <strong>Vuoi attivare l'autorinnovo?</strong><br>\\n        Alla data di scadenza il servizio in abbonamento verrà automaticamente rinnovato. <strong>Confermi?</strong>\\n      </p>\\n      <ka-control \\n        if.bind=\\\"resource.data.autoRenewPaymentMethod\\\"\\n        schema.bind=\\\"resource.schema.autoRenewPaymentMethod\\\"\\n        value.bind=\\\"resource.data.autoRenewPaymentMethod\\\" \\n        buttons=\\\"dropdown\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 text-error\\\" if.bind=\\\"!resource.data.autoRenewPaymentMethod && updateDatasourcePending === false\\\">\\n        Nessun metodo di pagamento accettato!\\n      </p>\\n    </div>\\n  </template>\\n\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button \\n      disabled.bind=\\\"!resource.data.autoRenewPaymentMethod && params.autoRenew === 'DISABLED'\\\" \\n      click.delegate=\\\"controller.ok(resource.data)\\\">Conferma\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p class=\\\"m-3 p-3\\\">\\n      Ci sei quasi! Per procedere con ${params.action === \\\"autoRenew\\\" ? \\\"l'auto rinnovo\\\" : \\\"l'attivazione\\\"} del servizio è necessario sottoscrivere il relativo contratto cashback! <br>\\n      <strong>Vuoi essere reindirizzato alla sezione dedicata e prendere visione del contratto?</strong>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted me-0\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"goToCashbackContracts()\\\" class=\\\"ms-3\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\\n\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-detail.sass\\\"></require>\\n  <p if.bind=\\\"pendingInit !== false\\\">Caricamento in corso...</p>\\n  <div if.bind=\\\"pendingInit === false\\\" class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n  \\n      <div class=\\\"col-4 left\\\">\\n        <ka-control name=\\\"flatServiceCode\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-4 center\\\">\\n        <ka-input name=\\\"flatServiceProductCode\\\" class=\\\"no-add no-open no-clear dropdown\\\"></ka-input>\\n      </div>\\n\\n      <div class=\\\"col-4 right\\\">\\n        <ka-input name=\\\"flatServiceType\\\" class=\\\"no-add no-open no-clear dropdown\\\"></ka-input>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control name=\\\"flatServiceTitle\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <div class=\\\"description-html\\\">\\n          <small class=\\\"label\\\">Descrizione</small>\\n          <div class=\\\"content\\\" innerhtml.bind=\\\"resource.data.flatServiceDescription\\\"></div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-left\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"ownerId\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"ownerDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.ownerParentDisplayName\\\" class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"ownerParentDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.ownerParentDisplayName ? '6 right' : '12'}\\\">\\n            <ka-control name=\\\"ownerFiscalCode\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"activatedAt\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"expireAt\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"autoRenewable\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"autoRenew\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-right\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"orderId\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"status\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-12\\\">\\n            <ka-control name=\\\"statusReason\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"paymentMethod\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"payeeDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"flatServicePrice\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.flatServiceCashbackAmount\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"flatServiceCashbackAmount\\\"></ka-control>\\n          </div>\\n\\n           <div if.bind=\\\"resoruce.data.flatServiceMulticoinPoint\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"flatServiceCashbackAmount\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-editor.sass\\\"></require>\\n  <p if.bind=\\\"pendingInit !== false\\\">Caricamento in corso...</p>\\n  <div if.bind=\\\"pendingInit === false\\\" class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      \\n      <!-- NOT EDITABLE (if edit) -->\\n      <div class=\\\"col-4 left\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-4 right left\\\">\\n        <ka-input \\n          name=\\\"productCode\\\" \\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open no-clear dropdown\\\" \\n          style=\\\"margin-bottom: 1rem\\\" \\n          change.call=\\\"changeProductCode(resource.data.productCode)\\\">\\n        </ka-input>\\n      </div>\\n\\n      <div class=\\\"col-4 right\\\">\\n        <ka-input \\n          name=\\\"type\\\" \\n          client.bind=\\\"api\\\"  \\n          class=\\\"no-add no-open no-clear dropdown\\\" \\n          style=\\\"margin-bottom: 1rem\\\">\\n        </ka-input>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control name=\\\"title\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control if.bind=\\\"!params\\\" name=\\\"description\\\" buttons=\\\"clear\\\"></ka-control>\\n        <div else class=\\\"description-html\\\">\\n          <small class=\\\"label\\\">Descrizione</small>\\n          <div class=\\\"content\\\" innerhtml.bind=\\\"resource.data.description\\\"></div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-left\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"subscriptionExpiryType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\" if.bind=\\\"resource.data.subscriptionExpiryType === 'DAYS'\\\">\\n            <ka-control name=\\\"duration\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\" if.bind=\\\"resource.data.subscriptionExpiryType === 'DATE'\\\">\\n            <ka-control \\n              name=\\\"subscriptionExpireAt\\\" \\n              change.trigger=\\\"changeSubscriptionExpireAt()\\\"\\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.activableByPrivilegedUserOnly === 'SPONSOR' ? '6 left' : '12'}\\\">\\n            <ka-control \\n              name=\\\"activableByPrivilegedUserOnly\\\" \\n              change.trigger=\\\"changeActivableByPrivilegedUserOnly()\\\"\\n              md-tooltip=\\\"Il servizio di abbonamento potrà essere attivato su un utente solo ad opera di un operatore\\\\partner. L'utente invece non potrà vederlo e\\\\o attivarlo autonomamente\\\" \\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n\\n          <!-- Sponsor Uuid -->\\n          <div if.bind=\\\"resource.data.activableByPrivilegedUserOnly === 'SPONSOR'\\\" class=\\\"col-6 right\\\">\\n            <ka-input \\n              config.bind=\\\"resource.schema.sponsorUuid\\\" \\n              value.bind=\\\"resource.data.sponsorUuid\\\" \\n              client.bind=\\\"api\\\" \\n              class=\\\"no-add no-open dropdown\\\">\\n            </ka-input>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.subscriptionExpiryType === 'DAYS' ? '6 left' : '12'}\\\">\\n            <ka-control name=\\\"activableOn\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.subscriptionExpiryType === 'DAYS'\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"autoRenewable\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-right\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-${!resource.data.cashbackAmount && resource.data.multicoinPoint === undefined ? '6' : '4'} left\\\">\\n            <ka-control name=\\\"price\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${!resource.data.cashbackAmount && resource.data.multicoinPoint === undefined ? '6 right' : '4 middle'}\\\">\\n            <ka-control name=\\\"vatAmount\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.cashbackAmount && resource.data.multicoinPoint === undefined\\\" class=\\\"col-4 right\\\">\\n            <ka-control buttons=\\\"clear\\\" name=\\\"cashbackAmount\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.multicoinPoint !== undefined && !resource.data.cashbackAmount\\\" class=\\\"col-4 right\\\">\\n            <ka-control buttons=\\\"clear\\\" name=\\\"multicoinPoint\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control\\n              buttons=\\\"dropdown\\\"\\n              name=\\\"allowableBusinessTypes\\\"\\n              md-tooltip=\\\"Se l'attività dell'utente Master rientra tra quelle selezionate allora il vincolo sarà applicato a tutti i suoi Sottoutenti\\\">\\n            </ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"payableBy\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-12\\\">\\n            <ka-control \\n              name=\\\"paymentMethods\\\"\\n              change.trigger=\\\"changePaymentMethods()\\\"\\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- EDITABLE (if edit) -->\\n      <div class=\\\"col-12\\\">\\n        <h2 if.bind=\\\"params\\\" class=\\\"edit-service-title\\\" style=\\\"margin-bottom: 0;\\\">Dati modificabili</h2>\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-12 col-lg-6 columns-left\\\" css=\\\"${params ? 'padding-top: 1rem' : ''}\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-6 left\\\">\\n                <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n              </div>\\n\\n              <div class=\\\"col-6 right\\\">\\n                <ka-control \\n                  name=\\\"endAt\\\" \\n                  buttons=\\\"dropdown,clear\\\" \\n                  md-tooltip=\\\"Il termine del periodo di validità temporale di un servizio può essere settato in 'Illimitato' salvando le modifiche senza specificare alcuna data\\\">\\n                </ka-control>\\n              </div>\\n            </div>\\n          </div>\\n          <div class=\\\"col-12 col-lg-6 columns-right\\\" css=\\\"${params ? 'padding-top: 1rem' : ''}\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-12\\\">\\n                <div class=\\\"row\\\">\\n                  <div class=\\\"col-12 ${!params ? 'col-lg-6 left' : 'col-lg-12'}\\\">\\n                    <ka-control name=\\\"promotionNeeded\\\" buttons=\\\"dropdown\\\"></ka-control>\\n                  </div>\\n\\n                  <div if.bind=\\\"!params\\\" class=\\\"col-12 col-lg-6 right\\\">\\n                    <ka-control name=\\\"createPortabilityPromotionOnActivation\\\" md-tooltip=\\\"La promozione di portabilità è una promozione che permette all'utente di continuare a rinnovare l'abbonamento al servizio dopo la prima volta, anche se non più disponibile per gli altri utenti\\\"></ka-control> \\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n          </div>\\n\\n          <div if.bind=\\\"params\\\" class=\\\"col-12 associated-promo\\\">\\n            <ka-control name=\\\"associatedPromoCodes\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-fidelity-card-required.sass\\\"></require>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p class=\\\"m-3 p-3\\\">\\n      <span>Questo servizio in abbonamento prevede <strong>punti Multicoin</strong> ed è quindi <strong>necessaria l'attivazione di una Fidelity Card</strong> per poterne usufruire.</span>\\n      <span class=\\\"d-block mt-2\\\">Vai alla <span click.delegate=\\\"goToFidelityCardsActivation()\\\" class=\\\"link mx-1\\\">sezione Fidelity Card</span> per attivarne subito una!</span>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"secondary\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\\n\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-log.scss\\\"></require>\\n  <div class=\\\"body\\\" style=\\\"padding: 0;\\\">\\n    <div style=\\\"overflow: auto; max-height: 400px;\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>IP Operatore</th>\\n            <th>UUID Operatore</th>\\n            <th>Data</th>\\n            <th>Motivazione</th>\\n            <th>Stato</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr repeat.for=\\\"log of logs\\\">\\n            <td>\\n              <span if.bind=\\\"log.actorIpAddress\\\">${log.actorIpAddress}</span>\\n            </td>\\n            <td>\\n              <small if.bind=\\\"log.actorIpAddress\\\" class=\\\"log-id\\\">${log.actorUserUuid}</small>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"log.dateTime\\\" style=\\\"white-space: nowrap;\\\">${log.dateTime | dateFormat}</span>\\n            </td>\\n            <td class=\\\"d-flex align-items-start log-reason\\\">\\n              <small if.bind=\\\"log.reason\\\" class=\\\"text\\\" ka-tooltip.bind=\\\"log.reason\\\">${log.reason}</small>\\n            </td>\\n            <td>\\n              <strong if.bind=\\\"log.status\\\" style=\\\"white-space: nowrap;\\\">${log.status === 'ACTIVE' ? 'Attivo' : log.status === 'EXPIRED' ? 'Scaduto' : log.status === 'SUSPENDED' ? 'Sospeso' : log.status === 'PENDING' ? 'In lavorazione' : ''}</strong>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ux-dialog.small { max-width: 500px; }\\n    .body { padding: 2rem; }\\n    .footer { display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"applyStatusAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-stato-servizio.sass\\\"></require>\\n\\n  <div class=\\\"body\\\">\\n    <span class=\\\"message\\\">${message}</span>\\n    <ka-control name=\\\"statusReason\\\"></ka-control>\\n    <small class=\\\"alert-message\\\"><i class=\\\"far fa-exclamation-circle\\\"></i><strong>Attenzione!</strong> Il messaggio sarà visibile al cliente.</small>\\n    <ka-control if.bind=\\\"params.status === 'SUSPENDED'\\\" name=\\\"applyStatusAt\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-2\\\"></ka-control>\\n    <span class=\\\"mt-3 message\\\">Modificare lo stato di una sottoscrizione è un'operazione straordinaria. L'operatore ha la responsabilità di effettuarla con diligenza. Il nominativo dell'esecutore sarà registrato e conservato per eventuali verifiche!</span>\\n    <ka-control name=\\\"confirm\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"parent.isPendingInitTabs === false\\\">\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca servizi attivabili <span if.bind=\\\"requestedUserData\\\">su ${requestedUserData.profile.displayName}</span></h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n  \\n        <!-- Sottoutente selezionato -->\\n        <template if.bind=\\\"requestedUserData\\\">\\n          <div class=\\\"col-12 col-lg-6\\\">\\n            <md-control name=\\\"payable\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n        </template>\\n  \\n        <!-- Utente master o basic -->\\n        <template if.bind=\\\"!requestedUserData\\\">\\n          <div class=\\\"col-12 col-lg-${privileges.isBasicUser ? '3' : '6'}\\\">\\n            <div class=\\\"row gx-3\\\">\\n              <div class=\\\"col-${data.activable === 'SUBUSER' ? '6' : '12'}\\\">\\n                <md-control name=\\\"activable\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"privileges.isBasicUser\\\"></md-control>\\n              </div>\\n              <div class=\\\"col-6\\\" if.bind=\\\"data.activable === 'SUBUSER'\\\">\\n                <md-control name=\\\"payable\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n              </div>\\n            </div>\\n          </div>\\n        </template>\\n  \\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control\\n            name=\\\"productCode\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            change.call=productCodeChanged()>\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"type\\\" \\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"title\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"multicoinPoint\\\" \\n            buttons=\\\"clear,dropdown\\\" \\n            if.bind=\\\"!lastAcceptedServiceContract.rescindedAt\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-center\\\" if.bind=\\\"api.hasRole('LIST_PRIVILEGED_ACCESS_FLAT_SERVICES')\\\">\\n          <md-control name=\\\"privilegedAccessCheck\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n  \\n    <template if.bind=\\\"tableInterface.data\\\">\\n      <h2>\\n        <span static-tooltip=\\\"value.bind: staticTooltipServices\\\" style=\\\"max-width: fit-content;\\\">\\n          Elenco servizi attivabili\\n        </span>\\n      </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice servizio</th>\\n              <th>Piano</th>\\n              <th>Titolo/Descrizione</th>\\n              <th>Durata o scadenza</th>\\n              <th>Prezzo</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"item of tableInterface.data\\\">\\n              <td style=\\\"white-space: nowrap;\\\">${item.code}</td>\\n              <td style=\\\"white-space: nowrap;\\\">${item.type | comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n              <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n                <span>${item.title}</span><br>\\n                <small \\n                  class=\\\"link\\\" \\n                  click.delegate=\\\"serviceDescription(item.description)\\\" \\n                  ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio\\n                </small>\\n              </td>\\n              <td>\\n                <span if.bind=\\\"item.duration\\\" style=\\\"white-space: nowrap\\\">${item.duration} gg.</span>\\n                <span if.bind=\\\"item.subscriptionExpireAt\\\" style=\\\"white-space: nowrap\\\">${item.subscriptionExpireAt|dateFormat}</span>\\n              </td>\\n              <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n                <span if.bind=\\\"!item.sponsorDisplayName\\\" style=\\\"white-space: nowrap;\\\">${item.price} € + IVA</span>\\n                <template else>\\n                  <span if.bind=\\\"item.price > 0\\\" class=\\\"offered-by\\\">${item.price} € + IVA</span><br>\\n                  Offerto da: <strong>${item.sponsorDisplayName}</strong>\\n                </template>\\n                <span \\n                  class=\\\"d-block\\\" \\n                  style=\\\"white-space: nowrap\\\"\\n                  if.bind=\\\"item.multicoinPoint\\\">\\n                  <span class=\\\"text-primary\\\">\\n                    <i class=\\\"far fa-coins\\\" style=\\\"font-size: 1.3rem; margin-right: .4rem\\\"></i>Multicoin:\\n                  </span> ${item.multicoinPoint} pt.\\n                </span>\\n                <small class=\\\"d-block\\\" if.bind=\\\"item.promotionNeeded === 'YES'\\\">Promozione limitata</small>\\n                <div if.bind=\\\"item.cashbackAmount\\\" class=\\\"cashback\\\">\\n                  <small class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback: ${item.cashbackAmount} €</small>\\n                  <small \\n                    class=\\\"tag mt-2\\\" \\n                    ka-tooltip=\\\"L'attivazione di questo servizio è subordinata all'approvazione del relativo contratto cashback.\\\"\\n                    if.bind=\\\"lastAcceptedServiceContract.isCashbackContractNeverBeenSigned || lastAcceptedServiceContract.gracePeriodEndAt\\\">\\n                    <i class=\\\"far fa-exclamation-circle\\\"></i>\\n                    Richiede approvazione contratto\\n                  </small>\\n                </div>\\n              </td>\\n              <td class=\\\"d-flex flex-column align-items-end\\\">\\n                <ka-button\\n                  class=\\\"flat inverted with-icon\\\"\\n                  click.delegate=\\\"activateService($event, item)\\\"\\n                  ka-tooltip=\\\"L'attivazione di questo servizio è subordinata all'approvazione del relativo contratto cashback.\\\"\\n                  if.bind=\\\"(lastAcceptedServiceContract.isCashbackContractNeverBeenSigned || lastAcceptedServiceContract.gracePeriodEndAt) && item.cashbackAmount\\\">\\n                  <i class=\\\"far fa-exclamation-circle\\\"></i>\\n                  <span>Attiva</span>\\n                </ka-button>\\n                <ka-button\\n                  else\\n                  class=\\\"flat inverted\\\"\\n                  click.delegate=\\\"activateService($event, item)\\\">\\n                  Attiva\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca servizi attivi <span if.bind=\\\"requestedUserData\\\">per ${requestedUserData.profile.displayName}</span>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n\\n      <!-- Sottoutente selezionato -->\\n      <template if.bind=\\\"requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-6\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <!-- Utente master o basic -->\\n      <template if.bind=\\\"!requestedUserData && !privileges.isOperator\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUB-USER' || privileges.isBasicUser ? '3' : '6'}\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"privileges.isBasicUser\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"data.context === 'SUB-USER'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n      </template>\\n\\n      <!-- Operatore -->\\n      <template if.bind=\\\"!requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control \\n          name=\\\"productCode\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          change.call=productCodeChanged()>\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control \\n          name=\\\"type\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"flatServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"status\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"tools.enabledUntil('2026-02-28T00:00:01')\\\" class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"cashbackAmount\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"multicoinPoint\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'SUB-USER'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"user_active\\\" change.call=\\\"searchActiveUsersChange()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco servizi attivi</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\">\\n      <!-- CSV download -->\\n      <button click.delegate=\\\"csvDownload()\\\" ka-tooltip=\\\"Scarica listato sottoscrizioni in formato csv\\\"\\n        class=\\\"toolbar-button\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice servizio</th>\\n            <th>Piano</th>\\n            <th>Titolo</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"status\\\">Stato</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\"\\n                attribute=\\\"owner-display-name\\\">${mdt.parsers.contextualize(api.user,\\n                'Account')}/${mdt.parsers.contextualize(api.user, 'Utente')}</md-table-sort></th>\\n            <th>Fatturazione</th>\\n            <th>Attivazione</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"expire-at\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"price\\\">Prezzo</md-table-sort></th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td>\\n              <span click.delegate=\\\"tools.copyText(item.flatServiceCode, 'Codice')\\\"\\n                ka-tooltip.bind=\\\"`Copia codice: ${item.flatServiceCode}`\\\" class=\\\"copy-text with-icon\\\"\\n                style=\\\"white-space: nowrap\\\">${item.flatServiceCode}\\n              </span>\\n            </td>\\n            <td style=\\\"white-space: nowrap;\\\">${item.flatServiceType |\\n              comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>\\n                <i if.bind=\\\"['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(api.user.group)\\\"\\n                  click.delegate=\\\"showLogs(item)\\\" class=\\\"far fa-search logs\\\"></i>\\n                ${item.flatServiceTitle}\\n              </span>\\n              <br><small if.bind=\\\"item.flatServiceDescription\\\"\\n                click.delegate=\\\"serviceDescription(item.flatServiceDescription)\\\" class=\\\"link\\\"\\n                ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <strong if.bind=\\\"item.status === 'PENDING' && item.paymentMethod === 'BANK-TRANSFER' && item.orderId\\\"\\n                ka-tooltip=\\\"In attesa pagamento mezzo bonifico. Clicca sotto per i dettagli\\\">\\n                ${statuses[item.status]}\\n              </strong>\\n              <strong else>${statuses[item.status]}</strong>\\n              <small if.bind=\\\"item.suspendAt\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap;\\\">Data sospensione:\\n                ${item.suspendAt | dateFormat}</small>\\n              <small if.bind=\\\"item.terminatedAt\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap;\\\">Data termine:\\n                ${item.terminatedAt | dateFormat}</small>\\n              <small if.bind=\\\"item.paymentMethod === 'BANK-TRANSFER'\\\" class=\\\"bank-transfer-data\\\"\\n                click.delegate=\\\"showBankTransfer(item)\\\">\\n                Dati bonifico bancario\\n              </small>\\n              <small if.bind=\\\"item.statusReason\\\" class=\\\"d-block\\\">${item.statusReason}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>${item.ownerDisplayName}</span>\\n              <small if.bind=\\\"item.ownerFiscalCode\\\" class=\\\"d-block\\\">CF: ${item.ownerFiscalCode}</small>\\n              <small if.bind=\\\"item.ownerVatCode\\\" class=\\\"d-block\\\">PI: ${item.ownerVatCode}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              ${item.payeeDisplayName}\\n              <small class=\\\"d-block\\\">Metodo pagamento: ${item.paymentMethod | comboFormat:{datavalue: 'code', datatext:\\n                'label'}:'paymentMethods'}</small>\\n            </td>\\n\\n            <td if.bind=\\\"item.activatedAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.activatedAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n\\n            <td if.bind=\\\"item.expireAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.expireAt | dateFormat:'DD/MM/YYYY'}</div>\\n              <template if.bind=\\\"item.status === 'ACTIVE'\\\">\\n                <div if.bind=\\\"item.autoRenew === 'ENABLED'\\\">\\n                  <strong class=\\\"success-text limitwidth\\\">Autorinnovo attivo</strong>\\n                  <small if.bind=\\\"item.autoRenewPaymentMethod\\\" class=\\\"d-block\\\">Metodo di pagamento autorinnovo:\\n                    ${item.autoRenewPaymentMethod}</small>\\n                </div>\\n                <div if.bind=\\\"item.autoRenew === 'DISABLED' && item.autoRenewable === 'YES'\\\">\\n                  <strong class=\\\"error-text limitwidth\\\">Autorinnovo non attivo</strong>\\n                </div>\\n                <div if.bind=\\\"api.hasRole('MODIFY_ANY_USER_FLAT_SERVICE_SUBSCRIPTION_EXPIRE_DATE')\\\" class=\\\"limitwidth\\\">\\n                  <small><a href=\\\"\\\" click.delegate=\\\"editExpiration($event, item)\\\">Modifica scadenza</a></small>\\n                </div>\\n              </template>\\n            </td>\\n            <td else>N.D.</td>\\n            <td style=\\\"white-space: nowrap;\\\">\\n              <span style=\\\"white-space: nowrap\\\">${item.flatServicePrice} € + IVA</span>\\n              <span \\n                class=\\\"d-block\\\" \\n                style=\\\"white-space: nowrap\\\"\\n                if.bind=\\\"item.flatServiceMulticoinPoint\\\">\\n                <span class=\\\"text-primary\\\">\\n                  <i class=\\\"far fa-coins\\\" style=\\\"font-size: 1.3rem; margin-right: .4rem\\\"></i>Multicoin:\\n                </span> ${item.flatServiceMulticoinPoint} pt.\\n              </span>\\n              <small if.bind=\\\"item.flatServiceCashbackAmount\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback:\\n                ${item.flatServiceCashbackAmount} €</small>\\n              <small if.bind=\\\"item.orderId\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><span\\n                  style=\\\"white-space: nowrap\\\">ID Ordine: </span>${item.orderId}</small>\\n            </td>\\n\\n            <!-- Buttons -->\\n            <td class=\\\"limitwidth-200 d-flex flex-column\\\">\\n              <template if.bind=\\\"api.hasRole('MODIFY_ANY_USER_FLAT_SERVICE_SUBSCRIPTION_STATUS')\\\">\\n                <!-- Sospendi -->\\n                <ka-button if.bind=\\\"item.status === 'ACTIVE'\\\" click.delegate=\\\"editStatus($event, 'sospendi', item)\\\"\\n                  ka-tooltip=\\\"Sospensione temporanea. Non sarà possible sottoscrivere la stessa tipologia di servizio fino alla scandenza\\\"\\n                  class=\\\"flat inverted\\\">\\n                  Sospendi servizio\\n                </ka-button>\\n                <!-- Riattiva -->\\n                <ka-button if.bind=\\\"item.status === 'SUSPENDED'\\\" click.delegate=\\\"editStatus($event, 'riattiva', item)\\\"\\n                  ka-tooltip=\\\"Riattivazione della sottoscrizione al servizio temporaneamente sospesa\\\"\\n                  class=\\\"flat inverted\\\">\\n                  Riattiva servizio\\n                </ka-button>\\n                <!-- Termina -->\\n                <ka-button\\n                  if.bind=\\\"item.status !== 'TERMINATED' && (item.status !== 'EXPIRED' || api.hasRole('MODIFY_EXPIRED_FLAT_SERVICE_SUBSCRIPTION_STATUS'))\\\"\\n                  click.delegate=\\\"editStatus($event, 'termina', item)\\\"\\n                  ka-tooltip=\\\"Chiusura definitiva della sottoscrizione al servizio. per riattivare il servizio sarà necessaria nuova sottoscrizione\\\"\\n                  class=\\\"flat\\\">\\n                  Termina servizio\\n                </ka-button>\\n              </template>\\n              <!--\\n              <ka-button\\n                if.bind=\\\"privileges.tabs.attivabili && item.status === 'EXPIRED' && !item.nextUuid\\\"\\n                click.delegate=\\\"renew($event, item)\\\"\\n                ka-tooltip=\\\"Rinnova il servizio\\\"\\n                class=\\\"flat\\\">\\n                Rinnova servizio\\n              </ka-button>\\n              -->\\n              <!-- <ka-button\\n                click.delegate=\\\"dialogServiceDetail(item)\\\"\\n                ka-tooltip=\\\"Rinnova il servizio\\\"\\n                class=\\\"flat inverted secondary with-icon\\\">\\n                <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n                <span style=\\\"width: calc(100% - 1.1rem); text-align: left\\\">Dettaglio</span>\\n              </ka-button> -->\\n              <ka-button if.bind=\\\"item.status === 'ACTIVE' && item.autoRenewable === 'YES'\\\"\\n                click.delegate=\\\"editRenewal($event, item)\\\"\\n                ka-tooltip.bind=\\\"item.isAutoRenewDisabled ? 'Non è possibile disattivare il rinnovo automatico quando la sottoscrizione è in scadenza in meno di 30 giorni.' : (item.autoRenew === 'ENABLED' ? 'Disabilita rinnovo automatico del servizio' : 'Abilita rinnovo automatico del servizio')\\\"\\n                class=\\\"flat secondary\\\" disabled.bind=\\\"item.status !== 'ACTIVE' || item.isAutoRenewDisabled\\\">\\n                Gestisci autorinnovo\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"parent.isPendingInitTabs === false\\\">\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca servizi</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"productCode\\\" \\n            client.bind=\\\"api\\\" \\n            buttons=\\\"dropdown,clear\\\" \\n            change.call=productCodeChanged()>\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control\\n            name=\\\"type\\\" \\n            buttons=\\\"dropdown,clear\\\"\\n            readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"title\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"description\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col-6\\\">\\n              <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n            </div>\\n            <div class=\\\"col-6\\\">\\n              <md-control name=\\\"activableOn\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"payableBy\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"tools.enabledUntil('2026-02-28T00:00:01')\\\" class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"cashbackAmount\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"multicoinPoint\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n        </div>\\n      </div>\\n    </template>\\n  \\n    <template if.bind=\\\"tableInterface.data\\\">\\n      <h2>Elenco servizi\\n        <ka-button \\n          class=\\\"inverted flat with-icon\\\" \\n          if.bind=\\\"api.hasRole('CREATE_FLAT_SERVICES')\\\" \\n          click.delegate=\\\"createService()\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Crea nuovo servizio</span>\\n        </ka-button>\\n        </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice servizio</th>\\n              <th>Piano</th>\\n              <th>Titolo/Descrizione</th>\\n              <th>Durata</th>\\n              <th>Specifiche</th>\\n              <th>Attivazione</th>\\n              <th>Promozioni associate</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"service of tableInterface.data\\\">\\n              <!-- Codice -->\\n              <td class=\\\"limitwidth\\\">${service.code}</td>\\n  \\n              <!-- Piano -->\\n              <td class=\\\"limitwidth\\\">${service.type | comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n  \\n              <!-- Titolo/Descrizione -->\\n              <td style=\\\"max-width: 15vw;\\\">\\n                <span class=\\\"copy-text with-icon\\\" click.delegate=\\\"tools.copyText(service.title, 'Titolo')\\\" ka-tooltip.bind=\\\"`Copia titolo: ${service.title}`\\\">${service.title}</span><br>\\n                <small style=\\\"white-space: nowrap;\\\" class=\\\"d-block\\\">Creato il ${service.createdAt | dateFormat}</small>\\n                <small click.delegate=\\\"serviceDescription(service.description)\\\" class=\\\"link\\\" ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n              </td>\\n  \\n              <!-- Durata -->\\n              <td class=\\\"limitwidth\\\">${service.duration} gg.</td>\\n              \\n              <!-- Prezzo -->\\n              <td style=\\\"min-width: 25rem; max-width: 15vw;\\\">\\n                <small>\\n                  <span style=\\\"white-space: nowrap\\\">Prezzo: ${service.price} € + IVA ${service.vatAmount} €</span><br>\\n                  <span if.bind=\\\"service.multicoinPoint\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Multicoin: ${service.multicoinPoint} pt.</span>\\n                  <span if.bind=\\\"service.cashbackAmount\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback: ${service.cashbackAmount} €</span>\\n                  Addebitabile a\\n                  <strong if.bind=\\\"service.payableBySponsor\\\" style=\\\"white-space: nowrap\\\">${service.sponsorDisplayName}</strong>\\n                  <span else style=\\\"white-space: nowrap\\\">${service.payableBySubuser && service.payableByUser ? 'utenti e sottoutenti' : !service.payableBySubuser ? 'utenti' : 'sottoutenti'}</span>\\n                  <br>\\n                  <span style=\\\"white-space: nowrap\\\">Autorinnovo ${service.autoRenewable ?  'disponibile' : 'non disponibile'}</span><br>\\n                  Metodo pagamento:\\n                  <span repeat.for=\\\"paymentMethod of service.paymentMethods\\\" class=\\\"payment-methods\\\">${paymentMethod | comboFormat:{datavalue: 'code', datatext: 'label'}:'paymentMethods'}</span>\\n                </small>\\n              </td>\\n  \\n              <!-- Attivazione -->\\n              <td style=\\\"min-width: 25rem; max-width: 15vw;\\\">\\n                <small>\\n                  Attivabile da\\n                  <strong if.bind=\\\"service.sponsorDisplayName\\\">${service.sponsorDisplayName}</strong>\\n                  <span else>${service.activableByPrivilegedUserOnly === 'YES' ? 'utenti privilegiati' : 'proprietario account'}</span>\\n                  <br>\\n                  Sottoscrivibile da ${service.activableOnUser && service.activableOnSubuser ? 'utenti e sottoutenti' : !service.activableOnSubuser ? 'utenti' : 'sottoutenti'}<br>\\n                  Inizio periodo di validità: ${service.startAt | dateFormat}<br>\\n                  Termine periodo di validità: ${service.endAt ? service.endAt : 'illimitato' | dateFormat }\\n                </small>\\n              </td>\\n  \\n              <!-- Promozioni associate -->\\n              <td>\\n                <template if.bind=\\\"service.associatedPromoCodes && service.associatedPromoCodes.length\\\">\\n                  <div repeat.for=\\\"promoCode of service.associatedPromoCodes\\\" class=\\\"promo-code\\\">${promoCode}</div>\\n                </template>\\n                <small else>Nessuna promozione</small>\\n              </td>\\n  \\n              <!-- Buttons -->\\n              <td class=\\\"d-flex flex-column align-items-start align-items-sm-end\\\">\\n                <ka-button \\n                  if.bind=\\\"api.hasRole(['MODIFY_FLAT_SERVICES'])\\\" \\n                  click.delegate=\\\"editService($event, service)\\\" \\n                  class=\\\"flat inverted secondary\\\">Modifica\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca volture da confermare</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <!-- Sottoutente selezionato -->\\n      <template if.bind=\\\"requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-6\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <!-- Utente master o basic -->\\n      <template if.bind=\\\"!requestedUserData && !privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n      </template>\\n\\n      <!-- Operatore -->\\n      <template if.bind=\\\"!requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"flatServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-input name=\\\"productCode\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\" change.call=\\\"$parent.productCodeChanged(data.productCode)\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-input name=\\\"type\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">    \\n    <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n      <span>Elenco volture da confermare</span>\\n      <div class=\\\"d-flex align-items-center ms-3\\\">\\n        <small class=\\\"d-flex align-items-center\\\">\\n          <i class=\\\"far fa-exclamation-circle me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">Selezionati <strong>${tableSelectionInterface.selectedCount}</strong> su <strong>${tableInterface.total}</strong> totali</span>\\n        </small>\\n        <ka-button \\n          class=\\\"inverted flat secondary icon\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount\\\"\\n          click.delegate=\\\"tableSelectionInterface.reset(true)\\\"\\n          ka-tooltip=\\\"value: Deseleziona tutti; placement: left;\\\">\\n          <i class=\\\"fas fa-times\\\"></i>\\n        </ka-button>\\n        <ka-button \\n          class=\\\"inverted flat with-icon ms-0\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount\\\"\\n          click.delegate=\\\"confirmSelectedServices($event)\\\"\\n          ka-tooltip=\\\"value: Conferma volture selezionate; placement: left;\\\">\\n          <i class=\\\"fas fa-check\\\"></i>\\n          <span>Conferma volture selezionate</span>\\n        </ka-button>\\n      </div>\\n    </h2>\\n    \\n    <!-- Table -->\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th if.bind=\\\"!params.id && !privileges.isOperator\\\">\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                disabled.bind=\\\"tableSelectionInterface.isEveryVisibleRecordDisabled()\\\"\\n                checked.bind=\\\"tableSelectionInterface.selectEveryVisibleRecordSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectEveryVisibleRecordSelected()\\\">\\n            </th>          \\n            <th>Codice servizio</th>\\n            <th>Piano</th>\\n            <th>Titolo</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"owner-display-name\\\">${mdt.parsers.contextualize(api.user, 'Account')}/${mdt.parsers.contextualize(api.user, 'Utente')}</md-table-sort></th>\\n            <th>Fatturazione</th>\\n            <th>Attivazione</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"expire-at\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"price\\\">Prezzo</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td if.bind=\\\"!params.id && !privileges.isOperator\\\">\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"item._selection.isSelected\\\"\\n                disabled.bind=\\\"item._selection.isDisabled\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectedRecords()\\\">\\n            </td>\\n            <td>\\n              <span \\n                click.delegate=\\\"tools.copyText(item.flatServiceCode, 'Codice')\\\"\\n                ka-tooltip.bind=\\\"`Copia codice: ${item.flatServiceCode}`\\\"\\n                class=\\\"copy-text with-icon d-block\\\"\\n                style=\\\"white-space: nowrap\\\">${item.flatServiceCode}\\n              </span>\\n\\n              <template if.bind=\\\"item._selection.feedback\\\">\\n                <span\\n                  if.bind=\\\"item._selection.feedback.status\\\"\\n                  class=\\\"tag mt-1 ${item._selection.feedback.status === 'Errore' ? 'error' : (item._selection.feedback.status === 'Completato' ? 'success' : 'pending')}\\\">\\n                  ${item._selection.feedback.status}\\n                </span>\\n                <small if.bind=\\\"item._selection.feedback.message\\\" class=\\\"d-block mt-1\\\">${item._selection.feedback.message}</small>\\n              </template>\\n            </td>\\n            <td style=\\\"white-space: nowrap;\\\">${item.flatServiceType}</td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>\\n                <i if.bind=\\\"['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(api.user.group)\\\" click.delegate=\\\"showLogs(item)\\\" class=\\\"far fa-search logs\\\"></i>\\n                ${item.flatServiceTitle}\\n              </span>\\n              <br><small if.bind=\\\"item.flatServiceDescription\\\" click.delegate=\\\"serviceDescription(item.flatServiceDescription)\\\" class=\\\"link\\\" ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>${item.ownerDisplayName}</span>\\n              <small if.bind=\\\"item.ownerFiscalCode\\\" class=\\\"d-block\\\">CF: ${item.ownerFiscalCode}</small>\\n              <small if.bind=\\\"item.ownerVatCode\\\" class=\\\"d-block\\\">PI: ${item.ownerVatCode}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              ${item.payeeDisplayName}\\n              <small class=\\\"d-block\\\">Metodo pagamento: ${item.paymentMethod}</small>\\n            </td>\\n            \\n            <td if.bind=\\\"item.activatedAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.activatedAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n  \\n            <td if.bind=\\\"item.expireAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.expireAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n            <td style=\\\"white-space: nowrap;\\\">\\n              <span>${item.flatServicePrice} € + IVA</span>\\n              <small if.bind=\\\"item.orderId\\\" class=\\\"d-block\\\"><span style=\\\"white-space: nowrap\\\">ID Ordine: </span>${item.orderId}</small>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti volture da confermare</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credito-deposito.scss\\\"></require>\\n\\n  <!-- Search -->\\n  <template if.bind=\\\"creditSearchInterface.initialized\\\">\\n    <h2 class=\\\"with-buttons\\\">\\n      <span>Ricerca movimenti di credito</span>\\n      <!-- Credit transfer -->\\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_SUB_USER_CREDIT_TRANSFER')\\\"\\n        class=\\\"inverted primary with-icon\\\"\\n        click.delegate=\\\"creditMovement('transfer')\\\"\\n        disabled.bind=\\\"!userProfile.parent || userId === 'me'\\\"\\n        style=\\\"margin-left: auto;\\\">\\n        <i class=\\\"fad fa-exchange\\\"></i>\\n        <span>Trasferisci credito</span>\\n      </ka-button>\\n      <!-- Credit transaction -->\\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_ANY_USER_CREDIT_TRANSACTION')\\\"\\n        class=\\\"inverted primary with-icon\\\"\\n        click.delegate=\\\"creditMovement('transaction')\\\"\\n        disabled.bind=\\\"!userProfile || userId === 'me'\\\"\\n        style=\\\"margin-left: 0;\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Inserisci movimento</span>\\n      </ka-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"creditSearchInterface\\\">\\n      <!-- !isOperator -->\\n      <template if.bind=\\\"!isOperator\\\">\\n        <div class=\\\"col-6 col-lg-${data.context === 'subusers' ? '3' : '6'}\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"data.context === 'subusers'\\\" class=\\\"col-6 col-lg-3\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"userId\\\" buttons=\\\"clear\\\"></md-input>\\n        </div>\\n      </template>\\n      <!-- isOperator -->\\n      <template if.bind=\\\"isOperator\\\">\\n        <div class=\\\"col-6 col-lg-${selectedParentIsMaster ? '2' : '4'}\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"parent\\\" change.call=\\\"setParent()\\\" ready.call=\\\"setParent()\\\"></md-input>\\n        </div>\\n        <div if.bind=\\\"selectedParentIsMaster\\\" class=\\\"col-6 col-lg-2\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"child\\\" buttons=\\\"clear\\\"></md-input>\\n        </div>\\n      </template>\\n      <!--\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"orderId\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      -->\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"dateStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"dateEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"ripristina()\\\" class=\\\"inverted\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"creditTableInterface\\\">\\n    <h2 if.bind=\\\"userProfile\\\">Elenco dei movimenti di credito di ${userProfile.displayName} <span if.bind=\\\"userProfile.parent\\\">(${mdt.parsers.contextualize(api.user, 'sottoutente')} di ${userProfile.parent.displayName})</span></h2>\\n    <h2 if.bind=\\\"!userProfile\\\">Elenco dei <span if.bind=\\\"creditSearchInterface.data.context === 'me'\\\">miei</span> movimenti di credito</h2>\\n    <div if.bind=\\\"currentBalance\\\" class=\\\"row\\\" style=\\\"margin-top: -1rem\\\">\\n      <div class=\\\"col\\\">\\n        <p><span class=\\\"primary-text\\\">Saldo credito residuo ${mdt.parsers.contextualize(api.user, creditSearchInterface.data.context === 'me' ? 'dell\\\\'account' : 'dell\\\\'utente')}:</span> servizio <strong>${currentBalance.vatSubjectAmount} €</strong> - affrancatura <strong>${currentBalance.noVatSubjectAmount} €</strong></p>\\n      </div>\\n      <div class=\\\"col d-flex justify-content-end\\\">\\n        <p><span class=\\\"primary-text\\\">Saldo credito per il filtro selezionato:</span> servizio <strong>${currentBalance.filteredVatSubjectAmount} €</strong> - affrancatura <strong>${currentBalance.filteredNoVatSubjectAmount} €</strong></p>\\n      </div>\\n    </div>\\n    <md-table-toolbar table.bind=\\\"creditTableInterface\\\" download.call=\\\"export()\\\" search.bind=\\\"creditSearchInterface\\\" buttons=\\\"download\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like credito\\\">\\n        <thead if.bind=\\\"creditTableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Tipologia</th>\\n            <th>Causale</th>\\n            <th>Riferimento</th>\\n            <th ka-tooltip=\\\"Questo credito è necessario per tutte le tipologie<br>di invio (sms, fax, multicerta e posta cartacea<br>indipendentemente dall'affrancatura)\\\" class=\\\"tooltip\\\">Importo servizio</th>\\n            <th ka-tooltip=\\\"Questo credito è necessario per pagare il<br> francobollo per prioritarie, raccomandate<br> o raccomandate AR. Il francobollo per<br>Raccomandata1 e Raccomandata1AR<br> viene pagato con il credito servizio.\\\" class=\\\"tooltip\\\">Importo affrancatura</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"creditTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of creditTableInterface.data\\\">\\n            <td>${item.createdAt | dateFormat}</td>\\n            <td><small class=\\\"tag ${item.sign === 'CREDIT' ? 'success' : 'error'} with-icon\\\">${item.sign === 'CREDIT' ? 'Ricarica' : 'Addebito'}</small></td>\\n            <td>\\n              <small class=\\\"text-color\\\" if.bind=\\\"item.reason.description\\\" style=\\\"display: block;\\\">Descrizione: ${item.reason.description}</small>\\n              <span\\n                if.bind=\\\"item.reason.queueUuid\\\"\\n                style=\\\"display: block; margin-top: .5rem;\\\">\\n                <a\\n                  href.bind=`spedizioni/reportistica/${item.ownerId}/${item.reason.queueUuid}`>\\n                  Visualizza reportistica spedizione\\n                </a>\\n              </span>\\n            </td>\\n            <td if.bind=\\\"item.reason.migrationVerse\\\">\\n              <span>Trasferimento credito</span>\\n              <small>${getMigrationMessage(item)}</small>\\n            </td>\\n            <td if.bind=\\\"!item.reason.migrationVerse\\\"><span>Movimento credito</span></td>\\n            <td>${item.amount.vatSubject} €</td>\\n            <td>${item.amount.noVatSubject} €</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!creditTableInterface.data.length\\\">Nessun movimento per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credito-deposito.scss\\\"></require>\\n  <template if.bind=\\\"bailmentSearchInterface.initialized\\\">\\n    <h2>\\n      <span>Ricerca movimenti di deposito cauzionale <span if.bind=\\\"user\\\">per ${user.profile.displayName}</span></span>\\n      <ka-button if.bind=\\\"api.hasRole('CREATE_ANY_USER_BAILMENT_DEPOSIT_TRANSACTION')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"depositTransaction()\\\" disabled.bind=\\\"!userId\\\"><span class=\\\"material-icons\\\" style=\\\"vertical-align: middle; margin-right: .3rem;\\\">add</span> Inserisci movimento</ka-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"bailmentSearchInterface\\\">\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-6 col-lg-6\\\">\\n        <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"userId\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"orderId\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"dateStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"dateEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"ripristina()\\\" class=\\\"inverted\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n  \\n  <template if.bind=\\\"bailmentTableInterface\\\">\\n    <h2 class=\\\"table-title\\\">\\n      <span>Elenco movimenti di deposito cauzionale</span>\\n      <span if.bind=\\\"bailmentTableInterface.data\\\" class=\\\"current-balance\\\">\\n        <span>Saldo corrente: <strong>${currentBalance.balance} €</strong></span>\\n      </span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"bailmentTableInterface\\\" search.bind=\\\"bailmentSearchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like deposito\\\">\\n        <thead if.bind=\\\"bailmentTableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Tipologia</th>\\n            <th>Causale</th>\\n            <th>Importo</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"bailmentTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of bailmentTableInterface.data\\\">\\n            <td>${item.createdAt | dateFormat}</td>\\n            <td style=\\\"text-transform: uppercase;\\\">${item.type === 'CREDIT' ? 'Entrata' : 'Uscita'}</td>\\n            <td>\\n              <span if.bind=\\\"item.reason.description\\\" style=\\\"display: block;\\\">Descrizione: ${item.reason.description}</span>\\n              <span if.bind=\\\"item.reason.orderId\\\" style=\\\"display: block; margin-top: .5rem;\\\">ID ordine: ${item.reason.orderId}</span> <!-- TO DO delete this when the order detail page is completed -->\\n              <!-- TO DO when the order detail page is completed <span if.bind=\\\"item.reason.orderId\\\" style=\\\"display: block; margin-top: .5rem;\\\"><a href=\\\"${environment.APP_URL_LEGACY}scriba/box_order.html\\\">Visualizza ordine</a></span> --> <!-- TO DO show this when the order detail page is completed -->\\n              <span if.bind=\\\"item.reason.legacyQueueId\\\" style=\\\"display: block; margin-top: .5rem;\\\"><a href=\\\"${environment.APP_URL_LEGACY}scriba/multi_invio/details_mi.html?idqueue=${item.reason.legacyQueueId}\\\" target=\\\"_blank\\\">Visualizza reportistica spedizione</a></span>\\n            </td>\\n            <td>${item.amount} €</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!bailmentTableInterface.data.length\\\">Nessun movimento per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-credit-movement.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: mdt.parsers.contextualize(api.user, 'Utente'), readonly: true}\\\" value.bind=\\\"params.user.displayName\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Credito residuo servizio', readonly: true}\\\" value=\\\"${params.user.credit.vatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Credito residuo affrancatura', readonly: true}\\\" value=\\\"${params.user.credit.noVatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"row\\\" if.bind=\\\"params.context === 'transfer' && masterUser\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Destinatario', readonly: true}\\\" value.bind=\\\"params.user.parent.displayName\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Attuale credito servizio', readonly: true}\\\" value=\\\"${masterUser.vatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Attuale credito affrancatura', readonly: true}\\\" value=\\\"${masterUser.noVatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <ka-control name=\\\"sign\\\" buttons=\\\"clear,dropdown\\\" readonly.bind=\\\"params.context === 'transfer'\\\"></ka-control>\\n\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"amount.vatSubject\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"amount.noVatSubject\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <ka-control if.bind=\\\"params.context === 'transaction'\\\" name=\\\"reason.description\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control if.bind=\\\"params.context === 'transfer'\\\" name=\\\"reason\\\" buttons=\\\"clear\\\"></ka-control>\\n\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\" style=\\\"margin-left: 0;\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-deposit-transaction.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"user\\\">Utente<p>${params.userProfile.displayName}</p></div>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col\\\" style=\\\"margin-bottom:1rem\\\"><ka-control name=\\\"value\\\" buttons=\\\"clear\\\"></ka-control></div>\\n      <div class=\\\"col\\\" style=\\\"margin-bottom:1rem\\\"><ka-control name=\\\"type\\\"></ka-control></div>\\n    </div>\\n    <ka-control name=\\\"note\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\" style=\\\"margin-left: 0;\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body { padding: 2rem; }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <p>Modificare gli \\\"economics\\\" è un'operazione straordinaria. L'operatore ha la responsabilità di effettuarla con diligenza. Il nominativo dell'esecutore sarà registrato e conservato per eventuali verifiche!</p>\\n    <ka-control schema.bind=\\\"check.schema.confirm\\\" value.bind=\\\"check.data.confirm\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok()\\\" disabled.bind=\\\"!check.data.confirm\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./listini-pianificazione.sass\\\"></require>\\n  <div class=\\\"body\\\" if.bind=\\\"resource\\\">\\n    <div class=\\\"row m-0 p-3\\\">\\n      <div class=\\\"col-6 p-0 pe-2 pb-3\\\">\\n        <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown,clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6 p-0 ps-2 pb-3\\\">\\n        <ka-control name=\\\"endAt\\\" buttons=\\\"dropdown,clear\\\" md-tooltip=\\\"Non compilando il campo, la data di termine sarà considerata indefinita ovvero estendibile all'infinito\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-3\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-3\\\">\\n        <small class=\\\"alert\\\"><strong>Attenzione!</strong>\\n          <span>Stai aggiungendo un intervallo alla attuale timeline di pianificazione. La timeline sarà ricalcolata al salvataggio.</span>\\n        </small>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./listini.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./../listini.sass\\\"></require>\\n  <div class=\\\"row m-0\\\">\\n\\n    <!-- Left side -->\\n    <div class=\\\"col-6 col-md-4 p-0 left-side\\\">\\n      <h2 class=\\\"m-0\\\">Ricerca listini</h2>\\n      <div class=\\\"row m-0 app-shared-search-style\\\">\\n        <template if.bind=\\\"privileges.isOperator\\\">\\n          <div class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"schema.user\\\" value.bind=\\\"data.user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.trigger=\\\"getUser()\\\"></ka-control>\\n          </div>\\n        </template>\\n        <template if.bind=\\\"!privileges.isOperator\\\">\\n          <div class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"schema.context\\\" value.bind=\\\"data.context\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!privileges.isOperator && !privileges.isParent\\\" change.trigger=\\\"setContext()\\\"></ka-control>\\n          </div>\\n          <div if.bind=\\\"privileges.isParent\\\" class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"{ control: 'text', label: mdt.parsers.contextualize(api.user, 'Utente') }\\\" value.bind=\\\"searchSubusers\\\" readonly.bind=\\\"data.context === 'ME'\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n        </template>\\n      </div>\\n\\n      <!-- Subusers -->\\n      <template if.bind=\\\"!privileges.isOperator\\\">\\n        <ul if.bind=\\\"subusers\\\" class=\\\"m-0 p-0 subusers ${data.context === 'SUBUSERS' && subusers ? 'show' : 'hide'}\\\">\\n          <template repeat.for=\\\"subuser of subusers\\\">\\n            <li id=\\\"${subuser.id}\\\" click.delegate=\\\"selectSubuser(subuser)\\\">\\n              <span class=\\\"limitwidth-30\\\">${subuser.profile[0].displayName}</span>\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Price lists -->\\n    <div class=\\\"col-6 col-md-8 p-0 right-side\\\">\\n      <h2 class=\\\"m-0\\\">\\n        <span if.bind=\\\"data.selectedSubuser || data.selectedUser\\\">Elenco dei listini di ${data.selectedUser ? data.selectedUser.displayName : data.selectedSubuser.displayName}</span>\\n        <span if.bind=\\\"data.context === 'ME'\\\">Elenco dei miei listini</span>\\n        <span if.bind=\\\"data.context !== 'ME' && !data.selectedSubuser && !data.selectedUser\\\">Elenco listini</span>\\n      </h2>\\n      <md-table-progressbar if.bind=\\\"pricelistsPending\\\"></md-table-progressbar>\\n      <template if.bind=\\\"!pricelistsPending && pricelists && (data.context === 'ME' || data.selectedSubuser || data.selectedUser)\\\">\\n        <ul if.bind=\\\"pricelists.length\\\" class=\\\"m-0 pricelists\\\" style=\\\"list-style: none;\\\">\\n          <li repeat.for=\\\"pricelist of pricelists\\\" class=\\\"p-0 ${$index === 0 ? 'current' : ''} ${$index+1 ===  pricelists.length && pricelists[pricelists.length - 1].endAt === null ? 'endless' : ''}\\\">\\n            <div class=\\\"pricelist-date\\\">\\n              <span class=\\\"text-nowrap\\\">${pricelist.startAt|dateFormat:'DD/MM/YYYY'}</span>\\n            </div>\\n            <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n            <div class=\\\"row wrapper-pricelist flex-column flex-xl-row\\\">\\n              <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n              <div class=\\\"col-12 col-xl-auto p-0\\\">\\n                <span>${pricelist.label}${pricelistDefault === pricelist.code ? ' - Predefinito' : ''}</span><br>\\n                <a \\n                  href=\\\"${legacyLink}${pricelist.code}\\\"\\n                  target=\\\"_blank\\\" \\n                  class=\\\"pricelist-detail\\\">\\n                  <i class=\\\"far fa-external-link\\\"></i>Vedi dettaglio listino\\n                </a>\\n              </div>\\n              <div class=\\\"col-12 col-xl d-flex flex-column align-items-xl-end p-0 code-label\\\">\\n                ${$index === 0 ? 'Listino corrente' : 'Listino in programma'}\\n                <small if.bind=\\\"privileges.isOperator && pricelist.authorDisplayName\\\" class=\\\"limitwidth\\\">Creato da ${pricelist.authorDisplayName} il ${pricelist.createdAt}</small>\\n              </div>\\n            </div>\\n          </li>\\n          <li if.bind=\\\"pricelists[pricelists.length-1].endAt !== null\\\" class=\\\"p-0 pricelists-end\\\">\\n            <div class=\\\"pricelist-date\\\">\\n              <span class=\\\"text-nowrap\\\">${pricelists[pricelists.length-1].endAt|dateFormat:'DD/MM/YYYY'}</span>\\n            </div>\\n            <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n          </li>\\n        </ul>\\n      </template>\\n      <template if.bind=\\\"!pricelists.length && !pricelistsPending\\\">\\n        <p if.bind=\\\"data.selectedUser || data.selectedSubuser\\\">Nessun listino disponibile</p>\\n        <p if.bind=\\\"!data.selectedUser && !data.selectedSubuser\\\">Nessun utente selezionato</p>\\n      </template>\\n      <div if.bind=\\\"api.hasRole('CREATE_ANY_USER_PRICE_LIST_SCHEDULE') && (data.selectedSubuser || data.selectedUser)\\\" class=\\\"d-flex flex-column align-items-start mt-5 px-4 flex-xl-row justify-content-xl-end m-xl-0\\\">\\n        <ka-button if.bind=\\\"data.selectedUser && data.selectedUser.group === 'MASTER_USER'\\\" click.delegate=\\\"subusersPricelistSchedule()\\\" ka-tooltip.bind=\\\"'La pianificazione applicata a questo utente sarà applicata a tutti i suoi '+mdt.parsers.contextualize(data.selectedUser.businessType, 'sottoutenti')\\\" class=\\\"secondary flat m-0 me-xl-3\\\">Applica pianificazione ad ogni ${mdt.parsers.contextualize(data.selectedUser.businessType, 'sottoutente')}</ka-button>\\n        <ka-button click.delegate=\\\"newPricelistSchedule()\\\" class=\\\"flat mx-0 mt-3 m-xl-0\\\">Pianifica nuovo intervallo</ka-button>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-assegna.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"user\\\">\\n      <span>Utente: <strong>${params.user.profile.displayName}</strong></span>\\n      <span if.bind=\\\"params.user.profile.email\\\" style=\\\"margin-left: 1rem\\\">Email: <strong>${params.user.profile.email}</strong></span>\\n    </p>\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca promozioni</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\">\\n        <div class=\\\"col-4\\\">\\n          <ka-control schema.bind=\\\"searchInterface.schema.code\\\" value.bind=\\\"searchInterface.data.code\\\" buttons=\\\"clear\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-4\\\">\\n          <ka-control schema.bind=\\\"searchInterface.schema.description\\\" value.bind=\\\"searchInterface.data.description\\\" buttons=\\\"clear\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"searchInterface.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"searchInterface.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n    <template if.bind=\\\"tableInterface\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice</th>\\n              <th>Descrizione</th>\\n              <th>Scadenza</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"item of tableInterface.data\\\">\\n              <td class=\\\"promo-code\\\">\\n                <span \\n                  class=\\\"copy-text\\\" \\n                  click.delegate=\\\"copyText(item.code, 'Codice')\\\" \\n                  ka-tooltip.bind=\\\"`Copia codice: ${item.code}`\\\">${item.code}\\n                </span>\\n              </td>\\n              <td>\\n                <span \\n                  class=\\\"copy-text with-icon\\\" \\n                  click.delegate=\\\"copyText(item.description, 'Descrizione')\\\" \\n                  ka-tooltip.bind=\\\"`Copia descrizione: ${item.description}`\\\">${item.description}\\n                </span>\\n              </td>\\n              <td class=\\\"d-flex align-items-center justify-content-end\\\">\\n                <ka-control\\n                  view-model.ref=\\\"item.controls['expireAt']\\\"\\n                  schema.bind=\\\"searchInterface.schema.expireAt\\\"\\n                  value.bind=\\\"item.expireAt\\\"\\n                  class=\\\"expire-at\\\"\\n                  buttons=\\\"clear,dropdown\\\">\\n                </ka-control>\\n                <ka-button \\n                  click.delegate=\\\"addPromotion($event, item)\\\"\\n                  class=\\\"flat inverted ms-3\\\"\\n                  ka-tooltip=\\\"Assegna promozione\\\">\\n                  <i class=\\\"far fa-plus\\\"></i>\\n                  <span>Assegna</span>\\n                </ka-button>\\n              </td>      \\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">Nessuna promozione disponibile</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-crea.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control name=\\\"description\\\" value.bind=\\\"resource.data.description\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-modifica.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control if.bind=\\\"params.type === 'EDIT'\\\" name=\\\"expireAt\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n    <ka-control name=\\\"notes\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Utente di riferimento</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <!-- Currently the view is visible only to operators -->\\n      <div if.bind=\\\"!privileges.isOperator\\\" class=\\\"col-${data.context === 'subusers' ? '4' : '8'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'subusers'\\\" class=\\\"col-4\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-4\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      \\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface && selectedUserId\\\">\\n    <h2>\\n      <span if.bind=\\\"selectedUserId === 'me'\\\">Elenco delle promozioni assegnate a me</span>\\n      <span if.bind=\\\"selectedUserId !== 'me'\\\">Elenco delle promozioni assegnate ${selectedUserData.profile.displayName ? 'a '+selectedUserData.profile.displayName : ''}</span>\\n      <ka-button \\n        if.bind=\\\"api.hasRole('CREATE_ANY_USER_PROMOTION_ASSOCIATION')\\\"\\n        click.delegate=\\\"addPromotion()\\\" \\n        class=\\\"inverted flat with-icon\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Assegna promozione</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Descrizione</th>\\n            <th>Stato</th>\\n            <th>Scadenza</th>\\n            <th if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PROMOTION_ASSOCIATION')\\\"></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"promo-code\\\">\\n              <span \\n                class=\\\"copy-text\\\" \\n                click.delegate=\\\"tools.copyText(item.promotionCode, 'Codice')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.promotionCode}`\\\">${item.promotionCode}\\n              </span>\\n            </td>\\n            <td>\\n              <span \\n                class=\\\"copy-text with-icon\\\" \\n                click.delegate=\\\"tools.copyText(item.promotionDescription, 'Descrizione')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.promotionDescription}`\\\">${item.promotionDescription}\\n              </span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"item.status === 'ACTIVE'\\\" class=\\\"new-tag success\\\">Attiva</span>\\n              <span if.bind=\\\"item.status === 'EXPIRED'\\\" class=\\\"new-tag error\\\">Terminata</span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"item.expireAt\\\" style=\\\"white-space: nowrap\\\">${item.expireAt|dateFormat:'DD/MM/YYYY'}</span>\\n              <span else>Illimitata</span>\\n            </td>\\n            <td if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PROMOTION_ASSOCIATION')\\\">\\n              <div class=\\\"d-flex justify-content-end\\\">\\n                <ka-button\\n                  click.delegate=\\\"editPromotion($event, item)\\\"\\n                  class=\\\"m-0 flat inverted\\\">\\n                  Modifica\\n                </ka-button>\\n                <ka-button\\n                  disabled.bind=\\\"item.status === 'EXPIRED'\\\"\\n                  click.delegate=\\\"endsPromotion($event, item)\\\" \\n                  class=\\\"flat inverted secondary with-icon m-0 ms-2\\\">\\n                  <i class=\\\"fas fa-times\\\"></i>\\n                  <span>Termina</span>\\n                </ka-button>\\n              </div>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"description\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      \\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco promozioni \\n      <ka-button \\n        if.bind=\\\"api.hasRole('CREATE_PROMOTIONS')\\\" \\n        click.delegate=\\\"createPromotion()\\\" \\n        class=\\\"inverted flat with-icon\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuova promozione</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Descrizione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"promo-code\\\">\\n              <span \\n                class=\\\"copy-text\\\" \\n                click.delegate=\\\"copyText(item.code, 'Codice')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.code}`\\\">${item.code}\\n              </span>\\n              <small\\n                if.bind=\\\"item.type === 'PORTABILITY'\\\" \\n                class=\\\"ms-2 tag primary\\\"\\n                ka-tooltip=\\\"Le promozioni di portabilità non potranno essere utilizzate per l'attivazione e sono applicabili solo in fase di rinnovo.\\\">\\n                Portabilità\\n              </small>\\n            </td>\\n            <td>\\n              <span class=\\\"copy-text with-icon\\\" click.delegate=\\\"copyText(item.description, 'Descrizione')\\\" ka-tooltip.bind=\\\"`Copia codice: ${item.description}`\\\">${item.description}</span>\\n            </td>  \\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./ricariche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca ricariche</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"!privileges.isOperator\\\" class=\\\"col-${data.context === 'subusers' ? '3' : '6'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"userChange()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'subusers'\\\" class=\\\"col-3\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"userChange()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <md-control name=\\\"types\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"!users.selected\\\" change.call=\\\"typesChange()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"api.hasRole('LIST_INVISIBLE_SHOP_CATALOG_REFILL_PACKAGES')\\\" class=\\\"col-3\\\">\\n        <md-control name=\\\"visible\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>\\n      <span if.bind=\\\"users.fetched.id === api.user.id\\\">Elenco delle ricariche per il mio ${mdt.parsers.contextualize(api.user, 'account')}</span>\\n      <span if.bind=\\\"users.fetched.id !== api.user.id\\\">Elenco delle ricariche per  ${users.fetched.displayName}</span>\\n    </h2>\\n    <md-table-progressbar if.bind=\\\"tableInterface.isLoading\\\"></md-table-progressbar>\\n    <md-table-wrapper>     \\n      <table class=\\\"ka-table-like \\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Pacchetto</th>\\n            <th>Note Legali</th>\\n            <th>Totale</th>\\n            <th>IVA</th>\\n            <th>Totale + IVA</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <template if.bind=\\\"tableInterface.data.length && users.fetched.packages.length\\\">\\n          <template repeat.for=\\\"type of users.fetched.packages\\\">\\n            <tbody if.bind=\\\"type.packages.length\\\" class.bind=\\\"tableInterface.isLoading ? 'isLoading' : ''\\\">\\n              <tr class=\\\"type-header\\\">\\n                <td colspan=\\\"7\\\">\\n                  <p>\\n                    <span>${type.title}</span>\\n                    <span class=\\\"iva\\\">IVA: <span if.bind=\\\"type.vatPercentage\\\">${type.vatPercentage}%</span><span if.bind=\\\"!type.vatPercentage\\\">non applicabile</span></span>\\n                    <span class=\\\"description\\\" innerhtml=\\\"${type.description}\\\"></span>\\n                  </p>\\n                </td>\\n              </tr>\\n              <template repeat.for=\\\"pkg of type.packages\\\">\\n                <tr id=\\\"${pkg.code}\\\">\\n                  <td class=\\\"code\\\"><span>${pkg.code}</span></td>\\n                  <td>${pkg.title}<!-- <small if.bind=\\\"pkg.description\\\"><br>${pkg.description}</small id=971393326 --></td>\\n                  <td>${pkg.legalNote}</td>\\n                  <td>${pkg.netAmount/100} €</td>\\n                  <td>${pkg.vatAmount/100} €</td>\\n                  <td>${pkg.amount/100} €</td>\\n                  <td class=\\\"d-flex flex-column align-items-end\\\">\\n                    <div class=\\\"quantity-selector\\\">\\n                      <div class=\\\"d-flex\\\" if.bind=\\\"users.fetched.cart.packages[pkg.code] > 0\\\">\\n                        <div>\\n                          <ka-button class=\\\"flat inverted icon\\\" click.delegate=\\\"setQuantity(pkg, -1)\\\" disabled.bind=\\\"users.fetched.cart.packages[pkg.code] == 1\\\"><i class=\\\"far fa-minus-circle\\\"></i></ka-button>\\n                        </div>\\n                        <div class=\\\"counter\\\">\\n                          <input type=\\\"number\\\" min=\\\"1\\\" value.bind=\\\"users.fetched.cart.packages[pkg.code]\\\" onFocus=\\\"blur()\\\"></input>\\n                        </div>\\n                        <div>\\n                          <ka-button class=\\\"flat inverted icon\\\" click.delegate=\\\"setQuantity(pkg, +1)\\\"><i class=\\\"far fa-plus-circle\\\"></i></ka-button>\\n                        </div>\\n                      </div>\\n                      <div if.bind=\\\"users.fetched.cart.packages[pkg.code] > 0\\\">\\n                        <ka-button class=\\\"flat inverted\\\" click.delegate=\\\"removeFromCart(pkg)\\\">Rimuovi dal carrello</ka-button>\\n                      </div>\\n                    </div>\\n                    <ka-button class=\\\"flat\\\" if.bind=\\\"!users.fetched.cart.packages[pkg.code] || users.fetched.cart.packages[pkg.code] == 0\\\" click.delegate=\\\"addToCart(pkg)\\\">Aggiungi al carrello</ka-button>              \\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n          </template>\\n        </template>\\n      </table>        \\n    </md-table-wrapper>\\n  </template>\\n\\n  <!-- Cartbar -->\\n  <div class=\\\"cartbar\\\">\\n    <i class=\\\"fas fa-cart-plus\\\"></i>\\n    <div class=\\\"cart-info\\\">\\n      <span class=\\\"summary\\\"><em>${users.fetched.cart.quantity}</em><div>ricariche nel carrello di <span class=\\\"user\\\">${users.fetched.displayName}</span></div></span>\\n      <span class=\\\"amount\\\">Totale <strong>${users.fetched.cart.amount.net/100} € +</strong><strong>IVA ${users.fetched.cart.amount.vat/100} €</strong></span>\\n    </div>\\n    <div class=\\\"cart-buttons\\\">\\n      <ka-button if.bind=\\\"api.hasRole(['CREATE_USER_SHOP_CART_REFILL_PACKAGES', 'CREATE_ANY_USER_SHOP_CART_REFILL_PACKAGE'])\\\" click.delegate=\\\"checkout($event)\\\" class=\\\"flat\\\" disabled.bind=\\\"!users.fetched.cart.quantity\\\">Procedi al pagamento</ka-button>\\n      <ka-button class=\\\"flat inverted\\\" click.delegate=\\\"emptyCart()\\\" disabled.bind=\\\"!users.fetched.cart.quantity\\\">Svuota</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./bank-transfer-data.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"!prececkout\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"prececkout\\\">\\n      <h3>\\n        <span>Hai creato l'ordine per questa spedizione il ${prececkout.createdAt|dateFormat:'DD/MM/YYYY'}.</span>\\n        <span class=\\\"d-block mt-2\\\">I dati per procedere al pagamento tramite bonifico bancario:</span>\\n      </h3>\\n      <ul class=\\\"tables\\\">\\n        <li class=\\\"table recipient-total\\\">\\n          <div class=\\\"grid-row voice\\\">\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Titolare conto:</strong> \\n                <span \\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia titolare conto\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.payeeDisplayName, 'titolare conto')\\\">${prececkout.paymentCoors.payeeDisplayName}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Iban:</strong> \\n                <span \\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia Iban\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.payeeIbanCode, 'Iban')\\\">${prececkout.paymentCoors.payeeIbanCode}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Causale bonifico:</strong> \\n                <span\\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia codice di conferma breve\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.confirmationShortCode, 'codice di conferma breve')\\\">${prececkout.paymentCoors.confirmationShortCode}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>importo totale:</strong> <span class=\\\"d-block d-md-inline-block mt-2 mt-md-0\\\">${prececkout.paymentCoors.presentedGrossAmount} €</span>\\n              </small>\\n            </div>\\n          </div>\\n        </li>                                          \\n      </ul>\\n      <p class=\\\"info\\\">\\n        <small>\\n          <i class=\\\"far fa-exclamation-circle\\\"></i>\\n          Per velocizzare i tempi di lavorazione invia un'email a <a href=\\\"${email.mailto}\\\">${prececkout.paymentCoors.customerCareEmail}</a><br>\\n          Allega la <strong>distinta di pagamento</strong> e specifica il <strong>codice di conferma breve o causale bonifico</strong> nell'oggetto dell'email.<br class=\\\"d-none d-md-block\\\">\\n          <span innerhtml.bind=\\\"customerCareConfirmation\\\"></span>\\n        </small>\\n      </p>  \\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./legacy-history.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"archive\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"setArchiveLabel()\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"secondary inverted flat\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button\\n      disabled.bind=\\\"!resource.data.archive\\\"\\n      class=\\\"inverted flat ms-0\\\"\\n      click.delegate=\\\"toLegacyArchive()\\\">Vai a storico ${archiveLabel}\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./message-cost-detail.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th class=\\\"text-end pe-3\\\">Imponibile</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"record of costVoices.items\\\">\\n            <tr>\\n              <td style=\\\"width: 1%; white-space: nowrap\\\">${record.labelType}</td>\\n              <td style=\\\"white-space: nowrap\\\" class=\\\"text-end\\\">${record.netAmount} €</td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td><strong class=\\\"text-primary\\\">Totale IVA esclusa</strong></td>\\n            <td class=\\\"text-end\\\">\\n              <span class=\\\"text-primary\\\"> ${costVoices.total.netAmount} €</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./message-status-transitions-history.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"isLoading\\\">Caricamento in corso...</p>\\n    <ul else class=\\\"m-0 statuses\\\" style=\\\"list-style: none;\\\">\\n      <li repeat.for=\\\"record of message.timeline\\\" class=\\\"p-0 ${record.ended ? 'ended' : ''}\\\">\\n        <div class=\\\"status-date\\\">\\n          <div class=\\\"d-flex justify-content-center align-items-center\\\">\\n            <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n            <div class=\\\"d-flex flex-column\\\">\\n              <span class=\\\"text-nowrap date\\\">${record.reachedAt|dateFormat:'DD/MM/YYYY'}</span>\\n              <small class=\\\"text-nowrap time\\\">${record.reachedAt|dateFormat:'HH:mm'}</small>\\n            </div>\\n          </div>\\n        </div>\\n        <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n        <div class=\\\"row wrapper-status flex-column flex-xl-row\\\">\\n          <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n          <div class=\\\"p-0\\\">\\n            <span class=\\\"tag status d-flex align-items-center with-icon ${queueMessages.getQueueMessageStatusCodeGroupValue(record.code)}\\\">\\n              ${queueMessages.getQueueMessageStatusCodeLabel(record.code)}\\n            </span>\\n            <small class=\\\"reason\\\">${record.reason}</small>\\n          </div>\\n        </div>\\n      </li>\\n    </ul>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-cost-detail.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th class=\\\"text-end pe-3\\\">Imponibile</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"record of costVoices.items\\\">\\n            <tr>\\n              <td style=\\\"white-space: nowrap\\\">${record.labelType}</td>\\n              <td style=\\\"white-space: nowrap\\\" class=\\\"text-end\\\">${record.netAmount} €</td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td><strong>Totale IVA esclusa</strong></td>\\n            <td class=\\\"text-end\\\">${costVoices.total.netAmount} €</td>\\n          </tr>\\n          <tr>\\n            <td><strong>IVA</strong></td>\\n            <td class=\\\"text-end\\\">${costVoices.total.vatAmount} €</td>\\n          </tr>\\n          <tr>\\n            <td><strong class=\\\"text-primary\\\">Totale complessivo</strong></td>\\n            <td>\\n              <p \\n                class=\\\"gross-amount ${ record.status }\\\">\\n                ${costVoices.total.grossAmount} €\\n              </p>\\n              <p \\n                class=\\\"order-amount\\\"\\n                if.bind=\\\"record.status === 'DISCONTINUED' && record.costVoices.total.grossAmountAfterRefund\\\">\\n                ${record.costVoices.total.grossAmountAfterRefund} €\\n              </p>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-csv-download.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <template if.bind=\\\"sendCodeErrors\\\">\\n      <p class=\\\"m-0 p-3\\\">\\n        <strong>Il file CSV è stato creato con successo ma non ha incluso alcune spedizioni.</strong>\\n      </p>\\n      <h3 class=\\\"m-0 p-3\\\">Elenco delle spedizioni in errore:</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Codice spedizione</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"code of sendCodes\\\">\\n            <tr>\\n              <td>${code} \\n                <small\\n                  class=\\\"error\\\"\\n                  ka-tooltip=\\\"Spedizione inesistente. Contatta l'assistenza\\\">Descrizione errore\\n                </small>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n      </table>\\n    </template>\\n    <p else class=\\\"m-0 p-3\\\">\\n      <span>Stai generando un file CSV contenente le sole spedizioni selezionate.</span>\\n      <strong class=\\\"d-block mt-3\\\">Sicuro di voler procedere al download del file?</strong>\\n    </p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button if.bind=\\\"!sendCodeErrors\\\" class=\\\"ms-0\\\" click.delegate=\\\"csvDownload($event)\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-attachments.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingInit\\\">Caricamento in corso...</p>\\n    <p if.bind=\\\"errorInit\\\">Errore in fase di caricamento</p>\\n    <template if.bind=\\\"pendingInit === false && !errorInit\\\">\\n      <div class=\\\"general-options\\\" if.bind=\\\"globalCover || globalStaple === 'YES' || fastDelivery === 'YES'\\\">\\n        <h3>Altre opzioni</h3>\\n        <template if.bind=\\\"globalStaple === 'YES'\\\">\\n          <p><strong>Pinzatura globale: </strong>tutti i documenti pinzati assieme.</p><br>\\n        </template>\\n        <template if.bind=\\\"fastDelivery === 'YES'\\\">\\n          <p><strong>Servizio accelera: </strong>elaborazione stampa prioritaria.</p><br>\\n        </template>\\n        <p if.bind=\\\"globalCover.label\\\" ka-tooltip=\\\"Copertina che racchiude tutti i documenti con visibilità comune\\\">\\n          <strong>Copertina globale: </strong>${globalCover.label}\\n        </p>\\n      </div>\\n      <h3 if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">Elenco documenti</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Nome file</th>\\n            <th>Dimensione</th>\\n            <template if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <th>Visibilità</th>\\n              <th>Parametri di stampa</th>\\n            </template>\\n            <th if.bind=\\\"messageChannel === 'MULTICERTA'\\\">Firma</th>\\n             <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"attachment of tableInterface.data\\\">\\n            <td><small class=\\\"text-color\\\">${attachment.filename}</small></td>\\n            <td>${attachment.filesize|filesizeFormat}</td>\\n            <td if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <span class=\\\"tag ${attachment.printingParameters.visibility === 'private' ? 'primary' : 'secondary'}\\\">\\n                ${attachment.printingParameters.visibility === 'private' ? 'Privata' : 'Comune'}\\n              </span>\\n            </td>\\n            <td if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <div class=\\\"format-options\\\">\\n                <span><strong>Formato: </strong>${attachment.printingParameters.sheetFormat}</span>\\n                <span if.bind=\\\"attachment.printingParameters.weight\\\">${attachment.printingParameters.weight}gr/m<sup>2</sup></span>\\n              </div>\\n              <div class=\\\"printing-options\\\">\\n                <strong>Opzioni: </strong>\\n                <span if.bind=\\\"attachment.printingParameters.frontBack\\\">stampa ${attachment.printingParameters.frontBack === 'BOTH' ? 'fronte/retro' : 'solo fronte'}</span>\\n                <span if.bind=\\\"globalStaple === 'NO' && attachment.printingParameters.staple === 'YES'\\\">pinzatura</span>\\n              </div>\\n              <div>\\n                <strong>Modalità di stampa: </strong>${attachment.printingParameters.colorMode === 'BW' ? 'stampa in bianco e nero' : 'stampa a colori'}\\n              </div>\\n              <div if.bind=\\\"attachment.cover.label && attachment.printingParameters.visibility === 'global'\\\">\\n                <strong>Copertina: </strong>${attachment.cover.label}\\n              </div>\\n            </td>\\n            <td if.bind=\\\"messageChannel === 'MULTICERTA'\\\" class=\\\"signature\\\">\\n              ${attachment.requiredSignatureType}\\n              <span if.bind=\\\"attachment.requiredSignatureType\\\">\\n                <i class=\\\"fas fa-check ms-3 ${attachment.signatureDate ? 'checked' : ''}\\\"></i>\\n              </span>\\n            </td>\\n            <td class=\\\"d-flex justify-content-end\\\">\\n              <template if.bind=\\\"attachment.requiredSignatureType\\\">\\n                <ka-button\\n                  ka-tooltip=\\\"Visualizza file firmato\\\"\\n                  class=\\\"flat primary inverted icon m-0 me-2\\\"\\n                  click.delegate=\\\"mdFileViewer.fileViewer(`${endpoint}/${attachment.uuid}/signed-download`, 'pdf', $event)\\\">\\n                  <i class=\\\"fas fa-eye\\\"></i>\\n                </ka-button>\\n                <ka-button \\n                  ka-tooltip=\\\"Scarica file firmato\\\"\\n                  class=\\\"flat secondary inverted wicon m-0 me-2\\\"\\n                  click.delegate=\\\"downloadFile('signed-download', attachment, $event)\\\">\\n                  <i class=\\\"fas fa-file-contract\\\"></i>\\n                </ka-button>\\n              </template>\\n              <template else>\\n                <ka-button\\n                  ka-tooltip=\\\"Visualizza file\\\"\\n                  class=\\\"flat primary inverted icon m-0 me-2\\\"\\n                  click.delegate=\\\"mdFileViewer.fileViewer(`${endpoint}/${attachment.uuid}/download`, 'pdf', $event)\\\">\\n                  <i class=\\\"fas fa-eye\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  ka-tooltip=\\\"Scarica file\\\"\\n                  class=\\\"flat secondary inverted icon m-0\\\"\\n                  click.delegate=\\\"downloadFile('download', attachment, $event)\\\">\\n                  <i class=\\\"fas fa-file-download\\\"></i>\\n                </ka-button>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length && pendingInit === false\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Non sono presenti allegati</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-multibox-detail.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"addressLines\\\">\\n      <p><strong>Destinatario: </strong><span>${multibox.addressLines[0]}.</span></p>\\n      <p><strong>Comune\\\\Città: </strong><span>${multibox.addressLines[3]}.</span></p>\\n      <p><strong>Indirizzo: </strong><span>${multibox.addressLines[1]}, ${multibox.addressLines[2]}.</span></p>\\n      <p if.bind=\\\"multibox.addressLines.length === 5\\\"><strong>Presso: </strong><span>${multibox.addressLines[4]}.</span></p>\\n      <p><strong>Elenco destinatari: </strong><span>${multibox.list ? 'Aggiungi elenco' : 'Non aggiungere'}.</span></p>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-queue-resend.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingSearch && !errorSearch && !searchInterface.initialized\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <p class=\\\"alert\\\">Genera una bozza della spedizione del tutto identica all'originale. La bozza della spedizione, dopo essere stata generata sarà comunque modificabile.</p>\\n      <template if.bind=\\\"searchInterface\\\">\\n        <h2>Ricerca destinatari</h2>\\n        <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"textSearch\\\" submit.call=\\\"search()\\\" buttons=\\\"clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"channel\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n            <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n            <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n          </div>\\n        </div>\\n      </template>\\n      <h2 class=\\\"m-0 d-flex justify-content-between\\\" style=\\\"border-bottom: none\\\">\\n        <span>Elenco destinatari</span>\\n        <div>\\n          <span><small class=\\\"recipients-counter\\\">Selezionati <strong>${numberSelected}</strong> destinatari su <strong>${allUuids.length}</strong></small></span>\\n          <ka-button click.delegate=\\\"selectAll(!allSelected)\\\" class=\\\"selection-btn flat inverted secondary\\\" >${!allSelected ? 'Seleziona tutti' : 'Deseleziona tutti'}</ka-button>\\n        </div>\\n      </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"50,100,200\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table if.bind=\\\"!pendingSearch\\\" class=\\\"ka-table-like\\\">\\n          <thead>\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"allPageSelected\\\" \\n                  change.trigger=\\\"togglePageSelection($event)\\\">\\n              </th>\\n              <th style=\\\"padding: 1rem\\\">Denominazione</th>\\n              <th style=\\\"width: 1%; padding: 1rem\\\">Canale utilizzato</th>\\n              <th style=\\\"padding: 1rem\\\">Indirizzo</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td style=\\\"cursor: pointer; width: 1%\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"selectableRecipients[record.uuid]\\\"\\n                  change.trigger=\\\"toggleRecipientSelection()\\\">\\n              </td>\\n              <td>${record.label}</td>\\n              <td style=\\\"width: 1%\\\">\\n                <span style=\\\"white-space: nowrap\\\">\\n                  <i \\n                    class=\\\"fal ${record.channel|queueChannelFormat:'icon'} text-primary\\\" \\n                    style=\\\"font-size: 1.8rem; vertical-align: middle; width: 2.5rem\\\">\\n                  </i>\\n                <span>${record.channel|queueChannelFormat}</span>\\n                </span>\\n              </td>\\n              <td>\\n                <small>${record.address}</small>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length || errorSearch\\\">\\n            <tr>\\n              <td colspan=\\\"4\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Nessun destinatario trovato</span>\\n                <p if.bind=\\\"errorSearch\\\">Errore in fase di caricamento</p>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary m-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button disabled.bind=\\\"numberSelected == 0\\\" class=\\\"inverted primary\\\" click.delegate=\\\"createNewDraft()\\\">Prosegui</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./drafts.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca bozze</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUBUSERS' ? 3 : 6}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n    <span>Elenco spedizioni in stato bozza</span>\\n    <div>\\n      <ka-button\\n        click.delegate=\\\"deleteSelectedDrafts($event)\\\"\\n        disabled.bind=\\\"!select.someRecordsSelected\\\"\\n        class=\\\"inverted with-icon flat\\\">\\n        <i class=\\\"material-icons\\\">sync</i>\\n        <span>Elimina bozze selezionate</span>\\n      </ka-button>\\n    </div>\\n  </h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th click.trigger=\\\"select.allRecords()\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.allRecordsSelected\\\" style=\\\"pointer-events: none;\\\">\\n            </th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n            <th>Data di scadenza</th>\\n            <th>Promemoria</th>\\n            <th>Proprietario</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr style=\\\"cursor: pointer;\\\">\\n              <td click.trigger=\\\"select.someRecords(record)\\\">\\n                <input type=\\\"checkbox\\\" checked.bind=\\\"select.recordsSelected[record.id]\\\" style=\\\"pointer-events: none;\\\">\\n              </td>\\n              <td>${record.createdAt|dateFormat}\\n              </td>\\n              <td>${record.expireAt|dateFormat}\\n              <td class=\\\"limitwidth-40\\\" style=\\\"word-break: break-all;\\\">\\n                <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n              </td>\\n              <td>${record.owner.displayName}</td>\\n              <td class=\\\"ka-table-row-tools\\\">\\n                <div class=\\\"tools-wrapper\\\">\\n                  <button click.delegate=\\\"editDraft(record)\\\" ka-tooltip=\\\"Modifica\\\"><i class=\\\"fal fa-pencil\\\"></i></button>\\n                  <button click.delegate=\\\"deleteDraft(record)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"fal fa-trash-alt\\\"></i></button>\\n                </div>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti bozze</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./pending.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca spedizioni in attesa di pagamento</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!isOperator\\\" class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUBUSERS' ? 3 : 6}\\\">\\n      <md-control\\n        name=\\\"context\\\"\\n        buttons=\\\"dropdown\\\"\\n        change.call=\\\"changeContext()\\\">\\n      </md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n      <md-control\\n        name=\\\"owner\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\"\\n        change.call=\\\"setEndpoint()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control name=\\\"shipment\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"promemoria, codice spedizione, codice uuid\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spezione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control name=\\\"recipient\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control\\n        name=\\\"paymentMethod\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtGte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtLte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"totalGrossGte\\\"\\n          submit.call=\\\"$parent.search()\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"totalGrossLte\\\"\\n          buttons=\\\"clear\\\"\\n          submit.call=\\\"$parent.search()\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control\\n        if.bind=\\\"isOperator\\\"\\n        name=\\\"shortConfirmationCode\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <h2>Elenco spedizioni in attesa di pagamento</h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n            <th>Codice spedizione</th>\\n            <th>Promemoria</th>\\n            <th>Proprietario</th>\\n            <th>Totale</th>\\n            <th>Pagamento</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.createdAt|dateFormat}\\n                <small><br>\\n                  <span\\n                    class=\\\"copy-text with-icon\\\"\\n                    click.delegate=\\\"copyText(record.uuid, 'UUID')\\\"\\n                    ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                    UUID\\n                  </span>\\n                </small>\\n              </td>\\n              <td>\\n                <span\\n                  click.delegate=\\\"copyText(record.sendCode, 'Codice spedizione')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\"\\n                  class=\\\"copy-text with-icon d-flex\\\">\\n                  <small class=\\\"limitwidth-20 text-color\\\">${record.sendCode}</small>\\n                </span>\\n              </td>\\n              <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all;\\\">\\n                <span ka-tooltip=\\\"value.bind: record.topic\\\" class=\\\"text-color\\\">${record.topic}</span>\\n                <div class=\\\"channels\\\">\\n                  <i ka-tooltip=\\\"Posta\\\" class=\\\"fal fa-mail-bulk ${record.usedChannels.includes('sendposta') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Multicerta\\\" class=\\\"fal fa-shield-check ${record.usedChannels.includes('multicerta') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Pec\\\" class=\\\"fal fa-file-certificate ${record.usedChannels.includes('pec') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Multibox\\\" class=\\\"fal fa-box-alt ${record.usedChannels.includes('multibox') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Email\\\" class=\\\"fal fa-at ${record.usedChannels.includes('sendemail') ? 'used' : ''}\\\"></i>\\n                </div>\\n              </td>\\n              <td>${record.owner.displayName}</td>\\n              <td>\\n                <span if.bind=\\\"record.costVoices.total.grossAmount\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia totale'\\\"\\n                  click.delegate=\\\"copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                  class=\\\"gross-amount ${isOrderAmountShowable(record) ? 'line-through' : 'copy-text with-icon'}\\\">\\n                  ${record.costVoices.total.grossAmount} €\\n                </span>\\n                <span if.bind=\\\"isOrderAmountShowable(record)\\\"\\n                  class=\\\"order-amount copy-text with-icon\\\"\\n                  click.delegate=\\\"copyText(record.costVoices.total.grossAmount, 'Totale')\\\">\\n                  ${record.costVoices.total.orderAmount} €\\n                </span>\\n              </td>\\n              <td class=\\\"payment\\\">\\n                <template if.bind=\\\"record.paymentMethod\\\">\\n                  <div style=\\\"white-space: nowrap\\\">\\n                    <span>${paymentMethods[record.paymentMethod].label}</span>\\n                    <!-- Delete payment -->\\n                     <small\\n                      click.delegate=\\\"dialogDeletePayment(record)\\\"\\n                      ka-tooltip=\\\"Elimina la sessione di pagamento\\\"\\n                      class=\\\"delete-payment ms-2\\\"\\n                      if.bind=\\\"api.hasRole('MODIFY_QUEUE') && record.paymentMethod === 'E-PAYMENT' && record.multipaygatePaymentSessionStatus === 'PENDING'\\\">\\n                      Elimina pagamento\\n                    </small> \\n                  </div>\\n                  <template if.bind=\\\"!isOperator\\\">\\n                    <small \\n                      if.bind=\\\"record.paymentMethod === 'BANK-TRANSFER'\\\" \\n                      class=\\\"bank-transfer-data\\\" \\n                      click.delegate=\\\"bankTransferData(record)\\\">\\n                      Dati bonifico bancario\\n                    </small>\\n                  </template>            \\n                  <!-- E-PAYMENT (PAYPAL) -->\\n                  <template if.bind=\\\"record.paymentMethod === 'E-PAYMENT'\\\">\\n                    <span \\n                      if.bind=\\\"['ERROR', 'DECEASED'].includes(record.multipaygatePaymentSessionStatus)\\\"\\n                      ka-tooltip=\\\"Errore in fase di pagamento. Puoi riprovare o cambiare il metodo di pagamento.\\\"\\n                      class=\\\"text-error d-block tag error mt-2\\\" style=\\\"white-space: nowrap\\\">\\n                      Esito pagamento negativo.\\n                    </span>\\n                    <span\\n                      class=\\\"payment-pending tag pending mt-2\\\"\\n                      if.bind=\\\"record.multipaygatePaymentSessionStatus === 'PENDING'\\\"\\n                      ka-tooltip=\\\"Errore in fase di pagamento. Puoi riprovare o cambiare il metodo di pagamento.\\\">\\n                        Elaborazione pagamento\\n                    </span>\\n                  </template>\\n                </template>             \\n                <small \\n                  if.bind=\\\"record.shortConfirmationCode && api.hasRole('MODIFY_ANY_ORDER')\\\"\\n                  click.delegate=\\\"copyText(record.shortConfirmationCode, 'codice di conferma breve o causale')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia codice di conferma breve o causale'\\\"\\n                  class=\\\"copy-text with-icon d-flex short-confirmation-code\\\">\\n                  ${record.shortConfirmationCode}\\n                </small>\\n              </td>\\n              <td style=\\\"width: 1%; white-space: nowrap\\\" class=\\\"text-end\\\">\\n                <ka-button\\n                  if.bind=\\\"!isOperator\\\"\\n                  click.delegate=\\\"userConfirmOrder(record, $event)\\\"\\n                  disabled.bind=\\\"['PENDING'].includes(record.multipaygatePaymentSessionStatus)\\\"\\n                  class=\\\"flat inverted m-0\\\">Conferma o modifica\\n                </ka-button>\\n                <ka-button\\n                  class=\\\"inverted flat ms-2 ${!isOperator ? 'icon' : ''}\\\"\\n                  disabled.bind=\\\"!record.draftUuid\\\"\\n                  ka-tooltip=\\\"Modifica la bozza della spedizione\\\"\\n                  click.delegate=\\\"bankTranferCheck(record, 'edit')\\\">\\n                  ${isOperator ? 'Modifica' : ''}\\n                  <i if.bind=\\\"!isOperator\\\" class=\\\"fal fa-pencil\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  if.bind=\\\"api.hasRole('CONFIRM_ANY_PRE_CHECKOUT')\\\"\\n                  class=\\\"inverted flat icon ms-2\\\"\\n                  click.delegate=\\\"backofficeConfirmOrder($event, record)\\\"\\n                  disabled.bind=\\\"record.paymentMethod !== 'BANK-TRANSFER'\\\">\\n                  <i class=\\\"far fa-check\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  disabled.bind=\\\"isOperator\\\"\\n                  class=\\\"inverted flat secondary icon ms-2\\\"\\n                  click.delegate=\\\"bankTranferCheck(record, 'delete')\\\"\\n                  ka-tooltip=\\\"Elimina definitivamente la spedizione\\\">\\n                  <i class=\\\"fal fa-trash-alt\\\"></i>\\n                </ka-button>     \\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni in attesa di pagamento</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report.sass\\\"></require>\\n  <require from=\\\"./report-detail.sass\\\"></require>\\n\\n  <h2 class=\\\"mb-0\\\">\\n    <span>Dettaglio</span>\\n    <ka-button\\n      if.bind=\\\"isGoBackButtonShowable\\\"\\n      click.delegate=\\\"navigateTo('back')\\\"\\n      class=\\\"flat inverted with-icon\\\"\\n      ka-tooltip=\\\"Torna alla Reportistica\\\">\\n      <i class=\\\"fas fa-arrow-left\\\" style=\\\"vertical-align: unset;\\\"></i>\\n      <span>Indietro</span>\\n    </ka-button>\\n  </h2>\\n\\n  <div class=\\\"queue-details\\\">\\n    <!-- Queue -->\\n    <div class=\\\"queue m-3 me-2\\\">\\n      <h3>\\n        <span class=\\\"me-2 text-nowrap\\\">Spedizione: <span if.bind=\\\"queue\\\" class=\\\"text-color\\\">${queue.sendCode}</span></span>\\n\\n        <ka-button\\n          class=\\\"flat primary inverted with-icon m-0\\\"\\n          ka-tooltip=\\\"Reinvia spedizione\\\"\\n          click.delegate=\\\"dialogQueueResend(queue)\\\">\\n          <i class=\\\"fas fa-share\\\"></i>\\n          <span>Reinvia</span>\\n        </ka-button>\\n      </h3>\\n\\n      <div if.bind=\\\"!queue\\\" class=\\\"loader-wrapper\\\">\\n        <div class=\\\"spinner-loader\\\"></div>\\n      </div>\\n      <table if.bind=\\\"queue\\\" class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th><small>Distinta</small></th>\\n            <th><small>Proprietario</small></th>\\n            <th><small>Data creazione</small></th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>\\n              <small\\n                class=\\\"queue-schedule\\\"\\n                style=\\\"white-space: nowrap\\\"\\n                click.delegate=\\\"downloadQueueSchedule()\\\"\\n                if.bind=\\\"api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT'])\\\">Scarica distinta\\n              </small>\\n            </td>\\n            <td><small class=\\\"text-color\\\">${queue.owner.displayName}</small></td>\\n            <td><small>${queue.createdAt|dateFormat}</small></td>\\n          </tr>\\n\\n          <!-- thead bottom -->\\n          <tr class=\\\"thead\\\">\\n            <th><small>Stato</small></th>\\n            <td colspan=\\\"${(usedChannels.includes('multicerta') || queue.primaryQueueUuid) ? 1 : 2}\\\"><small>Promemoria</small></td>\\n            <td if.bind=\\\"usedChannels.includes('multicerta') || queue.primaryQueueUuid\\\">\\n              <small>Canale \\n                <span if.bind=\\\"queue.primaryQueueUuid\\\">primario</span>\\n                <span if.bind=\\\"queue.secondaryQueueUuid\\\">alternativo</span>\\n              </small>\\n            </td>\\n          </tr>\\n          <!-- tbody bottom -->\\n          <tr class=\\\"tbody\\\">\\n            <td>\\n              <span class=\\\"tag with-icon ${queue.status|queueStatusFormat:'class'}\\\">\\n                ${queue.status|queueStatusFormat}\\n              </span>\\n            </td>\\n            <td colspan=\\\"${(usedChannels.includes('multicerta') || queue.primaryQueueUuid) ? 1 : 2}\\\">\\n              <small class=\\\"text-color\\\">${queue.topic}</small>\\n            </td>\\n            <td\\n              if.bind=\\\"queue.deadlineAt || queue.primaryQueueUuid || queue.secondaryQueueUuid\\\">\\n              <small if.bind=\\\"queue.deadlineAt\\\" class=\\\"pb-3\\\">\\n                <strong class=\\\"text-color\\\">TTAC:</strong> ${queue.deadlineAt|dateFormat} <i if.bind=\\\"queue.deadlineEvent\\\" style=\\\"white-space: nowrap\\\">${parseDeadlineEvents(queue.deadlineEvent)}</i>\\n              </small>\\n              <small\\n                class=\\\"redirect-to-detail\\\"\\n                if.bind=\\\"queue.primaryQueueUuid || queue.secondaryQueueUuid\\\"\\n                click.delegate=\\\"navigateTo('queue-detail', queue.primaryQueueUuid || queue.secondaryQueueUuid)\\\">Vai a dettaglio spedizione\\n              </small>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n    </div>\\n\\n    <!-- Sender -->\\n    <div class=\\\"sender m-3 ms-2\\\">\\n      <h3>\\n        <span class=\\\"d-flex\\\">Mittente: \\n          <span \\n            style=\\\"cursor: pointer\\\"\\n            class=\\\"limitwidth-40 text-color ms-2\\\" \\n            ka-tooltip=\\\"value.bind: sender.addressLines[0] + ' ' + `(<strong>autore spedizione<strong>)`\\\">${sender.addressLines[0]}\\n            <strong class=\\\"text-color\\\"> (autore spedizione)</strong>\\n          </span>\\n        </span>\\n      </h3>\\n      <div if.bind=\\\"!sender\\\" class=\\\"loader-wrapper\\\">\\n        <div class=\\\"spinner-loader\\\"></div>\\n      </div>\\n      <div class=\\\"table-wrapper\\\">\\n        <table if.bind=\\\"sender\\\" class=\\\"ka-table-like\\\">\\n          <thead>\\n            <tr>\\n              <th><small>Email / Email di notifica</small></th>\\n              <th><small>Pec</small></th>\\n              <th><small>Multicerta</small></th>\\n            </tr>\\n          </thead>\\n          <tbody>\\n            <tr style=\\\"height: 4.15rem\\\">\\n              <td>\\n                <small if.bind=\\\"usedChannels.includes('sendemail') || isEmailForwardingUsed \\\" class=\\\"text-color\\\"><strong>Email: </strong>${sender.email.displayAddress}</small>\\n                <small if.bind=\\\"hasNotificationEmail\\\" class=\\\"text-color d-block\\\">\\n                  <strong>Email di notifica:</strong> \\n                  <template repeat.for=\\\"emailNotification of sender.emailNotificationAddresses\\\">\\n                    ${emailNotification | appendComma: $index : sender.emailNotificationAddresses.length}\\n                  </template>\\n                </small>\\n              </td>\\n              <td><small if.bind=\\\"usedChannels.includes('pec')\\\" class=\\\"text-color\\\">${sender.certifiedEmail.address}</small></td>\\n              <td><small if.bind=\\\"usedChannels.includes('multicerta')\\\" class=\\\"text-color\\\">${sender.email.displayAddress}</small></td>\\n            </tr>\\n\\n            <!-- thead bottom -->\\n            <tr class=\\\"thead\\\">\\n              <td><small>Posta</small></td>\\n              <td><small>Multibox</small></td>\\n              <td colspan=\\\"${usedChannels.includes('multicerta') ? 3 : 2}\\\">\\n                <small>Logo</small>\\n              </td>\\n            </tr>\\n            <!-- tbody bottom -->\\n            <tr class=\\\"tbody\\\">\\n              <td>\\n                <small if.bind=\\\"usedChannels.includes('sendposta')\\\">\\n                  <span class=\\\"text-color\\\">${sender.addressLines[1]}, ${sender.addressLines[2]}, ${sender.addressLines[3]}.</span><br>\\n                  <span if.bind=\\\"sender.addressLines.length === 5\\\">Presso: ${sender.addressLines[4]}</span>\\n                </small>\\n              </td>\\n              <td>\\n                <ul if.bind=\\\"usedChannels.includes('multibox')\\\" repeat.for=\\\"record of sender.multiboxes\\\" class=\\\"multiboxes\\\">\\n                  <li class=\\\"multibox\\\" click.delegate=\\\"dialogMultibox(record)\\\">\\n                    <small>${record.addressLines[0]}:</small>\\n                    <small>${record.addressLines[1]}</small>\\n                  </li>\\n                </ul>\\n              </td>\\n              <td colspan=\\\"${usedChannels.includes('multicerta') ? 3 : 2}\\\">\\n                <small\\n                  if.bind=\\\"sender.envelopeLogo\\\"\\n                  click.delegate=\\\"navigateTo('envelope-logo', sender.envelopeLogo.uuid)\\\"\\n                  class=\\\"envelope-logo\\\">${sender.envelopeLogo.title}\\n                </small>\\n              </td>\\n            </tr>\\n          </tbody>\\n        </table>\\n      </div>\\n    </div>\\n  </div>\\n\\n  <!-- Messages -->\\n  <template if.bind=\\\"messagesSearchInterface\\\">\\n    <h2>Ricerca messaggi</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"messagesSearchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"textSearch\\\" submit.call=\\\"$parent.search()\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"channel\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <template if.bind=\\\"messagesTableInterface.initialized && messagesSearchInterface.initialized\\\">\\n    <h2>\\n      <span>Elenco messaggi</span>\\n      <ka-button\\n        class=\\\"flat secondary inverted with-icon\\\"\\n        click.delegate=\\\"downloadLogMessages($event)\\\"\\n        ka-tooltip=\\\"Scarica registro messaggi\\\">\\n        <i class=\\\"fas fa-file-download\\\"></i>\\n        <span>Registro messaggi</span>\\n      </ka-button>\\n      <ka-button\\n        disabled.bind=\\\"!canQueueBeDiscontinued\\\"\\n        class=\\\"flat error inverted with-icon me-0\\\"\\n        click.delegate=\\\"dialogInterruptDelivery($event)\\\"\\n        if.bind=\\\"typeof canQueueBeDiscontinued == 'boolean'\\\"\\n        ka-tooltip=\\\"Interrompi la consegna dei messaggi non ancora inviati (canali digitali) o non ancora stampati (canali cartacei)\\\">\\n        <i class=\\\"fas fa-times\\\"></i>\\n        <span>Interrompi consegna</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"messagesTableInterface\\\" search.bind=\\\"messagesSearchInterface\\\" pagination-limits=\\\"25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"messagesTableInterface.data.length\\\">\\n          <tr>\\n            <th>Canale</th>\\n            <th><md-table-sort table.bind=\\\"messagesTableInterface\\\" attribute=\\\"label\\\">Destinatario</md-table-sort></th>\\n            <th>Indirizzo</th>\\n            <th>Informazioni canale</th>\\n            <th>Allegati</th>\\n            <th>Costo IVA esclusa</th>\\n            <th></th>\\n            <th>Stato</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"messagesTableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of messagesTableInterface.data\\\">\\n            <tr>\\n              <td class=\\\"channel d-flex\\\">\\n                <template if.bind=\\\"!record.emailForwarding || record.emailForwarding === 'NO'\\\">\\n                  <i class=\\\"fal ${record.channel|queueChannelFormat:'icon'}\\\" style=\\\"width: 4rem; flex-shrink: 0\\\"></i>\\n                </template>\\n                <template if.bind=\\\"record.emailForwarding === 'YES' && record.channel === 'SENDEMAIL'\\\">\\n                  <i class=\\\"fal fa-at arrow-icon\\\" style=\\\"width: 4rem; flex-shrink: 0\\\"></i>\\n                </template>\\n                <p class=\\\"m-0\\\">\\n                  <span>\\n                    ${record.channel|queueChannelFormat} <br>\\n                    <small\\n                      if.bind=\\\"record.emailForwarding === 'YES' && record.channel === 'SENDEMAIL'\\\">\\n                      Messaggio di cortesia\\n                    </small>\\n                  </span>\\n                  <small\\n                    if.bind=\\\"record.channel === 'MULTICERTA'\\\"\\n                    class=\\\"d-block\\\">${record.isMulticertaLegal ? 'Legal' : 'Classic'}\\n                  </small>\\n                </p>\\n              </td>\\n              <td>${record.recipient.label}</td>\\n              <td><span style=\\\"font-size: 1.3rem\\\">${record.address}</span></td>\\n              <td class=\\\"message\\\">\\n                <p class=\\\"m-0 p-0\\\" if.bind=\\\"record.channel\\\" class=\\\"subject\\\">${record.channel|queueChannelFormat}</p>\\n                <small\\n                  if.bind=\\\"record.channel === 'MULTICERTA' && record.alternativeChannel\\\"\\n                  class=\\\"alt-channel ${record.alternativeChannel} mb-1 d-block\\\">${record.alternativeChannel|queueChannelFormat} - canale alternativo\\n                </small>\\n                <template if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(record.channel)\\\">\\n                  <div><strong>Vettore: </strong>${vectors[record.postalOptions.vector]}</div>\\n                  <div><strong>Affrancatura: </strong>${postages[record.postalOptions.postage]}</div>\\n                  <div if.bind=\\\"record.postalOptions.trackingCode\\\"><strong>Tracking code spedizione: </strong>\\n                    <a href=\\\"${urlPosteItaliane}${record.postalOptions.trackingCode}\\\"\\n                      target=\\\"_blank\\\"\\n                      class=\\\"postal-link\\\"\\n                      ka-tooltip=\\\"Tracking della spedizione sul sito Poste Italiane\\\">\\n                      ${record.postalOptions.trackingCode}\\n                    </a>\\n                  </div>\\n                  <small \\n                    if.bind=\\\"canDownloadReceipt(record)\\\"\\n                    class=\\\"receipt pt-2\\\"\\n                    click.delegate=\\\"downloadDeliveryReceipt(record)\\\">Scarica cartolina di ritorno\\n                  </small>\\n                </template>\\n                <template if.bind=\\\"['SENDEMAIL','MULTICERTA','PEC'].includes(record.channel)\\\">\\n                  <div><strong class=\\\"subject\\\">Oggetto: </strong>${record.messageSubject}</div>\\n                  <div><strong class=\\\"body m-0\\\">Corpo: </strong>${record.messageBody}</div>\\n                </template>\\n              </td>\\n              <td>\\n                <template if.bind=\\\"record.attachments\\\">\\n                  <span style=\\\"white-space: nowrap\\\">${record.attachments.filesNumber} allegati, ${record.attachments.filesSize|filesizeFormat}</span><br>\\n                  <small\\n                    class=\\\"attachments\\\"\\n                    style=\\\"white-space: nowrap\\\"\\n                    click.delegate=\\\"dialogAttachments(record)\\\">Elenco allegati\\n                  </small>\\n                </template>\\n              </td>\\n              <td>\\n                <template if.bind=\\\"record.costVoices.total.netAmount\\\">\\n                  <span \\n                    class=\\\"amount ${record.costVoices.total.netAmountBeforeDiscontinue ? 'line-through' : ''}\\\"\\n                    if.bind=\\\"record.costVoices.total.netAmountBeforeDiscontinue\\\">\\n                    ${record.costVoices.total.netAmountBeforeDiscontinue} €\\n                  </span>\\n                  <span class=\\\"amount\\\">\\n                    ${record.costVoices.total.netAmount} €\\n                  </span>\\n                  <small\\n                    style=\\\"white-space: nowrap\\\"\\n                    class=\\\"message-cost-detail mt-2\\\"\\n                    click.delegate=\\\"dialogMessageCostDetail(record)\\\"\\n                    if.bind=\\\"shouldShowCostLink(record.costVoices.total.netAmount)\\\">\\n                    Costi messaggio\\n                  </small>\\n                </template>\\n              </td>\\n              <td class=\\\"download-checks\\\" style=\\\"vertical-align: middle\\\">\\n                <div class=\\\"d-flex w-100 align-items-center\\\" style=\\\"white-space: nowrap\\\">\\n                  <div if.bind=\\\"['RECEIVED-NOTIFIED','RECEIVED-OPENED','RECEIVED-READ','RECEIVED-CERTIFIED-READ'].includes(record.status.code)\\\" class=\\\"checks\\\">\\n                    <i class=\\\"far fa-check ${record.channel} ${record.status.code}\\\"></i>\\n                    <i class=\\\"far fa-check ${record.channel} ${record.status.code}\\\"></i>\\n                  </div>\\n                  <div \\n                    style=\\\"flex-basis: 100%\\\"\\n                    class=\\\"download ms-3 d-flex justify-content-end\\\" \\n                    if.bind=\\\"record.isMulticertaLegal && ['RECEIVED-NOTIFIED','RECEIVED-OPENED','RECEIVED-READ','RECEIVED-CERTIFIED-READ'].includes(record.status.code)\\\">\\n                    <i\\n                      style=\\\"cursor: pointer\\\"\\n                      class=\\\"fal fa-file-certificate\\\"\\n                      click.delegate=\\\"downloadCertificatesTSD(record)\\\"\\n                      ka-tooltip=\\\"Download file certificati (TSD)\\\">\\n                    </i>\\n                    <i\\n                      style=\\\"cursor: pointer\\\"\\n                      class=\\\"fal fa-receipt ps-2\\\"\\n                      ka-tooltip=\\\"Download ricevuta 3A\\\"\\n                      click.delegate=\\\"downloadReceipt3A(record)\\\">\\n                    </i>\\n                  </div>\\n                </div>\\n              </td>\\n              <td class=\\\"status\\\">\\n                <span\\n                  ka-tooltip=\\\"value.bind: record.status.reason\\\"\\n                  class=\\\"tag with-icon ${queueMessages.getQueueMessageStatusCodeGroupValue(record.status.code)}\\\">\\n                  ${queueMessages.getQueueMessageStatusCodeLabel(record.status.code)}\\n                </span>\\n                <small\\n                  class=\\\"message-status-transitions-history mt-2\\\"\\n                  style=\\\"white-space: nowrap\\\"\\n                  click.delegate=\\\"dialogMessageStatusTransitionsHistory(record, queueMessages)\\\">Storico/Cronologia\\n                </small>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!messagesTableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Nessun messaggio trovato</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report.sass\\\"></require>\\n  <ka-tabs if.bind=\\\"pendingInit === false\\\" id=\\\"main\\\">\\n    <template replace-part=\\\"buttons\\\">\\n      <ka-button\\n        if.bind=\\\"!privileges.isOperator\\\"\\n        click.delegate=\\\"openDialogLegacyHistory()\\\"\\n        class=\\\"flat inverted secondary\\\"\\n        ka-tooltip=\\\"Vai allo storico delle spedizioni\\\">\\n        Vai allo storico\\n      </ka-button>\\n    </template>\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model.ref=\\\"tab.controller\\\" view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ params, tools, privileges, tabs }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <h2>\\n    Ricerca spedizioni annullate\\n    <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormArchived\\\"></md-accordion-button>\\n  </h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!privileges.isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${privileges.isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${privileges.isOperator ? '2' : '1'}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${privileges.isOperator ? '1' : '2'}\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control\\n        name=\\\"shipment\\\"\\n        buttons=\\\"clear\\\"\\n        submit.call=\\\"$parent.search()\\\"\\n        placeholder=\\\"promemoria, codice spedizione, codice uuid\\\"\\n        md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spedizione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control\\n        name=\\\"recipient\\\"\\n        buttons=\\\"clear\\\"\\n        submit.call=\\\"$parent.search()\\\"\\n        placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\"\\n        md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-12 col-lg-3 d-flex order-3\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n    <div id=\\\"advancedSearchInterfaceFormArchived\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco spedizioni archiviate</h2>\\n    <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\">\\n        <!-- CSV download -->\\n        <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n        <button\\n          class=\\\"toolbar-button\\\"\\n          disabled.bind=\\\"!selected.length\\\"\\n          click.delegate=\\\"tools.openDialogQueueCsvDownload(selected)\\\"\\n          ka-tooltip=\\\"value.bind: selected.length ? 'Scarica selezione in formato csv' : 'Seleziona almeno una spedizione'\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"pageSelection\\\"\\n                  change.trigger=\\\"togglePageSelection()\\\">\\n              </th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n              <th>Codice spedizione</th>\\n              <th>Stato lavorazione</th>\\n              <th>Promemoria/canale</th>\\n              <th if.bind=\\\"privileges.isOperator\\\">Gestionale</th>\\n              <th>Proprietario</th>\\n              <th>Totale complessivo</th> \\n              <th>Pagamento</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"record of tableInterface.data\\\">\\n              <tr>\\n                <td style=\\\"cursor: pointer; width: 1%\\\">\\n                  <input \\n                    type=\\\"checkbox\\\"\\n                    style=\\\"margin: .3rem 0 0\\\"\\n                    checked.bind=\\\"selectable[record.sendCode]\\\"\\n                    change.trigger=\\\"selected = tools.setSelected(selectable)\\\">\\n                </td>\\n                <td>${record.createdAt|dateFormat}\\n                  <small><br>\\n                    <span\\n                      class=\\\"copy-text with-icon\\\"\\n                      click.delegate=\\\"tools.copyText(record.uuid, 'UUID')\\\"\\n                      ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                      UUID\\n                    </span>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span\\n                    click.delegate=\\\"tools.copyText(record.sendCode, 'Codice spedizione')\\\"\\n                    ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\"\\n                    class=\\\"copy-text with-icon d-flex\\\">\\n                    <span class=\\\"limitwidth-30\\\" style=\\\"font-size: 1.3rem\\\">${record.sendCode}</span>\\n                  </span>\\n                </td>\\n                <td class=\\\"statuses\\\">\\n                  <div>\\n                    <span class=\\\"tag with-icon ${record.status|queueStatusFormat:'class'}\\\">\\n                      ${record.status|queueStatusFormat}\\n                      <small class=\\\"messages-count\\\">\\n                        / <span class=\\\"me-1\\\">${record.totalMessagesCount}</span>mess.\\n                      </small>\\n                    </span>\\n                  </div>\\n                  <div class=\\\"messages-status mt-1\\\">\\n                    <template repeat.for=\\\"item of record.messagesStatusCount\\\">\\n                      <small class=\\\"${item.value} d-flex\\\">\\n                        <span class=\\\"me-1\\\">${item.count}</span>\\n                        <span>${item.label}</span>\\n                      </small>\\n                    </template>\\n                  </div>\\n                </td>\\n                <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all\\\">\\n                  <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n                  <div class=\\\"channels\\\">\\n                    <span ka-tooltip.bind=\\\"channel.text\\\" repeat.for=\\\"channel of queueProperties.channels\\\" class=\\\"channel ${record.usedChannels.includes(channel.value.toLowerCase()) ? 'used' : ''}\\\">\\n                      <i class=\\\"fal ${channel.icon}\\\"></i>\\n                    </span>\\n                    <span class=\\\"channel forwarding\\\" ka-tooltip=\\\"Messaggio di cortesia\\\" if.bind=\\\"record.emailForwardingUsed === 'YES'\\\">\\n                      <i class=\\\"fal fa-at\\\"></i>\\n                    </span>\\n                  </div>\\n                </td>\\n                <td if.bind=\\\"privileges.isOperator\\\">\\n                  <p class=\\\"p-0 m-0\\\">${record.client.name}</p><small>versione ${record.client.version}</small>\\n                </td>\\n                <td>${record.owner.displayName}</td>\\n                <td>\\n                  <template if.bind=\\\"!tools.isDateLowerThan(record)\\\">\\n                    <span \\n                      click.delegate=\\\"tools.copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                      class=\\\"amount ${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : ''}\\\">\\n                      ${record.costVoices.total.grossAmount} € \\n                    </span>\\n                    <span \\n                      class=\\\"copy-text with-icon amount\\\"\\n                      if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                      ${record.costVoices.total.grossAmountAfterRefund} €\\n                    </span>\\n                    <small \\n                      class=\\\"queue-cost-detail mt-1\\\" \\n                      style=\\\"white-space: nowrap\\\"\\n                      click.delegate=\\\"dialogQueueCostDetail(record)\\\"\\n                      if.bind=\\\"shouldShowCostLink(record.costVoices.total.grossAmount)\\\">\\n                      Costi spedizione\\n                    </small>\\n                  </template>\\n                  <small else class=\\\"alert-message alert-color\\\">Dettaglio costi ${!tools.isLegacyQueueDetail(record, privileges) ? 'non disponibile' : 'disponibile solo su reportistica tradizionale' }.</small>\\n                </td>\\n                <td>\\n                  <span class=\\\"d-block\\\">${tools.displayPaymentMethods(record)}</span>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button\\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Vai a reportistica tradizionale\\\"\\n                    if.bind=\\\"tools.isLegacyQueueDetail(record, privileges)\\\"\\n                    click.delegate=\\\"tools.navigateToLegacyReportDetail(record.uuid)\\\">Reportistica tradizionale\\n                  </ka-button>\\n                  <ka-button\\n                    else\\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Dettaglio spedizione\\\"\\n                    disabled.bind=\\\"tools.isDateLowerThan(record)\\\"\\n                    click.delegate=\\\"tools.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio\\n                  </ka-button>\\n                  <ka-button \\n                    class=\\\"flat inverted m-0 ms-1\\\" \\n                    if.bind=\\\"!privileges.isOperator\\\" \\n                    click.delegate=\\\"unarchive(record)\\\" \\n                    ka-tooltip=\\\"Disarchivia spedizione\\\">\\n                    <i class=\\\"far fa-inbox-out\\\"></i>\\n                  </ka-button>\\n                  <ka-button\\n                    ka-tooltip=\\\"Scarica distinta\\\"\\n                    class=\\\"flat secondary inverted m-0 ms-1\\\" \\n                    click.delegate=\\\"tools.downloadWorkOrderList(record)\\\"\\n                    disabled.bind=\\\"!api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT'])\\\">\\n                    <i class=\\\"far fa-file-download\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni archiviate</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>\\n    Ricerca spedizioni annullate\\n    <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormCancelled\\\"></md-accordion-button>\\n  </h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!privileges.isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${privileges.isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${privileges.isOperator ? '2' : '1'}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${privileges.isOperator ? '1' : '2'}\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control\\n        name=\\\"shipment\\\"\\n        buttons=\\\"clear\\\"\\n        submit.call=\\\"$parent.search()\\\"\\n        placeholder=\\\"promemoria, codice spedizione, codice uuid\\\"\\n        md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spedizione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control\\n        name=\\\"recipient\\\"\\n        buttons=\\\"clear\\\"\\n        submit.call=\\\"$parent.search()\\\"\\n        placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\"\\n        md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"abandonedStatus\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-12 col-lg-3 d-flex order-3\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n    <div id=\\\"advancedSearchInterfaceFormCancelled\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco spedizioni annullate</h2>\\n    <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\">\\n        <!-- CSV download -->\\n        <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n        <button\\n          class=\\\"toolbar-button\\\"\\n          disabled.bind=\\\"!selected.length\\\"\\n          click.delegate=\\\"tools.openDialogQueueCsvDownload(selected)\\\"\\n          ka-tooltip=\\\"value.bind: selected.length ? 'Scarica selezione in formato csv' : 'Seleziona almeno una spedizione'\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"pageSelection\\\"\\n                  change.trigger=\\\"togglePageSelection()\\\">\\n              </th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n              <th>Codice spedizione</th>\\n              <th>Stato lavorazione</th>\\n              <th>Promemoria/canale</th>\\n              <th if.bind=\\\"privileges.isOperator\\\">Gestionale</th>\\n              <th>Proprietario</th>\\n              <th>Totale complessivo</th> \\n              <th>Pagamento</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"record of tableInterface.data\\\">\\n              <tr>\\n                <td style=\\\"cursor: pointer; width: 1%\\\">\\n                  <input \\n                    type=\\\"checkbox\\\"\\n                    style=\\\"margin: .3rem 0 0\\\"\\n                    checked.bind=\\\"selectable[record.sendCode]\\\"\\n                    change.trigger=\\\"selected = tools.setSelected(selectable)\\\">\\n                </td>\\n                <td>${record.createdAt|dateFormat}\\n                  <small><br>\\n                    <span\\n                      class=\\\"copy-text with-icon\\\"\\n                      click.delegate=\\\"tools.copyText(record.uuid, 'UUID')\\\"\\n                      ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                      UUID\\n                    </span>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span\\n                    click.delegate=\\\"tools.copyText(record.sendCode, 'Codice spedizione')\\\"\\n                    ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\"\\n                    class=\\\"copy-text with-icon d-flex\\\">\\n                    <span class=\\\"limitwidth-30\\\" style=\\\"font-size: 1.3rem\\\">${record.sendCode}</span>\\n                  </span>\\n                </td>\\n                <td>\\n                  <span class=\\\"tag with-icon ${record.status|queueStatusFormat:'class'}\\\">\\n                    ${record.status|queueStatusFormat}\\n                  </span>\\n                </td>\\n                <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all\\\">\\n                  <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n                  <div class=\\\"channels\\\">\\n                    <span ka-tooltip.bind=\\\"channel.text\\\" repeat.for=\\\"channel of queueProperties.channels\\\" class=\\\"channel ${record.usedChannels.includes(channel.value.toLowerCase()) ? 'used' : ''}\\\">\\n                      <i class=\\\"fal ${channel.icon}\\\"></i>\\n                    </span>\\n                    <span class=\\\"channel forwarding\\\" ka-tooltip=\\\"Messaggio di cortesia\\\" if.bind=\\\"record.emailForwardingUsed === 'YES'\\\">\\n                      <i class=\\\"fal fa-at\\\"></i>\\n                    </span>\\n                  </div>\\n                </td>\\n                <td if.bind=\\\"privileges.isOperator\\\">\\n                  <p class=\\\"p-0 m-0\\\">${record.client.name}</p><small>versione ${record.client.version}</small>\\n                </td>\\n                <td>${record.owner.displayName}</td>\\n                <td>\\n                  <span \\n                    click.delegate=\\\"tools.copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                    class=\\\"amount ${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : ''}\\\">\\n                    ${record.costVoices.total.grossAmount} € \\n                  </span>\\n                  <span \\n                    class=\\\"copy-text with-icon amount\\\"\\n                    if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                    ${record.costVoices.total.grossAmountAfterRefund} €\\n                  </span>\\n                  <small \\n                    class=\\\"queue-cost-detail mt-1\\\" \\n                    style=\\\"white-space: nowrap\\\"\\n                    click.delegate=\\\"dialogQueueCostDetail(record)\\\"\\n                    if.bind=\\\"shouldShowCostLink(record.costVoices.total.grossAmount)\\\">\\n                    Costi spedizione\\n                  </small>\\n                </td>\\n                <td>\\n                  <span class=\\\"d-block\\\">${tools.displayPaymentMethods(record)}</span>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button \\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Dettaglio spedizione\\\"\\n                    click.delegate=\\\"tools.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio\\n                  </ka-button>\\n                  <ka-button \\n                    class=\\\"flat inverted m-0 ms-1\\\" \\n                    if.bind=\\\"!privileges.isOperator\\\" \\n                    click.delegate=\\\"archive(record)\\\" \\n                    ka-tooltip=\\\"Archivia spedizione\\\">\\n                    <i class=\\\"far fa-archive p-0\\\"></i>\\n                  </ka-button>\\n                  <ka-button\\n                    ka-tooltip=\\\"Scarica distinta\\\"\\n                    class=\\\"flat secondary inverted m-0 ms-1\\\" \\n                    click.delegate=\\\"tools.downloadWorkOrderList(record)\\\"\\n                    disabled.bind=\\\"!api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT'])\\\">\\n                    <i class=\\\"far fa-file-download\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni annullate</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./../report.sass\\\"></require>\\n\\n  <h2>\\n    Ricerca spedizioni inviate\\n    <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormSent\\\"></md-accordion-button>\\n  </h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!privileges.isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${privileges.isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${privileges.isOperator ? '2' : '1'}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${privileges.isOperator ? '1' : '2'}\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"shipment\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"promemoria, codice spedizione, codice uuid\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spedizione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"recipient\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div id=\\\"advancedSearchInterfaceFormSent\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control readonly.bind=\\\"data.context !== 'SUBUSERS'\\\" name=\\\"ownerStatusIn\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <template if.bind=\\\"!privileges.isOperator || tableInterface.data\\\">\\n    <h2>Elenco spedizioni inviate</h2>\\n    <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\">\\n        <!-- CSV download -->\\n        <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n        <button\\n          class=\\\"toolbar-button\\\"\\n          disabled.bind=\\\"!selected.length\\\"\\n          click.delegate=\\\"tools.openDialogQueueCsvDownload(selected)\\\"\\n          ka-tooltip=\\\"value.bind: selected.length ? 'Scarica selezione in formato csv' : 'Seleziona almeno una spedizione'\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"pageSelection\\\"\\n                  change.trigger=\\\"togglePageSelection()\\\">\\n              </th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n              <th>Spedizione</th>\\n              <th>Stato lavorazione</th>\\n              <th>Promemoria/canale</th>\\n              <th if.bind=\\\"privileges.isOperator\\\">Gestionale</th>\\n              <th>Proprietario</th>\\n              <th>Totale complessivo</th> \\n              <th>Pagamento</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"record of tableInterface.data\\\">\\n              <tr>\\n                <td style=\\\"cursor: pointer; width: 1%\\\">\\n                  <input \\n                    type=\\\"checkbox\\\"\\n                    style=\\\"margin: .3rem 0 0\\\"\\n                    checked.bind=\\\"selectable[record.sendCode]\\\"\\n                    change.trigger=\\\"selected = tools.setSelected(selectable)\\\">\\n                </td>\\n                <td>${record.createdAt|dateFormat}\\n                  <small><br>\\n                    <span class=\\\"copy-text with-icon\\\" click.delegate=\\\"tools.copyText(record.uuid, 'UUID')\\\" ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                      UUID\\n                    </span>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span click.delegate=\\\"tools.copyText(record.sendCode, 'Codice spedizione')\\\" ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\" class=\\\"copy-text with-icon d-flex\\\">\\n                    <span class=\\\"limitwidth-30\\\" style=\\\"font-size: 1.3rem\\\"><strong>Codice: </strong>${record.sendCode}</span>\\n                  </span> \\n                  <p class=\\\"queue-info m-0\\\">\\n                    <template if.bind=\\\"record.primaryQueueUuid\\\">\\n                      <small><i class=\\\"fad fa-repeat-alt me-2\\\"></i>Codice spedizione canale primario:</small><br>\\n                      <small class=\\\"redirect-to-detail\\\" click.delegate=\\\"tools.navigateTo(record.owner.id, record.primaryQueueUuid || record.secondaryQueueUuid)\\\">\\n                        <i class=\\\"far fa-external-link me-2\\\"></i>\\n                        <span>${record.primaryQueueSendCode || record.primaryQueueUuid || record.uuid}</span>\\n                      </small>\\n                    </template>\\n                    <template if.bind=\\\"record.secondaryQueueUuid\\\">\\n                      <small><i class=\\\"far fa-repeat-alt me-2\\\"></i>Codice spedizione canale alternativo:</small><br>\\n                      <small class=\\\"redirect-to-detail\\\" click.delegate=\\\"goToQueue(record)\\\">\\n                        <i class=\\\"far fa-external-link me-2\\\"></i>\\n                        <span>${record.secondaryQueueSendCode || record.secondaryQueueUuid || record.uuid}</span>\\n                      </small>\\n                    </template>\\n                    <template if.bind=\\\"!record.secondaryQueueUuid && record.deadlineEvent\\\">\\n                      <small style=\\\"white-space: normal\\\">Canale alternativo per mancata <strong>${queueProperties.deadlineEvents[record.deadlineEvent]}</strong> entro il <strong>${record.deadlineAt|dateFormat}</strong></small>\\n                    </template>\\n                  </p>\\n                  <small if.bind=\\\"record.postalOptions.fastDelivery === 'YES'\\\" class=\\\"tag primary mt-2\\\">\\n                    Servizio Accelera\\n                  </small>\\n                </td>\\n                <td class=\\\"statuses\\\">\\n                  <div>\\n                    <span class=\\\"tag with-icon ${record.status|queueStatusFormat:'class'}\\\">\\n                      ${record.status|queueStatusFormat}\\n                      <small class=\\\"messages-count\\\">\\n                        / <span class=\\\"me-1\\\">${record.totalMessagesCount}</span>mess.\\n                      </small>\\n                    </span>\\n                  </div>\\n                  <div class=\\\"messages-status mt-1\\\">\\n                    <template repeat.for=\\\"item of record.messagesStatusCount\\\">\\n                      <small class=\\\"${item.value} d-flex\\\">\\n                        <span class=\\\"me-1\\\">${item.count}</span>\\n                        <span>${item.label}</span>\\n                      </small>\\n                    </template>\\n                  </div>\\n                  <small\\n                    if.bind=\\\"record.status !== 'COMPLETED'\\\"\\n                    ka-tooltip=\\\"Aggiorna lo stato della coda ed i rispettivi messaggi\\\"\\n                    class=\\\"update-messages d-inline-block mt-1 ${record.loading ? 'loading' : ''}\\\"\\n                    style=\\\"white-space: nowrap\\\"\\n                    click.delegate=\\\"updateQueueMessages(record, $event)\\\">\\n                    ${record.loading ? 'Aggiornamento in corso' : 'Aggiorna spedizione'}\\n                  </small>\\n                </td>\\n                <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all\\\">\\n                  <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n                  <div class=\\\"channels\\\">\\n                    <span ka-tooltip.bind=\\\"channel.text\\\" repeat.for=\\\"channel of queueProperties.channels\\\" class=\\\"channel ${record.usedChannels.includes(channel.value.toLowerCase()) ? 'used' : ''}\\\">\\n                      <i class=\\\"fal ${channel.icon}\\\"></i>\\n                    </span>\\n                    <span class=\\\"channel forwarding\\\" ka-tooltip=\\\"Messaggio di cortesia\\\" if.bind=\\\"record.emailForwardingUsed === 'YES'\\\">\\n                      <i class=\\\"fal fa-at\\\"></i>\\n                    </span>\\n                  </div>\\n                </td>\\n                <td if.bind=\\\"privileges.isOperator\\\">\\n                  <p class=\\\"p-0 m-0\\\">${record.client.name}</p><small>versione ${record.client.version}</small>\\n                </td>\\n                <td>${record.owner.displayName}</td>\\n                <td>\\n                  <template if.bind=\\\"!tools.isDateLowerThan(record)\\\">\\n                    <span \\n                      click.delegate=\\\"tools.copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                      class=\\\"amount ${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : ''}\\\">\\n                      ${record.costVoices.total.grossAmount} € \\n                    </span>\\n                    <span \\n                      class=\\\"copy-text with-icon amount\\\"\\n                      if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                      ${record.costVoices.total.grossAmountAfterRefund} €\\n                    </span>\\n                    <small \\n                      class=\\\"queue-cost-detail mt-1\\\" \\n                      style=\\\"white-space: nowrap\\\"\\n                      click.delegate=\\\"dialogQueueCostDetail(record)\\\"\\n                      if.bind=\\\"shouldShowCostLink(record.costVoices.total.grossAmount)\\\">\\n                      Costi spedizione\\n                    </small>\\n                  </template>\\n                  <small else class=\\\"alert-message alert-color\\\">Dettaglio costi ${!tools.isLegacyQueueDetail(record, privileges) ? 'non disponibile' : 'disponibile solo su reportistica tradizionale' }.</small>\\n                </td>\\n                <td>\\n                  <span class=\\\"d-block\\\">${tools.displayPaymentMethods(record)}</span>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button\\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Vai a reportistica tradizionale\\\"\\n                    if.bind=\\\"tools.isLegacyQueueDetail(record, privileges)\\\"\\n                    click.delegate=\\\"tools.navigateToLegacyReportDetail(record.uuid)\\\">Dettaglio\\n                  </ka-button>\\n                  <ka-button\\n                    else\\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Dettaglio spedizione\\\"\\n                    click.delegate=\\\"tools.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio\\n                  </ka-button>\\n                  <ka-button \\n                    class=\\\"flat inverted m-0 ms-1\\\" \\n                    if.bind=\\\"!privileges.isOperator\\\" \\n                    click.delegate=\\\"archive(record)\\\" \\n                    ka-tooltip=\\\"Archivia spedizione\\\">\\n                    <i class=\\\"far fa-archive p-0\\\"></i>\\n                  </ka-button>\\n                  <ka-button\\n                    ka-tooltip=\\\"Scarica distinta\\\"\\n                    class=\\\"flat secondary inverted m-0 ms-1\\\" \\n                    click.delegate=\\\"tools.downloadWorkOrderList(record)\\\"\\n                    disabled.bind=\\\"!api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT'])\\\">\\n                    <i class=\\\"far fa-file-download\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni inviate</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n</template>\\n\";\n// Exports\nexport default code;","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    // eslint-disable-next-line no-param-reassign\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n  url = String(url.__esModule ? url.default : url);\n\n  if (options.hash) {\n    // eslint-disable-next-line no-param-reassign\n    url += options.hash;\n  }\n\n  if (options.maybeNeedQuotes && /[\\t\\n\\f\\r \"'=<>`]/.test(url)) {\n    return \"\\\"\".concat(url, \"\\\"\");\n  }\n\n  return url;\n};","/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n  return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n  return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n  return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaPluginConfiguration = undefined;\n\nvar _kaDialog = require('./ka-dialog/ka-dialog');\n\nObject.keys(_kaDialog).forEach(function (key) {\n  if (key === \"default\" || key === \"__esModule\") return;\n  Object.defineProperty(exports, key, {\n    enumerable: true,\n    get: function get() {\n      return _kaDialog[key];\n    }\n  });\n});\n\nvar _kaToast = require('./ka-toast/ka-toast');\n\nObject.keys(_kaToast).forEach(function (key) {\n  if (key === \"default\" || key === \"__esModule\") return;\n  Object.defineProperty(exports, key, {\n    enumerable: true,\n    get: function get() {\n      return _kaToast[key];\n    }\n  });\n});\n\nvar _kaApi = require('./ka-api/ka-api');\n\nObject.keys(_kaApi).forEach(function (key) {\n  if (key === \"default\" || key === \"__esModule\") return;\n  Object.defineProperty(exports, key, {\n    enumerable: true,\n    get: function get() {\n      return _kaApi[key];\n    }\n  });\n});\nexports.configure = configure;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _kaConsole = require('./ka-console/ka-console');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nwindow.konsole = new _kaConsole.KaConsole();\n\nfunction configure(config, callback) {\n  var kaConfig = new KaPluginConfiguration(config);\n  if (callback instanceof Function) {\n    callback(kaConfig);\n  } else {\n    kaConfig.useAll();\n  }\n  kaConfig.apply();\n}\n\nvar KaPluginConfiguration = exports.KaPluginConfiguration = function () {\n  function KaPluginConfiguration(config) {\n    _classCallCheck(this, KaPluginConfiguration);\n\n    this.config = config;\n  }\n\n  KaPluginConfiguration.prototype.useAll = function useAll() {\n    this.useStandard();\n    this.useLayout();\n    this.useResource();\n    this.useInputs();\n    this.useControls();\n  };\n\n  KaPluginConfiguration.prototype.useStandard = function useStandard() {\n    console.log('%c[ka-components] loading standard modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-button/ka-button')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-table/ka-table')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-table/ka-tableFilters')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-tabs/ka-tabs')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-tooltip/ka-tooltip')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-enter/ka-enter')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-progress/ka-progress')]);\n  };\n\n  KaPluginConfiguration.prototype.useLayout = function useLayout() {\n    console.log('%c[ka-components] loading layout modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-navbar/ka-navbar')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-layout/ka-layout')]);\n  };\n\n  KaPluginConfiguration.prototype.useResource = function useResource() {\n    console.log('%c[ka-components] loading resource modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-resource/ka-resource')]);\n  };\n\n  KaPluginConfiguration.prototype.useInputs = function useInputs() {\n    console.log('%c[ka-components] loading input modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-input/ka-input')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-input/ka-input-controls')]);\n  };\n\n  KaPluginConfiguration.prototype.useControls = function useControls() {\n    console.log('%c[ka-components] loading control modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control/ka-control')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-check/ka-control-check')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-combo/ka-control-combo')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-date/ka-control-date')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-datetime/ka-control-datetime')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-datetime/ka-datetime')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-editor/ka-control-editor')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-file/ka-control-file')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-list/ka-control-list')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-number/ka-control-number')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-password/ka-control-password')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-table/ka-control-table')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-text/ka-control-text')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-textarea/ka-control-textarea')]);\n  };\n\n  KaPluginConfiguration.prototype.apply = function apply() {};\n\n  return KaPluginConfiguration;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaApi = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dec, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaHttpClient = require('aurelia-http-client');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _environment = require('environment');\n\nvar _environment2 = _interopRequireDefault(_environment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaApi = exports.KaApi = (_dec = (0, _aureliaFramework.inject)(_aureliaRouter.Router), _dec(_class = function () {\n  function KaApi(router) {\n    var _this = this;\n\n    _classCallCheck(this, KaApi);\n\n    this.routeLogin = 'login';\n    this.routeHome = 'home';\n    this._accessToken = '';\n    this._refreshToken = '';\n    this._refreshPromise = null;\n    this._user = null;\n\n    this.storage = _environment2.default.APP_STORAGE && window[_environment2.default.APP_STORAGE] ? window[_environment2.default.APP_STORAGE] : _environment2.default.storage && window[_environment2.default.storage] ? window[_environment2.default.storage] : localStorage;\n    this._baseUrl = this.storage.getItem('APP_KAMAJI_BASE_URL') || ENVIRONMENT.APP_KAMAJI_BASE_URL || ENVIRONMENT.APP_API_BASE_URL || this.storage.getItem('api_base_url') || (_environment2.default.api && _environment2.default.api.kamaji ? _environment2.default.api.kamaji : _environment2.default.api);\n    this._isKamaji1 = !!this._baseUrl.match(/api\\.kamaji\\.it\\/v1\\//g);\n    this._accessToken = this.storage.getItem('access_token') || '';\n    this._refreshToken = this.storage.getItem('refresh_token') || '';\n\n    this._user = this.storage.getItem('user') ? JSON.parse(this.storage.getItem('user')) : null;\n    this._refreshUrl = '';\n    this.client = new _aureliaHttpClient.HttpClient();\n    this.client._baseUrl = this._baseUrl;\n    this.router = router;\n\n    this.client.configure(function (x) {\n      x.withBaseUrl(_this.baseUrl);\n      x.withInterceptor({\n        request: function request(msg) {\n          if (_this.accessToken.length && (!_this._refreshUrl.length || msg.url !== _this._refreshUrl)) {\n            msg.headers.add('Authorization', 'Bearer ' + _this.accessToken);\n          }\n          return msg;\n        },\n        response: function response(msg) {\n          if (String(msg.statusCode) !== '204' && msg.responseType === 'json' && typeof msg.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        },\n        responseError: function responseError(msg) {\n          if (msg.statusCode === 401 && _this.refreshToken.length && msg.requestMessage.url !== _this._refreshUrl) {\n            return _this.refresh(_this.refreshToken).then(function (success) {\n              return _this.client.send(msg.requestMessage);\n            }, function (error) {\n              return error;\n            });\n          }\n          return Promise.reject(msg);\n        }\n      });\n    });\n  }\n\n  KaApi.prototype.login = function login(username, password) {\n    var _this2 = this;\n\n    return this.client.post('auth', { username: username, password: password, grant_type: 'password' }).then(function (msg) {\n      _this2.accessToken = msg.response.access_token;\n      _this2.refreshToken = msg.response.refresh_token;\n      if (_this2._isKamaji1) {\n        return _this2.client.get('auth').then(function (x) {\n          var response = x.response;\n          return _this2.client.get(response.endpoint + '/' + response.userid, { depth: 0 }).then(function (x) {\n            _this2.user = x.response;\n\n            _this2.router.navigateToRoute(_this2.routeHome);\n            return Promise.resolve(x);\n          }, function (x) {\n            _this2.user = null;\n            return Promise.reject(x);\n          });\n        }, function (x) {\n          _this2.user = null;\n          return Promise.reject(x);\n        });\n      }\n      return _this2.client.get('me?depth=0').then(function (x) {\n        _this2.user = x.response;\n\n        _this2.router.navigateToRoute(_this2.routeHome);\n        return Promise.resolve(x);\n      }, function (x) {\n        _this2.user = null;\n        return Promise.reject(x);\n      });\n    }, function (x) {\n      _this2.accessToken = '';\n      _this2.refreshToken = '';\n      _this2.user = null;\n      return Promise.reject(x);\n    });\n  };\n\n  KaApi.prototype.logout = function logout() {\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    this.router.navigateToRoute(this.routeLogin);\n  };\n\n  KaApi.prototype.refresh = function refresh(token) {\n    var _this3 = this;\n\n    if (this._refreshPromise) return this._refreshPromise;\n    this._refreshUrl = 'auth/refresh/' + token;\n    this._refreshPromise = this.client.post(this._refreshUrl).then(function (msg) {\n      _this3.accessToken = msg.response.access_token;\n      _this3.refreshToken = msg.response.refresh_token;\n      return Promise.resolve(msg.response);\n    }, function (x) {\n      _this3.logout();\n      return Promise.reject(x);\n    });\n    this._refreshPromise.finally(function () {\n      _this3._refreshUrl = '';\n      _this3._refreshPromise = null;\n    });\n    return this._refreshPromise;\n  };\n\n  KaApi.prototype.get = function get(endpoint, params) {\n    var queryString = (typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object' ? '?' + this.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  };\n\n  KaApi.prototype.post = function post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  };\n\n  KaApi.prototype.put = function put(endpoint, data) {\n    return this.client.put(this.baseUrl + endpoint, data);\n  };\n\n  KaApi.prototype.patch = function patch(endpoint, data) {\n    return this.client.patch(this.baseUrl + endpoint, data);\n  };\n\n  KaApi.prototype.delete = function _delete(endpoint) {\n    return this.client.delete(this.baseUrl + endpoint);\n  };\n\n  KaApi.prototype.buildQueryString = function buildQueryString(params) {\n    var query = [];\n    for (var _iterator = Object.entries(params), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var _ref2 = _ref,\n          key = _ref2[0],\n          value = _ref2[1];\n      query.push(key + '=' + encodeURIComponent(value));\n    }return query.join('&');\n  };\n\n  _createClass(KaApi, [{\n    key: 'baseUrl',\n    get: function get() {\n      return this._baseUrl;\n    },\n    set: function set(value) {\n      this._baseUrl = value;\n      this.storage.setItem('api_base_url', value);\n      if (this.client) {\n        this.client._baseUrl = this._baseUrl;\n        this.client.configure(function (conf) {\n          conf.withBaseUrl(value);\n        });\n      }\n    }\n  }, {\n    key: 'accessToken',\n    get: function get() {\n      return this._accessToken;\n    },\n    set: function set(value) {\n      this._accessToken = value || '';\n      if (value) this.storage.setItem('access_token', value);else this.storage.removeItem('access_token');\n    }\n  }, {\n    key: 'refreshToken',\n    get: function get() {\n      return this._refreshToken;\n    },\n    set: function set(value) {\n      this._refreshToken = value || '';\n      if (value) this.storage.setItem('refresh_token', value);else this.storage.removeItem('refresh_token');\n    }\n  }, {\n    key: 'user',\n    get: function get() {\n      return this._user;\n    },\n    set: function set(value) {\n      this._user = value || '';\n      if (value) this.storage.setItem('user', JSON.stringify(value));else this.storage.removeItem('user');\n    }\n  }, {\n    key: 'isAuthenticated',\n    get: function get() {\n      return !!this.accessToken.length && !!this.user;\n    }\n  }]);\n\n  return KaApi;\n}()) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaButton = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaButton = exports.KaButton = (_dec = (0, _aureliaFramework.customElement)('ka-button'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaButton(element) {\n    _classCallCheck(this, KaButton);\n\n    _initDefineProp(this, 'disabled', _descriptor, this);\n\n    _initDefineProp(this, 'busy', _descriptor2, this);\n\n    _initDefineProp(this, 'href', _descriptor3, this);\n\n    this._ready = false;\n\n    this.element = element;\n  }\n\n  KaButton.prototype.bind = function bind(bindingContext) {\n    this.parent = bindingContext;\n\n    this.disabled = this.disabled === '' ? true : this.disabled;\n    this.disabled = this.disabled === null || typeof this.disabled === 'undefined' ? false : this.disabled;\n    this.disabled = this.disabled === 'false' ? false : Boolean(this.disabled);\n  };\n\n  KaButton.prototype.attached = function attached() {\n    var _this = this;\n\n    this._ready = true;\n    this.element.addEventListener('click', function (e) {\n      if (_this.disabled || _this.busy) {\n        e.stopPropagation();\n      } else if (_this.href) {\n        e.stopPropagation();\n        location.href = _this.href;\n      } else {\n        e.model = _this;\n      }\n    });\n\n    var active = function active(e) {\n      if (!_this.disabled && !_this.busy) _this.element.classList.toggle('active');\n    };\n    this.element.addEventListener('mousedown', active);\n    this.element.addEventListener('touchstart', active);\n    this.element.addEventListener('mouseup', active);\n    this.element.addEventListener('touchend', active);\n\n    this.init();\n  };\n\n  KaButton.prototype.disabledChanged = function disabledChanged(value) {\n    value = value === 'false' ? false : Boolean(value);\n    this.disabled = value;\n    if (this._ready) this.init();\n  };\n\n  KaButton.prototype.busyChanged = function busyChanged(value) {\n    if (this._ready) this.init();\n  };\n\n  KaButton.prototype.init = function init() {\n    if (this.disabled === true) this.element.classList.add('disabled');else this.element.classList.remove('disabled');\n    if (this.busy) this.element.classList.add('busy');else this.element.classList.remove('busy');\n  };\n\n  return KaButton;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'disabled', [_dec3], {\n  enumerable: true,\n  initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'busy', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return false;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'href', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaConsole = undefined;\n\nvar _environment = require('environment');\n\nvar _environment2 = _interopRequireDefault(_environment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaConsole = exports.KaConsole = function () {\n  function KaConsole() {\n    _classCallCheck(this, KaConsole);\n  }\n\n  KaConsole.prototype.log = function log() {\n    this.debug(Object.values(arguments));\n  };\n\n  KaConsole.prototype.debug = function debug() {\n    if (!_environment2.default.debug && (!_environment2.default.APP_DEBUG || _environment2.default.APP_DEBUG !== 'true')) return;\n    console.debug.apply(console, ['%cK#DEBUG', 'background-color:#cbf7da;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  };\n\n  KaConsole.prototype.info = function info() {\n    console.info.apply(console, ['%cK#INFO', 'background-color:#cbecf7;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  };\n\n  KaConsole.prototype.warn = function warn() {\n    console.warn.apply(console, ['%cK#WARN', 'background-color:#f7e8cb;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  };\n\n  KaConsole.prototype.error = function error() {\n    console.error.apply(console, ['%cK#ERROR', 'background-color:#f7cbcb;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  };\n\n  return KaConsole;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaControlBackdropService = exports.KaControlBackdropService = function () {\n  function KaControlBackdropService(element) {\n    var _this = this;\n\n    _classCallCheck(this, KaControlBackdropService);\n\n    this.element = element;\n    this.backdrop = document.createElement('ka-control-backdrop');\n    this.backdrop.addEventListener('click', function (event) {\n      if (event.target === _this.backdrop) _this.close();\n    });\n  }\n\n  KaControlBackdropService.prototype.open = function open(drawer) {\n    var _this2 = this;\n\n    this.drawer = drawer;\n    return new Promise(function (resolve, reject) {\n      try {\n        document.body.appendChild(_this2.backdrop);\n        setTimeout(function () {\n          var bounds = _this2.element.getBoundingClientRect();\n          var max_h = _this2.backdrop.getBoundingClientRect().height;\n          _this2.backdrop.appendChild(_this2.drawer);\n\n          _this2.drawer.style.top = bounds.top + bounds.height + 'px';\n          _this2.drawer.style.left = bounds.left + 'px';\n          _this2.drawer.style.width = bounds.width + 'px';\n          resolve();\n        }, 0);\n      } catch (error) {\n        reject(error);\n      }\n    });\n  };\n\n  KaControlBackdropService.prototype.close = function close() {\n    var _this3 = this;\n\n    return new Promise(function (resolve, reject) {\n      try {\n        _this3.element.appendChild(_this3.drawer);\n        _this3.drawer.removeAttribute('style');\n        document.body.removeChild(_this3.backdrop);\n        resolve();\n      } catch (error) {\n        reject(error);\n      }\n    });\n  };\n\n  return KaControlBackdropService;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlCheck = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlCheck = exports.KaControlCheck = (_dec = (0, _aureliaFramework.customElement)('ka-control-check'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlCheck(element) {\n    _classCallCheck(this, KaControlCheck);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'description', _descriptor4, this);\n\n    this.element = element;\n  }\n\n  KaControlCheck.prototype.attached = function attached() {};\n\n  KaControlCheck.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-check: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-check: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlCheck.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlCheck.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlCheck.prototype.click = function click($event) {\n    var _this = this;\n\n    if (this.readonly) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    } else {\n      this.value = !this.value;\n      setTimeout(function () {\n        _this.element.dispatchEvent(new Event('change', { bubbles: true }));\n      }, 100);\n    }\n  };\n\n  return KaControlCheck;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'description', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.kaControlComboTextifyValueConverter = exports.kaControlComboHighlightValueConverter = exports.KaControlCombo = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaHttpClient = require('aurelia-http-client');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlCombo = exports.KaControlCombo = (_dec = (0, _aureliaFramework.customElement)('ka-control-combo'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlCombo(element) {\n    var _this = this;\n\n    _classCallCheck(this, KaControlCombo);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'client', _descriptor4, this);\n\n    this._schema = null;\n    this._value = null;\n    this._client = null;\n    this.opened = false;\n    this.combostack = [];\n    this.valuestack = [];\n    this.preloadedCombostack = [];\n\n    this.element = element;\n\n    this.backdrop = document.createElement('ka-control-backdrop');\n    this.backdrop.addEventListener('click', function (event) {\n      if (event.target === _this.backdrop) _this.close();\n    });\n  }\n\n  KaControlCombo.prototype.attached = function attached() {};\n\n  KaControlCombo.prototype.schemaChanged = function schemaChanged(schema) {\n    var _this2 = this;\n\n    if (!schema) {\n      console.warn('ka-control-combo: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        console.error('ka-control-combo: invalid schema provided!', schema);\n        return;\n      }\n    }\n    if (!schema.datasource) {\n      console.error('ka-control-combo: missing datasource in schema!', schema);\n      return;\n    }\n    if (typeof schema.datasource === 'string') {\n      try {\n        schema.datasource = JSON.parse(schema.datasource);\n      } catch (error) {\n        console.error('ka-control-combo: invalid datasource provided in schema!', schema);\n        return;\n      }\n    }\n    if (Array.isArray(schema.datasource) && !schema.datapreload) {\n      schema.datapreload = true;\n    }\n    if (!schema.datavalue) {\n      schema.datavalue = 'value';\n    }\n    if (!schema.datatext) {\n      schema.datatext = 'text';\n    }\n    if (!schema.datasearch) {\n      schema.datasearch = {};\n    } else if (typeof schema.datasearch === 'string') {\n      try {\n        schema.datasearch = JSON.parse(schema.datasearch);\n      } catch (error) {\n        console.error('ka-control-combo: invalid datasearch provided in schema!', schema);\n        return;\n      }\n    }\n    if (!schema.datasearch.operator) {\n      schema.datasearch.operator = '^=';\n    }\n    if (!schema.datasearch.keys) {\n      schema.datasearch.keys = schema.datatext;\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    console.debug('ka-control-combo: schema changed!', schema);\n    this._schema = schema;\n\n    if (this.value && !this._value) this.valueChanged(this.value);\n\n    if (schema.datasource.url) {\n      this._client = new _aureliaHttpClient.HttpClient();\n      this._client.configure(function (x) {\n        x.withInterceptor({\n          response: function response(msg) {\n            if (msg.responseType === 'json' && typeof msg.response === 'string') {\n              msg.response = JSON.parse(msg.response);\n            }\n            return msg;\n          }\n        });\n      });\n    } else this._client = this.client;\n\n    if (schema.datamultiple === true) {\n      this.element.classList.add('multiple');\n    }\n\n    setTimeout(function () {\n      _this2.buildCombostack();\n    }, this._client ? 0 : 100);\n  };\n\n  KaControlCombo.prototype.clientChanged = function clientChanged(value) {\n    if (value && !this._client) this._client = value;\n  };\n\n  KaControlCombo.prototype.valueChanged = function valueChanged(value) {\n    var _this3 = this;\n\n    if (!this._schema) {\n      console.warn('ka-control-combo: cannot handle value without schema!');\n      return;\n    }\n\n    if (!value && !this._value || value !== 'null' && value === JSON.stringify(this._value)) {\n      return;\n    }\n    if (value === null) {\n      this.valuestack = [];\n      this.getValueModel();\n    } else if (this._schema.datamultiple === true) {\n      if (typeof value === 'string') {\n        try {\n          value = JSON.parse(value);\n        } catch (error) {\n          console.error('ka-control-combo: invalid value provided!', value);\n          return;\n        }\n      }\n      if (!Array.isArray(value)) {\n        console.warn('ka-control-combo: value should be an array! Trying to convert it...', value);\n        value = [String(value)];\n      }\n    } else {\n      if (typeof value !== 'string' && typeof value !== 'number') {\n        console.error('ka-control-combo: value must be a string or an integer!', value);\n        return;\n      }\n      value = [String(value)];\n    }\n    this._value = value;\n    setTimeout(function () {\n      _this3.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n\n    setTimeout(function () {\n      _this3.buildValuestack();\n    }, this._client ? 0 : 100);\n  };\n\n  KaControlCombo.prototype.buildCombostack = function buildCombostack() {\n    var _this4 = this;\n\n    var dts = this._schema.datasource;\n    var dtp = this._schema.datapreload;\n\n    if (dtp === true || Array.isArray(dts)) {\n      if (dts.table || dts.url) {\n        var endpoint = this.buildQueryUrl();\n        if (!endpoint) return console.warn('ka-control-combo: no endpoint set for building combo stack');\n        this._client.get(endpoint).then(function (x) {\n          _this4.combostack = x.response;\n          _this4.preloadedCombostack = x.response;\n        }).catch(function (x) {\n          console.error('ka-control-combo: invalid datasource provided in schema!', _this4._schema);\n        });\n      } else if (Array.isArray(dts)) {\n        this.combostack = dts;\n        this.preloadedCombostack = dts;\n      } else {\n        console.error('ka-control-combo: invalid datasource provided in schema!', this._schema);\n        return;\n      }\n    }\n  };\n\n  KaControlCombo.prototype.buildValuestack = function buildValuestack() {\n    var _this5 = this;\n\n    if (!this._value) return;\n    var dts = this._schema.datasource;\n    var dtv = this._schema.datavalue;\n    var dtt = this._schema.datatext;\n    var values = this._value;\n    var valuestack = [];\n    var promises = [];\n\n    var _loop2 = function _loop2() {\n      if (_isArray) {\n        if (_i2 >= _iterator.length) return 'break';\n        _ref = _iterator[_i2++];\n      } else {\n        _i2 = _iterator.next();\n        if (_i2.done) return 'break';\n        _ref = _i2.value;\n      }\n\n      var value = _ref;\n\n      var matched = _this5.combostack.find(function (x) {\n        return String(x.value) === String(value);\n      }) || { value: String(value) };\n      valuestack.push(matched);\n    };\n\n    for (var _iterator = values, _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      var _ret2 = _loop2();\n\n      if (_ret2 === 'break') break;\n    }\n    var unmatched = valuestack.filter(function (x) {\n      return !x.text;\n    });\n    var endpoint = void 0;\n    if (unmatched.length) {\n      if (dts.query) {\n        var params = {};\n        if (typeof dts.query === 'string') {\n          if (dts.query.includes('=')) {\n            params = this.getUrlParams(dts.query.includes('?') ? '' + dts.query : '?' + dts.query);\n            Object.entries(params).forEach(function (_ref2) {\n              var key = _ref2[0],\n                  value = _ref2[1];\n\n              value = value.replace(/{datavalue}/g, dtv);\n              value = value.replace(/{datatext}/g, dtt);\n              value = value.replace(/{value}/g, unmatched.map(function (x) {\n                return x.value;\n              }).join(','));\n              params[key] = value;\n            });\n          } else {\n            params[dts.query] = unmatched.map(function (x) {\n              return x.value;\n            }).join(',');\n          }\n        } else if (dts.query.item) {\n          params[dts.query.item || dts.query] = unmatched.map(function (x) {\n            return x.value;\n          }).join(',');\n        }\n        endpoint = this.buildQueryUrl(params);\n      } else {\n        endpoint = this.buildQueryUrl({ filters: dtv + '~~' + unmatched.map(function (x) {\n            return x.value;\n          }).join(',') });\n      }\n      if (!endpoint) return console.warn('ka-control-combo: no endpoint set for building value stack');\n      promises.push(this._client.get(endpoint).then(function (x) {\n        var response = x.response;\n\n        var _loop = function _loop() {\n          if (_isArray2) {\n            if (_i3 >= _iterator2.length) return 'break';\n            _ref3 = _iterator2[_i3++];\n          } else {\n            _i3 = _iterator2.next();\n            if (_i3.done) return 'break';\n            _ref3 = _i3.value;\n          }\n\n          var item = _ref3;\n\n          var text = '';\n          var keys = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n          if (keys) {\n            text = dtt;\n            for (var _iterator3 = keys, _isArray3 = Array.isArray(_iterator3), _i4 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n              var _ref4;\n\n              if (_isArray3) {\n                if (_i4 >= _iterator3.length) break;\n                _ref4 = _iterator3[_i4++];\n              } else {\n                _i4 = _iterator3.next();\n                if (_i4.done) break;\n                _ref4 = _i4.value;\n              }\n\n              var key = _ref4;\n\n              var replacement = '';\n              key = /\\{([^\\.]*)\\.?(.*)\\}/g.exec(key);\n              if (item[key[1]] && key[2] && item[key[1]][key[2]]) replacement = item[key[1]][key[2]];else if (item[key[1]]) replacement = item[key[1]];\n              text = text.replace(key[0], replacement);\n            }\n          } else {\n            try {\n              var evalSafeVar = item;\n              text = item[dtt] || eval('evalSafeVar.' + dtt);\n            } catch (error) {\n              text = '';\n            }\n          }\n          var entry = valuestack.find(function (i) {\n            return i.value === String(item[dtv]);\n          });\n          entry.text = text;\n          entry.model = item;\n        };\n\n        for (var _iterator2 = response, _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n          var _ref3;\n\n          var _ret = _loop();\n\n          if (_ret === 'break') break;\n        }\n      }));\n    }\n    Promise.all(promises).finally(function () {\n      _this5.valuestack = valuestack;\n      _this5.getValueModel();\n    });\n  };\n\n  KaControlCombo.prototype.getValueModel = function getValueModel() {\n    var _this6 = this;\n\n    if (!this.value) return this.valueModel = null;\n    if (this.schema.datamultiple === true) {\n      this.valueModel = this.valuestack.filter(function (x) {\n        return _this6.value.includes(x.value);\n      }).map(function (x) {\n        return x.model;\n      });\n    } else {\n      this.valueModel = this.valuestack.filter(function (x) {\n        return String(_this6.value) === String(x.value);\n      }).map(function (x) {\n        return x.model;\n      })[0];\n    }\n  };\n\n  KaControlCombo.prototype.open = function open($event) {\n    var _this7 = this;\n\n    if (this.readonly || $event && $event.target.tagName === 'I') return;\n    if (this.opened) return this.close();\n    this._combostack.forEach(function (x) {\n      return x.selected = _this7._value && _this7._value.includes(x.value);\n    });\n\n    setTimeout(function () {\n      _this7.element.dispatchEvent(new Event('focus', { bubbles: true }));\n    }, 1);\n\n    document.body.appendChild(this.backdrop);\n    this.opened = true;\n\n    setTimeout(function () {\n      var bounds = _this7.drawer.getBoundingClientRect();\n      var max_h = _this7.backdrop.getBoundingClientRect().height;\n      _this7.backdrop.appendChild(_this7.drawer);\n      if (bounds.top + 280 > max_h) {\n        _this7.drawer.style.top = 'auto';\n        _this7.drawer.style.bottom = max_h - bounds.top - 30 + 60 + 'px';\n      } else {\n        _this7.drawer.style.top = bounds.top + 'px';\n        _this7.drawer.style.bottom = 'auto';\n      }\n      _this7.drawer.style.left = bounds.left + 'px';\n      _this7.drawer.style.width = bounds.width + 'px';\n\n      if (_this7.searchInput) _this7.searchInput.focus();\n    }, 0);\n  };\n\n  KaControlCombo.prototype.close = function close() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n    this.element.appendChild(this.drawer);\n    this.drawer.setAttribute('style', '');\n    document.body.removeChild(this.backdrop);\n    if (this._schema.datapreload !== true) this.combostack = [];\n    this.opened = false;\n    this.term = null;\n  };\n\n  KaControlCombo.prototype.select = function select(item) {\n    var _this8 = this;\n\n    if (item.model.optgroup || item.model.readonly === true) return;\n    var value = this._value || [];\n    var multiple = this._schema.datamultiple === true;\n    var index = value.indexOf(item.value);\n    if (multiple && index > -1) {\n      item.selected = false;\n      value.splice(index, 1);\n      this.valuestack.splice(index, 1);\n      if (value.length === 0) value = this._value = null;\n    } else if (multiple) {\n      item.selected = true;\n      value.push(item.value);\n      this.valuestack.push(item);\n    } else if (!multiple && index > -1) {\n      item.selected = false;\n      value = this._value = null;\n      this.valuestack = [];\n      this.close();\n    } else if (!multiple) {\n      item.selected = true;\n      value = item.value;\n      this.valuestack = [item];\n      this.close();\n    }\n    this.value = value;\n    setTimeout(function () {\n      _this8.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n    this.getValueModel();\n  };\n\n  KaControlCombo.prototype.search = function search() {\n    var _this9 = this;\n\n    var dts = this._schema.datasource;\n    var dtv = this._schema.datavalue;\n    var dtt = this._schema.datatext;\n    var dtp = this._schema.datapreload;\n    var dsh = this._schema.datasearch;\n    var term = this.term;\n    var filters = [];\n    var endpoint = void 0;\n\n    if (dtp && this.preloadedCombostack.length > 8) {\n      this.combostack = this.preloadedCombostack.filter(function (x) {\n        return String(x[dtt]).toUpperCase().indexOf(term.toUpperCase()) === 0;\n      });\n      return true;\n    }\n\n    if (!term || term.length < 2) return true;\n\n    if (!dts.table && !dts.url) {\n      return true;\n    }\n\n    if (dts.query && _typeof(dts.query) === 'object' && dts.query.hasOwnProperty('search') && typeof dts.query.search === 'string') {\n      var params = {};\n      params[dts.query.search] = term;\n      endpoint = this.buildQueryUrl(params);\n    } else {\n      var _keys = dsh.keys.match(/{(.*?)}/g);\n      if (_keys) {\n        var terms = term.trim().split(' ');\n        if (terms.length > 1) {\n          _keys.forEach(function (key, index) {\n            if (terms[index]) filters.push('' + key.replace(/{|}/g, '') + dsh.operator + terms[index]);\n          });\n        } else {\n          _keys.forEach(function (key, index) {\n            filters.push('' + key.replace(/{|}/g, '') + dsh.operator + terms[0]);\n          });\n          filters = ['(' + filters.join('|') + ')'];\n        }\n      } else {\n        filters.push('' + dtt + dsh.operator + term.trim());\n      }\n      endpoint = this.buildQueryUrl({ filters: filters.join('&') });\n    }\n\n    if (this.searchRequest && this.searchRequest.cancel) {\n      this.searchRequest.cancel();\n    }\n    this.searchPending = true;\n    this.searchRequest = this._client.get(endpoint);\n    this.searchRequest.then(function (x) {\n      _this9.combostack = x.response;\n      _this9._combostack.forEach(function (c) {\n        return c.selected = _this9._value && _this9._value.includes(c.value);\n      });\n      _this9.searchPending = false;\n    }).catch(function (error) {\n      if (!error.statusCode === 0) {\n        console.error(error);\n        _this9.searchPending = false;\n      }\n    });\n    return true;\n  };\n\n  KaControlCombo.prototype.searchKeyUp = function searchKeyUp() {\n    var _this10 = this;\n\n    if (this.searchDebounceTimeout) {\n      clearTimeout(this.searchDebounceTimeout);\n    }\n    this.searchDebounceTimeout = setTimeout(function () {\n      _this10.search();\n    }, 800);\n    return true;\n  };\n\n  KaControlCombo.prototype.searchKeyDown = function searchKeyDown($event) {\n    if (['Enter', 'Tab'].includes($event.key)) {\n      $event.preventDefault();\n      this.close();\n      this.element.focus();\n      return false;\n    }\n    return true;\n  };\n\n  KaControlCombo.prototype.getUrlParams = function getUrlParams(url) {\n    var query = url.match(/\\?(.*)$/);\n    if (!query) return {};\n    var chunks = query[1].split('&');\n    return chunks.reduce(function (params, hash) {\n      var _Object$assign;\n\n      var _hash$split = hash.split('='),\n          key = _hash$split[0],\n          val = _hash$split[1];\n\n      return Object.assign(params, (_Object$assign = {}, _Object$assign[key] = decodeURIComponent(val), _Object$assign));\n    }, {});\n  };\n\n  KaControlCombo.prototype.buildQueryUrl = function buildQueryUrl(params) {\n    var dts = this._schema.datasource;\n    var dtv = this._schema.datavalue;\n    var dtt = this._schema.datatext;\n    var dtf = this._schema.datafilter;\n\n\n    if (!dts.table && !dts.url) {\n      console.warn('ka-control-combo: cannot build query url if datasource is not a table or url!', this._schema.datasource);\n      return;\n    }\n\n    var endpoint = dts.table || dts.url;\n    var urlParams = this.getUrlParams(endpoint);\n\n    if (dts.query && params) {\n      Object.assign(urlParams, params);\n    } else {\n      var fields = void 0;\n      var sort = void 0;\n      var _keys2 = void 0;\n\n      _keys2 = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      if (_keys2) {\n        _keys2 = _keys2.map(function (b) {\n          return b.replace(/\\{(.*?)\\}/g, '$1').replace(/([^\\.]*).*/g, '$1');\n        });\n        fields = _keys2.join(',');\n        sort = '+' + _keys2.join(',+');\n      } else {\n        fields = dtt;\n        sort = '+' + dtt;\n      }\n\n      if (dtf) {\n        urlParams.filters = (urlParams.filters ? urlParams.filters + '&' : '') + ('(' + dtf + ')');\n      }\n      if (params && params.filters) {\n        urlParams.filters = (urlParams.filters ? urlParams.filters + '&' : '') + ('(' + params.filters + ')');\n      }\n      if (urlParams.sort === 'null') {\n        delete urlParams.sort;\n      } else {\n        urlParams.sort = (urlParams.sort ? urlParams.sort + ',' : '') + sort;\n      }\n      urlParams.fields = (urlParams.fields ? urlParams.fields + ',' : '') + (dtv + ',' + fields);\n    }\n    endpoint = endpoint.replace(/\\?.*$/, '') + '?' + this.buildQueryString(urlParams);\n    return endpoint;\n  };\n\n  KaControlCombo.prototype.buildQueryString = function buildQueryString(params) {\n    return Object.keys(params).reduce(function (query, key) {\n      return query + '&' + key + '=' + encodeURIComponent(params[key]);\n    }, '').replace(/^\\&/, '');\n  };\n\n  _createClass(KaControlCombo, [{\n    key: 'combostack',\n    get: function get() {\n      return this._combostack;\n    },\n    set: function set(stack) {\n      if (!stack || stack.length === 0) {\n        this._combostack = [];\n        return;\n      }\n      var dtv = this._schema.datavalue;\n      var dtt = this._schema.datatext;\n      var combostack = [];\n      for (var _iterator4 = stack, _isArray4 = Array.isArray(_iterator4), _i5 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n        var _ref5;\n\n        if (_isArray4) {\n          if (_i5 >= _iterator4.length) break;\n          _ref5 = _iterator4[_i5++];\n        } else {\n          _i5 = _iterator4.next();\n          if (_i5.done) break;\n          _ref5 = _i5.value;\n        }\n\n        var _item = _ref5;\n\n        var _text = '';\n        var _keys3 = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n        if (_keys3) {\n          _text = dtt;\n          for (var _iterator5 = _keys3, _isArray5 = Array.isArray(_iterator5), _i6 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n            var _ref6;\n\n            if (_isArray5) {\n              if (_i6 >= _iterator5.length) break;\n              _ref6 = _iterator5[_i6++];\n            } else {\n              _i6 = _iterator5.next();\n              if (_i6.done) break;\n              _ref6 = _i6.value;\n            }\n\n            var key = _ref6;\n\n            var replacement = '';\n            key = /\\{([^\\.]*)\\.?(.*)\\}/g.exec(key);\n            if (_item[key[1]] && key[2] && _item[key[1]][key[2]]) replacement = _item[key[1]][key[2]];else if (_item[key[1]]) replacement = _item[key[1]];\n            _text = _text.replace(key[0], replacement);\n          }\n        } else {\n          try {\n            var evalSafeVar = _item;\n            _text = _item[dtt] || eval('evalSafeVar.' + dtt);\n          } catch (error) {\n            _text = '';\n          }\n        }\n        combostack.push({ value: String(_item[dtv]), text: _text, model: _item });\n      }\n      this._combostack = combostack;\n    }\n  }, {\n    key: 'valuestack',\n    get: function get() {\n      return this._valuestack;\n    },\n    set: function set(stack) {\n      if (!stack || stack.length === 0) {\n        this._valuestack = [];\n        return;\n      }\n      this._valuestack = stack;\n    }\n  }]);\n\n  return KaControlCombo;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);\n\nvar kaControlComboHighlightValueConverter = exports.kaControlComboHighlightValueConverter = function () {\n  function kaControlComboHighlightValueConverter() {\n    _classCallCheck(this, kaControlComboHighlightValueConverter);\n  }\n\n  kaControlComboHighlightValueConverter.prototype.toView = function toView(text, term) {\n    if (!term) return text;\n    var index = text.toLowerCase().indexOf(term.toLowerCase());\n    if (index >= 0) text = text.substring(0, index) + '<strong>' + text.substring(index, index + term.length) + '</strong>' + text.substring(index + term.length);\n    return text;\n  };\n\n  return kaControlComboHighlightValueConverter;\n}();\n\nvar kaControlComboTextifyValueConverter = exports.kaControlComboTextifyValueConverter = function () {\n  function kaControlComboTextifyValueConverter() {\n    _classCallCheck(this, kaControlComboTextifyValueConverter);\n  }\n\n  kaControlComboTextifyValueConverter.prototype.toView = function toView(text) {\n    return text.replace(/(<([^>]+)>)/gi, \"\");\n  };\n\n  return kaControlComboTextifyValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.controlDateValueConverter = exports.KaControlDate = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _luxon = require('luxon');\n\nvar _kaControlBackdrop = require('../ka-control-backdrop/ka-control-backdrop');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlDate = exports.KaControlDate = (_dec = (0, _aureliaFramework.customElement)('ka-control-date'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlDate(element) {\n    _classCallCheck(this, KaControlDate);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor5, this);\n\n    this.element = element;\n    this.backdrop = new _kaControlBackdrop.KaControlBackdropService(this.element);\n  }\n\n  KaControlDate.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-date: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-date: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlDate.prototype.attached = function attached() {\n    var _this = this;\n\n    this.element.querySelector('input.display-value').addEventListener('dblclick', function () {\n      _this.open();\n    });\n  };\n\n  KaControlDate.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlDate.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlDate.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlDate.prototype.open = function open() {\n    if (this.readonly) return;\n    this.opened = true;\n    this.backdrop.open(this.drawer);\n  };\n\n  KaControlDate.prototype.close = function close() {\n    this.change();\n    this.backdrop.close();\n  };\n\n  KaControlDate.prototype.change = function change() {\n    var _this2 = this;\n\n    setTimeout(function () {\n      _this2.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n  };\n\n  return KaControlDate;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);\n\nvar controlDateValueConverter = exports.controlDateValueConverter = function () {\n  function controlDateValueConverter() {\n    _classCallCheck(this, controlDateValueConverter);\n  }\n\n  controlDateValueConverter.prototype.toView = function toView(value, utc) {\n    var date = void 0;\n    if (/^\\d{4}-\\d{2}-\\d{2}$/.test(value)) {\n      date = _luxon.DateTime.fromFormat(value, 'yyyy-MM-dd');\n    } else if (/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)((-(\\d{2}):(\\d{2})|Z)?)$/.test(value)) {\n      date = !(utc === false) ? _luxon.DateTime.fromISO(value, { setZone: true }).toLocal() : _luxon.DateTime.fromISO(value);\n    }\n    return date && date.isValid ? date.toFormat('dd/MM/yyyy') : value;\n  };\n\n  controlDateValueConverter.prototype.fromView = function fromView(value, utc) {\n    if (!/^\\d{2}\\/\\d{2}\\/\\d{4}$/.test(value)) return value;\n    var date = _luxon.DateTime.fromFormat(value, 'dd/MM/yyyy');\n    if (!date.isValid) return value;\n    if (!(utc === false)) date = date.toUTC();\n    return date.set({ seconds: 0, milliseconds: 0 }).toISO({ suppressMilliseconds: true });\n  };\n\n  return controlDateValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.controlDatetimeValueConverter = exports.KaControlDateTime = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _luxon = require('luxon');\n\nvar _kaControlBackdrop = require('../ka-control-backdrop/ka-control-backdrop');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlDateTime = exports.KaControlDateTime = (_dec = (0, _aureliaFramework.customElement)('ka-control-datetime'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlDateTime(element) {\n    _classCallCheck(this, KaControlDateTime);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor5, this);\n\n    this.element = element;\n    this.backdrop = new _kaControlBackdrop.KaControlBackdropService(this.element);\n  }\n\n  KaControlDateTime.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-datetime: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-datetime: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlDateTime.prototype.attached = function attached() {\n    var _this = this;\n\n    this.element.querySelector('input.display-value').addEventListener('dblclick', function () {\n      _this.open();\n    });\n  };\n\n  KaControlDateTime.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlDateTime.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlDateTime.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlDateTime.prototype.open = function open() {\n    if (this.readonly) return;\n    this.opened = true;\n    this.backdrop.open(this.drawer);\n  };\n\n  KaControlDateTime.prototype.close = function close() {\n    this.change();\n    this.backdrop.close();\n  };\n\n  KaControlDateTime.prototype.change = function change() {\n    var _this2 = this;\n\n    setTimeout(function () {\n      _this2.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n  };\n\n  return KaControlDateTime;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);\n\nvar controlDatetimeValueConverter = exports.controlDatetimeValueConverter = function () {\n  function controlDatetimeValueConverter() {\n    _classCallCheck(this, controlDatetimeValueConverter);\n  }\n\n  controlDatetimeValueConverter.prototype.toView = function toView(value, utc) {\n    if (!/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)((-(\\d{2}):(\\d{2})|Z)?)$/.test(value)) return value;\n    var date = !(utc === false) ? _luxon.DateTime.fromISO(value, { setZone: true }).toLocal() : _luxon.DateTime.fromISO(value);\n    if (!date.isValid) return value;\n    return date.toFormat('dd/MM/yyyy HH:mm');\n  };\n\n  controlDatetimeValueConverter.prototype.fromView = function fromView(value, utc) {\n    if (!/^\\d{2}\\/\\d{2}\\/\\d{4} \\d{2}:\\d{2}$/.test(value)) return value;\n    var date = _luxon.DateTime.fromFormat(value, 'dd/MM/yyyy HH:mm');\n    if (!date.isValid) return value;\n    if (!(utc === false)) date = date.toUTC();\n    return date.set({ seconds: 0, milliseconds: 0 }).toISO({ suppressMilliseconds: true });\n  };\n\n  return controlDatetimeValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlEditor = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _kaCkeditor = require('ka-ckeditor');\n\nvar _kaCkeditor2 = _interopRequireDefault(_kaCkeditor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlEditor = exports.KaControlEditor = (_dec = (0, _aureliaFramework.customElement)('ka-control-editor'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlEditor(element) {\n    _classCallCheck(this, KaControlEditor);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    this.element = element;\n  }\n\n  KaControlEditor.prototype.attached = function attached() {};\n\n  KaControlEditor.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-editor: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-editor: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n\n    this.buildEditor();\n  };\n\n  KaControlEditor.prototype.valueChanged = function valueChanged(value) {\n    var _this = this;\n\n    if (!this.editor || this.editorValuePending || this.editor.getData() === value) return;\n\n    this.editorValuePending = true;\n    this.editor.setData(value || '');\n    setTimeout(function () {\n      _this.editorValuePending = false;\n    }, 0);\n  };\n\n  KaControlEditor.prototype.readonlyChanged = function readonlyChanged(readonly) {\n    if (this.editor) this.editor.isReadOnly = readonly;\n  };\n\n  KaControlEditor.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlEditor.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlEditor.prototype.buildEditor = function buildEditor() {\n    var _this2 = this;\n\n    if (this._editor_initialized) return;\n    var config = {\n      toolbar: {\n        items: ['heading', '|', 'bold', 'italic', 'strikethrough', 'superscript', 'subscript', 'removeFormat', '|', 'bulletedList', 'numberedList', '|', 'alignment', 'indent', 'outdent', '|', 'link', 'imageUpload', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo', '|', 'code']\n      },\n      language: 'it',\n      image: {\n        toolbar: ['imageTextAlternative', 'imageStyle:full', 'imageStyle:side']\n      },\n      table: {\n        contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells']\n      }\n    };\n    _kaCkeditor2.default.create(this.element, config).then(function (editor) {\n      editor.setData(_this2.value || '');\n      editor.isReadOnly = _this2.readonly;\n      editor.model.document.on('change:data', function () {\n        _this2.value = editor.getData();\n      });\n      editor.editing.view.document.on('change:isFocused', function (evt, data, isFocused) {\n        if (isFocused) _this2.focus();else _this2.blur();\n      });\n      _this2.editor = editor;\n    }).catch(function (error) {\n      konsole.error('There was a problem initializing ckeditor', error);\n    }).finally(function () {\n      _this2._editor_initialized = true;\n    });\n  };\n\n  return KaControlEditor;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlFile = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlFile = exports.KaControlFile = (_dec = (0, _aureliaFramework.customElement)('ka-control-file'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlFile(element) {\n    _classCallCheck(this, KaControlFile);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'params', _descriptor5, this);\n\n    this.element = element;\n  }\n\n  KaControlFile.prototype.attached = function attached() {};\n\n  KaControlFile.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-file: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-file: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlFile.prototype.valueChanged = function valueChanged(value) {\n    if (typeof value === 'undefined' || value === '' || value && !value.length) value = null;\n    this.displayValue = value && value.length && value[0] && value[0].name ? value[0].name : value;\n  };\n\n  KaControlFile.prototype.clear = function clear() {\n    this.value = null;\n  };\n\n  KaControlFile.prototype.download = function download() {\n    if (!this.value || !this.params.download) return;\n    window.open(this.params.download);\n  };\n\n  KaControlFile.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlFile.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlFile;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'params', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlsList = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value2, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlsList = exports.KaControlsList = (_dec = (0, _aureliaFramework.customElement)('ka-control-list'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlsList(element) {\n    _classCallCheck(this, KaControlsList);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    this._schema = null;\n    this._value = [];\n    this.newValue = {};\n\n    this.element = element;\n  }\n\n  KaControlsList.prototype.attached = function attached() {\n    var _this = this;\n\n    if (!this.value) new Array(parseInt(this.schema && this.schema.min ? this.schema.min : 1, 10)).fill(0).forEach(function () {\n      _this.add();\n    });\n  };\n\n  KaControlsList.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-list: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid schema provided!', value);\n        return;\n      }\n    }\n    if (!schema.datasource) {\n      konsole.error('ka-control-list: missing datasource in schema!', schema);\n      return;\n    }\n    if (typeof schema.datasource === 'string') {\n      try {\n        schema.datasource = JSON.parse(schema.datasource);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid datasource provided in schema!', schema);\n        return;\n      }\n    }\n    if (!schema.datasource.model) {\n      konsole.error('ka-control-list: model missing from datasource!', schema.datasource);\n      return;\n    }\n    if (!schema.datasource.model.schema) {\n      konsole.error('ka-control-list: schema missing from datasource model!', schema.datasource.model);\n      return;\n    }\n    if (!Array.isArray(schema.datasource.model.schema) || !schema.datasource.model.schema.length) {\n      konsole.error('ka-control-list: datasource model schema must be an array of objects!', schema.datasource.model);\n      return;\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlsList.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlsList.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlsList.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlsList.prototype.change = function change() {\n    if (!this._value.map(function (x) {\n      return Object.values(x).join('');\n    }).join('').length) {\n      this.value = null;\n    } else {\n      this.value = JSON.stringify(this._value);\n    }\n  };\n\n  KaControlsList.prototype.valueChanged = function valueChanged(value) {\n    if (!this._schema) {\n      konsole.warn('ka-control-combo: cannot handle value without schema!');\n      return;\n    }\n\n    if (!value || value === JSON.stringify(this._value)) {\n      return;\n    }\n    var _value = value;\n    if (typeof _value === 'string') {\n      try {\n        _value = JSON.parse(_value);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid value provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(_value)) {\n      konsole.error('ka-control-list: value must be an array!', value);\n      return;\n    }\n    if (!_value.length) {\n      if (!this._value.length) this.add();\n      return;\n    }\n\n    this._value = _value;\n  };\n\n  KaControlsList.prototype.add = function add() {\n    var value = {};\n    for (var _iterator = this._schema.datasource.model.schema, _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i2 >= _iterator.length) break;\n        _ref = _iterator[_i2++];\n      } else {\n        _i2 = _iterator.next();\n        if (_i2.done) break;\n        _ref = _i2.value;\n      }\n\n      var schema = _ref;\n\n      value[schema.field] = null;\n    }\n    this._value.push(value);\n  };\n\n  KaControlsList.prototype.remove = function remove(value) {\n    this._value = this._value.filter(function (v) {\n      return v !== value;\n    });\n    this.change();\n  };\n\n  return KaControlsList;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlNumber = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlNumber = exports.KaControlNumber = (_dec = (0, _aureliaFramework.customElement)('ka-control-number'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlNumber(element) {\n    _classCallCheck(this, KaControlNumber);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    this.element = element;\n  }\n\n  KaControlNumber.prototype.attached = function attached() {};\n\n  KaControlNumber.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-number: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-number: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlNumber.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlNumber.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlNumber.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlNumber;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlPassword = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlPassword = exports.KaControlPassword = (_dec = (0, _aureliaFramework.customElement)('ka-control-password'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlPassword(element) {\n    _classCallCheck(this, KaControlPassword);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor5, this);\n\n    this.element = element;\n  }\n\n  KaControlPassword.prototype.attached = function attached() {};\n\n  KaControlPassword.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-password: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-password: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlPassword.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlPassword.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlPassword.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlPassword;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlsTable = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlsTable = exports.KaControlsTable = (_dec = (0, _aureliaFramework.customElement)('ka-control-table'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlsTable(element, router) {\n    _classCallCheck(this, KaControlsTable);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'label', _descriptor3, this);\n\n    this._schema = null;\n    this._value = [];\n    this.newValue = {};\n\n    this.element = element;\n    this.router = router;\n  }\n\n  KaControlsTable.prototype.attached = function attached() {};\n\n  KaControlsTable.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-table: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-table: invalid schema provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(schema) || !schema.length) {\n      konsole.error('ka-control-table: schema must be an array of objects!', schema);\n      return;\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlsTable.prototype.valueChanged = function valueChanged(value) {\n    if (!value || value === JSON.stringify(this._value)) {\n      return;\n    }\n    if (typeof value === 'string') {\n      try {\n        value = JSON.parse(value);\n      } catch (error) {\n        konsole.error('ka-control-table: invalid value provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(value)) {\n      konsole.error('ka-control-table: value must be an array!', value);\n      return;\n    }\n    this._value = value;\n  };\n\n  KaControlsTable.prototype.update = function update() {\n    this.value = JSON.stringify(this._value);\n  };\n\n  KaControlsTable.prototype.add = function add(value) {\n    this.newValue = {};\n    this._value.push(value);\n    this.update();\n  };\n\n  KaControlsTable.prototype.remove = function remove(value) {\n    this._value = this._value.filter(function (v) {\n      return v !== value;\n    });\n    this.update();\n  };\n\n  return KaControlsTable;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'label', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlText = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlText = exports.KaControlText = (_dec = (0, _aureliaFramework.customElement)('ka-control-text'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlText(element) {\n    _classCallCheck(this, KaControlText);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor5, this);\n\n    this.element = element;\n  }\n\n  KaControlText.prototype.attached = function attached() {};\n\n  KaControlText.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-text: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-text: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlText.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlText.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlText.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlText;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlTextarea = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlTextarea = exports.KaControlTextarea = (_dec = (0, _aureliaFramework.customElement)('ka-control-textarea'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlTextarea(element) {\n    _classCallCheck(this, KaControlTextarea);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    this.element = element;\n  }\n\n  KaControlTextarea.prototype.attached = function attached() {};\n\n  KaControlTextarea.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-textarea: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-textarea: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlTextarea.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlTextarea.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlTextarea.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlTextarea;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.NullifyEmptyValueConverter = exports.KaControl = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaValidation = require('aurelia-validation');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _luxon = require('luxon');\n\nvar _kaComponents = require('ka-components');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControl = exports.KaControl = (_dec = (0, _aureliaFramework.customElement)('ka-control'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaComponents.KaApi, _aureliaFramework.BindingEngine, _aureliaFramework.NewInstance.of(_aureliaValidation.ValidationController)), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)(), _dec14 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControl(element, router, api, binding, validator) {\n    _classCallCheck(this, KaControl);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'name', _descriptor3, this);\n\n    _initDefineProp(this, 'readonly', _descriptor4, this);\n\n    _initDefineProp(this, 'required', _descriptor5, this);\n\n    _initDefineProp(this, 'label', _descriptor6, this);\n\n    _initDefineProp(this, 'description', _descriptor7, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor8, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor9, this);\n\n    _initDefineProp(this, 'error', _descriptor10, this);\n\n    _initDefineProp(this, 'params', _descriptor11, this);\n\n    _initDefineProp(this, 'client', _descriptor12, this);\n\n    this.parentResourceName = 'resource';\n    this.buttons = [];\n\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    this.binding = binding;\n    this.validator = validator;\n    this.validator.validateTrigger = _aureliaValidation.validateTrigger.manual;\n\n    _aureliaValidation.ValidationRules.ensure('value').required().when(function (self) {\n      return self.required;\n    }).withMessage('Campo obbligatorio').equals(true).when(function (self) {\n      return self.schema.control === 'check' && self.required;\n    }).withMessage('Spunta obbligatoria').satisfies(function (value, self) {\n      return value >= self.schema.min && value <= self.schema.max;\n    }).when(function (self) {\n      return self.schema.control === 'number' && self.schema.min && self.schema.max;\n    }).withMessage('Il valore deve essere compreso tra ${schema.min} e ${schema.max}').satisfies(function (value, self) {\n      return value >= self.schema.min;\n    }).when(function (self) {\n      return self.schema.control === 'number' && self.schema.min && !self.schema.max;\n    }).withMessage('Il valore deve essere uguale o maggiore di ${schema.min}').satisfies(function (value, self) {\n      return value <= self.schema.max;\n    }).when(function (self) {\n      return self.schema.control === 'number' && !self.schema.min && self.schema.max;\n    }).withMessage('Il valore deve essere minore o uguale a ${schema.max}').satisfies(function (value, self) {\n      return value.length >= self.schema.min && value.length <= self.schema.max;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && self.schema.min && self.schema.max;\n    }).withMessage('Il numero di caratteri deve essere compreso tra ${schema.min} e ${schema.max}').satisfies(function (value, self) {\n      return value.length >= self.schema.min;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && self.schema.min && !self.schema.max;\n    }).withMessage('Il valore deve essere di almeno ${schema.min} caratteri').satisfies(function (value, self) {\n      return value.length <= self.schema.max;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && !self.schema.min && self.schema.max;\n    }).withMessage('Il valore non deve superare i ${schema.max} caratteri').satisfies(function (value, self) {\n      var pattern = typeof self.schema.pattern === 'string' ? new RegExp(self.schema.pattern) : self.schema.pattern;\n      return value === null || value === '' || pattern.test(value);\n    }).when(function (self) {\n      return ['text', 'textarea', 'password', 'number'].includes(self.schema.control) && self.schema.pattern;\n    }).withMessage('Formato non valido').satisfies(function (value, self) {\n      return self.schema.validationRule.satisfies(value, self);\n    }).when(function (self) {\n      return self.schema.validationRule;\n    }).withMessage('${schema.validationRule.withMessage}').satisfies(function (value, self) {\n      return value === null || value === '' || _luxon.DateTime.fromISO(value).isValid;\n    }).when(function (self) {\n      return self.schema.control === 'date' || self.schema.control === 'age';\n    }).withMessage('Formato data non valido').satisfies(function (value, self) {\n      return value === null || value === '' || _luxon.DateTime.fromISO(value).isValid;\n    }).when(function (self) {\n      return self.schema.control === 'datetime';\n    }).withMessage('Formato data/orario non valido').satisfies(function (value, self) {\n      return value === null || value === '' || _luxon.DateTime.fromFormat(value, 'HH:mm:ss').isValid;\n    }).when(function (self) {\n      return self.schema.control === 'time';\n    }).withMessage('Formato orario non valido').ensure('displayValue').required().when(function (self) {\n      return self.required;\n    }).withMessage('Campo obbligatorio').on(this);\n  }\n\n  KaControl.prototype.bind = function bind(bindingContext) {\n    this.parentContext = bindingContext;\n\n    if (this.name && this.name.includes(':')) {\n      var _name$split = this.name.split(':'),\n          parentResourceName = _name$split[0],\n          name = _name$split[1];\n\n      this.parentResourceName = parentResourceName;\n      this.name = name;\n    }\n\n    if (this.name && this.parentContext[this.parentResourceName]) this.bindToResource();\n\n    if (!this.name && this.schema) this.schemaChanged(this.schema);\n\n    if (this.value && Array.isArray(this.value)) this.subscribeValueCollectionObserver();\n\n    if (this.element.hasAttribute('buttons')) {\n      this.buttons = this.element.getAttribute('buttons').split(',');\n    }\n  };\n\n  KaControl.prototype.detached = function detached() {\n    this.unbindFromResource();\n    if (this.valueCollectionObserver && this.valueCollectionObserver.dispose) this.valueCollectionObserver.dispose();\n  };\n\n  KaControl.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) return;\n    this.readonly = this.readonly !== null ? String(this.readonly) === 'true' : String(schema.readonly) === 'true';\n    if (!this.readonly && this.bindedToResource && this.parentContext[this.parentResourceName].readonly !== null) this.readonly = String(this.parentContext[this.parentResourceName].readonly) === 'true';\n    this.required = this.required !== null ? String(this.required) === 'true' : String(schema.required) === 'true';\n    this.label = this.label || schema.label || null;\n    this.placeholder = this.placeholder || schema.placeholder || '';\n    this.description = this.description || schema.description || null;\n    this.viewStrategy = new _aureliaFramework.InlineViewStrategy('<template><ka-control-' + schema.control + ' view-model.ref=\"control\" schema.bind=\"schema\" value.bind=\"value | nullifyEmpty & validate\" readonly.bind=\"readonly\" placeholder.bind=\"placeholder\" ' + (schema.control === 'check' ? 'description.bind=\"description\"' : '') + ' autocomplete.bind=\"autocomplete\" params.bind=\"params\" client.bind=\"' + (this.client ? 'client' : 'api') + '\" focus.trigger=\"focus()\" blur.trigger=\"blur()\"></ka-control-' + schema.control + '></template>');\n  };\n\n  KaControl.prototype.valueChanged = function valueChanged(value) {\n    if (this.bindedToResource && this.parentContext[this.parentResourceName].data && this.checkNested(this.parentContext[this.parentResourceName].data, this.name.split('.'))) eval('this.parentContext.' + this.parentResourceName + '.data.' + this.name + ' = value');\n    if (Array.isArray(value)) {\n      this.subscribeValueCollectionObserver();\n    }\n    this.validate();\n  };\n\n  KaControl.prototype.readonlyChanged = function readonlyChanged() {\n    if (!this.schema) return;\n    if (String(this.schema.readonly) === 'true') this.readonly = true;\n  };\n\n  KaControl.prototype.subscribeValueCollectionObserver = function subscribeValueCollectionObserver() {\n    var _this = this;\n\n    if (this.valueCollectionObserver && this.valueCollectionObserver.dispose) this.valueCollectionObserver.dispose();\n    this.valueCollectionObserver = this.binding.collectionObserver(this.value).subscribe(function (splice) {\n      if (splice && splice[0] && splice[0].index > 0) _this.valueChanged(_this.value);\n    });\n  };\n\n  KaControl.prototype.validate = function validate() {\n    var _this2 = this;\n\n    this.element.classList.remove('error');\n    this.element.classList.remove('hadFocus');\n    var validator = this.validator.validate();\n    validator.then(function (result) {\n      if (!result.valid) {\n        setTimeout(function () {\n          _this2.element.classList.add('error');\n        }, 1);\n      }\n    });\n    this.scrollErrorOverflow();\n    return validator;\n  };\n\n  KaControl.prototype.setError = function setError(message) {\n    if (message && typeof message === 'string') {\n      this.element.classList.add('error');\n      this.validator.errors = [message];\n    } else if (message) {\n      this.element.classList.add('error');\n      this.validator.errors = message;\n    } else {\n      this.element.classList.remove('error');\n      this.validator.errors = [];\n    }\n  };\n\n  KaControl.prototype.scrollErrorOverflow = function scrollErrorOverflow() {\n    var _this3 = this;\n\n    setTimeout(function () {\n      var wrapper = _this3.element.querySelector('.ka-control-error');\n      var scroller = _this3.element.querySelector('.ka-control-error-scroller');\n      if (!wrapper || !scroller) return;\n      if (scroller.offsetWidth > wrapper.offsetWidth) {\n        wrapper.classList.add('scroll');\n      } else {\n        wrapper.classList.remove('scroll');\n      }\n    }, 100);\n  };\n\n  KaControl.prototype.focus = function focus() {\n    this.element.classList.add('hadFocus');\n    this.element.classList.add('focus');\n    this.scrollErrorOverflow();\n  };\n\n  KaControl.prototype.blur = function blur() {\n    this.element.classList.remove('focus');\n  };\n\n  KaControl.prototype.clear = function clear() {\n    this.value = null;\n    if (!['combo'].includes(this.schema.control)) this.element.dispatchEvent(new Event('change', { bubbles: true }));\n  };\n\n  KaControl.prototype.dropdown = function dropdown() {\n    if (this.control && this.control.open) this.control.open();\n  };\n\n  KaControl.prototype.bindToResource = function bindToResource() {\n    var _this4 = this;\n\n    if (!this.parentContext[this.parentResourceName]) return;\n    var resource = this.parentContext[this.parentResourceName];\n\n    if (resource.controls) {\n      resource.controls[this.name] = this;\n    }\n\n    if (resource.schema) {\n      var setSchemaBinding = function setSchemaBinding() {\n        if (_this4.checkNested(resource.schema, _this4.name.split('.'))) _this4.schema = eval('resource.schema.' + _this4.name);\n\n        if (_this4.resourceControlSchemaBinding) _this4.resourceControlSchemaBinding.dispose();\n        _this4.resourceControlSchemaBinding = _this4.binding.expressionObserver(_this4, 'parentContext.' + _this4.parentResourceName + '.schema.' + _this4.name).subscribe(function (value) {\n          return _this4.schema = value;\n        });\n      };\n      setSchemaBinding();\n\n      this.resourceSchemaBinding = this.binding.expressionObserver(this, 'parentContext.' + this.parentResourceName + '.schema').subscribe(function (value) {\n        return setSchemaBinding();\n      });\n    } else if (this.schema) {\n      this.schemaChanged(this.schema);\n    }\n\n    if (resource.data) {\n      this.createNested(resource.data, this.name.split('.'));\n      var setDataBinding = function setDataBinding() {\n        if (_this4.checkNested(resource.data, _this4.name.split('.'))) _this4.value = eval('resource.data.' + _this4.name);\n\n        if (_this4.resourceControlValueBinding) _this4.resourceControlValueBinding.dispose();\n        _this4.resourceControlValueBinding = _this4.binding.expressionObserver(_this4, 'parentContext.' + _this4.parentResourceName + '.data.' + _this4.name).subscribe(function (value) {\n          if (value !== _this4.value) _this4.value = value;\n        });\n      };\n      setDataBinding();\n\n      this.resourceValueBinding = this.binding.expressionObserver(this, 'parentContext.' + this.parentResourceName + '.data').subscribe(function (value) {\n        return setDataBinding();\n      });\n    }\n\n    if (!this.readonly) this.resourceReadonlyBinding = this.binding.expressionObserver(this, 'parentContext.' + this.parentResourceName + '.readonly').subscribe(function (value) {\n      _this4.readonly = value;\n    });\n\n    this.bindedToResource = true;\n  };\n\n  KaControl.prototype.unbindFromResource = function unbindFromResource() {\n    if (this.resourceControlSchemaBinding) this.resourceControlSchemaBinding.dispose();\n    if (this.resourceControlValueBinding) this.resourceControlValueBinding.dispose();\n    if (this.resourceSchemaBinding) this.resourceSchemaBinding.dispose();\n    if (this.resourceValueBinding) this.resourceValueBinding.dispose();\n    if (this.resourceReadonlyBinding) this.resourceReadonlyBinding.dispose();\n    this.bindedToResource = false;\n  };\n\n  KaControl.prototype.checkNested = function checkNested(obj, levels) {\n    var level = levels.shift();\n    if (obj === undefined || obj === null || !obj.hasOwnProperty(level)) return false;\n    return levels.length ? this.checkNested(obj[level], levels) : true;\n  };\n\n  KaControl.prototype.createNested = function createNested(obj, levels) {\n    var level = levels.shift();\n    if (!obj.hasOwnProperty(level)) {\n      obj[level] = levels.length ? {} : null;\n    } else if (obj[level] === null && levels.length) {\n      obj[level] = {};\n    }\n    return levels.length ? this.createNested(obj[level], levels) : null;\n  };\n\n  return KaControl;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'name', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'required', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'label', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'description', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'error', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'params', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec14], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);\n\nvar NullifyEmptyValueConverter = exports.NullifyEmptyValueConverter = function () {\n  function NullifyEmptyValueConverter() {\n    _classCallCheck(this, NullifyEmptyValueConverter);\n  }\n\n  NullifyEmptyValueConverter.prototype.fromView = function fromView(value) {\n    return value === '' ? null : value;\n  };\n\n  return NullifyEmptyValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaDatetime = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dec, _dec2, _dec3, _dec4, _class, _desc, _value, _class2, _descriptor, _descriptor2;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _luxon = require('luxon');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaDatetime = exports.KaDatetime = (_dec = (0, _aureliaFramework.customElement)('ka-datetime'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaDatetime(element) {\n    _classCallCheck(this, KaDatetime);\n\n    _initDefineProp(this, 'type', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    this.element = element;\n\n    this.months = _luxon.Info.months().map(function (month, index) {\n      return {\n        numeric: parseInt(_luxon.Info.months('numeric')[index], 10),\n        long: _luxon.Info.months('long')[index],\n        short: _luxon.Info.months('short')[index]\n      };\n    });\n\n    this.weekdays = _luxon.Info.weekdays().map(function (weekday, index) {\n      return {\n        numeric: index + 1,\n        long: _luxon.Info.weekdays('long')[index],\n        short: _luxon.Info.weekdays('short')[index]\n      };\n    });\n\n    this.hours = Array.from({ length: 24 }).map(function (hour, index) {\n      return index;\n    });\n\n    this.minutes = Array.from({ length: 60 }).map(function (minute, index) {\n      return index;\n    });\n\n    this.init();\n  }\n\n  KaDatetime.prototype.valueChanged = function valueChanged(value) {\n    this.init();\n  };\n\n  KaDatetime.prototype.init = function init() {\n    var _this = this;\n\n    var date = this.dateTime;\n    this.selected = {\n      day: date.get('day'),\n      month: date.get('month'),\n      year: date.get('year'),\n      hour: date.get('hour'),\n      minute: date.get('minute')\n    };\n\n    this.years = [];\n    for (var i = this.selected.year - 5; i < this.selected.year + 6; i++) {\n      this.years.push(i);\n    }\n    this.weeks = [];\n    var monthInterval = _luxon.Interval.fromDateTimes(date.startOf('month'), date.endOf('month'));\n\n    var _loop = function _loop(_i) {\n      var startWeek = monthInterval.start.plus({ weeks: _i }).startOf('week');\n      var weekInterval = _luxon.Interval.fromDateTimes(startWeek, startWeek.endOf('week'));\n      var week = [];\n      weekInterval.splitBy(_luxon.Duration.fromObject({ days: 1 })).forEach(function (day) {\n        week.push({\n          day: day.start.get('day'),\n          weekday: day.start.get('weekday'),\n          month: day.start.get('month'),\n          year: day.start.get('year'),\n          value: day.start,\n          text: day.start.toFormat('dd')\n        });\n      });\n      _this.weeks.push(week);\n    };\n\n    for (var _i = 0; _i < monthInterval.count('weeks'); _i++) {\n      _loop(_i);\n    };\n  };\n\n  KaDatetime.prototype.setValues = function setValues(values) {\n    var _this2 = this;\n\n    console.log(values);\n    this.dateTime = this.dateTime.set(values);\n    if (values.day) setTimeout(function () {\n      _this2.element.dispatchEvent(new Event('selected', { bubbles: true }));\n    }, 100);\n  };\n\n  KaDatetime.prototype.shiftValues = function shiftValues(values) {\n    this.dateTime = this.dateTime.plus(values);\n  };\n\n  _createClass(KaDatetime, [{\n    key: 'dateTime',\n    get: function get() {\n      if (!this.value) return _luxon.DateTime.now();\n      var value = this.value;\n      if (this.type === 'date') value = !(this.utc === false) ? _luxon.DateTime.fromISO(value, { setZone: true }).toLocal() : _luxon.DateTime.fromISO(value);else if (this.type === 'datetime') value = !(this.utc === false) ? _luxon.DateTime.fromISO(value, { setZone: true }).toLocal() : _luxon.DateTime.fromISO(value);else if (this.type === 'time') value = _luxon.DateTime.fromFormat(value, 'HH:mm:ss');\n      return value && value.isValid ? value : _luxon.DateTime.now();\n    },\n    set: function set(value) {\n      if (this.type === 'date') this.value = !(this.utc === false) ? value.set({ seconds: 0, milliseconds: 0 }).toUTC().toISO({ suppressMilliseconds: true }) : value.set({ seconds: 0, milliseconds: 0 }).toISO({ suppressMilliseconds: true });else if (this.type === 'datetime') this.value = !(this.utc === false) ? value.set({ seconds: 0, milliseconds: 0 }).toUTC().toISO({ suppressMilliseconds: true }) : value.set({ seconds: 0, milliseconds: 0 }).toISO({ suppressMilliseconds: true });else if (this.type === 'time') this.value = value.toFormat('HH:mm:00');\n    }\n  }]);\n\n  return KaDatetime;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'type', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return 'date';\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaDialogVm = undefined;\n\nvar _dec, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaDialog = require('aurelia-dialog');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaDialogVm = exports.KaDialogVm = (_dec = (0, _aureliaFramework.inject)(_aureliaDialog.DialogController), _dec(_class = function () {\n  function KaDialogVm(controller) {\n    _classCallCheck(this, KaDialogVm);\n\n    this.controller = controller;\n  }\n\n  KaDialogVm.prototype.activate = function activate(params) {\n    var classes = params.viewModel ? ['viewModel'] : [''];\n    params.class = params.class ? classes.concat(params.class.split(' ')).join(' ') : classes.join(' ');\n    this.params = params;\n    if (this.params.viewModel && this.params.viewModelParams) this.params.viewModelParams.dialog = this.controller;\n  };\n\n  return KaDialogVm;\n}()) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaDialog = undefined;\n\nvar _dec, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaDialog = require('aurelia-dialog');\n\nvar _kaDialogVm = require('./ka-dialog-vm');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaDialog = exports.KaDialog = (_dec = (0, _aureliaFramework.inject)(_aureliaDialog.DialogService), _dec(_class = function () {\n  function KaDialog(dialog) {\n    _classCallCheck(this, KaDialog);\n\n    this.dialog = dialog;\n  }\n\n  KaDialog.prototype.open = function open(model) {\n    var lock = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n    return this.dialog.open({ viewModel: _kaDialogVm.KaDialogVm, model: model, lock: lock });\n  };\n\n  return KaDialog;\n}()) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaEnterCustomAttribute = undefined;\n\nvar _dec, _dec2, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaEnterCustomAttribute = exports.KaEnterCustomAttribute = (_dec = (0, _aureliaFramework.customAttribute)('ka-enter'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec(_class = _dec2(_class = function () {\n  function KaEnterCustomAttribute(element) {\n    var _this = this;\n\n    _classCallCheck(this, KaEnterCustomAttribute);\n\n    this._callback = null;\n\n    this.element = element;\n\n    this.element.addEventListener('keydown', function (e) {\n      var inputs = [];\n      if (_this.element.tagName === 'INPUT') inputs = [_this.element];else inputs = Array.from(_this.element.querySelectorAll('input'));\n      if (e.keyCode === 13 && inputs.includes(e.target)) {\n        if (typeof _this._callback === 'function') {\n          e.target.blur();\n          _this._callback({ event: e });\n        }\n      }\n    });\n  }\n\n  KaEnterCustomAttribute.prototype.bind = function bind() {\n    this._callback = this.value;\n  };\n\n  return KaEnterCustomAttribute;\n}()) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.kaHighlightValueConverter = exports.KaInputControls = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _aureliaValidation = require('aurelia-validation');\n\nvar _aureliaHttpClient = require('aurelia-http-client');\n\nvar _kaDialog = require('../ka-dialog/ka-dialog');\n\nvar _kaCkeditor = require('ka-ckeditor');\n\nvar _kaCkeditor2 = _interopRequireDefault(_kaCkeditor);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaInputControls = exports.KaInputControls = (_dec = (0, _aureliaFramework.customElement)('ka-input-controls'), _dec2 = (0, _aureliaFramework.containerless)(), _dec3 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _aureliaFramework.NewInstance.of(_aureliaValidation.ValidationController), _aureliaFramework.BindingEngine, _kaDialog.KaDialog), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec6 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)(), _dec14 = (0, _aureliaFramework.bindable)(), _dec15 = (0, _aureliaFramework.bindable)(), _dec16 = (0, _aureliaFramework.bindable)(), _dec17 = (0, _aureliaFramework.bindable)(), _dec18 = (0, _aureliaFramework.bindable)(), _dec19 = (0, _aureliaFramework.bindable)(), _dec20 = (0, _aureliaFramework.bindable)(), _dec21 = (0, _aureliaFramework.bindable)(), _dec22 = (0, _aureliaFramework.bindable)(), _dec23 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = _dec3(_class = (_class2 = function () {\n  function KaInputControls(element, router, validator, bindingEngine, dialog) {\n    _classCallCheck(this, KaInputControls);\n\n    _initDefineProp(this, 'value', _descriptor, this);\n\n    _initDefineProp(this, 'displayValue', _descriptor2, this);\n\n    _initDefineProp(this, 'objectValue', _descriptor3, this);\n\n    _initDefineProp(this, 'config', _descriptor4, this);\n\n    _initDefineProp(this, 'record', _descriptor5, this);\n\n    _initDefineProp(this, 'name', _descriptor6, this);\n\n    _initDefineProp(this, 'label', _descriptor7, this);\n\n    _initDefineProp(this, 'default', _descriptor8, this);\n\n    _initDefineProp(this, 'required', _descriptor9, this);\n\n    _initDefineProp(this, 'readonly', _descriptor10, this);\n\n    _initDefineProp(this, 'control', _descriptor11, this);\n\n    _initDefineProp(this, 'client', _descriptor12, this);\n\n    _initDefineProp(this, 'description', _descriptor13, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor14, this);\n\n    _initDefineProp(this, 'validation', _descriptor15, this);\n\n    _initDefineProp(this, 'queryOperator', _descriptor16, this);\n\n    _initDefineProp(this, 'change', _descriptor17, this);\n\n    _initDefineProp(this, 'ready', _descriptor18, this);\n\n    _initDefineProp(this, 'dialogClosed', _descriptor19, this);\n\n    _initDefineProp(this, 'comboListItems', _descriptor20, this);\n\n    this.element = element;\n    this.router = router;\n    this.bindingEngine = bindingEngine;\n    this.dialog = dialog;\n    this.validator = validator;\n    this.validator.validateTrigger = _aureliaValidation.validateTrigger.manual;\n    this._client = new _aureliaHttpClient.HttpClient();\n    this._client.configure(function (x) {\n      x.withInterceptor({\n        response: function response(msg) {\n          if (msg.responseType === 'json' && typeof msg.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        }\n      });\n    });\n\n    _aureliaValidation.ValidationRules.ensure('value').required().when(function (self) {\n      return self.required;\n    }).withMessage('Campo obbligatorio').equals(true).when(function (self) {\n      return self.control === 'check' && self.required;\n    }).withMessage('Spunta obbligatoria').satisfies(function (value, self) {\n      return value >= self.min && value <= self.max;\n    }).when(function (self) {\n      return self.control === 'number' && self.min && self.max;\n    }).withMessage('Il valore deve essere compreso tra ${min} e ${max}').satisfies(function (value, self) {\n      return value >= self.min;\n    }).when(function (self) {\n      return self.control === 'number' && self.min && !self.max;\n    }).withMessage('Il valore deve essere uguale o maggiore di ${min}').satisfies(function (value, self) {\n      return value <= self.max;\n    }).when(function (self) {\n      return self.control === 'number' && !self.min && self.max;\n    }).withMessage('Il valore deve essere minore o uguale a ${max}').satisfies(function (value, self) {\n      return value.length >= self.min && value.length <= self.max;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.control) && self.min && self.max;\n    }).withMessage('Il numero di caratteri deve essere compreso tra ${min} e ${max}').satisfies(function (value, self) {\n      return value.length >= self.min;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.control) && self.min && !self.max;\n    }).withMessage('Il valore deve essere di almeno ${min} caratteri').satisfies(function (value, self) {\n      return value.length <= self.max;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.control) && !self.min && self.max;\n    }).withMessage('Il valore non deve superare i ${max} caratteri').satisfies(function (value, self) {\n      return value === null || value === '' || self.pattern.test(value);\n    }).when(function (self) {\n      return self.control === 'text' && self.pattern;\n    }).withMessage('Formato non valido').ensure('displayValue').required().when(function (self) {\n      return self.required;\n    }).withMessage('Campo obbligatorio').satisfies(function (value, self) {\n      return value === null || value === '' || /^\\d{2}\\/\\d{2}\\/\\d{4}$/g.test(value) && (0, _moment2.default)(value, 'DD-MM-YYYY').isValid();\n    }).when(function (self) {\n      return self.control === 'date' || self.control === 'age';\n    }).withMessage('Formato data non valido').on(this);\n  }\n\n  KaInputControls.prototype.bind = function bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n  };\n\n  KaInputControls.prototype.attached = function attached() {\n    this.init();\n  };\n\n  KaInputControls.prototype.init = function init() {\n    var _this = this;\n\n    if (!this.initialized) {\n      if (!this.config || !this.element || !this.element.parentElement) return;\n      this.element = this.element.parentElement;\n    }\n\n    this.initialized = true;\n\n    var config_overrides = {\n      label: this.label !== null ? this.label : this.config && this.config.label ? this.config.label : null,\n      default: this.default !== null ? this.default : this.config && this.config.default ? this.config.default : null,\n      required: this.required !== null ? this.required === 'true' || this.required === true : this.config && this.config.required ? this.config.required : null,\n      readonly: this.readonly !== null ? this.readonly === 'true' || this.readonly === true : this.config && this.config.readonly ? this.config.readonly : null,\n      control: this.control !== null ? this.control : this.config && this.config.control ? this.config.control : null\n    };\n    Object.assign(this, this.config, config_overrides);\n    this.config = null;\n\n    this.id = 'ka-input-' + (this.field || 'noname') + '-' + Math.random().toString(36).slice(-6);\n\n    if (typeof this.datasource === 'string' && (this.datasource.indexOf('{') === 0 || this.datasource.indexOf('[') === 0)) {\n      this.datasource = JSON.parse(this.datasource);\n      if (this.datasource.table && this.datasource.table.indexOf('_') === 0) this.datasource.table = this.datasource.table.substring(1);\n    }\n    if (this.datasource && !this.datatext) this.datatext = 'text';\n    if (this.datasource && !this.datavalue) this.datavalue = 'value';\n\n    if (!this.value && this.default) this.value = this.default;\n    if (this.value && _typeof(this.value) === 'object' && this.datasource && this.datavalue && this.value[this.datavalue]) this.value = String(this.value[this.datavalue]);\n    if (this.value && _typeof(this.value) === 'object' && this.datatype === 'json') this.value = JSON.stringify(this.value);\n\n    var input = void 0;\n    switch (this.control) {\n      case 'text':\n        this.type = 'text';\n        input = this.element.querySelector('input');\n        if (input && this.min) input.setAttribute('minlength', this.min);\n        if (input && this.max) input.setAttribute('maxlength', this.max);\n        break;\n      case 'textarea':\n        this.type = 'textarea';\n        input = this.element.querySelector('textarea');\n        if (input && this.min) input.setAttribute('minlength', this.min);\n        if (input && this.max) input.setAttribute('maxlength', this.max);\n        break;\n      case 'password':\n        this.type = 'password';\n        input = this.element.querySelector('input');\n        if (input && this.min) input.setAttribute('minlength', this.min);\n        if (input && this.max) input.setAttribute('maxlength', this.max);\n        break;\n      case 'number':\n        this.type = 'number';\n        input = this.element.querySelector('input');\n        if (input && this.min) input.setAttribute('min', this.min);\n        if (input && this.max) input.setAttribute('max', this.max);\n        break;\n      case 'check':\n        this.type = !this.datamultiple ? 'checkbox' : 'checklist';\n        if (this.datamultiple && this.datapreload) this.checklistInit();\n        if (this.datamultiple && !this.datapreload) this.comboListUpdate();\n        break;\n      case 'date':\n      case 'age':\n        this.type = 'text';\n        this.placeholder = this.placeholder || 'gg/mm/aaaa';\n        this.dateInit();\n        break;\n      case 'time':\n        this.type = 'time';\n        this.placeholder = this.placeholder || 'HH:mm';\n        break;\n      case 'combo':\n        this.type = 'combo';\n        this.comboInit();\n        break;\n      case 'editor':\n        this.type = 'editor';\n        this.editorInit();\n        break;\n      case 'file':\n        this.type = 'file';\n        break;\n      default:\n        this.type = 'text';\n        break;\n    }\n    this.element.classList.add('type-' + this.type);\n\n    if (this.element.hasAttribute('description')) this.description = this.element.getAttribute('description');else if (this.control === 'check' && !this.datamultiple && !this.description) {\n      this.description = this.label;this.label = null;\n    }\n    if (this.element.hasAttribute('placeholder')) this.placeholder = this.element.getAttribute('placeholder');else this.placeholder = this.placeholder || '';\n\n    if (this.readonly) this.element.classList.add('readonly');\n    if (this.required) this.element.classList.add('required');\n\n    this.buttons = {};\n    if (!this.element.classList.contains('no-buttons')) {\n      if (!this.element.classList.contains('no-clear') && this.control !== 'editor' && this.control !== 'check') this.buttons.clearEnabled = true;\n      if (!this.element.classList.contains('no-add') && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) this.buttons.addEnabled = !this.value;\n      if (!this.element.classList.contains('no-open') && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) this.buttons.openEnabled = !!this.value;\n\n      if (this.element.classList.contains('dropdown') && this.control === 'combo') this.buttons.dropdownEnabled = true;\n\n      if (this.control === 'password') this.buttons.showEnabled = true;\n      if (this.control === 'file') this.buttons.downloadEnabled = true;\n    }\n    this.buttons.length = Object.keys(this.buttons).length;\n\n    this.buttons.clear = function () {\n      _this.value = null;\n      if (_this.control === 'date' || _this.control === 'age') _this.dateDisplayValue();\n      if (_this.control === 'combo') _this.comboDisplayValue();\n      _this.validate();\n    };\n    this.buttons.open = function () {\n      var childRoute = _this.router.routes.filter(function (x) {\n        return x.name == (_this.datasource.table || _this.router.currentInstruction.config.name);\n      })[0];\n      if (!childRoute || !_this.value || typeof _this.value != 'string') return;\n      _this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: _this.value }\n      }, true).whenClosed(function (response) {\n        if (_this.control == 'combo') {\n          _this.comboItemsSource = null;\n          _this.comboDisplayValue();\n        }\n        if (typeof _this.dialogClosed === 'function') _this.dialogClosed(response);\n      });\n    };\n    this.buttons.add = function () {\n      var childRoute = _this.router.routes.filter(function (x) {\n        return x.name == (_this.datasource.table || _this.router.currentInstruction.config.name);\n      })[0];\n      if (!childRoute || _this.value) return;\n      _this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: 'new' }\n      }, true).whenClosed(function (response) {\n        if (response.output && response.output.id) {\n          _this.value = response.output.id;\n        }\n        if (typeof _this.dialogClosed === 'function') _this.dialogClosed(response);\n      });\n    };\n    this.buttons.show = function () {\n      _this.type = 'text';\n      _this.buttons.showEnabled = false;\n      _this.buttons.hideEnabled = true;\n    };\n    this.buttons.hide = function () {\n      _this.type = 'password';\n      _this.buttons.showEnabled = true;\n      _this.buttons.hideEnabled = false;\n    };\n    this.buttons.download = function () {\n      if (!_this.value) return;\n      var download = _this.element.hasAttribute('download') && _this.element.getAttribute('download') === 'false' ? 0 : 1;\n      window.open(_this.client._baseUrl + 'storage/' + _this.record + '/' + _this.field + '?download=' + download + '&access_token=' + (localStorage.getItem('access_token') || sessionStorage.getItem('access_token')));\n    };\n    this.buttons.dropdown = function () {\n      _this.element.querySelector('input').focus();\n    };\n\n    if (this.control === 'combo') {} else {\n      this._ready = true;\n      if (typeof this.ready === 'function') this.ready(this);\n      this.format();\n    }\n  };\n\n  KaInputControls.prototype.configChanged = function configChanged(value) {\n    if (value) this.init();\n  };\n\n  KaInputControls.prototype.valueChanged = function valueChanged(value) {\n    var _this2 = this;\n\n    if (this.control === 'date' || this.control === 'age') {\n      this.dateDisplayValue();\n    }\n    if (this.control === 'combo') {\n      this.comboDisplayValue();\n    }\n    if (this.control === 'check' && this.datamultiple) {\n      if (this.datapreload) this.checklistParseSelected();else this.comboListUpdate();\n    }\n    if (this.control === 'editor' && this.editor && this.editor.data) {\n      if (this.editor.data.get() !== value) this.editor.data.set(value || '');\n    }\n    if (this.control === 'file') {\n      this.fileDisplayValue();\n    }\n    if (this.value && _typeof(this.value) === 'object' && this.datatype === 'json') {\n      this.value = JSON.stringify(this.value);\n    }\n    if (typeof this.change === 'function' && this._ready) {\n      setTimeout(function () {\n        _this2.change({ value: _this2.value });\n      }, 100);\n    }\n  };\n\n  KaInputControls.prototype.requiredChanged = function requiredChanged(value) {\n    if (!this.initialized) return;\n    if (value) this.element.classList.add('required');else this.element.classList.remove('required');\n  };\n\n  KaInputControls.prototype.readonlyChanged = function readonlyChanged(value) {\n    if (!this.initialized) return;\n    if (value) this.element.classList.add('readonly');else this.element.classList.remove('readonly');\n    if (this.control === 'editor' && this.editor) this.editor.isReadOnly = value;\n  };\n\n  KaInputControls.prototype.focus = function focus() {\n    if (this.readonly) return;\n    this.element.classList.add('focus');\n  };\n\n  KaInputControls.prototype.blur = function blur() {\n    if (this.readonly) return;\n    this.element.classList.remove('focus');\n    this.validate();\n  };\n\n  KaInputControls.prototype.keyup = function keyup($event) {\n    if (this.control === 'date' || this.control === 'age') {\n      if (!this.displayValue || $event.keyCode === 8 || $event.keyCode === 9 || $event.keyCode === 16 || $event.keyCode === 46) return;\n      var value = this.displayValue.split('-');\n      value = (value[2] ? value[2] + '/' : '') + (value[1] ? value[1] + '/' : '') + (value[0] ? value[0] : '');\n      if (!/^([0123]|(?:0[1-9])|[12]\\d|3[01])$|^(\\d{2})\\/$|^(\\d{2})\\/([01]|(?:0[1-9])|1[012])$|^(\\d{2})\\/(\\d{2})\\/$|^(\\d{2})\\/(\\d{2})\\/(\\d{0,4})$/g.test(value)) value = value.slice(0, -1);\n      if (/^\\d{2}$|^\\d{2}\\/\\d{2}$/g.test(value)) value += '/';\n      this.displayValue = value;\n    }\n  };\n\n  KaInputControls.prototype.format = function format() {\n    if (typeof this.value === 'undefined') return;\n    switch (this.control) {\n      case 'text':\n        this.value = this.value;\n        break;\n      case 'password':\n        this.value = !this.value || this.value.length === 0 ? null : this.value;\n        break;\n      case 'number':\n        this.value = this.value;\n        break;\n      case 'date':\n      case 'age':\n        this.value = !this.displayValue || this.displayValue === '' || this.displayValue === '0000-00-00' ? null : /^\\d{2}\\/\\d{2}\\/\\d{4}$/g.test(this.displayValue) && (0, _moment2.default)(this.displayValue, 'DD/MM/YYYY').isValid() ? (0, _moment2.default)(this.displayValue, 'DD/MM/YYYY').format('YYYY-MM-DD') : this.displayValue;\n        break;\n      case 'combo':\n        this.value = this.value;\n        break;\n      case 'file':\n        this.value = this.value;\n        break;\n      default:\n        this.value = this.value;\n        break;\n    }\n  };\n\n  KaInputControls.prototype.validate = function validate() {\n    var _this3 = this;\n\n    this.format();\n    if (!this.validation) {\n      return new Promise(function (resolve) {\n        _this3.element.classList.remove('error');\n        resolve({\n          instruction: undefined,\n          results: [],\n          valid: true\n        });\n      });\n    }\n    return new Promise(function (resolve, reject) {\n      _this3.validator.validate().then(function (result) {\n        if (result.valid) {\n          _this3.element.classList.remove('error');\n          return resolve(result);\n        }\n\n        _this3.element.classList.add('error');\n        return reject(result);\n      });\n    });\n  };\n\n  KaInputControls.prototype.dateInit = function dateInit() {\n    if (this.value && !this.displayValue) this.dateDisplayValue();\n  };\n\n  KaInputControls.prototype.dateDisplayValue = function dateDisplayValue() {\n    if (typeof this.value === 'undefined' || this.value === '' || this.value === '0000-00-00') return this.value = null;\n    this.displayValue = !this.value || this.value === '' || this.value === '0000-00-00' ? null : /^\\d{4}-\\d{2}-\\d{2}$/g.test(this.value) ? (0, _moment2.default)(this.value, 'YYYY-MM-DD').format('DD/MM/YYYY') : this.value;\n  };\n\n  KaInputControls.prototype.checkClick = function checkClick($event) {\n    if (this.readonly) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    } else {\n      this.value = !this.value;\n      this.validate();\n    }\n  };\n\n  KaInputControls.prototype.editorInit = function editorInit() {\n    var _this4 = this;\n\n    if (this._editor_initialized) return;\n    var config = {\n      toolbar: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', '|', 'indent', 'outdent', '|', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo'],\n      heading: {\n        options: [{\n          model: 'paragraph',\n          view: 'p',\n          title: 'Paragrafo',\n          class: 'ck-heading_paragraph'\n        }, {\n          model: 'heading1',\n          view: 'h2',\n          title: 'Intestazione 1',\n          class: 'ck-heading_heading1'\n        }, {\n          model: 'heading2',\n          view: 'h3',\n          title: 'Intestazione 2',\n          class: 'ck-heading_heading2'\n        }, {\n          model: 'heading3',\n          view: 'h4',\n          title: 'Intestazione 3',\n          class: 'ck-heading_heading3'\n        }]\n      }\n    };\n    _kaCkeditor2.default.create(this.element.querySelector('.ka-input-editor'), config).then(function (editor) {\n      editor.data.set(_this4.value || '');\n      editor.isReadOnly = _this4.readonly;\n      editor.model.document.on('change:data', function () {\n        _this4.value = editor.data.get();\n      });\n      _this4.editor = editor;\n    }).catch(function (error) {\n      konsole.error('There was a problem initializing ckeditor', error);\n    }).finally(function () {\n      _this4._editor_initialized = true;\n    });\n  };\n\n  KaInputControls.prototype.fileInit = function fileInit() {};\n\n  KaInputControls.prototype.fileDisplayValue = function fileDisplayValue() {\n    if (typeof this.value === 'undefined' || this.value === '' || this.value && !this.value.length) return this.value = null;\n    if (this.value === null) {\n      var form = document.createElement('form');\n      form.style.display = 'none';\n      this.element.parentElement.insertBefore(form, this.element);\n      form.append(this.element);\n      form.reset();\n      form.parentElement.insertBefore(this.element, form);\n      form.remove();\n    }\n    this.displayValue = this.value && this.value.length && this.value[0] && this.value[0].name ? this.value[0].name : this.value;\n  };\n\n  KaInputControls.prototype.comboInit = function comboInit() {\n    if (this.value && !this.displayValue) this.comboDisplayValue();\n  };\n\n  KaInputControls.prototype.comboOpen = function comboOpen() {\n    var _this5 = this;\n\n    if (this.readonly) return;\n    if (this.comboOpened) return this.comboClose();\n\n    if (!this.backdrop) {\n      this.backdrop = document.createElement('div');\n      this.backdrop.classList.add('ka-input-backdrop');\n      this.backdrop.setAttribute('id', 'ka-input-backdrop-' + this.field);\n      this.backdrop.addEventListener('click', function (event) {\n        if (event.target == _this5.backdrop) _this5.comboClose();\n      });\n    }\n    this.backdrop.style.display = 'block';\n    document.body.insertBefore(this.backdrop, document.body.children[0]);\n\n    this.comboOpened = true;\n    this.comboItems = [];\n    setTimeout(function () {\n      var bounds = _this5.drawer.getBoundingClientRect();\n      var max_h = _this5.backdrop.getBoundingClientRect().height;\n      _this5.backdrop.appendChild(_this5.drawer);\n      if (bounds.top + 280 > max_h) {\n        _this5.drawer.style.top = 'auto';\n        _this5.drawer.style.bottom = max_h - bounds.top - 30 + 60 + 'px';\n      } else {\n        _this5.drawer.style.top = bounds.top + 'px';\n        _this5.drawer.style.bottom = 'auto';\n      }\n      _this5.drawer.style.left = bounds.left + 'px';\n      _this5.drawer.style.width = bounds.width + 'px';\n      _this5.comboReady = true;\n      _this5.comboQuery();\n    }, 200);\n  };\n\n  KaInputControls.prototype.comboClose = function comboClose() {\n    this.drawer.style = {};\n    this.combo.appendChild(this.drawer);\n\n    this.backdrop.style.display = 'none';\n\n    this.comboOpened = false;\n    this.comboReady = false;\n    this.comboQueryValue = null;\n  };\n\n  KaInputControls.prototype.comboQuery = function comboQuery(query) {\n    var _this6 = this;\n\n    this.comboGetItems(query).then(function (items) {\n      _this6.comboItems = items;\n      _this6.comboParseSelected();\n    });\n  };\n\n  KaInputControls.prototype.comboGetItems = function comboGetItems(query, value) {\n    var _this7 = this;\n\n    return new Promise(function (resolve, reject) {\n      var items = [];\n      var client = !_this7.client || _this7.datasource.url ? _this7._client : _this7.client;\n      var datasource = null;\n\n      if (typeof _this7.datasource === 'string' && (_this7.datasource.indexOf('{') === 0 || _this7.datasource.indexOf('[') === 0)) datasource = JSON.parse(_this7.datasource);else if (typeof _this7.datasource === 'string' && _this7.parentContext.datasources && _this7.parentContext.datasources[_this7.datasource]) datasource = _this7.parentContext.datasources[_this7.datasource];else if (Array.isArray(_this7.datasource)) datasource = _this7.datasource;else datasource = _this7.datasource;\n\n      if (_this7.datapreload && (!_this7.comboItemsSource || !query && !value) && (datasource.table || datasource.url)) {\n        if (_this7.comboItemsSource) {\n          items = _this7.comboItemsSource;\n          if (query) _this7.comboGetItems(query).then(function (items) {\n            resolve(items);\n          });\n          if (value) _this7.comboGetItems(null, value).then(function (items) {\n            resolve(items);\n          });else resolve(items);\n        } else client.get(datasource.table || datasource.url).then(function (x) {\n          items = _this7.comboItemsSource = _this7.parse_response(x);\n          if (query) _this7.comboGetItems(query).then(function (items) {\n            resolve(items);\n          });\n          if (value) _this7.comboGetItems(null, value).then(function (items) {\n            resolve(items);\n          });else resolve(items);\n        }).catch(function (x) {});\n      } else if (_this7.datapreload && (!_this7.comboItemsSource || !query && !value) && Array.isArray(datasource)) {\n        items = _this7.comboItemsSource = datasource;\n        if (!query && !value) resolve(items);\n      }\n\n      if (_this7.datapreload && _this7.comboItemsSource && query) {\n        items = _this7.comboItemsSource.filter(function (x) {\n          return x[_this7.datatext].toLowerCase().indexOf(query.toLowerCase()) >= 0;\n        });\n        resolve(items);\n      } else if (_this7.datapreload && _this7.comboItemsSource && value) {\n        items = _this7.comboItemsSource.filter(function (x) {\n          return String(x[_this7.datavalue]) == String(value);\n        });\n        resolve(items);\n      } else if (!_this7.datapreload && !query && !value && (datasource.table || datasource.url)) {\n        resolve(items);\n      } else if (!_this7.datapreload && query && (datasource.table || datasource.url)) {\n        var endpoint = datasource.table || datasource.url;\n        if (datasource.query && _typeof(datasource.query) === 'object' && datasource.query.search) {\n          endpoint = _this7.addUrlParam(endpoint, datasource.query.search, query);\n        } else if (datasource.query && typeof datasource.query === 'string') {\n          endpoint = _this7.addUrlParam(endpoint, datasource.query, query);\n        } else {\n          var params = _this7.getUrlParams(endpoint);\n          var datatext = _this7.datatext;\n          var fields = _this7.datatext;\n          var sort = '+' + datatext;\n          var keys = datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (keys) {\n            keys = keys.map(function (b) {\n              return b.replace(/\\{|(.*?)\\}/g, '$1');\n            });\n            datatext = keys[0];\n            fields = keys.join(',');\n            sort = '+' + keys.join(',+');\n          }\n          var operator = _this7.queryOperator ? _this7.queryOperator : '^=';\n          operator = _this7.dataoperator ? _this7.dataoperator : operator;\n          params.filters = (params.filters ? '&' : '') + ('(' + datatext + operator + query + ')');\n          params.sort = sort;\n          params.fields = _this7.datavalue + ',' + fields;\n          endpoint = endpoint.replace(/\\?.*$/, '') + '?' + _this7.buildQueryString(params);\n        }\n        if (_this7.clientRequest && _this7.clientRequest.cancel) {\n          _this7.clientRequest.cancel();\n        }\n        _this7.clientRequest = client.get(endpoint);\n        _this7.clientRequest.then(function (x) {\n          items = _this7.parse_response(x);\n          resolve(items);\n        }).catch(function (x) {});\n      } else if (!_this7.datapreload && value && (datasource.table || datasource.url)) {\n        var _endpoint = datasource.table || datasource.url;\n        if (datasource.query && _typeof(datasource.query) === 'object' && datasource.query.item) {\n          _endpoint = _this7.addUrlParam(_endpoint, datasource.query.item, value);\n        } else if (datasource.query && typeof datasource.query === 'string') {\n          _endpoint = _this7.addUrlParam(_endpoint, datasource.query, value);\n        } else {\n          var _params = _this7.getUrlParams(_endpoint);\n          var _fields = _this7.datatext;\n          var _keys = _fields.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (_keys) _fields = _keys.join(',').replace(/\\{|\\}/g, '');\n          _params.filters = (_params.filters ? '&' : '') + ('(' + _this7.datavalue + '=' + value + ')');\n          _params.fields = _this7.datavalue + ',' + _fields;\n          _endpoint = _endpoint.replace(/\\?.*$/, '') + '?' + _this7.buildQueryString(_params);\n        }\n\n        _this7.clientRequest = client.get(_endpoint);\n        _this7.clientRequest.then(function (x) {\n          items = _this7.parse_response(x);\n          resolve(items);\n        }).catch(function (x) {});\n      }\n    });\n  };\n\n  KaInputControls.prototype.comboDisplayValue = function comboDisplayValue() {\n    var _this8 = this;\n\n    if (!this.value) {\n      if (this.buttons && this.buttons.length > 0 && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) {\n        this.buttons.openEnabled = false;\n        this.buttons.addEnabled = !this.element.classList.contains('no-add');\n      }\n      return this.displayValue = null;\n    }\n    if (this.buttons && this.buttons.length > 0 && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) {\n      this.buttons.openEnabled = !this.element.classList.contains('no-open');\n      this.buttons.addEnabled = false;\n    }\n    if (this.datamultiple) {\n      var _ret = function () {\n        var datatexts = [];\n        var parsed = 0;\n        if (!_this8.value.length) {\n          _this8.comboValueReady();\n          return {\n            v: _this8.displayValue = null\n          };\n        }\n\n        var _loop = function _loop() {\n          if (_isArray) {\n            if (_i >= _iterator.length) return 'break';\n            _ref = _iterator[_i++];\n          } else {\n            _i = _iterator.next();\n            if (_i.done) return 'break';\n            _ref = _i.value;\n          }\n\n          var item = _ref;\n\n          parsed++;\n\n          var v = typeof item === 'string' || typeof item === 'number' ? String(item) : String(item[_this8.datavalue]) ? String(item[_this8.datavalue]) : null;\n          _this8.comboGetItems(null, v).then(function (items) {\n            if (items.length === 1) {\n              if ((typeof item === 'undefined' ? 'undefined' : _typeof(item)) === 'object') item = v;\n              var keys = _this8.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n              if (keys) {\n                var datatext = _this8.datatext;\n                for (var _iterator2 = keys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n                  var _ref2;\n\n                  if (_isArray2) {\n                    if (_i2 >= _iterator2.length) break;\n                    _ref2 = _iterator2[_i2++];\n                  } else {\n                    _i2 = _iterator2.next();\n                    if (_i2.done) break;\n                    _ref2 = _i2.value;\n                  }\n\n                  var key = _ref2;\n\n                  datatext = datatext.replace(key, items[0][key.replace(/\\{|\\}/g, '')] || '');\n                }\n                datatexts.push(datatext);\n              } else datatexts.push(items[0][_this8.datatext] ? items[0][_this8.datatext] : eval('items[0].' + _this8.datatext) ? eval('items[0].' + _this8.datatext) : 'undefined');\n            } else {\n              item = null;\n            }\n            if (_this8.value.length === parsed) {\n              _this8.displayValue = datatexts.join(', ');\n            }\n            _this8.comboValueReady();\n          });\n        };\n\n        for (var _iterator = _this8.value, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n          var _ref;\n\n          var _ret2 = _loop();\n\n          if (_ret2 === 'break') break;\n        }\n      }();\n\n      if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n    } else {\n      if (this.comboItems) {\n        var items = this.comboItems.filter(function (x) {\n          return String(x[_this8.datavalue]) == String(_this8.value);\n        });\n        if (items && items[0]) {\n          this.objectValue = items[0];\n          var keys = this.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (keys) {\n            var datatext = this.datatext;\n            for (var _iterator3 = keys, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n              var _ref3;\n\n              if (_isArray3) {\n                if (_i3 >= _iterator3.length) break;\n                _ref3 = _iterator3[_i3++];\n              } else {\n                _i3 = _iterator3.next();\n                if (_i3.done) break;\n                _ref3 = _i3.value;\n              }\n\n              var key = _ref3;\n\n              datatext = datatext.replace(key, items[0][key.replace(/\\{|\\}/g, '')] || '');\n            }\n            this.displayValue = datatext;\n          } else this.displayValue = items[0][this.datatext] ? items[0][this.datatext] : eval('items[0].' + this.datatext) ? eval('items[0].' + this.datatext) : 'undefined';\n          this.comboValueReady();\n          return;\n        }\n      }\n      var _v = typeof this.value === 'string' || typeof this.value === 'number' ? String(this.value) : String(this.value[this.datavalue]) ? String(this.value[this.datavalue]) : null;\n      this.comboGetItems(null, _v).then(function (items) {\n        if (items.length === 1) {\n          _this8.objectValue = items[0];\n          if (_typeof(_this8.value) === 'object') _this8.value = _v;\n          var _keys2 = _this8.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (_keys2) {\n            var _datatext = _this8.datatext;\n            for (var _iterator4 = _keys2, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n              var _ref4;\n\n              if (_isArray4) {\n                if (_i4 >= _iterator4.length) break;\n                _ref4 = _iterator4[_i4++];\n              } else {\n                _i4 = _iterator4.next();\n                if (_i4.done) break;\n                _ref4 = _i4.value;\n              }\n\n              var _key = _ref4;\n\n              _datatext = _datatext.replace(_key, items[0][_key.replace(/\\{|\\}/g, '')] || '');\n            }\n            _this8.displayValue = _datatext;\n          } else _this8.displayValue = items[0][_this8.datatext] ? items[0][_this8.datatext] : eval('items[0].' + _this8.datatext) ? eval('items[0].' + _this8.datatext) : 'undefined';\n          _this8.comboValueReady();\n        } else {\n          _this8.value = null;\n          _this8.displayValue = null;\n          _this8.objectValue = null;\n          _this8.comboValueReady();\n        }\n      });\n    }\n  };\n\n  KaInputControls.prototype.comboValueReady = function comboValueReady() {\n    if (!this._ready) {\n      this._ready = true;\n      if (typeof this.ready === 'function') this.ready(this);\n    }\n  };\n\n  KaInputControls.prototype.comboSelect = function comboSelect(item, $event) {\n    if (!this.datamultiple) {\n      this.value = String(item[this.datavalue]);\n      this.comboParseSelected();\n      this.comboClose();\n      this.validate();\n    } else {\n        if (!this.value || !Array.isArray(this.value)) this.value = [];\n\n        if (this.value.length && this.value.indexOf(String(item[this.datavalue])) >= 0) this.value.splice(this.value.indexOf(String(item[this.datavalue])), 1);else this.value.push(String(item[this.datavalue]));\n\n        this.comboParseSelected();\n        this.validate();\n      }\n  };\n\n  KaInputControls.prototype.comboParseSelected = function comboParseSelected() {\n    var _this9 = this;\n\n    for (var _iterator5 = this.comboItems, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n      var _ref5;\n\n      if (_isArray5) {\n        if (_i5 >= _iterator5.length) break;\n        _ref5 = _iterator5[_i5++];\n      } else {\n        _i5 = _iterator5.next();\n        if (_i5.done) break;\n        _ref5 = _i5.value;\n      }\n\n      var _item2 = _ref5;\n      _item2.selected = false;\n    }if (!this.value) return;\n\n    if (this.datamultiple) {\n      var _loop2 = function _loop2() {\n        if (_isArray6) {\n          if (_i6 >= _iterator6.length) return 'break';\n          _ref6 = _iterator6[_i6++];\n        } else {\n          _i6 = _iterator6.next();\n          if (_i6.done) return 'break';\n          _ref6 = _i6.value;\n        }\n\n        var value = _ref6;\n\n        var item = _this9.comboItems.filter(function (x) {\n          return String(x[_this9.datavalue]) === String(value);\n        });\n        if (item && item[0]) item[0].selected = true;\n      };\n\n      for (var _iterator6 = this.value, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {\n        var _ref6;\n\n        var _ret3 = _loop2();\n\n        if (_ret3 === 'break') break;\n      }\n    } else {\n        var _item = this.comboItems.filter(function (x) {\n          return String(x[_this9.datavalue]) === String(_this9.value);\n        });\n        if (_item && _item[0]) _item[0].selected = true;\n      }\n    this.comboDisplayValue();\n  };\n\n  KaInputControls.prototype.comboListAddItem = function comboListAddItem(item, $event) {\n    this.comboListItems.push({ value: item[this.datavalue], text: item[this.datatext] });\n    this.comboListItems.sort(function (a, b) {\n      if (a.text < b.text) return -1;if (a.text > b.text) return 1;return 0;\n    });\n    this.value = this.comboListItems.map(function (x) {\n      return x.value;\n    });\n    console.info('comboListAddItem', this.comboListItems, this.value);\n    this.validate();\n    this.comboClose();\n  };\n\n  KaInputControls.prototype.comboListRemoveItem = function comboListRemoveItem(item, $event) {\n    this.comboListItems.splice(this.comboListItems.indexOf(item), 1);\n    this.value = this.comboListItems.map(function (x) {\n      return x.value;\n    });\n    console.info('comboListRemoveItem', this.comboListItems, this.value);\n    this.validate();\n  };\n\n  KaInputControls.prototype.comboListUpdate = function comboListUpdate() {\n    var _this10 = this;\n\n    if (!this.value) return;\n    if (!Array.isArray(this.value)) this.value = [this.value];\n    this.value.forEach(function (item) {\n      var listItem = { value: null, text: null };\n      if (['number', 'string'].indexOf(typeof item === 'undefined' ? 'undefined' : _typeof(item)) > -1) listItem = { value: item, text: item };else if (item[_this10.datavalue] && item[_this10.datatext]) listItem = { value: item[_this10.datavalue], text: item[_this10.datatext] };else if (item.value && item.text) listItem = Object.assign({}, item);\n      if (_this10.comboListItems.filter(function (x) {\n        return x.value === listItem.value;\n      }).length === 0) _this10.comboListItems.push(listItem);\n    });\n    this.comboListItems.sort(function (a, b) {\n      if (a.text < b.text) return -1;if (a.text > b.text) return 1;return 0;\n    });\n  };\n\n  KaInputControls.prototype.checklistInit = function checklistInit() {\n    var _this11 = this;\n\n    if (Array.isArray(this.datasource)) {\n      this.checklistItems = JSON.parse(JSON.stringify(this.datasource));\n      this.checklistParseSelected();\n    } else {\n      var client = !this.client || this.datasource.url ? this._client : this.client;\n      client.get(this.datasource.table || this.datasource.url).then(function (x) {\n        _this11.checklistItems = _this11.parse_response(x);\n        _this11.checklistParseSelected();\n      }).catch(function (x) {});\n    }\n  };\n\n  KaInputControls.prototype.checklistSelect = function checklistSelect(item, $event) {\n    if (this.readonly) return;\n    if (!this.value || !Array.isArray(this.value)) this.value = [];\n\n    if (this.value.length && this.value.indexOf(String(item[this.datavalue])) >= 0) this.value.splice(this.value.indexOf(String(item[this.datavalue])), 1);else this.value.push(String(item[this.datavalue]));\n\n    this.checklistParseSelected();\n    this.validate();\n  };\n\n  KaInputControls.prototype.checklistParseSelected = function checklistParseSelected() {\n    var _this12 = this;\n\n    if (!this.checklistItems) return;\n    for (var _iterator7 = this.checklistItems, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {\n      var _ref7;\n\n      if (_isArray7) {\n        if (_i7 >= _iterator7.length) break;\n        _ref7 = _iterator7[_i7++];\n      } else {\n        _i7 = _iterator7.next();\n        if (_i7.done) break;\n        _ref7 = _i7.value;\n      }\n\n      var _item3 = _ref7;\n      _item3.selected = false;\n    }if (!this.value) return;\n\n    var _loop3 = function _loop3() {\n      if (_isArray8) {\n        if (_i8 >= _iterator8.length) return 'break';\n        _ref8 = _iterator8[_i8++];\n      } else {\n        _i8 = _iterator8.next();\n        if (_i8.done) return 'break';\n        _ref8 = _i8.value;\n      }\n\n      var value = _ref8;\n\n      var item = _this12.checklistItems.filter(function (x) {\n        return String(x[_this12.datavalue]) == String(value);\n      });\n      if (item && item[0]) item[0].selected = true;\n    };\n\n    for (var _iterator8 = this.value, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {\n      var _ref8;\n\n      var _ret4 = _loop3();\n\n      if (_ret4 === 'break') break;\n    }\n  };\n\n  KaInputControls.prototype.parse_response = function parse_response(msg) {\n    if (msg.responseType === 'json' && typeof msg.response === 'string') msg.response = JSON.parse(msg.response);\n    return msg.response;\n  };\n\n  KaInputControls.prototype.getUrlParams = function getUrlParams(url) {\n    url = url.replace(/^.*(\\?|$)/, '');\n    if (!url[1]) return {};\n    var chunks = url[1].split('&');\n    return chunks.reduce(function (params, hash) {\n      var _Object$assign;\n\n      var _hash$split = hash.split('='),\n          key = _hash$split[0],\n          val = _hash$split[1];\n\n      return Object.assign(params, (_Object$assign = {}, _Object$assign[key] = decodeURIComponent(val), _Object$assign));\n    }, {});\n  };\n\n  KaInputControls.prototype.addUrlParams = function addUrlParams(url, params) {\n    if (!params) return url;\n    for (var _iterator9 = Object.entries(params), _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {\n      var _ref9;\n\n      if (_isArray9) {\n        if (_i9 >= _iterator9.length) break;\n        _ref9 = _iterator9[_i9++];\n      } else {\n        _i9 = _iterator9.next();\n        if (_i9.done) break;\n        _ref9 = _i9.value;\n      }\n\n      var _ref10 = _ref9,\n          k = _ref10[0],\n          _v2 = _ref10[1];\n\n      url = this.addUrlParam(url, k, _v2);\n    }\n    return url;\n  };\n\n  KaInputControls.prototype.addUrlParam = function addUrlParam(url, key, value) {\n    if (!key || !value) return url;\n    url = new URL((!url.startsWith('http') ? 'void://' : '') + url);\n    var urlParams = new URLSearchParams(url.search);\n    urlParams.append(key, value);\n    url.search = urlParams;\n    return url.toString().replace('void://', '');\n  };\n\n  KaInputControls.prototype.buildQueryString = function buildQueryString(params) {\n    return Object.keys(params).reduce(function (query, key) {\n      return query + '&' + key + '=' + encodeURIComponent(params[key]);\n    }, '').replace(/^\\&/, '');\n  };\n\n  return KaInputControls;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'displayValue', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'objectValue', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'config', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'record', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'name', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'label', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'default', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'required', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'control', [_dec14], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec15], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor13 = _applyDecoratedDescriptor(_class2.prototype, 'description', [_dec16], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec17], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, 'validation', [_dec18], {\n  enumerable: true,\n  initializer: function initializer() {\n    return true;\n  }\n}), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, 'queryOperator', [_dec19], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor17 = _applyDecoratedDescriptor(_class2.prototype, 'change', [_dec20], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor18 = _applyDecoratedDescriptor(_class2.prototype, 'ready', [_dec21], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor19 = _applyDecoratedDescriptor(_class2.prototype, 'dialogClosed', [_dec22], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor20 = _applyDecoratedDescriptor(_class2.prototype, 'comboListItems', [_dec23], {\n  enumerable: true,\n  initializer: function initializer() {\n    return [];\n  }\n})), _class2)) || _class) || _class) || _class);\n\nvar kaHighlightValueConverter = exports.kaHighlightValueConverter = function () {\n  function kaHighlightValueConverter() {\n    _classCallCheck(this, kaHighlightValueConverter);\n  }\n\n  kaHighlightValueConverter.prototype.toView = function toView(item, datatext, string) {\n    var value = null;\n    var keys = datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n    if (keys) {\n      for (var _iterator10 = keys, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {\n        var _ref11;\n\n        if (_isArray10) {\n          if (_i10 >= _iterator10.length) break;\n          _ref11 = _iterator10[_i10++];\n        } else {\n          _i10 = _iterator10.next();\n          if (_i10.done) break;\n          _ref11 = _i10.value;\n        }\n\n        var key = _ref11;\n\n        datatext = datatext.replace(key, item[key.replace(/\\{|\\}/g, '')] || '');\n      }\n      value = datatext;\n    } else value = item[datatext] ? item[datatext] : eval('item.' + datatext) ? eval('item.' + datatext) : null;\n    if (!value) return;\n    if (!string || !string.length) return value;\n    var index = value.toLowerCase().indexOf(string.toLowerCase());\n    if (index >= 0) value = value.substring(0, index) + '<strong>' + value.substring(index, index + string.length) + '</strong>' + value.substring(index + string.length);\n    return value;\n  };\n\n  return kaHighlightValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaInput = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaInput = exports.KaInput = (_dec = (0, _aureliaFramework.customElement)('ka-input'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)(), _dec14 = (0, _aureliaFramework.bindable)(), _dec15 = (0, _aureliaFramework.bindable)(), _dec16 = (0, _aureliaFramework.bindable)(), _dec17 = (0, _aureliaFramework.bindable)(), _dec18 = (0, _aureliaFramework.bindable)(), _dec19 = (0, _aureliaFramework.bindable)(), _dec20 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec21 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaInput(element) {\n    _classCallCheck(this, KaInput);\n\n    _initDefineProp(this, 'value', _descriptor, this);\n\n    _initDefineProp(this, 'config', _descriptor2, this);\n\n    _initDefineProp(this, 'record', _descriptor3, this);\n\n    _initDefineProp(this, 'name', _descriptor4, this);\n\n    _initDefineProp(this, 'label', _descriptor5, this);\n\n    _initDefineProp(this, 'default', _descriptor6, this);\n\n    _initDefineProp(this, 'required', _descriptor7, this);\n\n    _initDefineProp(this, 'readonly', _descriptor8, this);\n\n    _initDefineProp(this, 'control', _descriptor9, this);\n\n    _initDefineProp(this, 'client', _descriptor10, this);\n\n    _initDefineProp(this, 'description', _descriptor11, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor12, this);\n\n    _initDefineProp(this, 'change', _descriptor13, this);\n\n    _initDefineProp(this, 'ready', _descriptor14, this);\n\n    _initDefineProp(this, 'dialogClosed', _descriptor15, this);\n\n    _initDefineProp(this, 'validation', _descriptor16, this);\n\n    _initDefineProp(this, 'queryOperator', _descriptor17, this);\n\n    _initDefineProp(this, 'resourceControls', _descriptor18, this);\n\n    _initDefineProp(this, 'resourceRef', _descriptor19, this);\n\n    this.insideMdResource = null;\n\n    this.element = element;\n  }\n\n  KaInput.prototype.bind = function bind(bindingContext) {\n    this.parent = bindingContext;\n    if (bindingContext) {\n      this.insideMdResource = !!(this.name && bindingContext.constructor.name === 'MdResource' && bindingContext.controls);\n    }\n  };\n\n  KaInput.prototype.attached = function attached() {\n    if (this.resourceControls && this.resourceRef && this.input) {\n      this.resourceControls[this.resourceRef] = this.input;\n    }\n  };\n\n  KaInput.prototype.resourceControlsChanged = function resourceControlsChanged(resourceControls) {\n    if (this.resourceControls && this.input) {\n      this.resourceControls = this.input;\n    }\n  };\n\n  return KaInput;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'config', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'record', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'name', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'label', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'default', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'required', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'control', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'description', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec14], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor13 = _applyDecoratedDescriptor(_class2.prototype, 'change', [_dec15], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, 'ready', [_dec16], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, 'dialogClosed', [_dec17], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, 'validation', [_dec18], {\n  enumerable: true,\n  initializer: function initializer() {\n    return true;\n  }\n}), _descriptor17 = _applyDecoratedDescriptor(_class2.prototype, 'queryOperator', [_dec19], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor18 = _applyDecoratedDescriptor(_class2.prototype, 'resourceControls', [_dec20], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor19 = _applyDecoratedDescriptor(_class2.prototype, 'resourceRef', [_dec21], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaLayout = undefined;\n\nvar _dec, _dec2, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _kaComponents = require('ka-components');\n\nvar _navigation = require('navigation');\n\nvar _navigation2 = _interopRequireDefault(_navigation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaLayout = exports.KaLayout = (_dec = (0, _aureliaFramework.customElement)('ka-layout'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaComponents.KaApi), _dec(_class = _dec2(_class = function () {\n  function KaLayout(element, router, api) {\n    var _this = this;\n\n    _classCallCheck(this, KaLayout);\n\n    this._collapsed = false;\n    this._navigation = _navigation2.default;\n    this._intervals = [];\n\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    document.addEventListener('click', function (e) {\n      if (e.target.closest('.no-toggle')) return;\n      if (e.target.classList.contains('expand') || e.target.classList.contains('collapse')) return;\n      var isBurger = e.target === _this.burgerAside || e.target === _this.burgerHeader || e.target.parentElement && (e.target.parentElement === _this.burgerAside || e.target.parentElement === _this.burgerHeader);\n      if (!isBurger && !_this._collapsed && window.innerWidth < 860) _this.toggle();\n    });\n  }\n\n  KaLayout.prototype.attached = function attached() {\n    if (window.innerWidth < 860) this.toggle();\n    this.activateBadges(this._navigation);\n  };\n\n  KaLayout.prototype.detached = function detached() {\n    for (var _iterator = this._intervals, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var interval = _ref;\n      clearInterval(interval);\n    }\n  };\n\n  KaLayout.prototype.toggle = function toggle() {\n    this._collapsed = !this._collapsed;\n    if (this._collapsed) this.element.classList.add('collapsed');else this.element.classList.remove('collapsed');\n  };\n\n  KaLayout.prototype.activateBadges = function activateBadges(items) {\n    var _this2 = this;\n\n    var _loop = function _loop() {\n      if (_isArray2) {\n        if (_i2 >= _iterator2.length) return 'break';\n        _ref2 = _iterator2[_i2++];\n      } else {\n        _i2 = _iterator2.next();\n        if (_i2.done) return 'break';\n        _ref2 = _i2.value;\n      }\n\n      var item = _ref2;\n\n      if (item.nav && item.nav.length > 0 && _this2.authorized(item)) _this2.activateBadges(item.nav);\n      if (!item.badge || !item.badge.promise || !_this2.authorized(item)) return 'continue';\n      var callback = function callback() {\n        new Promise(function (resolve, reject) {\n          return item.badge.promise(resolve, reject, _this2.api);\n        }).then(function (x) {\n          item.badge.value = x;\n        }).catch(function () {\n          item.badge.value = null;\n        });\n      };\n      _this2._intervals.push(setInterval(callback, item.badge.interval || 5000));\n      callback();\n    };\n\n    _loop2: for (var _iterator2 = items, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n      var _ref2;\n\n      var _ret = _loop();\n\n      switch (_ret) {\n        case 'break':\n          break _loop2;\n\n        case 'continue':\n          continue;}\n    }\n  };\n\n  KaLayout.prototype.authorized = function authorized(item) {\n    var userGroups = this.api.user.group || this.api.user.groups || [];\n    if (!Array.isArray(userGroups)) userGroups = [userGroups];\n    return !item.authGroups || item.authGroups && userGroups.some(function (e) {\n      return item.authGroups.includes(e);\n    });\n  };\n\n  KaLayout.prototype.expand = function expand(item) {\n    item.collapsed = false;\n  };\n\n  KaLayout.prototype.collapse = function collapse(item) {\n    item.collapsed = true;\n  };\n\n  return KaLayout;\n}()) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaNavbar = undefined;\n\nvar _dec, _dec2, _dec3, _class, _desc, _value, _class2, _descriptor;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _kaApi = require('../ka-api/ka-api');\n\nvar _environment = require('environment');\n\nvar _environment2 = _interopRequireDefault(_environment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaNavbar = exports.KaNavbar = (_dec = (0, _aureliaFramework.customElement)('ka-navbar'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaApi.KaApi), _dec3 = (0, _aureliaFramework.observable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaNavbar(element, router, api) {\n    var _this = this;\n\n    _classCallCheck(this, KaNavbar);\n\n    _initDefineProp(this, 'visible', _descriptor, this);\n\n    this.appName = _environment2.default.appName;\n\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    document.addEventListener('click', function (e) {\n      if (!_this.visible) return;\n      var target = e.target;\n      while (target) {\n        if (target === _this.nav) return;\n        if (target === _this.button) return;\n        target = target.parentNode;\n      }\n      _this.hide();\n    });\n  }\n\n  KaNavbar.prototype.attached = function attached() {\n    var _this2 = this;\n\n    this.routes = [];\n\n    var _loop = function _loop() {\n      if (_isArray) {\n        if (_i >= _iterator.length) return 'break';\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) return 'break';\n        _ref = _i.value;\n      }\n\n      var route = _ref;\n\n      if (!_this2.api.user && !route.settings.authGroups) _this2.routes.push(route);else if (_this2.api.user && !route.settings.authGroups) _this2.routes.push(route);else if (_this2.api.user && route.settings.authGroups && _this2.api.user.groups && _this2.api.user.groups.some(function (e) {\n        return route.settings.authGroups.includes(e);\n      })) _this2.routes.push(route);\n    };\n\n    for (var _iterator = this.router.navigation, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      var _ret = _loop();\n\n      if (_ret === 'break') break;\n    }\n  };\n\n  KaNavbar.prototype.hide = function hide() {\n    this.visible = false;\n  };\n\n  KaNavbar.prototype.show = function show() {\n    this.visible = true;\n  };\n\n  KaNavbar.prototype.toggle = function toggle() {\n    this.visible = !this.visible;\n  };\n\n  return KaNavbar;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'visible', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return false;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaProgress = undefined;\n\nvar _dec, _dec2, _dec3, _class, _desc, _value, _class2, _descriptor;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaProgress = exports.KaProgress = (_dec = (0, _aureliaFramework.customElement)('ka-progress'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function KaProgress(element) {\n  _classCallCheck(this, KaProgress);\n\n  _initDefineProp(this, 'type', _descriptor, this);\n\n  element.classList.add(this.type);\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'type', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return 'linear';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaResource = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _kaToast = require('../ka-toast/ka-toast');\n\nvar _kaDialog = require('../ka-dialog/ka-dialog');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaResource = exports.KaResource = (_dec = (0, _aureliaFramework.customElement)('ka-resource'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaToast.KaToast, _kaDialog.KaDialog), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.fromView }), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaResource(element, router, toast, dialog) {\n    var _this = this;\n\n    _classCallCheck(this, KaResource);\n\n    _initDefineProp(this, 'resource', _descriptor, this);\n\n    _initDefineProp(this, 'data', _descriptor2, this);\n\n    _initDefineProp(this, 'schema', _descriptor3, this);\n\n    _initDefineProp(this, 'injectData', _descriptor4, this);\n\n    _initDefineProp(this, 'injectSchema', _descriptor5, this);\n\n    _initDefineProp(this, 'client', _descriptor6, this);\n\n    _initDefineProp(this, 'endpoint', _descriptor7, this);\n\n    _initDefineProp(this, 'disabled', _descriptor8, this);\n\n    _initDefineProp(this, 'controls', _descriptor9, this);\n\n    _initDefineProp(this, 'listRefQuery', _descriptor10, this);\n\n    _initDefineProp(this, 'mode', _descriptor11, this);\n\n    this.readonly = true;\n    this.loaded = false;\n    this.saveAndReload = false;\n    this.errors = [];\n\n    this.schema_loaded = function () {};\n\n    this.data_loaded = function () {};\n\n    this.save_before = function (data) {\n      return data;\n    };\n\n    this.save_after = function (data) {\n      return data;\n    };\n\n    this.buttonsActions = {\n      prev: function prev() {\n        return _this.prev();\n      },\n      next: function next() {\n        return _this.next();\n      },\n      close: function close() {\n        return _this.close();\n      },\n      edit: function edit() {\n        return _this.edit();\n      },\n      save: function save() {\n        return _this.save();\n      },\n      delete: function _delete() {\n        return _this.delete();\n      }\n    };\n\n    this.element = element;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n\n    this.events = document.createTextNode(null);\n    this.events.schemaLoaded = new CustomEvent('schemaLoaded', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n    this.events.dataValidated = new CustomEvent('dataValidated', { resource: this });\n    this.events.dataValidateError = new CustomEvent('dataValidateError', { resource: this });\n    this.events.dataSaved = new CustomEvent('dataSaved', { resource: this });\n    this.events.dataSaveError = new CustomEvent('dataSaveError', { resource: this });\n  }\n\n  KaResource.prototype.bind = function bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n    this.parentContext.resource = this;\n  };\n\n  KaResource.prototype.attached = function attached() {\n    this.load();\n  };\n\n  KaResource.prototype.modeChanged = function modeChanged(value) {\n    switch (value) {\n      case 'edit':\n        this.disabled = false;\n        this._setReadonly(false);\n        break;\n      case 'readonly':\n        this.disabled = true;\n        this._setReadonly(true);\n        break;\n      default:\n        this.disabled = false;\n        this._setReadonly(true);\n        break;\n    }\n  };\n\n  KaResource.prototype.reload = function reload(resource) {\n    this.data = {};\n\n    this.readonly = true;\n    this.loaded = false;\n    this.errors = [];\n    this.resource = resource;\n    this.load();\n  };\n\n  KaResource.prototype.load = function load() {\n    var _this2 = this;\n\n    if (this.parentContext.params && this.parentContext.params.id && this.router.currentInstruction.params && this.router.currentInstruction.params.id && this.parentContext.params.id !== this.router.currentInstruction.params.id) {\n      this.saveAndReload = true;\n    }\n    if (!this.endpoint && this.parentContext.endpoint) this.endpoint = this.parentContext.endpoint;\n    if (!this.client && this.parentContext.api && this.parentContext.api.client) this.client = this.parentContext.api.client;\n    if (!this.resource && this.parentContext.params && this.parentContext.params.id) this.resource = { id: this.parentContext.params.id };\n    if (!this.listRefQuery && this.parentContext.params && this.parentContext.params.listRefQuery) this.listRefQuery = atob(this.parentContext.params.listRefQuery);\n    this.modeChanged(this.mode);\n\n    if (this.client && this.endpoint) {\n      var endpoint = this.endpoint;\n      var dataset = this.endpoint;\n      this._request('get', 'datasets/' + dataset).then(function (response) {\n        var schema = {};\n        for (var _iterator = response, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n          var _ref;\n\n          if (_isArray) {\n            if (_i >= _iterator.length) break;\n            _ref = _iterator[_i++];\n          } else {\n            _i = _iterator.next();\n            if (_i.done) break;\n            _ref = _i.value;\n          }\n\n          var item = _ref;\n          schema[item.field] = item;\n        }_this2.schema = schema;\n        _this2.schema_loaded();\n        _this2.events.dispatchEvent(_this2.events.schemaLoaded);\n\n        if (_this2.resource && _this2.resource.id === 'new') {\n          _this2.originalData = {};\n          for (var _iterator2 = Object.keys(_this2.schema), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n            var _ref2;\n\n            if (_isArray2) {\n              if (_i2 >= _iterator2.length) break;\n              _ref2 = _iterator2[_i2++];\n            } else {\n              _i2 = _iterator2.next();\n              if (_i2.done) break;\n              _ref2 = _i2.value;\n            }\n\n            var key = _ref2;\n            _this2.originalData[key] = null;\n          }_this2.data = JSON.parse(JSON.stringify(_this2.originalData));\n          if (_this2.parentContext.params && _this2.parentContext.params.data) _this2.data = Object.assign(_this2.data, _this2.parentContext.params.data);\n          _this2.loaded = true;\n          _this2.data_loaded();\n          _this2.events.dispatchEvent(_this2.events.dataLoaded);\n          _this2._setReadonly(false);\n        } else if (_this2.resource && _this2.resource.id) {\n          _this2._request('get', endpoint + '/' + _this2.resource.id + '?depth=0').then(function (data) {\n            _this2.originalData = data;\n            _this2.data = JSON.parse(JSON.stringify(_this2.originalData));\n\n            _this2.loaded = true;\n            _this2.data_loaded();\n            _this2.events.dispatchEvent(_this2.events.dataLoaded);\n          });\n        }\n      });\n    } else if (this.injectSchema && this.injectData) {\n      var schema = {};\n      for (var _iterator3 = this.injectSchema, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n        var _ref3;\n\n        if (_isArray3) {\n          if (_i3 >= _iterator3.length) break;\n          _ref3 = _iterator3[_i3++];\n        } else {\n          _i3 = _iterator3.next();\n          if (_i3.done) break;\n          _ref3 = _i3.value;\n        }\n\n        var item = _ref3;\n        schema[item.field] = item;\n      }this.schema = schema;\n\n      this.originalData = this.injectData;\n      this.data = JSON.parse(JSON.stringify(this.originalData));\n      if (this.parentContext.params && this.parentContext.params.data) this.data = Object.assign(this.data, this.parentContext.params.data);\n      setTimeout(function () {\n        _this2.loaded = true;\n        _this2.data_loaded();\n        _this2.events.dispatchEvent(_this2.events.dataLoaded);\n      }, 500);\n    }\n  };\n\n  KaResource.prototype.prev = function prev() {\n    var _this3 = this;\n\n    var listRefQuery = this.listRefQuery.replace(/offset=(\\d+)/, function (match, p1) {\n      return 'offset=' + (parseInt(p1, 10) === 0 ? 0 : parseInt(p1, 10) - 1);\n    });\n    this.client.get('' + listRefQuery).then(function (x) {\n      var response = x.response;\n      if (!response.length) return _this3.toast.show('Non ci sono record precedenti a questo', 'error');\n      if (_this3.parentContext.params.dialog) {\n        _this3.listRefQuery = listRefQuery;\n        _this3.reload(response[0]);\n      } else {\n        var route = _this3.router.currentInstruction.config;\n        _this3.router.navigateToRoute(route.name, { id: response[0].id, listRefQuery: btoa(listRefQuery) }, { trigger: true, replace: true });\n      }\n    }).catch(function () {\n      _this3.toast.show('Errore nell\\'apertura del record precedente', 'error');\n    });\n  };\n\n  KaResource.prototype.next = function next() {\n    var _this4 = this;\n\n    var listRefQuery = this.listRefQuery.replace(/offset=(\\d+)/, function (match, p1) {\n      return 'offset=' + (parseInt(p1, 10) + 1);\n    });\n    this.client.get('' + listRefQuery).then(function (x) {\n      var response = x.response;\n      if (!response.length) return _this4.toast.show('Non ci sono record successivi a questo', 'error');\n      if (_this4.parentContext.params.dialog) {\n        _this4.listRefQuery = listRefQuery;\n        _this4.reload(response[0]);\n      } else {\n        var route = _this4.router.currentInstruction.config;\n        _this4.router.navigateToRoute(route.name, { id: response[0].id, listRefQuery: btoa(listRefQuery) }, { trigger: true, replace: true });\n      }\n    }).catch(function () {\n      _this4.toast.show('Errore nell\\'apertura del record successivo', 'error');\n    });\n  };\n\n  KaResource.prototype.delete = function _delete() {\n    var _this5 = this;\n\n    this.dialog.open({\n      type: 'confirm',\n      class: 'warning',\n      title: 'Elimina',\n      body: 'Eliminare definitivamente l\\'elemento?'\n    }, true).whenClosed(function (response) {\n      if (!response.wasCancelled) {\n        _this5._request('delete', _this5.endpoint + '/' + _this5.resource.id).then(function () {\n          if (_this5.parentContext.params.dialog) _this5.parentContext.params.dialog.close(true);else _this5.router.navigate(_this5.router.currentInstruction.config.href);\n        });\n      }\n    });\n  };\n\n  KaResource.prototype.edit = function edit() {\n    if (this.endpoint) {\n      this._setReadonly(false);\n    }\n  };\n\n  KaResource.prototype.save = function save() {\n    var _this6 = this;\n\n    this.errors = this._validateControls().then(function (success) {\n      _this6.events.dispatchEvent(_this6.events.dataValidated);\n      if (_this6.endpoint) {\n        var _ret = function () {\n          var promises = [];\n          var data = _this6.save_before(_this6.data);\n          if (data === false) return {\n              v: _this6.data = data\n            };\n          _this6.data = data;\n          data = {};\n\n          var _loop2 = function _loop2() {\n            if (_isArray4) {\n              if (_i4 >= _iterator4.length) return 'break';\n              _ref4 = _iterator4[_i4++];\n            } else {\n              _i4 = _iterator4.next();\n              if (_i4.done) return 'break';\n              _ref4 = _i4.value;\n            }\n\n            var _ref8 = _ref4,\n                field = _ref8[0],\n                item = _ref8[1];\n\n            promises.push(new Promise(function (resolve, reject) {\n              if (_this6.resource.id && _this6.resource.id !== 'new' && _this6.originalData[field] === item) resolve(true);else if (_this6.controls[field] && (_this6.controls[field].control === 'file' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'file') && item && item.length && item[0] && item[0].name) {\n                  var filedata = {};\n                  filedata.filename = item[0].name;\n                  var reader = new FileReader();\n                  reader.readAsDataURL(item[0]);\n                  reader.onload = function (x) {\n                    filedata.stream = reader.result.indexOf('base64,') ? reader.result.slice(reader.result.indexOf('base64,') + 7) : reader.result;\n                    data[field] = filedata;\n                    resolve(true);\n                  };\n                } else if (_this6.controls[field] && (_this6.controls[field].datatype === 'json' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'json') && item && typeof item === 'string') {\n                  data[field] = JSON.parse(item);\n                  resolve(true);\n                } else if (_this6.controls[field] && (_this6.controls[field].control === 'editor' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'editor') && item === '') {\n                    data[field] = null;\n                    resolve(true);\n                  } else if (_this6.controls[field] && (_this6.controls[field].control === 'date' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'date')) {\n                      data[field] = _moment2.default.utc(item).isValid() ? _moment2.default.utc(item).local().format('YYYY-MM-DD') : item;\n                      resolve(true);\n                    } else if (_this6.controls[field] && (_this6.controls[field].control === 'number' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'number') && item && typeof item === 'string') {\n                        data[field] = parseFloat(item) || item;\n                        resolve(true);\n                      } else {\n                        if (typeof item === 'undefined') console.error('Input ' + field + ' has undefined value. Skipping...');else data[field] = JSON.parse(JSON.stringify(item));\n                        resolve(true);\n                      }\n            }));\n          };\n\n          for (var _iterator4 = Object.entries(_this6.data), _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n            var _ref4;\n\n            var _ret3 = _loop2();\n\n            if (_ret3 === 'break') break;\n          }\n          Promise.all(promises).then(function () {\n            var method = 'post';\n            var endpoint = _this6.endpoint;\n            if (_this6.resource.id && _this6.resource.id !== 'new') {\n              delete data.id;\n              method = 'patch';\n              endpoint = endpoint + '/' + _this6.resource.id;\n            }\n\n            var user = _this6.parentContext.api && _this6.parentContext.api.user ? _this6.parentContext.api.user : null;\n            if (user && user.groups && user.groups.length) {\n              var _loop = function _loop() {\n                if (_isArray5) {\n                  if (_i5 >= _iterator5.length) return 'break';\n                  _ref5 = _iterator5[_i5++];\n                } else {\n                  _i5 = _iterator5.next();\n                  if (_i5.done) return 'break';\n                  _ref5 = _i5.value;\n                }\n\n                var _ref6 = _ref5,\n                    key = _ref6[0],\n                    value = _ref6[1];\n\n                if (!_this6.schema[key] || !_this6.schema[key][method]) delete data[key];\n                var permissions = _this6.schema[key][method];\n                var granted = Object.keys(permissions).filter(function (k) {\n                  return (k === '0' || user.groups.includes(k)) && permissions[k] === '1';\n                });\n                if (!granted || !granted.length) delete data[key];\n              };\n\n              for (var _iterator5 = Object.entries(data), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n                var _ref5;\n\n                var _ret2 = _loop();\n\n                if (_ret2 === 'break') break;\n              }\n            }\n            if (method === 'patch') {\n              data = JSON.parse(JSON.stringify(data));\n              if (!data || !Object.keys(data).length) {\n                _this6._setReadonly(true);\n                _this6.events.dispatchEvent(_this6.events.dataSaved);\n                return;\n              }\n            }\n            _this6._request(method, endpoint, data).then(function (response) {\n              _this6._setReadonly(true);\n              data = Object.assign(_this6.originalData, data);\n              data.id = response.id || _this6.resource.id;\n              _this6.data = _this6.save_after(data);\n              _this6.events.dispatchEvent(_this6.events.dataSaved);\n              _this6.originalData = JSON.parse(JSON.stringify(data));\n              if (_this6.data === false) return _this6.data = data;\n\n              var route = _this6.router.currentInstruction.config;\n              if (_this6.resource.id === 'new') {\n                _this6.toast.show('Record creato!', 'success');\n                if (_this6.parentContext.params.dialog || _this6.saveAndReload) {\n                  _this6.reload(response);\n                } else {\n                  _this6.router.navigateToRoute(route.name, { id: response.id || _this6.resource.id, listRefQuery: _this6.listRefQuery ? btoa(_this6.listRefQuery) : null }, { trigger: true, replace: true });\n                }\n              } else {\n                _this6.toast.show('Record aggiornato!', 'success');\n                if (_this6.parentContext.params.dialog || _this6.saveAndReload) {\n                  _this6.resource.id = response.id || _this6.resource.id;\n                  _this6.modeChanged(_this6.mode);\n                } else {\n                  _this6.router.navigateToRoute(route.name, { id: response.id || _this6.resource.id, listRefQuery: _this6.listRefQuery ? btoa(_this6.listRefQuery) : null }, { trigger: true, replace: true });\n                }\n              }\n            }, function (error) {\n              console.warn('error', error);\n              error = JSON.parse(error.response);\n              _this6.events.dispatchEvent(_this6.events.dataSaveError);\n              if (error.errors) {\n                for (var _iterator6 = error.errors, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {\n                  var _ref7;\n\n                  if (_isArray6) {\n                    if (_i6 >= _iterator6.length) break;\n                    _ref7 = _iterator6[_i6++];\n                  } else {\n                    _i6 = _iterator6.next();\n                    if (_i6.done) break;\n                    _ref7 = _i6.value;\n                  }\n\n                  var err = _ref7;\n\n                  if (err.arg && Array.isArray(err.arg) && err.arg[0]) _this6.toast.show('<strong>' + _this6.schema[err.arg[0]].label + '</strong>: ' + err.msg, 'error');else if (err.arg && _typeof(err.arg) === 'object') _this6.toast.show('<strong>' + _this6.schema[Object.keys(err.arg)[0]].label + '</strong>: ' + err.msg, 'error');else if (err.message) {\n                      var message = (err.data && _this6.schema[err.data] ? '<strong>' + _this6.schema[err.data].label + '</strong>: ' : '') + err.message;\n                      _this6.toast.show(message, 'error');\n                    }\n                }\n              }\n            });\n          });\n        }();\n\n        if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n      }\n    }, function (response) {\n      _this6.events.dispatchEvent(_this6.events.dataValidateError);\n      if (response.length) {\n        for (var _iterator7 = response, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {\n          var _ref9;\n\n          if (_isArray7) {\n            if (_i7 >= _iterator7.length) break;\n            _ref9 = _iterator7[_i7++];\n          } else {\n            _i7 = _iterator7.next();\n            if (_i7.done) break;\n            _ref9 = _i7.value;\n          }\n\n          var errors = _ref9;\n\n          for (var _iterator8 = errors, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {\n            var _ref10;\n\n            if (_isArray8) {\n              if (_i8 >= _iterator8.length) break;\n              _ref10 = _iterator8[_i8++];\n            } else {\n              _i8 = _iterator8.next();\n              if (_i8.done) break;\n              _ref10 = _i8.value;\n            }\n\n            var error = _ref10;\n\n            if (!error.valid) _this6.toast.show('<strong>' + error.object.label + '</strong>: ' + error.message, 'error');\n          }\n        }\n      }\n    });\n  };\n\n  KaResource.prototype.close = function close() {\n    var route = this.router.currentInstruction.config;\n    if (this.readonly || this.resource.id === 'new') {\n      if (this.parentContext.params.dialog) {\n        var ok = this.resource.id !== 'new';\n        this.parentContext.params.dialog.close(ok, ok && this.originalData ? this.originalData : null);\n        return;\n      }\n      this.router.navigate(route.href);\n      return;\n    }\n    this.data = JSON.parse(JSON.stringify(this.originalData));\n    this._setReadonly(true);\n  };\n\n  KaResource.prototype._validateControls = function _validateControls() {\n    for (var index in this.tabs) {\n      this.tabs[index].errors = [];\n    }var promises = [];\n\n    var _loop3 = function _loop3() {\n      if (_isArray9) {\n        if (_i9 >= _iterator9.length) return 'break';\n        _ref11 = _iterator9[_i9++];\n      } else {\n        _i9 = _iterator9.next();\n        if (_i9.done) return 'break';\n        _ref11 = _i9.value;\n      }\n\n      var _ref12 = _ref11,\n          field = _ref12[0],\n          item = _ref12[1];\n\n      var promise = item.validate().then(function (result) {\n        if (!result.valid) {\n          var errors = [];\n          for (var _iterator10 = item.validator.errors, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {\n            var _ref13;\n\n            if (_isArray10) {\n              if (_i10 >= _iterator10.length) break;\n              _ref13 = _iterator10[_i10++];\n            } else {\n              _i10 = _iterator10.next();\n              if (_i10.done) break;\n              _ref13 = _i10.value;\n            }\n\n            var error = _ref13;\n\n            error.tab = item.parentTab;\n\n            errors.push(error);\n          }\n          return Promise.reject(errors);\n        }\n        return Promise.resolve(result);\n      });\n      if (item.validator) promises.push(promise);\n    };\n\n    for (var _iterator9 = Object.entries(this.controls), _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {\n      var _ref11;\n\n      var _ret4 = _loop3();\n\n      if (_ret4 === 'break') break;\n    }\n    return this.promiseAll(promises);\n  };\n\n  KaResource.prototype._resetButtons = function _resetButtons() {\n    var _this7 = this;\n\n    var buttons = [];\n    if ((this.disabled || this.readonly) && this.listRefQuery) {\n      buttons.push({ action: function action() {\n          return _this7.buttonsActions.prev();\n        }, label: 'Record precedente', icon: 'keyboard_arrow_left' });\n      buttons.push({ action: function action() {\n          return _this7.buttonsActions.next();\n        }, label: 'Record seguente', icon: 'keyboard_arrow_right' });\n    }\n    if (this.client && !this.disabled) {\n      if ((!this.resource.id || this.resource.id !== 'new') && this.readonly) {\n        buttons.push({ action: function action() {\n            return _this7.buttonsActions.delete();\n          }, label: 'Elimina', icon: '&#xE92B;' });\n      }\n      if (this.readonly) {\n        buttons.push({ action: function action() {\n            return _this7.buttonsActions.edit();\n          }, label: 'Modifica', icon: '&#xE3C9;' });\n      } else {\n        buttons.push({ action: function action() {\n            return _this7.buttonsActions.save();\n          }, label: 'Salva', icon: '&#xE5CA;' });\n      }\n    }\n    buttons.push({ action: function action() {\n        return _this7.buttonsActions.close();\n      }, label: 'Chiudi', icon: '&#xE14C;' });\n    this.buttons = buttons;\n  };\n\n  KaResource.prototype._setReadonly = function _setReadonly(value) {\n    this.readonly = value;\n    this._resetButtons();\n  };\n\n  KaResource.prototype._request = function _request(method, url) {\n    var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n    if (!this.client) return Promise.reject('Missing HTTP client.');\n    method = method.toLowerCase();\n    if (!this.client[method]) return Promise.reject('Unknown HTTP method.');\n    return this.client[method](url, data).then(function (x) {\n      return Promise.resolve(x.response);\n    }).catch(function (x) {\n      return Promise.reject(x);\n    });\n  };\n\n  KaResource.prototype.promiseAll = function promiseAll(promises) {\n    var count = 0;\n    var errors = [];\n    var results = [];\n    var promise = new Promise(function (resolve, reject) {\n      for (var _iterator11 = promises, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {\n        var _ref14;\n\n        if (_isArray11) {\n          if (_i11 >= _iterator11.length) break;\n          _ref14 = _iterator11[_i11++];\n        } else {\n          _i11 = _iterator11.next();\n          if (_i11.done) break;\n          _ref14 = _i11.value;\n        }\n\n        var p = _ref14;\n\n        p.then(function (success) {\n          count++;\n          results.push(success);\n          if (count === promises.length) {\n            if (errors.length) reject(errors);else resolve(results);\n          }\n          return success;\n        }, function (error) {\n          count++;\n          errors.push(error);\n          if (count === promises.length) {\n            if (errors.length) reject(errors);else resolve(results);\n          }\n          return error;\n        });\n      }\n    });\n    return promise;\n  };\n\n  return KaResource;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'resource', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'data', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'injectData', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'injectSchema', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'endpoint', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'disabled', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return false;\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'controls', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'listRefQuery', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'mode', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return 'normal';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaTable = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _kaDialog = require('../ka-dialog/ka-dialog');\n\nvar _kaToast = require('../ka-toast/ka-toast');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaTable = exports.KaTable = (_dec = (0, _aureliaFramework.customElement)('ka-table'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaDialog.KaDialog, _kaToast.KaToast), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)(), _dec14 = (0, _aureliaFramework.bindable)(), _dec15 = (0, _aureliaFramework.bindable)(), _dec16 = (0, _aureliaFramework.bindable)(), _dec17 = (0, _aureliaFramework.bindable)(), _dec18 = (0, _aureliaFramework.bindable)(), _dec19 = (0, _aureliaFramework.bindable)(), _dec20 = (0, _aureliaFramework.bindable)(), _dec21 = (0, _aureliaFramework.bindable)(), _dec22 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaTable(element, router, dialog, toast) {\n    _classCallCheck(this, KaTable);\n\n    _initDefineProp(this, 'records', _descriptor, this);\n\n    _initDefineProp(this, 'schema', _descriptor2, this);\n\n    _initDefineProp(this, 'export_schema', _descriptor3, this);\n\n    _initDefineProp(this, 'columns_schema', _descriptor4, this);\n\n    _initDefineProp(this, 'filters', _descriptor5, this);\n\n    _initDefineProp(this, 'endpoint', _descriptor6, this);\n\n    _initDefineProp(this, 'limit', _descriptor7, this);\n\n    _initDefineProp(this, 'depth', _descriptor8, this);\n\n    _initDefineProp(this, 'client', _descriptor9, this);\n\n    _initDefineProp(this, 'columns', _descriptor10, this);\n\n    _initDefineProp(this, 'filtrables', _descriptor11, this);\n\n    _initDefineProp(this, 'sortables', _descriptor12, this);\n\n    _initDefineProp(this, 'editables', _descriptor13, this);\n\n    _initDefineProp(this, 'exportables', _descriptor14, this);\n\n    _initDefineProp(this, 'prefilter', _descriptor15, this);\n\n    _initDefineProp(this, 'sort', _descriptor16, this);\n\n    _initDefineProp(this, 'routes', _descriptor17, this);\n\n    _initDefineProp(this, 'actions', _descriptor18, this);\n\n    _initDefineProp(this, 'params', _descriptor19, this);\n\n    _initDefineProp(this, 'query', _descriptor20, this);\n\n    this.schema_loaded = function () {};\n\n    this.filters_loaded = function () {};\n\n    this.parse_query = function (query) {\n      return query;\n    };\n\n    this.records_loaded = function () {};\n\n    this.id = null;\n    this.settings = {\n      filters: null,\n      exports: null,\n      sort: {},\n      sort_stack: [],\n      sort_columns: {},\n      offset: 0,\n      limit: '10'\n    };\n    this.config_operators = {\n      text: {\n        field: 'operator',\n        control: 'combo',\n        datapreload: true,\n        datasource: [{ value: '=', text: 'Uguale a' }, { value: '!=', text: 'Diverso da' }, { value: '^=', text: 'Inizia con' }, { value: '~', text: 'Contiene' }, { value: '!~', text: 'Non contiene' }]\n      },\n      json: {\n        field: 'operator',\n        control: 'combo',\n        datapreload: true,\n        datasource: [{ value: '~', text: 'Contiene' }]\n      },\n      number: {\n        field: 'operator',\n        control: 'combo',\n        datapreload: true,\n        datasource: [{ value: '=', text: 'Uguale a' }, { value: '!=', text: 'Diverso da' }, { value: '>=', text: 'Maggiore uguale a' }, { value: '<=', text: 'Minore uguale a' }]\n      }\n    };\n    this.config_metas = [{ field: 'id', label: 'Id', control: 'number' }, { field: 'date_created', label: 'Data creazione', control: 'date' }, { field: 'user_created', label: 'Creato da', control: 'number' }, { field: 'date_modified', label: 'Data ultima modifica', control: 'date' }, { field: 'user_modified', label: 'Modificato da', control: 'number' }];\n    this.config_options = {\n      limit: { field: 'option-limit', label: 'Record per pagina', control: 'combo', datapreload: true, datasource: [{ value: '10', text: '10' }, { value: '25', text: '25' }, { value: '50', text: '50' }, { value: '100', text: '100' }, { value: '200', text: '200' }] },\n      pages: { field: 'option-pages', label: 'Salta alla pagina', control: 'combo', datapreload: true, datasource: [] }\n    };\n    this.position = null;\n    this.hasFilters = false;\n    this.isLoading = true;\n    this.schemaLoaded = false;\n    this.error = null;\n\n    this.element = element;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  KaTable.prototype.bind = function bind(bindingContext, overrideContext) {\n    this.parent = bindingContext;\n  };\n\n  KaTable.prototype.detached = function detached() {\n    this.hide_options();\n    this.hide_filters();\n    window.removeEventListener('resize', window['ka-table-resize-handler-' + this.id]);\n    delete window['ka-table-resize-handler-' + this.id];\n  };\n\n  KaTable.prototype.attached = function attached() {\n    if (!this.endpoint && this.parent.endpoint) this.endpoint = this.parent.endpoint;\n    if (!this.client && this.parent.api && this.parent.api.client) this.client = this.parent.api.client;\n    if (this.columns && typeof this.columns == 'string') this.columns = this.columns.split(',');\n    if (this.filtrables && typeof this.filtrables == 'string') this.filtrables = this.filtrables.split(',');\n    if (this.sortables && typeof this.sortables === 'string') this.sortables = this.sortables.split(',');\n    if (this.exportables && typeof this.exportables == 'string') this.exportables = this.exportables.split(',');\n    if (this.actions && typeof this.actions == 'string') this.actions = this.actions === \"\" ? [] : this.actions.split(',');\n    if (this.limit) this.settings.limit = String(this.limit);\n\n    var userId = this.parent.api && this.parent.api.user && this.parent.api.user.id ? this.parent.api.user.id : null;\n    var appVer = this.parent.api && this.parent.api.environment && this.parent.api.environment.version ? this.parent.api.environment.version : null;\n    appVer = !appVer && this.parent.environment && this.parent.environment.version ? this.parent.environment.version : appVer;\n\n    this.id = btoa('§' + userId + '-' + appVer + '§' + this.prefilter + '§' + this.endpoint + '§' + location.pathname + '§' + (this.columns ? this.columns.join('') : '')).replace(/[\\W_]+/g, '').slice(0, 120);\n    this.element.setAttribute('id', this.id);\n\n    if (localStorage.getItem(this.id)) {\n      this.settings = JSON.parse(localStorage.getItem(this.id));\n    } else if (sessionStorage.getItem(this.id)) {\n      this.settings = JSON.parse(sessionStorage.getItem(this.id));\n    }\n    this.init();\n\n    this.element.querySelector('.ka-wrapper').addEventListener('scroll', function (event) {\n      event.target.querySelectorAll('.floater').forEach(function (floater) {\n        floater.style.transform = 'translateX(' + event.target.scrollLeft + 'px)';\n      });\n    });\n\n    eval('window[\\'ka-table-resize-handler-' + this.id + '\\'] = function() {\\n      var element = document.querySelector(\\'#' + this.id + '\\');\\n      if (!element) return;\\n      if (element.classList.contains(\\'full-height\\')) {\\n        element.style.height = parseInt(window.innerHeight - element.getBoundingClientRect().top) + \\'px\\';\\n      }\\n      var table = element.querySelector(\\'table\\');\\n      table.querySelectorAll(\\'tbody td.ka-tr-tools:last-child\\').forEach(function (element) {\\n        var floater = element.querySelector(\\'.floater\\');\\n        if (!floater) return;\\n        var h = element.getBoundingClientRect().height;\\n        var w = floater.getBoundingClientRect().width;\\n        if (floater && h && w) {\\n          floater.classList.add(\\'float\\');\\n          floater.style.height = h + \\'px\\';\\n          element.style.minWidth = w + \\'px\\';\\n        }\\n      });\\n    }');\n    window.addEventListener('resize', window['ka-table-resize-handler-' + this.id]);\n  };\n\n  KaTable.prototype.init = function init() {\n    var _this = this;\n\n    if (!this.client || !this.endpoint) return console.warn('[mk-table] missing client or endpoint configuration');\n    this.isLoading = true;\n    this.error = null;\n    this.hide_options();\n\n    this.client.get('datasets/' + this.endpoint).then(function (x) {\n      _this.dataset = _this.parse_response(x);\n      var dataset = _this.parse_response(x);\n      var promises = [];\n\n      if (!_this.schema) {\n        if (_this.columns) {\n          var fields = (_this.columns || []).concat((_this.filtrables || []).filter(function (item) {\n            return _this.columns.indexOf(item) < 0;\n          }));\n          _this.schema = [];\n          _this.columns_schema = [];\n\n          var _loop = function _loop() {\n            if (_isArray) {\n              if (_i >= _iterator.length) return 'break';\n              _ref = _iterator[_i++];\n            } else {\n              _i = _iterator.next();\n              if (_i.done) return 'break';\n              _ref = _i.value;\n            }\n\n            var field = _ref;\n\n            if (field.indexOf('.') > 0) {\n              var parts = field.split('.');\n              var fieldDataset = dataset.find(function (o) {\n                return o.field === parts[0];\n              });\n              var datasource = fieldDataset.datasource ? JSON.parse(fieldDataset.datasource) : null;\n              if (datasource && datasource.table) {\n                var fieldSchema = { field: parts[0] + '.' + parts[1] };\n                _this.schema.push(fieldSchema);\n                if (_this.columns.includes(fieldSchema.field)) _this.columns_schema.push(fieldSchema);\n                promises.push(_this.client.get('datasets/' + datasource.table).then(function (x) {\n                  var schema = _this.parse_response(x).find(function (o) {\n                    return o.field === parts[1];\n                  }) || {};\n                  schema.field = fieldSchema.field;\n                  _this.schema[_this.schema.findIndex(function (o) {\n                    return o.field === fieldSchema.field;\n                  })] = schema;\n                  if (_this.columns.includes(fieldSchema.field)) _this.columns_schema[_this.columns_schema.findIndex(function (o) {\n                    return o.field === fieldSchema.field;\n                  })] = schema;\n                  _this.dataset.push(schema);\n                }));\n              }\n            } else {\n              var _fieldSchema = dataset.find(function (o) {\n                return o.field === field;\n              }) || Object.assign({}, _this.config_metas.find(function (o) {\n                return o.field === field;\n              }));\n              _this.schema.push(_fieldSchema);\n              if (_this.columns.includes(field)) _this.columns_schema.push(_fieldSchema);\n            }\n          };\n\n          for (var _iterator = fields, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n            var _ref;\n\n            var _ret = _loop();\n\n            if (_ret === 'break') break;\n          }\n        } else {\n          _this.columns_schema = _this.schema = dataset;\n        }\n      }\n      Promise.all(promises).finally(function () {\n        _this.schemaLoaded = true;\n        _this.schema_loaded();\n\n        for (var _iterator2 = _this.schema, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n          var _ref2;\n\n          if (_isArray2) {\n            if (_i2 >= _iterator2.length) break;\n            _ref2 = _iterator2[_i2++];\n          } else {\n            _i2 = _iterator2.next();\n            if (_i2.done) break;\n            _ref2 = _i2.value;\n          }\n\n          var column = _ref2;\n\n          var _field2 = column.field;\n          if (_field2) {\n            var fieldKebab = _field2.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\\s+/g, '-').toLowerCase();\n            if (_this.sortables && _this.sortables.includes(_field2)) {\n              _this.settings.sort_columns[_field2] = _field2;\n            } else if (_this.sortables && _this.sortables.includes(fieldKebab)) {\n              _this.settings.sort_columns[_field2] = fieldKebab;\n            } else if (!_this.sortables) {\n              _this.settings.sort_columns[_field2] = _field2;\n            }\n          }\n        }\n\n        if (_this.exportables && !_this.export_schema) {\n          _this.export_schema = [];\n\n          var _loop2 = function _loop2() {\n            if (_isArray3) {\n              if (_i3 >= _iterator3.length) return 'break';\n              _ref3 = _iterator3[_i3++];\n            } else {\n              _i3 = _iterator3.next();\n              if (_i3.done) return 'break';\n              _ref3 = _i3.value;\n            }\n\n            var field = _ref3;\n\n            var export_field = Object.assign({}, dataset.find(function (o) {\n              return o.field === field;\n            }) || Object.assign({}, _this.config_metas.find(function (o) {\n              return o.field === field;\n            })));\n            _this.export_schema.push(export_field);\n          };\n\n          for (var _iterator3 = _this.exportables, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n            var _ref3;\n\n            var _ret2 = _loop2();\n\n            if (_ret2 === 'break') break;\n          }\n        } else if (!_this.export_schema) {\n          _this.export_schema = [];\n          for (var _iterator4 = dataset, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n            var _ref4;\n\n            if (_isArray4) {\n              if (_i4 >= _iterator4.length) break;\n              _ref4 = _iterator4[_i4++];\n            } else {\n              _i4 = _iterator4.next();\n              if (_i4.done) break;\n              _ref4 = _i4.value;\n            }\n\n            var _field = _ref4;\n\n            var export_field = Object.assign({}, _field);\n            _this.export_schema.push(export_field);\n          }\n        }\n\n        if (_this.filtrables && !_this.filters) {\n          _this.filters = [];\n\n          var _loop3 = function _loop3() {\n            if (_isArray5) {\n              if (_i5 >= _iterator5.length) return 'break';\n              _ref5 = _iterator5[_i5++];\n            } else {\n              _i5 = _iterator5.next();\n              if (_i5.done) return 'break';\n              _ref5 = _i5.value;\n            }\n\n            var field = _ref5;\n\n            var filter = Object.assign({}, dataset.find(function (o) {\n              return o.field === field;\n            }) || Object.assign({}, _this.config_metas.find(function (o) {\n              return o.field === field;\n            })));\n            if (filter.control === 'combo') filter.datamultiple = true;\n            if (filter.datatype === 'json') filter.control = 'text';\n            if (filter.control === 'textarea' || filter.control === 'editor') filter.control = 'text';\n            _this.filters.push(filter);\n          };\n\n          for (var _iterator5 = _this.filtrables, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n            var _ref5;\n\n            var _ret3 = _loop3();\n\n            if (_ret3 === 'break') break;\n          }\n        } else if (!_this.filters) {\n          _this.filters = [];\n          for (var _iterator6 = dataset, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {\n            var _ref6;\n\n            if (_isArray6) {\n              if (_i6 >= _iterator6.length) break;\n              _ref6 = _iterator6[_i6++];\n            } else {\n              _i6 = _iterator6.next();\n              if (_i6.done) break;\n              _ref6 = _i6.value;\n            }\n\n            var filter = _ref6;\n\n            filter = Object.assign({}, filter);\n            if (filter.control === 'combo') filter.datamultiple = true;\n            if (filter.datatype === 'json') filter.control = 'text';\n            if (filter.control === 'textarea' || filter.control === 'editor') filter.control = 'text';\n            _this.filters.push(filter);\n          }\n        }\n        _this.filters_loaded();\n\n        _this.load();\n      });\n    }).catch(function (error) {\n      console.error(error);\n      _this.isLoading = false;\n      _this.records = null;\n      _this.error = 'Errore nel caricamento dei dati';\n    });\n  };\n\n  KaTable.prototype.load = function load() {\n    var _this2 = this;\n\n    this.isLoading = true;\n    this.error = null;\n    this.hide_options();\n\n    if (!this.settings.exports) this.settings.exports = {};\n\n    if (!this.settings.filters) this.settings.filters = {};\n    for (var _iterator7 = this.filters, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {\n      var _ref7;\n\n      if (_isArray7) {\n        if (_i7 >= _iterator7.length) break;\n        _ref7 = _iterator7[_i7++];\n      } else {\n        _i7 = _iterator7.next();\n        if (_i7.done) break;\n        _ref7 = _i7.value;\n      }\n\n      var _field4 = _ref7;\n\n      if (!this.settings.filters[_field4.field]) {\n        var default_operator = null;\n        if (_field4.datamultiple) default_operator = '~~';else if (_field4.control === 'number') default_operator = '=';else if (_field4.control === 'age') default_operator = '=';\n        this.settings.filters[_field4.field] = { operator: default_operator, value: null, value_from: null, value_to: null, control: _field4.control };\n      }\n      if (_field4.control === 'age') {\n        _field4.control = 'number';\n        _field4.datatype = 'tinyint(3)';\n      }\n    }\n\n    var query = this.query + (this.query.indexOf('?') >= 0 ? '&' : '?') + 'meta=1';\n    if (this.depth) query += '&depth=' + this.depth;\n    if (this.prefilter) query += '&filters=' + encodeURIComponent(this.prefilter);\n    var filters = [];\n\n    var _loop4 = function _loop4() {\n      if (_isArray8) {\n        if (_i8 >= _iterator8.length) return 'break';\n        _ref8 = _iterator8[_i8++];\n      } else {\n        _i8 = _iterator8.next();\n        if (_i8.done) return 'break';\n        _ref8 = _i8.value;\n      }\n\n      var field = _ref8;\n\n      var value = _this2.settings.filters[field].value || null;\n      if (value && _this2.settings.filters[field].control === 'age') {\n        value = parseInt(value, 10);\n        var operator = _this2.settings.filters[field].operator || null;\n        if (operator === '<=') filters.push(encodeURIComponent(field + '>=' + (0, _moment2.default)().subtract(parseInt(value, 10) + 1, 'years').format('YYYY-MM-DD')));else if (operator === '>=') filters.push(encodeURIComponent(field + '<' + (0, _moment2.default)().subtract(value, 'years').format('YYYY-MM-DD')));else filters.push(encodeURIComponent(field + '<' + (0, _moment2.default)().subtract(value, 'years').format('YYYY-MM-DD') + '&' + field + '>=' + (0, _moment2.default)().subtract(value + 1, 'years').format('YYYY-MM-DD')));\n      } else if (value && _this2.settings.filters[field].control === 'combo') {\n        var _operator = _this2.settings.filters[field].operator || '=';\n        var filter = _this2.filters.find(function (x) {\n          return x.field === field;\n        });\n        if (filter && Array.isArray(filter.datasource)) {\n          var item = filter.datasource.find(function (x) {\n            return x.value === value;\n          });\n          if (item && item.filter_operator) _operator = item.filter_operator;\n          if (item && item.filter_value) value = item.filter_value;\n        }\n        filters.push(encodeURIComponent(field + _operator + value));\n      } else if (value) filters.push(encodeURIComponent(field + (_this2.settings.filters[field].operator ? _this2.settings.filters[field].operator : '=') + value));\n      if (_this2.settings.filters[field].value_from) filters.push(encodeURIComponent(field + '>=' + (0, _moment2.default)(_this2.settings.filters[field].value_from, 'YYYY-MM-DD').format('YYYY-MM-DD 00:00:00')));\n      if (_this2.settings.filters[field].value_to) filters.push(encodeURIComponent(field + '<=' + (0, _moment2.default)(_this2.settings.filters[field].value_to, 'YYYY-MM-DD').format('YYYY-MM-DD 23:59:59')));\n    };\n\n    for (var _iterator8 = Object.keys(this.settings.filters), _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {\n      var _ref8;\n\n      var _ret4 = _loop4();\n\n      if (_ret4 === 'break') break;\n    }\n    if (filters.length) {\n      this.hasFilters = true;\n      query += (this.prefilter ? '%26' : '&filters=') + filters.join('%26');\n    } else this.hasFilters = false;\n\n    var count_query = this.endpoint + query + '&fields=id&depth=0&meta=0';\n\n    if (this.settings.sort_stack.length) {\n      var sorts = [];\n      for (var _iterator9 = this.settings.sort_stack, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {\n        var _ref9;\n\n        if (_isArray9) {\n          if (_i9 >= _iterator9.length) break;\n          _ref9 = _iterator9[_i9++];\n        } else {\n          _i9 = _iterator9.next();\n          if (_i9.done) break;\n          _ref9 = _i9.value;\n        }\n\n        var _field3 = _ref9;\n\n        if (this.settings.sort[_field3] && this.settings.sort[_field3].order) sorts.push(encodeURIComponent((this.settings.sort[_field3].order == 'asc' ? '+' : '-') + _field3));\n      }query += '&sort=' + sorts.join(',');\n    } else if (this.sort) {\n      query += '&sort=' + encodeURIComponent(this.sort);\n    }\n\n    this.reference_query = this.endpoint + query;\n\n    if (this.settings.limit) {\n      query += '&limit=' + this.settings.limit;\n    }\n    if (this.settings.offset) {\n      query += '&offset=' + this.settings.offset;\n    }\n\n    this.export_query = this.endpoint + query;\n\n    query = this.parse_query(query);\n\n    this.client.get(this.endpoint + query).then(function (x) {\n      _this2.records = _this2.parse_response(x);\n      _this2.isLoading = false;\n      _this2.records_loaded();\n      if (window['ka-table-resize-handler-' + _this2.id]) setTimeout(function () {\n        window['ka-table-resize-handler-' + _this2.id]();\n      }, 0);\n      new Promise(function (resolve) {\n        if (x.headers && x.headers.headers && x.headers.headers['x-total-count']) return resolve(x.headers.headers['x-total-count'].value);\n        _this2.client.get(count_query).then(function (x2) {\n          resolve(_this2.parse_response(x2).length);\n        });\n      }).then(function (total) {\n        _this2.total = total;\n        _this2.position = (_this2.records.length > 0 ? parseInt(_this2.settings.offset) + 1 : 0) + '-' + (parseInt(_this2.settings.offset) + parseInt(_this2.settings.limit) > _this2.total ? _this2.total : _this2.records.length == parseInt(_this2.settings.limit) ? parseInt(_this2.settings.offset) + parseInt(_this2.settings.limit) : parseInt(_this2.settings.offset) + _this2.records.length);\n        for (var i = 1; i <= Math.ceil(_this2.total / parseInt(_this2.settings.limit)); i++) {\n          if (i <= 1) _this2.config_options.pages.datasource = [{ text: String(i), value: String(i) }];else _this2.config_options.pages.datasource.push({ text: String(i), value: String(i) });\n        }\n      });\n    }).catch(function (error) {\n      console.error(error);\n      _this2.isLoading = false;\n      _this2.records = null;\n      _this2.error = 'Errore nel caricamento dei dati';\n    });\n\n    localStorage.setItem(this.id, JSON.stringify(this.settings));\n  };\n\n  KaTable.prototype.format = function format(record, field) {\n    var value = null;\n    var column = this.dataset.find(function (x) {\n      return x.field === field;\n    });\n\n    if (!column && !['date_created', 'date_modified'].includes(field)) return record[field];\n\n    if (field.indexOf('.') > 0) {\n      var parts = field.split('.');\n      value = record[parts[0]] && record[parts[0]][parts[1]] ? record[parts[0]][parts[1]] : null;\n    } else {\n      value = record[field];\n    }\n\n    if (!value) return null;\n\n    if (field === 'date_created' || field === 'date_modified') {\n      return _moment2.default.utc(value, 'YYYY-MM-DD').local().format('DD/MM/YYYY');\n    } else if (column.control === 'list' && column.datasource) {\n      if (typeof column.datasource === 'string' && (column.datasource.indexOf('{') === 0 || column.datasource.indexOf('[') === 0)) {\n        column.datasource = JSON.parse(column.datasource);\n      }\n      var view = column.datasource.model.view || null;\n      var keys = !view ? null : view.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      var values = JSON.parse(value);\n      var join = column.datasource.model.join || ', ';\n      if (view && keys) {\n        values.forEach(function (v, i) {\n          var nw = view;\n          for (var _iterator10 = keys, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {\n            var _ref10;\n\n            if (_isArray10) {\n              if (_i10 >= _iterator10.length) break;\n              _ref10 = _iterator10[_i10++];\n            } else {\n              _i10 = _iterator10.next();\n              if (_i10.done) break;\n              _ref10 = _i10.value;\n            }\n\n            var key = _ref10;\n            nw = nw.replace(key, v[key.replace(/\\{|\\}/g, '')] || '');\n          }values[i] = nw;\n        });\n      } else {\n        values.forEach(function (v, i) {\n          values[i] = Object.values(v).join(' ');\n        });\n      }\n      return values.join(join);\n    } else if (column.datamultiple && column.datasource) {\n      var _values = [];\n      for (var _iterator11 = value, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {\n        var _ref11;\n\n        if (_isArray11) {\n          if (_i11 >= _iterator11.length) break;\n          _ref11 = _iterator11[_i11++];\n        } else {\n          _i11 = _iterator11.next();\n          if (_i11.done) break;\n          _ref11 = _i11.value;\n        }\n\n        var v = _ref11;\n\n        var _keys = column.datatext.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n        if (_keys) {\n          var datatext = column.datatext;\n          for (var _iterator12 = _keys, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) {\n            var _ref12;\n\n            if (_isArray12) {\n              if (_i12 >= _iterator12.length) break;\n              _ref12 = _iterator12[_i12++];\n            } else {\n              _i12 = _iterator12.next();\n              if (_i12.done) break;\n              _ref12 = _i12.value;\n            }\n\n            var key = _ref12;\n\n            datatext = datatext.replace(key, v[key.replace(/\\{|\\}/g, '')] || '');\n          }\n          _values.push(datatext);\n        } else _values.push(v[column.datatext || 'text']);\n      }\n      return _values.join(', ');\n    } else if (!column.datamultiple && column.datasource && column.control !== 'file') {\n      var _keys2 = column.datatext.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      if (typeof column.datasource === 'string' && (column.datasource.indexOf('{') === 0 || column.datasource.indexOf('[') === 0)) {\n        column.datasource = JSON.parse(column.datasource);\n      }\n      if (_keys2) {\n        var _datatext = column.datatext;\n        for (var _iterator13 = _keys2, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) {\n          var _ref13;\n\n          if (_isArray13) {\n            if (_i13 >= _iterator13.length) break;\n            _ref13 = _iterator13[_i13++];\n          } else {\n            _i13 = _iterator13.next();\n            if (_i13.done) break;\n            _ref13 = _i13.value;\n          }\n\n          var _key = _ref13;\n\n          _datatext = _datatext.replace(_key, value[_key.replace(/\\{|\\}/g, '')] || '');\n        }\n        return _datatext;\n      } else if (typeof value === 'string' && Array.isArray(column.datasource)) {\n        var _v = column.datasource.filter(function (x) {\n          return String(x[column.datavalue]) === String(value);\n        });\n        if (_v && _v.length) return _v[0][column.datatext];\n        return value;\n      }\n      return value[column.datatext || 'text'];\n    } else if (column.datatype === 'json') {\n      return JSON.stringify(value);\n    } else if (column.control === 'age') {\n      return (0, _moment2.default)().diff((0, _moment2.default)(value, 'YYYY-MM-DD'), 'years');\n    } else if (column.datatype === 'date') {\n      return (column.utc ? _moment2.default.utc(value, 'YYYY-MM-DD').local() : (0, _moment2.default)(value, 'YYYY-MM-DD')).format('DD/MM/YYYY');\n    } else if (column.datatype === 'datetime') {\n      return (column.utc ? _moment2.default.utc(value, 'YYYY-MM-DD HH:mm:ss').local() : (0, _moment2.default)(value, 'YYYY-MM-DD HH:mm:ss')).format('DD/MM/YYYY HH:mm:ss');\n    }\n    return value;\n  };\n\n  KaTable.prototype.set_sort = function set_sort(field) {\n    var sort = this.settings.sort_stack.indexOf(field) > -1 ? this.settings.sort[field] || null : null;\n    if (sort) {\n      sort.order = sort.order === 'asc' ? 'desc' : sort.order === 'desc' ? null : 'asc';\n      if (!sort.order) {\n        this.settings.sort[field] = {};\n        this.settings.sort_stack.splice(this.settings.sort_stack.indexOf(field), 1);\n      }\n    } else {\n      this.settings.sort_stack.push(field);\n      this.settings.sort[field] = { order: 'asc' };\n    }\n    for (var _iterator14 = this.settings.sort_stack, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) {\n      var _ref14;\n\n      if (_isArray14) {\n        if (_i14 >= _iterator14.length) break;\n        _ref14 = _iterator14[_i14++];\n      } else {\n        _i14 = _iterator14.next();\n        if (_i14.done) break;\n        _ref14 = _i14.value;\n      }\n\n      var f = _ref14;\n\n      this.settings.sort[f].class = 'sort-' + this.settings.sort[f].order + ' sort-' + (this.settings.sort_stack.indexOf(f) + 1);\n    }\n    this.load();\n  };\n\n  KaTable.prototype.set_page = function set_page(page) {\n    var pages = Math.ceil(this.total / parseInt(this.settings.limit));\n    if (page == 'first') this.settings.offset = 0;else if (page == 'prev') this.settings.offset = this.settings.offset - parseInt(this.settings.limit) > 0 ? this.settings.offset - parseInt(this.settings.limit) : 0;else if (page == 'next') this.settings.offset = !this.records.length ? this.settings.offset : this.settings.offset + parseInt(this.settings.limit) < this.total ? this.settings.offset + parseInt(this.settings.limit) : parseInt(this.settings.limit) * (pages - 1);else if (page == 'last') this.settings.offset = !this.records.length ? this.settings.offset : parseInt(this.settings.limit) * (pages - 1);else if (typeof page == 'number' || /^[0-9]*?$/g.test(page)) this.settings.offset = parseInt(this.settings.limit) * (parseInt(page) - 1);else return;\n    this.load();\n  };\n\n  KaTable.prototype.set_limit = function set_limit(limit) {\n    this.settings.limit = limit;\n    this.load();\n  };\n\n  KaTable.prototype.show_options = function show_options($event) {\n    var _this3 = this;\n\n    if (this.optionsOpen) return this.hide_options();\n\n    var backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', function (event) {\n      if (event.target == backdrop) _this3.hide_options();\n    });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    var drawer = document.querySelectorAll('#' + this.id + ' .ka-table-options')[0];\n    if ($event && $event.target) {\n      var bounds = $event.target.getBoundingClientRect();\n      drawer.style.top = bounds.top + 'px';\n      drawer.style.left = bounds.left + bounds.width / 2 + 'px';\n    }\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(function () {\n      drawer.classList.add('open');\n      _this3.optionsOpen = true;\n    }, 100);\n  };\n\n  KaTable.prototype.hide_options = function hide_options() {\n    var _this4 = this;\n\n    if (!this.optionsOpen) return;\n\n    var drawer = document.querySelectorAll('#ka-table-backdrop-' + this.id + ' .ka-table-options')[0];\n    drawer.classList.remove('open');\n    setTimeout(function () {\n      drawer.classList.add('hidden');\n      _this4.element.appendChild(drawer);\n\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + _this4.id));\n\n      _this4.optionsOpen = false;\n    }, 500);\n  };\n\n  KaTable.prototype.show_filters = function show_filters() {\n    var _this5 = this;\n\n    if (this.filtersOpen) return this.hide_filters();\n\n    var backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', function (event) {\n      if (event.target == backdrop) _this5.hide_filters();\n    });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    var drawer = document.querySelectorAll('#' + this.id + ' .ka-table-drawer.filters')[0];\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(function () {\n      drawer.classList.add('open');\n      _this5.filtersOpen = true;\n    }, 100);\n  };\n\n  KaTable.prototype.hide_filters = function hide_filters() {\n    var _this6 = this;\n\n    var drawer = document.querySelectorAll('#ka-table-backdrop-' + this.id + ' .ka-table-drawer.filters')[0];\n    if (!drawer) return;\n    drawer.classList.remove('open');\n    setTimeout(function () {\n      drawer.classList.add('hidden');\n      _this6.element.appendChild(drawer);\n\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + _this6.id));\n\n      _this6.filtersOpen = false;\n    }, 500);\n  };\n\n  KaTable.prototype.apply_filters = function apply_filters() {\n    this.hide_filters();\n    this.settings.offset = 0;\n    this.load();\n  };\n\n  KaTable.prototype.reset_filters = function reset_filters() {\n    if (this.filtersOpen) this.hide_filters();\n    this.settings.offset = 0;\n    for (var _iterator15 = this.filters, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) {\n      var _ref15;\n\n      if (_isArray15) {\n        if (_i15 >= _iterator15.length) break;\n        _ref15 = _iterator15[_i15++];\n      } else {\n        _i15 = _iterator15.next();\n        if (_i15.done) break;\n        _ref15 = _i15.value;\n      }\n\n      var _field5 = _ref15;\n\n      if (this.settings.filters[_field5.field]) {\n        var default_operator = null;\n        if (_field5.datamultiple) default_operator = '~~';else if (_field5.control === 'number') default_operator = '=';else if (_field5.control === 'age') default_operator = '=';\n        this.settings.filters[_field5.field] = { operator: default_operator, value: null, value_from: null, value_to: null, control: _field5.control };\n      }\n      if (_field5.control === 'age') {\n        _field5.control = 'number';\n        _field5.datatype = 'tinyint(3)';\n      }\n    }\n    this.load();\n  };\n\n  KaTable.prototype.show_export = function show_export() {\n    var _this7 = this;\n\n    if (this.exportOpen) return this.hide_export();\n\n    var backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', function (event) {\n      if (event.target == backdrop) _this7.hide_export();\n    });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    var drawer = document.querySelectorAll('#' + this.id + ' .ka-table-drawer.export')[0];\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(function () {\n      drawer.classList.add('open');\n      _this7.exportOpen = true;\n    }, 100);\n  };\n\n  KaTable.prototype.hide_export = function hide_export() {\n    var _this8 = this;\n\n    var drawer = document.querySelectorAll('#ka-table-backdrop-' + this.id + ' .ka-table-drawer.export')[0];\n    drawer.classList.remove('open');\n    setTimeout(function () {\n      drawer.classList.add('hidden');\n      _this8.element.appendChild(drawer);\n\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + _this8.id));\n\n      _this8.exportOpen = false;\n    }, 500);\n  };\n\n  KaTable.prototype.select_export = function select_export() {\n    for (var _iterator16 = this.export_schema, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) {\n      var _ref16;\n\n      if (_isArray16) {\n        if (_i16 >= _iterator16.length) break;\n        _ref16 = _iterator16[_i16++];\n      } else {\n        _i16 = _iterator16.next();\n        if (_i16.done) break;\n        _ref16 = _i16.value;\n      }\n\n      var _field6 = _ref16;\n\n      this.settings.exports[_field6.field] = true;\n    }\n  };\n\n  KaTable.prototype.unselect_export = function unselect_export() {\n    for (var _iterator17 = this.export_schema, _isArray17 = Array.isArray(_iterator17), _i17 = 0, _iterator17 = _isArray17 ? _iterator17 : _iterator17[Symbol.iterator]();;) {\n      var _ref17;\n\n      if (_isArray17) {\n        if (_i17 >= _iterator17.length) break;\n        _ref17 = _iterator17[_i17++];\n      } else {\n        _i17 = _iterator17.next();\n        if (_i17.done) break;\n        _ref17 = _i17.value;\n      }\n\n      var _field7 = _ref17;\n\n      this.settings.exports[_field7.field] = false;\n    }\n  };\n\n  KaTable.prototype.apply_export = function apply_export($event) {\n    var _this9 = this;\n\n    var exportPages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n    if ($event && $event.model) $event.model.busy = true;\n    var fields = Object.keys(this.settings.exports).reduce(function (acc, k) {\n      if (_this9.settings.exports[k] === true) acc.push(k);return acc;\n    }, []).join(',');\n    var query = this.export_query;\n    if (exportPages === 'ALL') {\n      query = query.replace(/&limit=\\d*/, '');\n      query = query.replace(/&offset=\\d*/, '');\n    }\n    this.client.get(query + '&depth=1&meta=0&fields=' + fields).then(function (x) {\n      var records = _this9.parse_response(x);\n      if (!records.length) {\n        _this9.toast.show('<strong>Nessun risulta alcun dato da esportare!</strong>', 'error');\n        return;\n      }\n      var csv = [Object.keys(records[0]).join(';')];\n      for (var _iterator18 = records, _isArray18 = Array.isArray(_iterator18), _i18 = 0, _iterator18 = _isArray18 ? _iterator18 : _iterator18[Symbol.iterator]();;) {\n        var _ref18;\n\n        if (_isArray18) {\n          if (_i18 >= _iterator18.length) break;\n          _ref18 = _iterator18[_i18++];\n        } else {\n          _i18 = _iterator18.next();\n          if (_i18.done) break;\n          _ref18 = _i18.value;\n        }\n\n        var record = _ref18;\n\n        var values = [];\n\n        var _loop5 = function _loop5() {\n          if (_isArray19) {\n            if (_i19 >= _iterator19.length) return 'break';\n            _ref19 = _iterator19[_i19++];\n          } else {\n            _i19 = _iterator19.next();\n            if (_i19.done) return 'break';\n            _ref19 = _i19.value;\n          }\n\n          var k = _ref19;\n\n          var value = _this9.dataset.find(function (f) {\n            return f.field === k;\n          }) ? _this9.format(record, k) : record[k];\n          if (typeof value === 'string') {\n            value = value.replace('\"', '\"\"');\n            value = '\"' + value + '\"';\n          }\n          values.push(value);\n        };\n\n        for (var _iterator19 = Object.keys(record), _isArray19 = Array.isArray(_iterator19), _i19 = 0, _iterator19 = _isArray19 ? _iterator19 : _iterator19[Symbol.iterator]();;) {\n          var _ref19;\n\n          var _ret5 = _loop5();\n\n          if (_ret5 === 'break') break;\n        }\n        csv.push(values.join(';'));\n      }\n      csv = csv.join('\\n');\n      var blob = new Blob([csv], { type: 'text/csv' });\n      var anchor = document.createElement('a');\n      anchor.download = (0, _moment2.default)().format('YYYY-MM-DD_HH-mm') + '_' + _this9.endpoint.replace(/[^a-zA-Z0-9]/g, '-') + '.csv';\n      anchor.href = window.URL.createObjectURL(blob);\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      _this9.hide_export();\n    }).finally(function () {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  };\n\n  KaTable.prototype.add = function add() {\n    var _this10 = this;\n\n    if (this.routes.edit === false) return;\n    if (this.routes.dialog) {\n      var childRoute = this.router.routes.filter(function (x) {\n        return x.name == (_this10.routes.add || _this10.router.currentInstruction.config.name);\n      })[0];\n      this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: 'new', data: this.routes.data || {} }\n      }, true).whenClosed(function (response) {\n        if (!response.wasCancelled) {\n          _this10.load();\n        }\n      });\n    } else this.router.navigateToRoute(this.routes.add || this.router.currentInstruction.config.name, { id: 'new' });\n  };\n\n  KaTable.prototype.edit = function edit(record) {\n    var _this11 = this;\n\n    var listRefQuery = this.reference_query + '&fields=id&limit=1&offset=' + (parseInt(this.settings.offset || 0, 10) + this.records.indexOf(record));\n    if (this.actions.indexOf('edit') < 0) return;\n    if (this.routes.edit === false) return;\n    if (this.routes.dialog) {\n      var childRoute = this.router.routes.filter(function (x) {\n        return x.name == (_this11.routes.edit || _this11.router.currentInstruction.config.name);\n      })[0];\n      this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: record.id || record.uuid, listRefQuery: btoa(listRefQuery) }\n      }, true).whenClosed(function (response) {\n        if (!response.wasCancelled) {\n          _this11.load();\n        }\n      });\n    } else this.router.navigateToRoute(this.routes.edit || this.router.currentInstruction.config.name, { id: record.id || record.uuid, listRefQuery: btoa(listRefQuery) });\n  };\n\n  KaTable.prototype.copy = function copy(record) {\n    var _this12 = this;\n\n    var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n    if (this.routes.edit === false) return;\n    if (deep) {\n      var fields = this.dataset.filter(function (x) {\n        return x.unique;\n      });\n      var duplicate = function duplicate(data) {\n        var d = _this12.params && _this12.params.deepcopy ? JSON.parse(JSON.stringify(_this12.params.deepcopy)) : { depth: 1 };\n        d.data = data;\n        _this12.client.post('duplicate/' + (record.id || record.uuid), d).then(function (x) {\n          _this12.toast.show('<strong>Record duplicato</strong>', 'success');\n          _this12.load();\n        }).catch(function (x) {\n          var error = JSON.parse(x.response).errors[0].msg;\n          _this12.toast.show('<strong>' + error + '</strong>', 'error');\n        });\n      };\n      if (fields.length) {\n        var template = '',\n            config = {},\n            model = {};\n        for (var _iterator20 = fields, _isArray20 = Array.isArray(_iterator20), _i20 = 0, _iterator20 = _isArray20 ? _iterator20 : _iterator20[Symbol.iterator]();;) {\n          var _ref20;\n\n          if (_isArray20) {\n            if (_i20 >= _iterator20.length) break;\n            _ref20 = _iterator20[_i20++];\n          } else {\n            _i20 = _iterator20.next();\n            if (_i20.done) break;\n            _ref20 = _i20.value;\n          }\n\n          var _field8 = _ref20;\n\n          config[_field8.field] = _field8;\n          model[_field8.field] = null;\n          template += '<ka-input config.bind=\"params.viewStrategyParams.config.' + _field8.field + '\" value.bind=\"params.viewStrategyParams.model.' + _field8.field + '\"></ka-input>';\n        }\n        var viewStrategy = new _aureliaFramework.InlineViewStrategy('<template>' + template + '</template>');\n        var viewStrategyParams = { config: config, model: model };\n        this.dialog.open({\n          type: 'confirm',\n          title: 'Duplica record',\n          viewStrategy: viewStrategy,\n          viewStrategyParams: viewStrategyParams\n        }, true).whenClosed(function (response) {\n          console.log(viewStrategyParams.model);\n          if (!response.wasCancelled) {\n            duplicate(viewStrategyParams.model);\n          }\n        });\n      } else duplicate();\n    } else {\n      this.client.get(this.endpoint + '/' + (record.id || record.uuid), { meta: 0, depth: 0 }).then(function (x) {\n        var data = x.response;\n        delete data.id;\n        delete data.uuid;\n\n        if (_this12.routes.dialog) {\n          var childRoute = _this12.router.routes.filter(function (x) {\n            return x.name == (_this12.routes.edit || _this12.router.currentInstruction.config.name);\n          })[0];\n          _this12.dialog.open({\n            title: childRoute.title,\n            viewModel: childRoute.moduleId,\n            viewModelParams: { id: 'new', data: data }\n          }, true).whenClosed(function (response) {\n            if (!response.wasCancelled) {\n              _this12.load();\n            }\n          });\n        } else _this12.router.navigateToRoute(_this12.routes.edit || _this12.router.currentInstruction.config.name, { id: 'new', data: data });\n      });\n    }\n  };\n\n  KaTable.prototype.delete = function _delete(record) {\n    var _this13 = this;\n\n    if (this.routes.edit === false) return;\n    this.dialog.open({\n      type: 'confirm',\n      class: 'warning',\n      title: 'Elimina',\n      body: 'Eliminare definitivamente il record?'\n    }, true).whenClosed(function (response) {\n      if (!response.wasCancelled) {\n        _this13.client.delete(_this13.endpoint + '/' + (record.id || record.uuid)).then(function (x) {\n          _this13.toast.show('<strong>Record eliminato</strong>', 'success');\n          _this13.load();\n        }).catch(function (x) {\n          var error = JSON.parse(x.response).errors[0].msg;\n          _this13.toast.show('<strong>' + error + '</strong>', 'error');\n        });\n      }\n    });\n  };\n\n  KaTable.prototype.parse_response = function parse_response(msg) {\n    if (msg.responseType === 'json' && typeof msg.response === 'string') msg.response = JSON.parse(msg.response);\n    return msg.response;\n  };\n\n  return KaTable;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'records', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'export_schema', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'columns_schema', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'filters', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'endpoint', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'limit', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'depth', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'columns', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'filtrables', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, 'sortables', [_dec14], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor13 = _applyDecoratedDescriptor(_class2.prototype, 'editables', [_dec15], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, 'exportables', [_dec16], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, 'prefilter', [_dec17], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, 'sort', [_dec18], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor17 = _applyDecoratedDescriptor(_class2.prototype, 'routes', [_dec19], {\n  enumerable: true,\n  initializer: function initializer() {\n    return { add: null, edit: null, dialog: false, data: {} };\n  }\n}), _descriptor18 = _applyDecoratedDescriptor(_class2.prototype, 'actions', [_dec20], {\n  enumerable: true,\n  initializer: function initializer() {\n    return [\"filter\", \"export\", \"add\", \"edit\"];\n  }\n}), _descriptor19 = _applyDecoratedDescriptor(_class2.prototype, 'params', [_dec21], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor20 = _applyDecoratedDescriptor(_class2.prototype, 'query', [_dec22], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaTableFilters = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaTableFilters = exports.KaTableFilters = (_dec = (0, _aureliaFramework.customElement)('ka-table-filters'), _dec2 = (0, _aureliaFramework.containerless)(), _dec3 = (0, _aureliaFramework.inject)(Element), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = _dec3(_class = (_class2 = function () {\n  function KaTableFilters(element) {\n    _classCallCheck(this, KaTableFilters);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'filters', _descriptor2, this);\n\n    _initDefineProp(this, 'apply', _descriptor3, this);\n\n    _initDefineProp(this, 'reset', _descriptor4, this);\n\n    this._schema = null;\n\n    this.element = element;\n  }\n\n  KaTableFilters.prototype.schemaChanged = function schemaChanged(schema) {\n    schema = JSON.parse(JSON.stringify(schema));\n\n    if (!schema) {\n      konsole.warn('ka-table-filters: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-table-filters: invalid schema provided!', schema);\n        return;\n      }\n    }\n    if (!Array.isArray(schema) || !schema.length) {\n      konsole.error('ka-table-filters: schema must be an array of objects!', schema);\n      return;\n    }\n\n    for (var _iterator = schema, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var item = _ref;\n\n      item.placeholder = 'Filtra per ' + item.label.toLowerCase();\n      item.label = null;\n      item.required = false;\n    }\n\n    this._schema = schema;\n  };\n\n  return KaTableFilters;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'filters', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'apply', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return function () {};\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'reset', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return function () {};\n  }\n})), _class2)) || _class) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaTabs = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dec, _dec2, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaTabs = exports.KaTabs = (_dec = (0, _aureliaFramework.customElement)('ka-tabs'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router), _dec(_class = _dec2(_class = function () {\n  function KaTabs(element, router) {\n    _classCallCheck(this, KaTabs);\n\n    this.tabs = [];\n\n    this.element = element;\n    this.name = 'ka-tab-' + this.element.id;\n    this.router = router;\n  }\n\n  KaTabs.prototype.bind = function bind(bindingContext, overrideContext) {\n    this.parent = bindingContext;\n  };\n\n  KaTabs.prototype.attached = function attached() {\n    var _this = this;\n\n    this.init().then(function (tabs) {\n      var tab = tabs[0];\n      var queryParams = _this.router.currentInstruction.queryParams;\n      if (queryParams[_this.name]) tab = _this.tabs.find(function (item) {\n        return item.name === queryParams[_this.name];\n      }) || tab;\n      _this.select(tab);\n    });\n    this.element.style.display = 'block';\n    this.contents.style.display = 'block';\n    this.contents.style.position = 'relative';\n    this.contents.style.width = '100%';\n    this.contents.style.whiteSpace = 'nowrap';\n    this.contents.style.overflow = 'hidden';\n  };\n\n  KaTabs.prototype.init = function init() {\n    var _this2 = this;\n\n    this.tabs = [];\n    return new Promise(function (resolve, reject) {\n      var elements = Array.from(_this2.contents.children).filter(function (x) {\n        return x.matches('ka-tab');\n      });\n      for (var _iterator = elements, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n        var _ref;\n\n        if (_isArray) {\n          if (_i >= _iterator.length) break;\n          _ref = _iterator[_i++];\n        } else {\n          _i = _iterator.next();\n          if (_i.done) break;\n          _ref = _i.value;\n        }\n\n        var element = _ref;\n\n        element.style.opacity = '0';\n        element.style.width = '100%';\n        element.style.position = 'absolute';\n        element.style.top = '0';\n        element.style.left = '0';\n        element.style.transition = 'left 0.3s ease-in-out';\n        _this2.tabs.push({\n          element: element,\n          label: element.getAttribute('label') || element.dataset.label || element.id || 'tab-' + elements.indexOf(element),\n          name: element.id,\n          readonly: true,\n          visible: false\n        });\n      }\n      resolve(_this2.tabs);\n    });\n  };\n\n  KaTabs.prototype.isDialog = function isDialog() {\n    return this.parent && this.parent.params && this.parent.params.dialog;\n  };\n\n  KaTabs.prototype.select = function select(tab) {\n    var currentTab = this.current;\n    var current = this.tabs.indexOf(currentTab);\n    var index = this.tabs.indexOf(tab);\n\n    if (tab.element.id && !this.isDialog()) {\n      var queryParams = Object.assign({}, this.router.currentInstruction.params, this.router.currentInstruction.queryParams);\n      var route = this.router.currentInstruction.config;\n      queryParams[this.name] = tab.name;\n      this.router.navigateToRoute(route.name, queryParams, { trigger: false, replace: false });\n    }\n\n    for (var i in this.tabs) {\n      i = parseInt(i, 10);\n      var element = this.tabs[i].element;\n      if (i === index) {\n        element.style.position = 'relative';\n        element.style.left = '0';\n        this.tabs[i].visible = true;\n      } else if (i < index) {\n        element.style.position = 'absolute';\n        element.style.left = '-100%';\n        this.tabs[i].visible = false;\n      } else if (i > index) {\n        element.style.position = 'absolute';\n        element.style.left = '100%';\n        this.tabs[i].visible = false;\n      }\n      if (i === current || i === index) element.style.opacity = '1';else element.style.opacity = '0';\n    }\n  };\n\n  _createClass(KaTabs, [{\n    key: 'current',\n    get: function get() {\n      return this.tabs.find(function (item) {\n        return item.visible;\n      });\n    }\n  }]);\n\n  return KaTabs;\n}()) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaToast = exports.KaToast = function () {\n  function KaToast() {\n    _classCallCheck(this, KaToast);\n\n    this.duration = 4000;\n    this.transition = 500;\n    this.hold = false;\n    this.stack = [];\n  }\n\n  KaToast.prototype.show = function show() {\n    var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    var elementClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n    var hold = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    this.stack.push({ message: message, elementClass: elementClass, hold: hold });\n    this.consume();\n  };\n\n  KaToast.prototype.consume = function consume() {\n    var _this = this;\n\n    if (this.holdedElement) {\n      this.holdedElement.remove();\n      this.hold = false;\n      this.holdedElement = null;\n    }\n    if (this.stack.length && !this.hold) {\n      this.hold = true;\n      var current = this.stack.shift();\n      var element = document.createElement('div');\n      element.classList.add('ka-toast');\n      element.classList.add('ka-toast-' + current.elementClass);\n      element.innerHTML = current.message;\n      document.body.append(element);\n\n      setTimeout(function () {\n        element.classList.add('visible');\n      }, this.transition);\n\n      if (!current.hold) {\n        this.holdedElement = null;\n        setTimeout(function () {\n          element.classList.remove('visible');\n          setTimeout(function () {\n            element.remove();\n            _this.hold = false;\n            _this.consume();\n          }, _this.transition);\n        }, this.duration - this.transition);\n      } else {\n        this.holdedElement = element;\n      }\n    }\n  };\n\n  return KaToast;\n}();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaTooltipCustomAttribute = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require(\"aurelia-framework\");\n\nvar _dom = require(\"@floating-ui/dom\");\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaTooltipCustomAttribute = exports.KaTooltipCustomAttribute = (_dec = (0, _aureliaFramework.customAttribute)(\"ka-tooltip\"), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)({ primaryProperty: true }), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaTooltipCustomAttribute(element) {\n    _classCallCheck(this, KaTooltipCustomAttribute);\n\n    _initDefineProp(this, \"value\", _descriptor, this);\n\n    _initDefineProp(this, \"style\", _descriptor2, this);\n\n    _initDefineProp(this, \"placement\", _descriptor3, this);\n\n    this.element = element;\n  }\n\n  KaTooltipCustomAttribute.prototype.attached = function attached() {\n    var _this = this;\n\n    this.element.addEventListener(\"mouseenter\", function (e) {\n      if (_this.tooltip || !_this.value || !_this.value.trim().length) return;\n      _this.tooltip = document.createElement(\"div\");\n      _this.tooltip.role = \"tooltip\";\n      _this.tooltip.classList.add(\"ka-tooltip\");\n      if (_this.style) _this.tooltip.classList.add(_this.style);\n      _this.tooltip.innerHTML = \"<div class=\\\"value\\\">\" + _this.value + \"</div><div class=\\\"arrow\\\"></div>\";\n      document.getElementsByTagName(\"body\")[0].insertBefore(_this.tooltip, document.getElementsByTagName(\"body\")[0].children[0]);\n\n      setTimeout(function () {\n        if (!_this.tooltip) return;\n        _this.tooltip.classList.add(\"visible\");\n        var arrowElement = _this.tooltip.querySelector(\"div.arrow\");\n        (0, _dom.computePosition)(e.target, _this.tooltip, {\n          placement: _this.placement,\n          middleware: [(0, _dom.offset)(5), (0, _dom.flip)(), (0, _dom.shift)({ padding: 5 }), (0, _dom.arrow)({ element: arrowElement, padding: 10 })]\n        }).then(function (_ref) {\n          var _Object$assign;\n\n          var x = _ref.x,\n              y = _ref.y,\n              placement = _ref.placement,\n              middlewareData = _ref.middlewareData;\n\n          Object.assign(_this.tooltip.style, {\n            left: x + \"px\",\n            top: y + \"px\"\n          });\n          var _middlewareData$arrow = middlewareData.arrow,\n              arrowX = _middlewareData$arrow.x,\n              arrowY = _middlewareData$arrow.y;\n\n          var staticSide = {\n            top: 'bottom',\n            right: 'left',\n            bottom: 'top',\n            left: 'right'\n          }[placement.split('-')[0]];\n          Object.assign(arrowElement.style, (_Object$assign = {\n            left: arrowX != null ? arrowX + \"px\" : '',\n            top: arrowY != null ? arrowY + \"px\" : '',\n            right: '',\n            bottom: ''\n          }, _Object$assign[staticSide] = '-4px', _Object$assign));\n        });\n      }, 1000);\n    });\n    this.element.addEventListener(\"mouseleave\", function (e) {\n      if (!_this.tooltip) return;\n      document.getElementsByTagName(\"body\")[0].removeChild(_this.tooltip);\n      _this.tooltip = null;\n    });\n  };\n\n  KaTooltipCustomAttribute.prototype.detached = function detached() {\n    if (!this.tooltip) return;\n    document.getElementsByTagName(\"body\")[0].removeChild(this.tooltip);\n    this.tooltip = null;\n  };\n\n  return KaTooltipCustomAttribute;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"value\", [_dec3], {\n  enumerable: true,\n  initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, \"style\", [_dec4], {\n  enumerable: true,\n  initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, \"placement\", [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return \"top\";\n  }\n})), _class2)) || _class) || _class);","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      ...clippingAncestor,\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n      // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n  let htmlX = 0;\n  let htmlY = 0;\n  if (documentElement && !isOffsetParentAnElement && !isFixed) {\n    const htmlRect = documentElement.getBoundingClientRect();\n    htmlY = htmlRect.top + scroll.scrollTop;\n    htmlX = htmlRect.left + scroll.scrollLeft -\n    // RTL <body> scrollbar.\n    getWindowScrollBarX(documentElement, htmlRect);\n  }\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlX;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlY;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = element.getBoundingClientRect();\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/*!\n * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md.\n */\n(function(t){const e=t[\"it\"]=t[\"it\"]||{};e.dictionary=Object.assign(e.dictionary||{},{\"%0 of %1\":\"%0 di %1\",\"Align center\":\"Allinea al centro\",\"Align left\":\"Allinea a sinistra\",\"Align right\":\"Allinea a destra\",\"Block quote\":\"Blocco citazione\",Bold:\"Grassetto\",\"Bulleted List\":\"Elenco puntato\",Cancel:\"Annulla\",\"Centered image\":\"Immagine centrata\",\"Change image text alternative\":\"Cambia testo alternativo dell'immagine\",\"Choose heading\":\"Seleziona intestazione\",Code:\"Codice\",Column:\"Colonna\",\"Decrease indent\":\"Riduci rientro\",\"Delete column\":\"Elimina colonna\",\"Delete row\":\"Elimina riga\",Downloadable:\"Scaricabile\",\"Dropdown toolbar\":\"Barra degli strumenti del menu a discesa\",\"Edit link\":\"Modifica collegamento\",\"Editor toolbar\":\"Barra degli strumenti dell'editor\",\"Enter image caption\":\"inserire didascalia dell'immagine\",\"Full size image\":\"Immagine a dimensione intera\",\"Header column\":\"Intestazione colonna\",\"Header row\":\"Riga d'intestazione\",Heading:\"Intestazione\",\"Heading 1\":\"Intestazione 1\",\"Heading 2\":\"Intestazione 2\",\"Heading 3\":\"Intestazione 3\",\"Heading 4\":\"Intestazione 4\",\"Heading 5\":\"Intestazione 5\",\"Heading 6\":\"Intestazione 6\",\"Image toolbar\":\"Barra degli strumenti dell'immagine\",\"image widget\":\"Widget immagine\",\"Increase indent\":\"Aumenta rientro\",\"Insert column left\":\"Inserisci colonna a sinistra\",\"Insert column right\":\"Inserisci colonna a destra\",\"Insert image\":\"Inserisci immagine\",\"Insert media\":\"Inserisci media\",\"Insert paragraph after block\":\"\",\"Insert paragraph before block\":\"\",\"Insert row above\":\"Inserisci riga sopra\",\"Insert row below\":\"Inserisci riga sotto\",\"Insert table\":\"Inserisci tabella\",Italic:\"Corsivo\",Justify:\"Giustifica\",\"Left aligned image\":\"Immagine allineata a sinistra\",Link:\"Collegamento\",\"Link URL\":\"URL del collegamento\",\"Media URL\":\"URL media\",\"media widget\":\"widget media\",\"Merge cell down\":\"Unisci cella sotto\",\"Merge cell left\":\"Unisci cella a sinistra\",\"Merge cell right\":\"Unisci cella a destra\",\"Merge cell up\":\"Unisci cella sopra\",\"Merge cells\":\"Unisci celle\",Next:\"Avanti\",\"Numbered List\":\"Elenco numerato\",\"Open in a new tab\":\"Apri in una nuova scheda\",\"Open link in new tab\":\"Apri collegamento in nuova scheda\",Paragraph:\"Paragrafo\",\"Paste the media URL in the input.\":\"Incolla l'URL del file multimediale nell'input.\",Previous:\"Indietro\",Redo:\"Ripristina\",\"Remove Format\":\"Rimuovi formato\",\"Rich Text Editor\":\"Editor di testo formattato\",\"Rich Text Editor, %0\":\"Editor di testo formattato, %0\",\"Right aligned image\":\"Immagine allineata a destra\",Row:\"Riga\",Save:\"Salva\",\"Select all\":\"Seleziona tutto\",\"Select column\":\"Seleziona colonna\",\"Select row\":\"Seleziona riga\",\"Show more items\":\"Mostra più elementi\",\"Side image\":\"Immagine laterale\",\"Split cell horizontally\":\"Dividi cella orizzontalmente\",\"Split cell vertically\":\"Dividi cella verticalmente\",Strikethrough:\"Barrato\",Subscript:\"Pedice\",Superscript:\"Apice\",\"Table toolbar\":\"Barra degli strumenti della tabella\",\"Text alignment\":\"Allineamento del testo\",\"Text alignment toolbar\":\"Barra degli strumenti dell'allineamento\",\"Text alternative\":\"Testo alternativo\",\"The URL must not be empty.\":\"L'URL non può essere vuoto.\",\"This link has no URL\":\"Questo collegamento non ha un URL\",\"This media URL is not supported.\":\"Questo URL di file multimediali non è supportato.\",\"Tip: Paste the URL into the content to embed faster.\":\"Consiglio: incolla l'URL nel contenuto per un'incorporazione più veloce.\",Undo:\"Annulla\",Unlink:\"Elimina collegamento\",\"Upload failed\":\"Caricamento fallito\",\"Upload in progress\":\"Caricamento in corso\",\"Widget toolbar\":\"Barra degli strumenti del widget\"});e.getPluralForm=function(t){return t!=1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));(function t(e,n){if(typeof exports===\"object\"&&typeof module===\"object\")module.exports=n();else if(typeof define===\"function\"&&define.amd)define([],n);else if(typeof exports===\"object\")exports[\"ClassicEditor\"]=n();else e[\"ClassicEditor\"]=n()})(window,(function(){return function(t){var e={};function n(i){if(e[i]){return e[i].exports}var o=e[i]={i:i,l:false,exports:{}};t[i].call(o.exports,o,o.exports,n);o.l=true;return o.exports}n.m=t;n.c=e;n.d=function(t,e,i){if(!n.o(t,e)){Object.defineProperty(t,e,{enumerable:true,get:i})}};n.r=function(t){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(t,\"__esModule\",{value:true})};n.t=function(t,e){if(e&1)t=n(t);if(e&8)return t;if(e&4&&typeof t===\"object\"&&t&&t.__esModule)return t;var i=Object.create(null);n.r(i);Object.defineProperty(i,\"default\",{enumerable:true,value:t});if(e&2&&typeof t!=\"string\")for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i};n.n=function(t){var e=t&&t.__esModule?function e(){return t[\"default\"]}:function e(){return t};n.d(e,\"a\",e);return e};n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};n.p=\"\";return n(n.s=102)}([function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return o}));n.d(e,\"a\",(function(){return s}));const i=\"https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html\";class o extends Error{constructor(t,e,n){t=s(t);if(n){t+=\" \"+JSON.stringify(n)}super(t);this.name=\"CKEditorError\";this.context=e;this.data=n}is(t){return t===\"CKEditorError\"}static rethrowUnexpectedError(t,e){if(t.is&&t.is(\"CKEditorError\")){throw t}const n=new o(t.message,e);n.stack=t.stack;throw n}}function s(t){const e=t.match(/^([^:]+):/);if(!e){return t}return t+` Read more: ${i}#error-${e[1]}\\n`}},function(t,e,n){\"use strict\";var i=function t(){var e;return function t(){if(typeof e===\"undefined\"){e=Boolean(window&&document&&document.all&&!window.atob)}return e}}();var o=function t(){var e={};return function t(n){if(typeof e[n]===\"undefined\"){var i=document.querySelector(n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement){try{i=i.contentDocument.head}catch(t){i=null}}e[n]=i}return e[n]}}();var s=[];function r(t){var e=-1;for(var n=0;n<s.length;n++){if(s[n].identifier===t){e=n;break}}return e}function a(t,e){var n={};var i=[];for(var o=0;o<t.length;o++){var a=t[o];var c=e.base?a[0]+e.base:a[0];var l=n[c]||0;var d=\"\".concat(c,\" \").concat(l);n[c]=l+1;var u=r(d);var h={css:a[1],media:a[2],sourceMap:a[3]};if(u!==-1){s[u].references++;s[u].updater(h)}else{s.push({identifier:d,updater:m(h,e),references:1})}i.push(d)}return i}function c(t){var e=document.createElement(\"style\");var i=t.attributes||{};if(typeof i.nonce===\"undefined\"){var s=true?n.nc:undefined;if(s){i.nonce=s}}Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])}));if(typeof t.insert===\"function\"){t.insert(e)}else{var r=o(t.insert||\"head\");if(!r){throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\")}r.appendChild(e)}return e}function l(t){if(t.parentNode===null){return false}t.parentNode.removeChild(t)}var d=function t(){var e=[];return function t(n,i){e[n]=i;return e.filter(Boolean).join(\"\\n\")}}();function u(t,e,n,i){var o=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet){t.styleSheet.cssText=d(e,o)}else{var s=document.createTextNode(o);var r=t.childNodes;if(r[e]){t.removeChild(r[e])}if(r.length){t.insertBefore(s,r[e])}else{t.appendChild(s)}}}function h(t,e,n){var i=n.css;var o=n.media;var s=n.sourceMap;if(o){t.setAttribute(\"media\",o)}else{t.removeAttribute(\"media\")}if(s&&btoa){i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s)))),\" */\")}if(t.styleSheet){t.styleSheet.cssText=i}else{while(t.firstChild){t.removeChild(t.firstChild)}t.appendChild(document.createTextNode(i))}}var f=null;var g=0;function m(t,e){var n;var i;var o;if(e.singleton){var s=g++;n=f||(f=c(e));i=u.bind(null,n,s,false);o=u.bind(null,n,s,true)}else{n=c(e);i=h.bind(null,n,e);o=function t(){l(n)}}i(t);return function e(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap){return}i(t=n)}else{o()}}}t.exports=function(t,e){e=e||{};if(!e.singleton&&typeof e.singleton!==\"boolean\"){e.singleton=i()}t=t||[];var n=a(t,e);return function t(i){i=i||[];if(Object.prototype.toString.call(i)!==\"[object Array]\"){return}for(var o=0;o<n.length;o++){var c=n[o];var l=r(c);s[l].references--}var d=a(i,e);for(var u=0;u<n.length;u++){var h=n[u];var f=r(h);if(s[f].references===0){s[f].updater();s.splice(f,1)}}n=d}}},,function(t,e,n){\"use strict\";var i=n(7);var o=typeof self==\"object\"&&self&&self.Object===Object&&self;var s=i[\"a\"]||o||Function(\"return this\")();e[\"a\"]=s},function(t,e,n){\"use strict\";(function(t){var i=n(3);var o=n(13);var s=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var r=s&&typeof t==\"object\"&&t&&!t.nodeType&&t;var a=r&&r.exports===s;var c=a?i[\"a\"].Buffer:undefined;var l=c?c.isBuffer:undefined;var d=l||o[\"a\"];e[\"a\"]=d}).call(this,n(9)(t))},function(t,e,n){\"use strict\";(function(t){var i=n(7);var o=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var s=o&&typeof t==\"object\"&&t&&!t.nodeType&&t;var r=s&&s.exports===o;var a=r&&i[\"a\"].process;var c=function(){try{var t=s&&s.require&&s.require(\"util\").types;if(t){return t}return a&&a.binding&&a.binding(\"util\")}catch(t){}}();e[\"a\"]=c}).call(this,n(9)(t))},function(t,e,n){\"use strict\";(function(t){var e=n(0);const i=\"19.1.1\";const o=typeof window===\"object\"?window:t;if(o.CKEDITOR_VERSION){throw new e[\"b\"](\"ckeditor-duplicated-modules: Some CKEditor 5 modules are duplicated.\",null)}else{o.CKEDITOR_VERSION=i}}).call(this,n(10))},function(t,e,n){\"use strict\";(function(t){var n=typeof t==\"object\"&&t&&t.Object===Object&&t;e[\"a\"]=n}).call(this,n(10))},function(t,e,n){\"use strict\";(function(t){var i=n(3);var o=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var s=o&&typeof t==\"object\"&&t&&!t.nodeType&&t;var r=s&&s.exports===o;var a=r?i[\"a\"].Buffer:undefined,c=a?a.allocUnsafe:undefined;function l(t,e){if(e){return t.slice()}var n=t.length,i=c?c(n):new t.constructor(n);t.copy(i);return i}e[\"a\"]=l}).call(this,n(9)(t))},function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);if(!e.children)e.children=[];Object.defineProperty(e,\"loaded\",{enumerable:true,get:function(){return e.l}});Object.defineProperty(e,\"id\",{enumerable:true,get:function(){return e.i}});Object.defineProperty(e,\"exports\",{enumerable:true});e.webpackPolyfill=1}return e}},function(t,e){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){if(typeof window===\"object\")n=window}t.exports=n},function(t,e,n){var i=n(1);var o=n(46);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e,n){var i=n(1);var o=n(47);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e,n){\"use strict\";function i(){return false}e[\"a\"]=i},function(t,e,n){var i=n(1);var o=n(15);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-placeholder:before,.ck .ck-placeholder:before{content:attr(data-placeholder);pointer-events:none}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-placeholder:before,.ck .ck-placeholder:before{cursor:text;color:var(--ck-color-engine-placeholder-text)}\"},function(t,e,n){var i=n(1);var o=n(17);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-hidden{display:none!important}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{box-sizing:border-box;width:auto;height:auto;position:static}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999);--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#c4c4c4;--ck-color-base-action:#61b045;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#198cf0;--ck-color-base-active-focus:#0e7fe1;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:208,79%,51%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#bcdefb;--ck-color-focus-disabled-shadow:rgba(119,186,248,0.3);--ck-color-focus-error-shadow:rgba(255,64,31,0.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,0.15);--ck-color-shadow-drop-active:rgba(0,0,0,0.2);--ck-color-shadow-inner:rgba(0,0,0,0.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#e6e6e6;--ck-color-button-default-active-background:#d9d9d9;--ck-color-button-default-active-shadow:#bfbfbf;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#dedede;--ck-color-button-on-hover-background:#c4c4c4;--ck-color-button-on-active-background:#bababa;--ck-color-button-on-active-shadow:#a1a1a1;--ck-color-button-on-disabled-background:#dedede;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#579e3d;--ck-color-button-action-active-background:#53973b;--ck-color-button-action-active-shadow:#498433;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#b0b0b0;--ck-color-switch-button-off-hover-background:#a3a3a3;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#579e3d;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,0.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:#c7c7c7;--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:#c7c7c7;--ck-color-input-disabled-text:#5c5c5c;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-base-active);--ck-color-list-button-on-background-focus:var(--ck-color-base-active-focus);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-foreground);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,177,255,0.1);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;vertical-align:middle;transition:none;word-wrap:break-word}.ck.ck-reset_all,.ck.ck-reset_all *{border-collapse:collapse;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);color:var(--ck-color-text);text-align:left;white-space:nowrap;cursor:auto;float:none}.ck.ck-reset_all .ck-rtl *{text-align:right}.ck.ck-reset_all iframe{vertical-align:inherit}.ck.ck-reset_all textarea{white-space:pre-wrap}.ck.ck-reset_all input[type=password],.ck.ck-reset_all input[type=text],.ck.ck-reset_all textarea{cursor:text}.ck.ck-reset_all input[type=password][disabled],.ck.ck-reset_all input[type=text][disabled],.ck.ck-reset_all textarea[disabled]{cursor:default}.ck.ck-reset_all fieldset{padding:10px;border:2px groove #dfdee3}.ck.ck-reset_all button::-moz-focus-inner{padding:0;border:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}\"},function(t,e,n){var i=n(1);var o=n(19);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}.ck.ck-editor__editable_inline{overflow:auto;padding:0 var(--ck-spacing-standard);border:1px solid transparent}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}\"},function(t,e,n){var i=n(1);var o=n(21);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}\"},function(t,e,n){var i=n(1);var o=n(23);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{z-index:var(--ck-z-modal);position:fixed;top:0}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{top:auto;position:absolute}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:var(--ck-drop-shadow),0 0;border-width:0 1px 1px;border-top-left-radius:0;border-top-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(25);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip{display:none}.ck.ck-dropdown .ck-dropdown__panel{-webkit-backface-visibility:hidden;display:none;z-index:var(--ck-z-modal);position:absolute}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{top:100%;bottom:auto}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}:root{--ck-dropdown-arrow-size:calc(0.5*var(--ck-icon-size))}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{width:7em;overflow:hidden;text-overflow:ellipsis}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0;background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(27);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{width:var(--ck-icon-size);height:var(--ck-icon-size);font-size:.8333350694em;will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}\"},function(t,e,n){var i=n(1);var o=n(29);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck.ck-tooltip,.ck.ck-tooltip .ck-tooltip__text:after{position:absolute;pointer-events:none;-webkit-backface-visibility:hidden}.ck.ck-tooltip{visibility:hidden;opacity:0;display:none;z-index:var(--ck-z-modal)}.ck.ck-tooltip .ck-tooltip__text{display:inline-block}.ck.ck-tooltip .ck-tooltip__text:after{content:\"\";width:0;height:0}:root{--ck-tooltip-arrow-size:5px}.ck.ck-tooltip{left:50%;top:0;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip .ck-tooltip__text{border-radius:0}.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text,.ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-tooltip .ck-tooltip__text{font-size:.9em;line-height:1.5;color:var(--ck-color-tooltip-text);padding:var(--ck-spacing-small) var(--ck-spacing-medium);background:var(--ck-color-tooltip-background);position:relative;left:-50%}.ck.ck-tooltip .ck-tooltip__text:after{transition:opacity .2s ease-in-out .2s;border-style:solid;left:50%}.ck.ck-tooltip.ck-tooltip_s{bottom:calc(-1*var(--ck-tooltip-arrow-size));transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after{top:calc(-1*var(--ck-tooltip-arrow-size));transform:translateX(-50%);border-left-color:transparent;border-bottom-color:var(--ck-color-tooltip-background);border-right-color:transparent;border-top-color:transparent;border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:var(--ck-tooltip-arrow-size);border-top-width:0}.ck.ck-tooltip.ck-tooltip_n{top:calc(-1*var(--ck-tooltip-arrow-size));transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{bottom:calc(-1*var(--ck-tooltip-arrow-size));transform:translateX(-50%);border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;border-top-color:var(--ck-color-tooltip-background);border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:0;border-right-width:var(--ck-tooltip-arrow-size);border-top-width:var(--ck-tooltip-arrow-size)}'},function(t,e,n){var i=n(1);var o=n(31);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-button,a.ck.ck-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:block}@media (hover:none){.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:none}}.ck.ck-button,a.ck.ck-button{position:relative;display:inline-flex;align-items:center;justify-content:left}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button:hover .ck-tooltip,a.ck.ck-button:hover .ck-tooltip{visibility:visible;opacity:1}.ck.ck-button:focus:not(:hover) .ck-tooltip,a.ck.ck-button:focus:not(:hover) .ck-tooltip{display:none}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-default-active-shadow)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{white-space:nowrap;cursor:default;vertical-align:middle;padding:var(--ck-spacing-tiny);text-align:center;min-width:var(--ck-ui-component-min-height);min-height:var(--ck-ui-component-min-height);line-height:1;font-size:inherit;border:1px solid transparent;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;-webkit-appearance:none}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__icon{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(-1*var(--ck-spacing-small));margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:calc(-1*var(--ck-spacing-small));margin-left:var(--ck-spacing-small)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-on-active-shadow)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-action-active-shadow)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}\"},function(t,e,n){var i=n(1);var o=n(33);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-list{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{list-style-type:none;background:var(--ck-color-list-background)}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{min-height:unset;width:100%;text-align:left;border-radius:0;padding:calc(0.2*var(--ck-line-height-base)*var(--ck-font-size-base)) calc(0.4*var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(1.2*var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{height:1px;width:100%;background:var(--ck-color-base-border)}\"},function(t,e,n){var i=n(1);var o=n(35);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:1.0769230769em;--ck-switch-button-toggle-spacing:1px;--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2*var(--ck-switch-button-toggle-spacing))}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(2*var(--ck-spacing-large))}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(2*var(--ck-spacing-large))}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{transition:background .4s ease;width:var(--ck-switch-button-toggle-width);background:var(--ck-color-switch-button-off-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(0.5*var(--ck-border-radius))}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{margin:var(--ck-switch-button-toggle-spacing);width:var(--ck-switch-button-toggle-inner-size);height:var(--ck-switch-button-toggle-inner-size);background:var(--ck-color-switch-button-inner-background);transition:all .3s ease}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var(--ck-switch-button-translation))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(-1*var(--ck-switch-button-translation)))}\"},function(t,e,n){var i=n(1);var o=n(37);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-toolbar-dropdown .ck.ck-toolbar .ck.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar-dropdown .ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}\"},function(t,e,n){var i=n(1);var o=n(39);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(41);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-toolbar{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-flow:row nowrap;align-items:center}.ck.ck-toolbar>.ck-toolbar__items{display:flex;flex-flow:row wrap;align-items:center;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);padding:0 var(--ck-spacing-small);border:1px solid var(--ck-color-toolbar-border)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;width:1px;min-width:1px;margin-top:0;margin-bottom:0;background:var(--ck-color-toolbar-border)}.ck.ck-toolbar>.ck-toolbar__items>*{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>*,.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{width:100%;margin:0;border-radius:0;border:0}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-right:var(--ck-spacing-small)}\"},function(t,e,n){var i=n(1);var o=n(43);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}\"},function(t,e,n){var i=n(1);var o=n(45);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content blockquote{overflow:hidden;padding-right:1.5em;padding-left:1.5em;margin-left:0;margin-right:0;font-style:italic;border-left:5px solid #ccc}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}\"},function(t,e){t.exports=\".ck-content code{background-color:hsla(0,0%,78%,.3);padding:.15em;border-radius:2px}\"},function(t,e){t.exports=\".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}\"},function(t,e,n){var i=n(1);var o=n(49);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:\"\";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{width:0;height:0;border-style:solid}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:var(--ck-balloon-arrow-height);border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:0}.ck.ck-balloon-panel[class*=arrow_n]:before{border-bottom-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background);margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:0;border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-top-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.ck.ck-balloon-panel[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background);margin-bottom:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(-1*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{left:50%;margin-left:calc(-1*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{left:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{right:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{right:25%;margin-right:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{left:25%;margin-left:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{right:25%;margin-right:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}'},function(t,e,n){var i=n(1);var o=n(51);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck .ck-widget .ck-widget__type-around__button{display:block;position:absolute;overflow:hidden;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{position:absolute;top:50%;left:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{top:calc(-0.5*var(--ck-widget-outline-thickness));left:min(10%,30px);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(-0.5*var(--ck-widget-outline-thickness));right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget:not(.ck-widget_can-type-around_after)>.ck-widget__type-around>.ck-widget__type-around__button_after,.ck .ck-widget:not(.ck-widget_can-type-around_before)>.ck-widget__type-around>.ck-widget__type-around__button_before{display:none}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:\"\";display:block;position:absolute;top:1px;left:1px;z-index:calc(var(--ck-z-default) + 1)}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{width:var(--ck-widget-type-around-button-size);height:var(--ck-widget-type-around-button-size);background:var(--ck-color-widget-type-around-button);border-radius:100px;pointer-events:none;opacity:0;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget .ck-widget__type-around__button svg{width:10px;height:8px;transform:translate(-50%,-50%);transition:transform .5s ease;margin-top:1px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{pointer-events:auto;opacity:1}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{width:calc(var(--ck-widget-type-around-button-size) - 2px);height:calc(var(--ck-widget-type-around-button-size) - 2px);border-radius:100px;background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3))}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{pointer-events:none;opacity:0}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}'},function(t,e,n){var i=n(1);var o=n(53);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-resizer-size:10px;--ck-resizer-border-width:1px;--ck-resizer-border-radius:2px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-tooltip-offset:10px;--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);color:var(--ck-color-resizer-tooltip-text);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);font-size:var(--ck-font-size-tiny);display:block;padding:var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{top:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{top:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-width:var(--ck-widget-outline-thickness);outline-style:solid;outline-color:transparent;transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;background-color:var(--ck-color-widget-editable-focus-background)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{padding:4px;box-sizing:border-box;background-color:transparent;opacity:0;transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;transform:translateY(-100%);left:calc(0px - var(--ck-widget-outline-thickness))}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{width:var(--ck-widget-handler-icon-size);height:var(--ck-widget-handler-icon-size);color:var(--ck-color-widget-drag-handler-icon-color)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-focus-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}\"},function(t,e,n){var i=n(1);var o=n(55);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view>.ck.ck-label{width:100%;text-overflow:ellipsis;overflow:hidden}\"},function(t,e,n){var i=n(1);var o=n(57);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-input-text-width:18em}.ck.ck-input-text{border-radius:0}.ck-rounded-corners .ck.ck-input-text,.ck.ck-input-text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-text{box-shadow:var(--ck-inner-shadow),0 0;background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);min-width:var(--ck-input-text-width);min-height:var(--ck-ui-component-min-height);transition:box-shadow .2s ease-in-out,border .2s ease-in-out}.ck.ck-input-text:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),var(--ck-inner-shadow)}.ck.ck-input-text[readonly]{border:1px solid var(--ck-color-input-disabled-border);background:var(--ck-color-input-disabled-background);color:var(--ck-color-input-disabled-text)}.ck.ck-input-text[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),var(--ck-inner-shadow)}.ck.ck-input-text.ck-error{border-color:var(--ck-color-input-error-border);animation:ck-text-input-shake .3s ease both}.ck.ck-input-text.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),var(--ck-inner-shadow)}@keyframes ck-text-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}\"},function(t,e,n){var i=n(1);var o=n(59);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}.ck.ck-text-alternative-form{padding:var(--ck-spacing-standard)}.ck.ck-text-alternative-form:focus{outline:none}[dir=ltr] .ck.ck-text-alternative-form>:not(:first-child),[dir=rtl] .ck.ck-text-alternative-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-text-alternative-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-text-alternative-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-text-alternative-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-text-alternative-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-text-alternative-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-text-alternative-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-text-alternative-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-text-alternative-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(61);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-balloon-rotator__navigation{display:flex;align-items:center;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-small)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}\"},function(t,e,n){var i=n(1);var o=n(63);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);width:100%;height:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}\"},function(t,e,n){var i=n(1);var o=n(65);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image{display:table;clear:both;text-align:center;margin:1em auto}.ck-content .image>img{display:block;margin:0 auto;max-width:100%;min-width:50px}\"},function(t,e,n){var i=n(1);var o=n(67);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:#333;background-color:#f7f7f7;padding:.6em;font-size:.75em;outline-offset:-1px}\"},function(t,e,n){var i=n(1);var o=n(69);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;position:absolute;pointer-events:none;left:0;top:0;outline:1px solid var(--ck-color-resizer)}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{position:absolute;pointer-events:all;width:var(--ck-resizer-size);height:var(--ck-resizer-size);background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{top:var(--ck-resizer-offset);left:var(--ck-resizer-offset);cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{top:var(--ck-resizer-offset);right:var(--ck-resizer-offset);cursor:nesw-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset);cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset);cursor:nesw-resize}\"},function(t,e,n){var i=n(1);var o=n(71);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image.image_resized{max-width:100%;display:block;box-sizing:border-box}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}\"},function(t,e,n){var i=n(1);var o=n(73);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-image-style-spacing:1.5em}.ck-content .image-style-align-center,.ck-content .image-style-align-left,.ck-content .image-style-align-right,.ck-content .image-style-side{max-width:50%}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}\"},function(t,e,n){var i=n(1);var o=n(75);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-editor__editable .image{position:relative}.ck.ck-editor__editable .image .ck-progress-bar{position:absolute;top:0;left:0}.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar{height:2px;width:0;background:var(--ck-color-upload-bar-background);transition:width .1s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\"},function(t,e,n){var i=n(1);var o=n(77);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck-image-upload-complete-icon{display:block;position:absolute;top:10px;right:10px;border-radius:50%}.ck-image-upload-complete-icon:after{content:\"\";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20px;--ck-image-upload-icon-width:2px}.ck-image-upload-complete-icon{width:var(--ck-image-upload-icon-size);height:var(--ck-image-upload-icon-size);opacity:0;background:var(--ck-color-image-upload-icon-background);animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;animation-fill-mode:forwards,forwards;animation-duration:.5s,.5s;font-size:var(--ck-image-upload-icon-size);animation-delay:0ms,3s}.ck-image-upload-complete-icon:after{left:25%;top:50%;opacity:0;height:0;width:0;transform:scaleX(-1) rotate(135deg);transform-origin:left top;border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);animation-name:ck-upload-complete-icon-check;animation-duration:.5s;animation-delay:.5s;animation-fill-mode:forwards;box-sizing:border-box}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{opacity:1;width:0;height:0}33%{width:.3em;height:0}to{opacity:1;width:.3em;height:.45em}}'},function(t,e,n){var i=n(1);var o=n(79);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck .ck-upload-placeholder-loader{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0}.ck .ck-upload-placeholder-loader:before{content:\"\";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px}.ck .ck-image-upload-placeholder{width:100%;margin:0}.ck .ck-upload-placeholder-loader{width:100%;height:100%}.ck .ck-upload-placeholder-loader:before{width:var(--ck-upload-placeholder-loader-size);height:var(--ck-upload-placeholder-loader-size);border-radius:50%;border-top:3px solid var(--ck-color-upload-placeholder-loader);border-right:2px solid transparent;animation:ck-upload-placeholder-loader 1s linear infinite}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}'},function(t,e,n){var i=n(1);var o=n(81);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}\"},function(t,e,n){var i=n(1);var o=n(83);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form{padding:var(--ck-spacing-standard)}.ck.ck-link-form:focus{outline:none}[dir=ltr] .ck.ck-link-form>:not(:first-child),[dir=rtl] .ck.ck-link-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-link-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-link-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}.ck.ck-link-form_layout-vertical{padding:0;min-width:var(--ck-input-text-width)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical .ck-button{padding:var(--ck-spacing-standard);margin:0;border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border);width:50%}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin-left:0}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}\"},function(t,e,n){var i=n(1);var o=n(85);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions{padding:var(--ck-spacing-standard)}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{padding:0 var(--ck-spacing-medium);color:var(--ck-color-link-default);text-overflow:ellipsis;cursor:pointer;max-width:var(--ck-input-text-width);min-width:3em;text-align:center}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}.ck.ck-link-actions:focus{outline:none}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{min-width:0;max-width:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(87);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck-media__wrapper .ck-media__placeholder{display:flex;flex-direction:column;align-items:center}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:block}@media (hover:none){.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:none}}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip{visibility:visible;opacity:1}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{overflow:hidden;display:block}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{padding:calc(3*var(--ck-spacing-standard));background:var(--ck-color-base-foreground)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{min-width:var(--ck-media-embed-placeholder-icon-size);height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);background-position:50%;background-size:cover}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{width:100%;height:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);white-space:nowrap;text-align:center;font-style:italic;text-overflow:ellipsis}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*=\"open.spotify.com\"]{max-width:300px;max-height:380px}.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMDAzLjc4IDEuNjFoNDkuNjIxYzEuNjk0IDAgMy4xOS0uNzk4IDQuMTQ2LTIuMDM3eiIgZmlsbD0iIzVjODhjNSIvPjxwYXRoIGQ9Ik0yMjYuNzQyIDIyMi45ODhjLTkuMjY2IDAtMTYuNzc3IDcuMTctMTYuNzc3IDE2LjAxNC4wMDcgMi43NjIuNjYzIDUuNDc0IDIuMDkzIDcuODc1LjQzLjcwMy44MyAxLjQwOCAxLjE5IDIuMTA3LjMzMy41MDIuNjUgMS4wMDUuOTUgMS41MDguMzQzLjQ3Ny42NzMuOTU3Ljk4OCAxLjQ0IDEuMzEgMS43NjkgMi41IDMuNTAyIDMuNjM3IDUuMTY4Ljc5MyAxLjI3NSAxLjY4MyAyLjY0IDIuNDY2IDMuOTkgMi4zNjMgNC4wOTQgNC4wMDcgOC4wOTIgNC42IDEzLjkxNHYuMDEyYy4xODIuNDEyLjUxNi42NjYuODc5LjY2Ny40MDMtLjAwMS43NjgtLjMxNC45My0uNzk5LjYwMy01Ljc1NiAyLjIzOC05LjcyOSA0LjU4NS0xMy43OTQuNzgyLTEuMzUgMS42NzMtMi43MTUgMi40NjUtMy45OSAxLjEzNy0xLjY2NiAyLjMyOC0zLjQgMy42MzgtNS4xNjkuMzE1LS40ODIuNjQ1LS45NjIuOTg4LTEuNDM5LjMtLjUwMy42MTctMS4wMDYuOTUtMS41MDguMzU5LS43Ljc2LTEuNDA0IDEuMTktMi4xMDcgMS40MjYtMi40MDIgMi01LjExNCAyLjAwNC03Ljg3NSAwLTguODQ0LTcuNTExLTE2LjAxNC0xNi43NzYtMTYuMDE0eiIgZmlsbD0iI2RkNGIzZSIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48ZWxsaXBzZSByeT0iNS41NjQiIHJ4PSI1LjgyOCIgY3k9IjIzOS4wMDIiIGN4PSIyMjYuNzQyIiBmaWxsPSIjODAyZDI3IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0xOTAuMzAxIDIzNy4yODNjLTQuNjcgMC04LjQ1NyAzLjg1My04LjQ1NyA4LjYwNnMzLjc4NiA4LjYwNyA4LjQ1NyA4LjYwN2MzLjA0MyAwIDQuODA2LS45NTggNi4zMzctMi41MTYgMS41My0xLjU1NyAyLjA4Ny0zLjkxMyAyLjA4Ny02LjI5IDAtLjM2Mi0uMDIzLS43MjItLjA2NC0xLjA3OWgtOC4yNTd2My4wNDNoNC44NWMtLjE5Ny43NTktLjUzMSAxLjQ1LTEuMDU4IDEuOTg2LS45NDIuOTU4LTIuMDI4IDEuNTQ4LTMuOTAxIDEuNTQ4LTIuODc2IDAtNS4yMDgtMi4zNzItNS4yMDgtNS4yOTkgMC0yLjkyNiAyLjMzMi01LjI5OSA1LjIwOC01LjI5OSAxLjM5OSAwIDIuNjE4LjQwNyAzLjU4NCAxLjI5M2wyLjM4MS0yLjM4YzAtLjAwMi0uMDAzLS4wMDQtLjAwNC0uMDA1LTEuNTg4LTEuNTI0LTMuNjItMi4yMTUtNS45NTUtMi4yMTV6bTQuNDMgNS42NmwuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxNS4xODQgMjUxLjkyOWwtNy45OCA3Ljk3OSAyOC40NzcgMjguNDc1YTUuMjMzIDUuMjMzIDAgMDAuNDQ5LTIuMTIzdi0zMS4xNjVjLS40NjkuNjc1LS45MzQgMS4zNDktMS4zODIgMi4wMDUtLjc5MiAxLjI3NS0xLjY4MiAyLjY0LTIuNDY1IDMuOTktMi4zNDcgNC4wNjUtMy45ODIgOC4wMzgtNC41ODUgMTMuNzk0LS4xNjIuNDg1LS41MjcuNzk4LS45My43OTktLjM2My0uMDAxLS42OTctLjI1NS0uODc5LS42Njd2LS4wMTJjLS41OTMtNS44MjItMi4yMzctOS44Mi00LjYtMTMuOTE0LS43ODMtMS4zNS0xLjY3My0yLjcxNS0yLjQ2Ni0zLjk5LTEuMTM3LTEuNjY2LTIuMzI3LTMuNC0zLjYzNy01LjE2OWwtLjAwMi0uMDAzeiIgZmlsbD0iI2MzYzNjMyIvPjxwYXRoIGQ9Ik0yMTIuOTgzIDI0OC40OTVsLTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAwNS4yMzggNS4yMzhoMS4wMTVsMzUuNjY2LTM1LjY2NmExMzYuMjc1IDEzNi4yNzUgMCAwMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAwLS45ODktMS40NCAzNS4xMjcgMzUuMTI3IDAgMDAtLjk1LTEuNTA4Yy0uMDgzLS4xNjItLjE3Ni0uMzI2LS4yNjQtLjQ4OXoiIGZpbGw9IiNmZGRjNGYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxMS45OTggMjYxLjA4M2wtNi4xNTIgNi4xNTEgMjQuMjY0IDI0LjI2NGguNzgxYTUuMjI3IDUuMjI3IDAgMDA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OXptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OXoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzN6bTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1ek00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIGZpbGw9IiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}'},function(t,e,n){var i=n(1);var o=n(89);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-media-form{display:flex;align-items:flex-start;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}.ck.ck-media-form{padding:var(--ck-spacing-standard)}.ck.ck-media-form:focus{outline:none}[dir=ltr] .ck.ck-media-form>:not(:first-child),[dir=rtl] .ck.ck-media-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-media-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-media-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-media-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-media-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-media-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-media-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-media-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-media-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-media-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(91);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .media{clear:both;margin:1em 0;display:block;min-width:15em}\"},function(t,e,n){var i=n(1);var o=n(93);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-table-focused-cell-background:rgba(158,207,250,0.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}\"},function(t,e,n){var i=n(1);var o=n(95);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button .ck-tooltip{display:none}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-right-radius:unset;border-bottom-right-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-left-radius:unset;border-bottom-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-radius:0}.ck-rounded-corners [dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow,[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:unset;border-bottom-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-right-radius:unset;border-bottom-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-left-color:var(--ck-color-split-button-hover-border)}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-right-color:var(--ck-color-split-button-hover-border)}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(97);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2);padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{width:var(--ck-insert-table-dropdown-box-width);height:var(--ck-insert-table-dropdown-box-height);margin:var(--ck-insert-table-dropdown-box-margin);border:1px solid var(--ck-color-base-border);border-radius:1px}.ck .ck-insert-table-dropdown-grid-box.ck-on{border-color:var(--ck-color-focus-border);background:var(--ck-color-focus-outer-shadow)}\"},function(t,e,n){var i=n(1);var o=n(99);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-table-selected-cell-background:rgba(158,207,250,0.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{position:relative;caret-color:transparent;outline:unset;box-shadow:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{content:\"\";pointer-events:none;background-color:var(--ck-table-selected-cell-background);position:absolute;top:0;left:0;right:0;bottom:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget_selected{outline:unset}'},function(t,e,n){var i=n(1);var o=n(101);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .table{margin:1em auto;display:table}.ck-content .table table{border-collapse:collapse;border-spacing:0;width:100%;height:100%;border:1px double #b3b3b3}.ck-content .table table td,.ck-content .table table th{min-width:2em;padding:.4em;border:1px solid #bfbfbf}.ck-content .table table th{font-weight:700;background:hsla(0,0%,0%,5%)}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}\"},function(t,e,n){\"use strict\";n.r(e);var i=n(3);var o=i[\"a\"].Symbol;var s=o;var r=Object.prototype;var a=r.hasOwnProperty;var c=r.toString;var l=s?s.toStringTag:undefined;function d(t){var e=a.call(t,l),n=t[l];try{t[l]=undefined;var i=true}catch(t){}var o=c.call(t);if(i){if(e){t[l]=n}else{delete t[l]}}return o}var u=d;var h=Object.prototype;var f=h.toString;function g(t){return f.call(t)}var m=g;var p=\"[object Null]\",b=\"[object Undefined]\";var w=s?s.toStringTag:undefined;function _(t){if(t==null){return t===undefined?b:p}return w&&w in Object(t)?u(t):m(t)}var k=_;function v(t,e){return function(n){return t(e(n))}}var y=v;var x=y(Object.getPrototypeOf,Object);var A=x;function T(t){return t!=null&&typeof t==\"object\"}var C=T;var S=\"[object Object]\";var P=Function.prototype,E=Object.prototype;var M=P.toString;var I=E.hasOwnProperty;var N=M.call(Object);function O(t){if(!C(t)||k(t)!=S){return false}var e=A(t);if(e===null){return true}var n=I.call(e,\"constructor\")&&e.constructor;return typeof n==\"function\"&&n instanceof n&&M.call(n)==N}var R=O;function D(){this.__data__=[];this.size=0}var L=D;function z(t,e){return t===e||t!==t&&e!==e}var V=z;function j(t,e){var n=t.length;while(n--){if(V(t[n][0],e)){return n}}return-1}var B=j;var F=Array.prototype;var H=F.splice;function U(t){var e=this.__data__,n=B(e,t);if(n<0){return false}var i=e.length-1;if(n==i){e.pop()}else{H.call(e,n,1)}--this.size;return true}var W=U;function q(t){var e=this.__data__,n=B(e,t);return n<0?undefined:e[n][1]}var $=q;function Y(t){return B(this.__data__,t)>-1}var G=Y;function Q(t,e){var n=this.__data__,i=B(n,t);if(i<0){++this.size;n.push([t,e])}else{n[i][1]=e}return this}var K=Q;function J(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}J.prototype.clear=L;J.prototype[\"delete\"]=W;J.prototype.get=$;J.prototype.has=G;J.prototype.set=K;var Z=J;function X(){this.__data__=new Z;this.size=0}var tt=X;function et(t){var e=this.__data__,n=e[\"delete\"](t);this.size=e.size;return n}var nt=et;function it(t){return this.__data__.get(t)}var ot=it;function st(t){return this.__data__.has(t)}var rt=st;function at(t){var e=typeof t;return t!=null&&(e==\"object\"||e==\"function\")}var ct=at;var lt=\"[object AsyncFunction]\",dt=\"[object Function]\",ut=\"[object GeneratorFunction]\",ht=\"[object Proxy]\";function ft(t){if(!ct(t)){return false}var e=k(t);return e==dt||e==ut||e==lt||e==ht}var gt=ft;var mt=i[\"a\"][\"__core-js_shared__\"];var pt=mt;var bt=function(){var t=/[^.]+$/.exec(pt&&pt.keys&&pt.keys.IE_PROTO||\"\");return t?\"Symbol(src)_1.\"+t:\"\"}();function wt(t){return!!bt&&bt in t}var _t=wt;var kt=Function.prototype;var vt=kt.toString;function yt(t){if(t!=null){try{return vt.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}var xt=yt;var At=/[\\\\^$.*+?()[\\]{}|]/g;var Tt=/^\\[object .+?Constructor\\]$/;var Ct=Function.prototype,St=Object.prototype;var Pt=Ct.toString;var Et=St.hasOwnProperty;var Mt=RegExp(\"^\"+Pt.call(Et).replace(At,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");function It(t){if(!ct(t)||_t(t)){return false}var e=gt(t)?Mt:Tt;return e.test(xt(t))}var Nt=It;function Ot(t,e){return t==null?undefined:t[e]}var Rt=Ot;function Dt(t,e){var n=Rt(t,e);return Nt(n)?n:undefined}var Lt=Dt;var zt=Lt(i[\"a\"],\"Map\");var Vt=zt;var jt=Lt(Object,\"create\");var Bt=jt;function Ft(){this.__data__=Bt?Bt(null):{};this.size=0}var Ht=Ft;function Ut(t){var e=this.has(t)&&delete this.__data__[t];this.size-=e?1:0;return e}var Wt=Ut;var qt=\"__lodash_hash_undefined__\";var $t=Object.prototype;var Yt=$t.hasOwnProperty;function Gt(t){var e=this.__data__;if(Bt){var n=e[t];return n===qt?undefined:n}return Yt.call(e,t)?e[t]:undefined}var Qt=Gt;var Kt=Object.prototype;var Jt=Kt.hasOwnProperty;function Zt(t){var e=this.__data__;return Bt?e[t]!==undefined:Jt.call(e,t)}var Xt=Zt;var te=\"__lodash_hash_undefined__\";function ee(t,e){var n=this.__data__;this.size+=this.has(t)?0:1;n[t]=Bt&&e===undefined?te:e;return this}var ne=ee;function ie(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}ie.prototype.clear=Ht;ie.prototype[\"delete\"]=Wt;ie.prototype.get=Qt;ie.prototype.has=Xt;ie.prototype.set=ne;var oe=ie;function se(){this.size=0;this.__data__={hash:new oe,map:new(Vt||Z),string:new oe}}var re=se;function ae(t){var e=typeof t;return e==\"string\"||e==\"number\"||e==\"symbol\"||e==\"boolean\"?t!==\"__proto__\":t===null}var ce=ae;function le(t,e){var n=t.__data__;return ce(e)?n[typeof e==\"string\"?\"string\":\"hash\"]:n.map}var de=le;function ue(t){var e=de(this,t)[\"delete\"](t);this.size-=e?1:0;return e}var he=ue;function fe(t){return de(this,t).get(t)}var ge=fe;function me(t){return de(this,t).has(t)}var pe=me;function be(t,e){var n=de(this,t),i=n.size;n.set(t,e);this.size+=n.size==i?0:1;return this}var we=be;function _e(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}_e.prototype.clear=re;_e.prototype[\"delete\"]=he;_e.prototype.get=ge;_e.prototype.has=pe;_e.prototype.set=we;var ke=_e;var ve=200;function ye(t,e){var n=this.__data__;if(n instanceof Z){var i=n.__data__;if(!Vt||i.length<ve-1){i.push([t,e]);this.size=++n.size;return this}n=this.__data__=new ke(i)}n.set(t,e);this.size=n.size;return this}var xe=ye;function Ae(t){var e=this.__data__=new Z(t);this.size=e.size}Ae.prototype.clear=tt;Ae.prototype[\"delete\"]=nt;Ae.prototype.get=ot;Ae.prototype.has=rt;Ae.prototype.set=xe;var Te=Ae;function Ce(t,e){var n=-1,i=t==null?0:t.length;while(++n<i){if(e(t[n],n,t)===false){break}}return t}var Se=Ce;var Pe=function(){try{var t=Lt(Object,\"defineProperty\");t({},\"\",{});return t}catch(t){}}();var Ee=Pe;function Me(t,e,n){if(e==\"__proto__\"&&Ee){Ee(t,e,{configurable:true,enumerable:true,value:n,writable:true})}else{t[e]=n}}var Ie=Me;var Ne=Object.prototype;var Oe=Ne.hasOwnProperty;function Re(t,e,n){var i=t[e];if(!(Oe.call(t,e)&&V(i,n))||n===undefined&&!(e in t)){Ie(t,e,n)}}var De=Re;function Le(t,e,n,i){var o=!n;n||(n={});var s=-1,r=e.length;while(++s<r){var a=e[s];var c=i?i(n[a],t[a],a,n,t):undefined;if(c===undefined){c=t[a]}if(o){Ie(n,a,c)}else{De(n,a,c)}}return n}var ze=Le;function Ve(t,e){var n=-1,i=Array(t);while(++n<t){i[n]=e(n)}return i}var je=Ve;var Be=\"[object Arguments]\";function Fe(t){return C(t)&&k(t)==Be}var He=Fe;var Ue=Object.prototype;var We=Ue.hasOwnProperty;var qe=Ue.propertyIsEnumerable;var $e=He(function(){return arguments}())?He:function(t){return C(t)&&We.call(t,\"callee\")&&!qe.call(t,\"callee\")};var Ye=$e;var Ge=Array.isArray;var Qe=Ge;var Ke=n(4);var Je=9007199254740991;var Ze=/^(?:0|[1-9]\\d*)$/;function Xe(t,e){var n=typeof t;e=e==null?Je:e;return!!e&&(n==\"number\"||n!=\"symbol\"&&Ze.test(t))&&(t>-1&&t%1==0&&t<e)}var tn=Xe;var en=9007199254740991;function nn(t){return typeof t==\"number\"&&t>-1&&t%1==0&&t<=en}var on=nn;var sn=\"[object Arguments]\",rn=\"[object Array]\",an=\"[object Boolean]\",cn=\"[object Date]\",ln=\"[object Error]\",dn=\"[object Function]\",un=\"[object Map]\",hn=\"[object Number]\",fn=\"[object Object]\",gn=\"[object RegExp]\",mn=\"[object Set]\",pn=\"[object String]\",bn=\"[object WeakMap]\";var wn=\"[object ArrayBuffer]\",_n=\"[object DataView]\",kn=\"[object Float32Array]\",vn=\"[object Float64Array]\",yn=\"[object Int8Array]\",xn=\"[object Int16Array]\",An=\"[object Int32Array]\",Tn=\"[object Uint8Array]\",Cn=\"[object Uint8ClampedArray]\",Sn=\"[object Uint16Array]\",Pn=\"[object Uint32Array]\";var En={};En[kn]=En[vn]=En[yn]=En[xn]=En[An]=En[Tn]=En[Cn]=En[Sn]=En[Pn]=true;En[sn]=En[rn]=En[wn]=En[an]=En[_n]=En[cn]=En[ln]=En[dn]=En[un]=En[hn]=En[fn]=En[gn]=En[mn]=En[pn]=En[bn]=false;function Mn(t){return C(t)&&on(t.length)&&!!En[k(t)]}var In=Mn;function Nn(t){return function(e){return t(e)}}var On=Nn;var Rn=n(5);var Dn=Rn[\"a\"]&&Rn[\"a\"].isTypedArray;var Ln=Dn?On(Dn):In;var zn=Ln;var Vn=Object.prototype;var jn=Vn.hasOwnProperty;function Bn(t,e){var n=Qe(t),i=!n&&Ye(t),o=!n&&!i&&Object(Ke[\"a\"])(t),s=!n&&!i&&!o&&zn(t),r=n||i||o||s,a=r?je(t.length,String):[],c=a.length;for(var l in t){if((e||jn.call(t,l))&&!(r&&(l==\"length\"||o&&(l==\"offset\"||l==\"parent\")||s&&(l==\"buffer\"||l==\"byteLength\"||l==\"byteOffset\")||tn(l,c)))){a.push(l)}}return a}var Fn=Bn;var Hn=Object.prototype;function Un(t){var e=t&&t.constructor,n=typeof e==\"function\"&&e.prototype||Hn;return t===n}var Wn=Un;var qn=y(Object.keys,Object);var $n=qn;var Yn=Object.prototype;var Gn=Yn.hasOwnProperty;function Qn(t){if(!Wn(t)){return $n(t)}var e=[];for(var n in Object(t)){if(Gn.call(t,n)&&n!=\"constructor\"){e.push(n)}}return e}var Kn=Qn;function Jn(t){return t!=null&&on(t.length)&&!gt(t)}var Zn=Jn;function Xn(t){return Zn(t)?Fn(t):Kn(t)}var ti=Xn;function ei(t,e){return t&&ze(e,ti(e),t)}var ni=ei;function ii(t){var e=[];if(t!=null){for(var n in Object(t)){e.push(n)}}return e}var oi=ii;var si=Object.prototype;var ri=si.hasOwnProperty;function ai(t){if(!ct(t)){return oi(t)}var e=Wn(t),n=[];for(var i in t){if(!(i==\"constructor\"&&(e||!ri.call(t,i)))){n.push(i)}}return n}var ci=ai;function li(t){return Zn(t)?Fn(t,true):ci(t)}var di=li;function ui(t,e){return t&&ze(e,di(e),t)}var hi=ui;var fi=n(8);function gi(t,e){var n=-1,i=t.length;e||(e=Array(i));while(++n<i){e[n]=t[n]}return e}var mi=gi;function pi(t,e){var n=-1,i=t==null?0:t.length,o=0,s=[];while(++n<i){var r=t[n];if(e(r,n,t)){s[o++]=r}}return s}var bi=pi;function wi(){return[]}var _i=wi;var ki=Object.prototype;var vi=ki.propertyIsEnumerable;var yi=Object.getOwnPropertySymbols;var xi=!yi?_i:function(t){if(t==null){return[]}t=Object(t);return bi(yi(t),(function(e){return vi.call(t,e)}))};var Ai=xi;function Ti(t,e){return ze(t,Ai(t),e)}var Ci=Ti;function Si(t,e){var n=-1,i=e.length,o=t.length;while(++n<i){t[o+n]=e[n]}return t}var Pi=Si;var Ei=Object.getOwnPropertySymbols;var Mi=!Ei?_i:function(t){var e=[];while(t){Pi(e,Ai(t));t=A(t)}return e};var Ii=Mi;function Ni(t,e){return ze(t,Ii(t),e)}var Oi=Ni;function Ri(t,e,n){var i=e(t);return Qe(t)?i:Pi(i,n(t))}var Di=Ri;function Li(t){return Di(t,ti,Ai)}var zi=Li;function Vi(t){return Di(t,di,Ii)}var ji=Vi;var Bi=Lt(i[\"a\"],\"DataView\");var Fi=Bi;var Hi=Lt(i[\"a\"],\"Promise\");var Ui=Hi;var Wi=Lt(i[\"a\"],\"Set\");var qi=Wi;var $i=Lt(i[\"a\"],\"WeakMap\");var Yi=$i;var Gi=\"[object Map]\",Qi=\"[object Object]\",Ki=\"[object Promise]\",Ji=\"[object Set]\",Zi=\"[object WeakMap]\";var Xi=\"[object DataView]\";var to=xt(Fi),eo=xt(Vt),no=xt(Ui),io=xt(qi),oo=xt(Yi);var so=k;if(Fi&&so(new Fi(new ArrayBuffer(1)))!=Xi||Vt&&so(new Vt)!=Gi||Ui&&so(Ui.resolve())!=Ki||qi&&so(new qi)!=Ji||Yi&&so(new Yi)!=Zi){so=function(t){var e=k(t),n=e==Qi?t.constructor:undefined,i=n?xt(n):\"\";if(i){switch(i){case to:return Xi;case eo:return Gi;case no:return Ki;case io:return Ji;case oo:return Zi}}return e}}var ro=so;var ao=Object.prototype;var co=ao.hasOwnProperty;function lo(t){var e=t.length,n=new t.constructor(e);if(e&&typeof t[0]==\"string\"&&co.call(t,\"index\")){n.index=t.index;n.input=t.input}return n}var uo=lo;var ho=i[\"a\"].Uint8Array;var fo=ho;function go(t){var e=new t.constructor(t.byteLength);new fo(e).set(new fo(t));return e}var mo=go;function po(t,e){var n=e?mo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var bo=po;var wo=/\\w*$/;function _o(t){var e=new t.constructor(t.source,wo.exec(t));e.lastIndex=t.lastIndex;return e}var ko=_o;var vo=s?s.prototype:undefined,yo=vo?vo.valueOf:undefined;function xo(t){return yo?Object(yo.call(t)):{}}var Ao=xo;function To(t,e){var n=e?mo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var Co=To;var So=\"[object Boolean]\",Po=\"[object Date]\",Eo=\"[object Map]\",Mo=\"[object Number]\",Io=\"[object RegExp]\",No=\"[object Set]\",Oo=\"[object String]\",Ro=\"[object Symbol]\";var Do=\"[object ArrayBuffer]\",Lo=\"[object DataView]\",zo=\"[object Float32Array]\",Vo=\"[object Float64Array]\",jo=\"[object Int8Array]\",Bo=\"[object Int16Array]\",Fo=\"[object Int32Array]\",Ho=\"[object Uint8Array]\",Uo=\"[object Uint8ClampedArray]\",Wo=\"[object Uint16Array]\",qo=\"[object Uint32Array]\";function $o(t,e,n){var i=t.constructor;switch(e){case Do:return mo(t);case So:case Po:return new i(+t);case Lo:return bo(t,n);case zo:case Vo:case jo:case Bo:case Fo:case Ho:case Uo:case Wo:case qo:return Co(t,n);case Eo:return new i;case Mo:case Oo:return new i(t);case Io:return ko(t);case No:return new i;case Ro:return Ao(t)}}var Yo=$o;var Go=Object.create;var Qo=function(){function t(){}return function(e){if(!ct(e)){return{}}if(Go){return Go(e)}t.prototype=e;var n=new t;t.prototype=undefined;return n}}();var Ko=Qo;function Jo(t){return typeof t.constructor==\"function\"&&!Wn(t)?Ko(A(t)):{}}var Zo=Jo;var Xo=\"[object Map]\";function ts(t){return C(t)&&ro(t)==Xo}var es=ts;var ns=Rn[\"a\"]&&Rn[\"a\"].isMap;var is=ns?On(ns):es;var os=is;var ss=\"[object Set]\";function rs(t){return C(t)&&ro(t)==ss}var as=rs;var cs=Rn[\"a\"]&&Rn[\"a\"].isSet;var ls=cs?On(cs):as;var ds=ls;var us=1,hs=2,fs=4;var gs=\"[object Arguments]\",ms=\"[object Array]\",ps=\"[object Boolean]\",bs=\"[object Date]\",ws=\"[object Error]\",_s=\"[object Function]\",ks=\"[object GeneratorFunction]\",vs=\"[object Map]\",ys=\"[object Number]\",xs=\"[object Object]\",As=\"[object RegExp]\",Ts=\"[object Set]\",Cs=\"[object String]\",Ss=\"[object Symbol]\",Ps=\"[object WeakMap]\";var Es=\"[object ArrayBuffer]\",Ms=\"[object DataView]\",Is=\"[object Float32Array]\",Ns=\"[object Float64Array]\",Os=\"[object Int8Array]\",Rs=\"[object Int16Array]\",Ds=\"[object Int32Array]\",Ls=\"[object Uint8Array]\",zs=\"[object Uint8ClampedArray]\",Vs=\"[object Uint16Array]\",js=\"[object Uint32Array]\";var Bs={};Bs[gs]=Bs[ms]=Bs[Es]=Bs[Ms]=Bs[ps]=Bs[bs]=Bs[Is]=Bs[Ns]=Bs[Os]=Bs[Rs]=Bs[Ds]=Bs[vs]=Bs[ys]=Bs[xs]=Bs[As]=Bs[Ts]=Bs[Cs]=Bs[Ss]=Bs[Ls]=Bs[zs]=Bs[Vs]=Bs[js]=true;Bs[ws]=Bs[_s]=Bs[Ps]=false;function Fs(t,e,n,i,o,s){var r,a=e&us,c=e&hs,l=e&fs;if(n){r=o?n(t,i,o,s):n(t)}if(r!==undefined){return r}if(!ct(t)){return t}var d=Qe(t);if(d){r=uo(t);if(!a){return mi(t,r)}}else{var u=ro(t),h=u==_s||u==ks;if(Object(Ke[\"a\"])(t)){return Object(fi[\"a\"])(t,a)}if(u==xs||u==gs||h&&!o){r=c||h?{}:Zo(t);if(!a){return c?Oi(t,hi(r,t)):Ci(t,ni(r,t))}}else{if(!Bs[u]){return o?t:{}}r=Yo(t,u,a)}}s||(s=new Te);var f=s.get(t);if(f){return f}s.set(t,r);if(ds(t)){t.forEach((function(i){r.add(Fs(i,e,n,i,t,s))}))}else if(os(t)){t.forEach((function(i,o){r.set(o,Fs(i,e,n,o,t,s))}))}var g=l?c?ji:zi:c?keysIn:ti;var m=d?undefined:g(t);Se(m||t,(function(i,o){if(m){o=i;i=t[o]}De(r,o,Fs(i,e,n,o,t,s))}));return r}var Hs=Fs;var Us=1,Ws=4;function qs(t,e){e=typeof e==\"function\"?e:undefined;return Hs(t,Us|Ws,e)}var $s=qs;function Ys(t){return C(t)&&t.nodeType===1&&!R(t)}var Gs=Ys;class Qs{constructor(t,e){this._config={};if(e){this.define(Ks(e))}if(t){this._setObjectToTarget(this._config,t)}}set(t,e){this._setToTarget(this._config,t,e)}define(t,e){const n=true;this._setToTarget(this._config,t,e,n)}get(t){return this._getFromSource(this._config,t)}*names(){for(const t of Object.keys(this._config)){yield t}}_setToTarget(t,e,n,i=false){if(R(e)){this._setObjectToTarget(t,e,i);return}const o=e.split(\".\");e=o.pop();for(const e of o){if(!R(t[e])){t[e]={}}t=t[e]}if(R(n)){if(!R(t[e])){t[e]={}}t=t[e];this._setObjectToTarget(t,n,i);return}if(i&&typeof t[e]!=\"undefined\"){return}t[e]=n}_getFromSource(t,e){const n=e.split(\".\");e=n.pop();for(const e of n){if(!R(t[e])){t=null;break}t=t[e]}return t?Ks(t[e]):undefined}_setObjectToTarget(t,e,n){Object.keys(e).forEach(i=>{this._setToTarget(t,i,e[i],n)})}}function Ks(t){return $s(t,Js)}function Js(t){return Gs(t)?t:undefined}function Zs(){return function t(){t.called=true}}var Xs=Zs;class tr{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=Xs();this.off=Xs()}}const er=new Array(256).fill().map((t,e)=>(\"0\"+e.toString(16)).slice(-2));function nr(){const t=Math.random()*4294967296>>>0;const e=Math.random()*4294967296>>>0;const n=Math.random()*4294967296>>>0;const i=Math.random()*4294967296>>>0;return\"e\"+er[t>>0&255]+er[t>>8&255]+er[t>>16&255]+er[t>>24&255]+er[e>>0&255]+er[e>>8&255]+er[e>>16&255]+er[e>>24&255]+er[n>>0&255]+er[n>>8&255]+er[n>>16&255]+er[n>>24&255]+er[i>>0&255]+er[i>>8&255]+er[i>>16&255]+er[i>>24&255]}const ir={get(t){if(typeof t!=\"number\"){return this[t]||this.normal}else{return t}},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};var or=ir;var sr=n(6);var rr=n(0);const ar=Symbol(\"listeningTo\");const cr=Symbol(\"emitterId\");const lr={on(t,e,n={}){this.listenTo(this,t,e,n)},once(t,e,n){let i=false;const o=function(t,...n){if(!i){i=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,o,n)},off(t,e){this.stopListening(this,t,e)},listenTo(t,e,n,i={}){let o,s;if(!this[ar]){this[ar]={}}const r=this[ar];if(!fr(t)){hr(t)}const a=fr(t);if(!(o=r[a])){o=r[a]={emitter:t,callbacks:{}}}if(!(s=o.callbacks[e])){s=o.callbacks[e]=[]}s.push(n);pr(t,e);const c=br(t,e);const l=or.get(i.priority);const d={callback:n,priority:l};for(const t of c){let e=false;for(let n=0;n<t.length;n++){if(t[n].priority<l){t.splice(n,0,d);e=true;break}}if(!e){t.push(d)}}},stopListening(t,e,n){const i=this[ar];let o=t&&fr(t);const s=i&&o&&i[o];const r=s&&e&&s.callbacks[e];if(!i||t&&!s||e&&!r){return}if(n){kr(t,e,n)}else if(r){while(n=r.pop()){kr(t,e,n)}delete s.callbacks[e]}else if(s){for(e in s.callbacks){this.stopListening(t,e)}delete i[o]}else{for(o in i){this.stopListening(i[o].emitter)}delete this[ar]}},fire(t,...e){try{const n=t instanceof tr?t:new tr(this,t);const i=n.name;let o=wr(this,i);n.path.push(this);if(o){const t=[n,...e];o=Array.from(o);for(let e=0;e<o.length;e++){o[e].callback.apply(this,t);if(n.off.called){delete n.off.called;kr(this,i,o[e].callback)}if(n.stop.called){break}}}if(this._delegations){const t=this._delegations.get(i);const o=this._delegations.get(\"*\");if(t){_r(t,n,e)}if(o){_r(o,n,e)}}return n.return}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}},delegate(...t){return{to:(e,n)=>{if(!this._delegations){this._delegations=new Map}t.forEach(t=>{const i=this._delegations.get(t);if(!i){this._delegations.set(t,new Map([[e,n]]))}else{i.set(e,n)}})}}},stopDelegating(t,e){if(!this._delegations){return}if(!t){this._delegations.clear()}else if(!e){this._delegations.delete(t)}else{const n=this._delegations.get(t);if(n){n.delete(e)}}}};var dr=lr;function ur(t,e){if(t[ar]&&t[ar][e]){return t[ar][e].emitter}return null}function hr(t,e){if(!t[cr]){t[cr]=e||nr()}}function fr(t){return t[cr]}function gr(t){if(!t._events){Object.defineProperty(t,\"_events\",{value:{}})}return t._events}function mr(){return{callbacks:[],childEvents:[]}}function pr(t,e){const n=gr(t);if(n[e]){return}let i=e;let o=null;const s=[];while(i!==\"\"){if(n[i]){break}n[i]=mr();s.push(n[i]);if(o){n[i].childEvents.push(o)}o=i;i=i.substr(0,i.lastIndexOf(\":\"))}if(i!==\"\"){for(const t of s){t.callbacks=n[i].callbacks.slice()}n[i].childEvents.push(o)}}function br(t,e){const n=gr(t)[e];if(!n){return[]}let i=[n.callbacks];for(let e=0;e<n.childEvents.length;e++){const o=br(t,n.childEvents[e]);i=i.concat(o)}return i}function wr(t,e){let n;if(!t._events||!(n=t._events[e])||!n.callbacks.length){if(e.indexOf(\":\")>-1){return wr(t,e.substr(0,e.lastIndexOf(\":\")))}else{return null}}return n.callbacks}function _r(t,e,n){for(let[i,o]of t){if(!o){o=e.name}else if(typeof o==\"function\"){o=o(e.name)}const t=new tr(e.source,o);t.path=[...e.path];i.fire(t,...n)}}function kr(t,e,n){const i=br(t,e);for(const t of i){for(let e=0;e<t.length;e++){if(t[e].callback==n){t.splice(e,1);e--}}}}function vr(t){return!!(t&&t[Symbol.iterator])}function yr(t,...e){e.forEach(e=>{Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)).forEach(n=>{if(n in t.prototype){return}const i=Object.getOwnPropertyDescriptor(e,n);i.enumerable=false;Object.defineProperty(t.prototype,n,i)})})}class xr{constructor(t={},e={}){const n=vr(t);if(!n){e=t}this._items=[];this._itemMap=new Map;this._idProperty=e.idProperty||\"id\";this._bindToExternalToInternalMap=new WeakMap;this._bindToInternalToExternalMap=new WeakMap;this._skippedIndexesFromExternal=[];if(n){for(const e of t){this._items.push(e);this._itemMap.set(this._getItemIdBeforeAdding(e),e)}}}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(t,e){const n=this._getItemIdBeforeAdding(t);if(e===undefined){e=this._items.length}else if(e>this._items.length||e<0){throw new rr[\"b\"](\"collection-add-item-invalid-index\",this)}this._items.splice(e,0,t);this._itemMap.set(n,t);this.fire(\"add\",t,e);return this}get(t){let e;if(typeof t==\"string\"){e=this._itemMap.get(t)}else if(typeof t==\"number\"){e=this._items[t]}else{throw new rr[\"b\"](\"collection-get-invalid-arg: Index or id must be given.\",this)}return e||null}has(t){if(typeof t==\"string\"){return this._itemMap.has(t)}else{const e=this._idProperty;const n=t[e];return this._itemMap.has(n)}}getIndex(t){let e;if(typeof t==\"string\"){e=this._itemMap.get(t)}else{e=t}return this._items.indexOf(e)}remove(t){let e,n,i;let o=false;const s=this._idProperty;if(typeof t==\"string\"){n=t;i=this._itemMap.get(n);o=!i;if(i){e=this._items.indexOf(i)}}else if(typeof t==\"number\"){e=t;i=this._items[e];o=!i;if(i){n=i[s]}}else{i=t;n=i[s];e=this._items.indexOf(i);o=e==-1||!this._itemMap.get(n)}if(o){throw new rr[\"b\"](\"collection-remove-404: Item not found.\",this)}this._items.splice(e,1);this._itemMap.delete(n);const r=this._bindToInternalToExternalMap.get(i);this._bindToInternalToExternalMap.delete(i);this._bindToExternalToInternalMap.delete(r);this.fire(\"remove\",i,e);return i}map(t,e){return this._items.map(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){if(this._bindToCollection){this.stopListening(this._bindToCollection);this._bindToCollection=null}while(this.length){this.remove(0)}}bindTo(t){if(this._bindToCollection){throw new rr[\"b\"](\"collection-bind-to-rebind: The collection cannot be bound more than once.\",this)}this._bindToCollection=t;return{as:t=>{this._setUpBindToBinding(e=>new t(e))},using:t=>{if(typeof t==\"function\"){this._setUpBindToBinding(e=>t(e))}else{this._setUpBindToBinding(e=>e[t])}}}}_setUpBindToBinding(t){const e=this._bindToCollection;const n=(n,i,o)=>{const s=e._bindToCollection==this;const r=e._bindToInternalToExternalMap.get(i);if(s&&r){this._bindToExternalToInternalMap.set(i,r);this._bindToInternalToExternalMap.set(r,i)}else{const n=t(i);if(!n){this._skippedIndexesFromExternal.push(o);return}let s=o;for(const t of this._skippedIndexesFromExternal){if(o>t){s--}}for(const t of e._skippedIndexesFromExternal){if(s>=t){s++}}this._bindToExternalToInternalMap.set(i,n);this._bindToInternalToExternalMap.set(n,i);this.add(n,s);for(let t=0;t<e._skippedIndexesFromExternal.length;t++){if(s<=e._skippedIndexesFromExternal[t]){e._skippedIndexesFromExternal[t]++}}}};for(const t of e){n(null,t,e.getIndex(t))}this.listenTo(e,\"add\",n);this.listenTo(e,\"remove\",(t,e,n)=>{const i=this._bindToExternalToInternalMap.get(e);if(i){this.remove(i)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((t,e)=>{if(n<e){t.push(e-1)}if(n>e){t.push(e)}return t},[])})}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){n=t[e];if(typeof n!=\"string\"){throw new rr[\"b\"](\"collection-add-invalid-id\",this)}if(this.get(n)){throw new rr[\"b\"](\"collection-add-item-already-exists\",this)}}else{t[e]=n=nr()}return n}[Symbol.iterator](){return this._items[Symbol.iterator]()}}yr(xr,dr);class Ar{constructor(t,e=[],n=[]){this._context=t;this._plugins=new Map;this._availablePlugins=new Map;for(const t of e){if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}this._contextPlugins=new Map;for(const[t,e]of n){this._contextPlugins.set(t,e);this._contextPlugins.set(e,t);if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}}*[Symbol.iterator](){for(const t of this._plugins){if(typeof t[0]==\"function\"){yield t}}}get(t){const e=this._plugins.get(t);if(!e){const e=\"plugincollection-plugin-not-loaded: The requested plugin is not loaded.\";let n=t;if(typeof t==\"function\"){n=t.pluginName||t.name}throw new rr[\"b\"](e,this._context,{plugin:n})}return e}has(t){return this._plugins.has(t)}init(t,e=[]){const n=this;const i=this._context;const o=new Set;const s=[];const r=g(t);const a=g(e);const c=f(t);if(c){const t=\"plugincollection-plugin-not-found: Some plugins are not available and could not be loaded.\";console.error(Object(rr[\"a\"])(t),{plugins:c});return Promise.reject(new rr[\"b\"](t,i,{plugins:c}))}return Promise.all(r.map(l)).then(()=>d(s,\"init\")).then(()=>d(s,\"afterInit\")).then(()=>s);function l(t){if(a.includes(t)){return}if(n._plugins.has(t)||o.has(t)){return}return u(t).catch(e=>{console.error(Object(rr[\"a\"])(\"plugincollection-load: It was not possible to load the plugin.\"),{plugin:t});throw e})}function d(t,e){return t.reduce((t,i)=>{if(!i[e]){return t}if(n._contextPlugins.has(i)){return t}return t.then(i[e].bind(i))},Promise.resolve())}function u(t){return new Promise(r=>{o.add(t);if(t.requires){t.requires.forEach(n=>{const o=h(n);if(t.isContextPlugin&&!o.isContextPlugin){throw new rr[\"b\"](\"plugincollection-context-required: Context plugin can not require plugin which is not a context plugin\",null,{plugin:o.name,requiredBy:t.name})}if(e.includes(o)){throw new rr[\"b\"](\"plugincollection-required: Cannot load a plugin because one of its dependencies is listed in\"+\"the `removePlugins` option.\",i,{plugin:o.name,requiredBy:t.name})}l(o)})}const a=n._contextPlugins.get(t)||new t(i);n._add(t,a);s.push(a);r()})}function h(t){if(typeof t==\"function\"){return t}return n._availablePlugins.get(t)}function f(t){const e=[];for(const n of t){if(!h(n)){e.push(n)}}return e.length?e:null}function g(t){return t.map(t=>h(t)).filter(t=>!!t)}}destroy(){const t=[];for(const[,e]of this){if(typeof e.destroy==\"function\"&&!this._contextPlugins.has(e)){t.push(e.destroy())}}return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(!n){return}if(this._plugins.has(n)){throw new rr[\"b\"](\"plugincollection-plugin-name-conflict: Two plugins with the same name were loaded.\",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}yr(Ar,dr);if(!window.CKEDITOR_TRANSLATIONS){window.CKEDITOR_TRANSLATIONS={}}function Tr(t,e,n){if(!window.CKEDITOR_TRANSLATIONS[t]){window.CKEDITOR_TRANSLATIONS[t]={}}const i=window.CKEDITOR_TRANSLATIONS[t];i.dictionary=i.dictionary||{};i.getPluralForm=n||i.getPluralForm;Object.assign(i.dictionary,e)}function Cr(t,e,n=1){if(typeof n!==\"number\"){throw new rr[\"b\"](\"translation-service-quantity-not-a-number: Expecting `quantity` to be a number.\",null,{quantity:n})}const i=Er();if(i===1){t=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]}const o=e.id||e.string;if(i===0||!Pr(t,o)){if(n!==1){return e.plural}return e.string}const s=window.CKEDITOR_TRANSLATIONS[t].dictionary;const r=window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>t===1?0:1);if(typeof s[o]===\"string\"){return s[o]}const a=Number(r(n));return s[o][a]}function Sr(){window.CKEDITOR_TRANSLATIONS={}}function Pr(t,e){return!!window.CKEDITOR_TRANSLATIONS[t]&&!!window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}function Er(){return Object.keys(window.CKEDITOR_TRANSLATIONS).length}const Mr=[\"ar\",\"fa\",\"he\",\"ku\",\"ug\"];class Ir{constructor(t={}){this.uiLanguage=t.uiLanguage||\"en\";this.contentLanguage=t.contentLanguage||this.uiLanguage;this.uiLanguageDirection=Or(this.uiLanguage);this.contentLanguageDirection=Or(this.contentLanguage);this.t=(t,e)=>this._t(t,e)}get language(){console.warn(\"locale-deprecated-language-property: \"+\"The Locale#language property has been deprecated and will be removed in the near future. \"+\"Please use #uiLanguage and #contentLanguage properties instead.\");return this.uiLanguage}_t(t,e=[]){if(!Array.isArray(e)){e=[e]}if(typeof t===\"string\"){t={string:t}}const n=!!t.plural;const i=n?e[0]:1;const o=Cr(this.uiLanguage,t,i);return Nr(o,e)}}function Nr(t,e){return t.replace(/%(\\d+)/g,(t,n)=>n<e.length?e[n]:t)}function Or(t){return Mr.includes(t)?\"rtl\":\"ltr\"}class Rr{constructor(t){this.config=new Qs(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define(\"plugins\",e);this.plugins=new Ar(this,e);const n=this.config.get(\"language\")||{};this.locale=new Ir({uiLanguage:typeof n===\"string\"?n:n.ui,contentLanguage:this.config.get(\"language.content\")});this.t=this.locale.t;this.editors=new xr;this._contextOwner=null}initPlugins(){const t=this.config.get(\"plugins\")||[];for(const e of t){if(typeof e!=\"function\"){throw new rr[\"b\"](\"context-initplugins-constructor-only: Only a constructor function is allowed as a context plugin.\",null,{Plugin:e})}if(e.isContextPlugin!==true){throw new rr[\"b\"](\"context-initplugins-invalid-plugin: Only a plugin marked as a context plugin is allowed to be used with a context.\",null,{Plugin:e})}}return this.plugins.init(t)}destroy(){return Promise.all(Array.from(this.editors,t=>t.destroy())).then(()=>this.plugins.destroy())}_addEditor(t,e){if(this._contextOwner){throw new rr[\"b\"](\"context-addEditor-private-context: Cannot add multiple editors to the context which is created by the editor.\")}this.editors.add(t);if(e){this._contextOwner=t}}_removeEditor(t){if(this.editors.has(t)){this.editors.remove(t)}if(this._contextOwner===t){return this.destroy()}return Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names()){if(![\"plugins\",\"removePlugins\",\"extraPlugins\"].includes(e)){t[e]=this.config.get(e)}}return t}static create(t){return new Promise(e=>{const n=new this(t);e(n.initPlugins().then(()=>n))})}}function Dr(t,e){const n=Math.min(t.length,e.length);for(let i=0;i<n;i++){if(t[i]!=e[i]){return i}}if(t.length==e.length){return\"same\"}else if(t.length<e.length){return\"prefix\"}else{return\"extension\"}}var Lr=4;function zr(t){return Hs(t,Lr)}var Vr=zr;class jr{constructor(t){this.document=t;this.parent=null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))==-1){throw new rr[\"b\"](\"view-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.index);e=e.parent}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Dr(e,n);switch(i){case\"prefix\":return true;case\"extension\":return false;default:return e[i]<n[i]}}isAfter(t){if(this==t){return false}if(this.root!==t.root){return false}return!this.isBefore(t)}_remove(){this.parent._removeChildren(this.index)}_fireChange(t,e){this.fire(\"change:\"+t,e);if(this.parent){this.parent._fireChange(t,e)}}toJSON(){const t=Vr(this);delete t.parent;return t}is(t){return t===\"node\"||t===\"view:node\"}}yr(jr,dr);class Br extends jr{constructor(t,e){super(t);this._textData=e}is(t){return t===\"text\"||t===\"view:text\"||t===\"node\"||t===\"view:node\"}get data(){return this._textData}get _data(){return this.data}set _data(t){this._fireChange(\"text\",this);this._textData=t}isSimilar(t){if(!(t instanceof Br)){return false}return this===t||this.data===t.data}_clone(){return new Br(this.document,this.data)}}class Fr{constructor(t,e,n){this.textNode=t;if(e<0||e>t.data.length){throw new rr[\"b\"](\"view-textproxy-wrong-offsetintext: Given offsetInText value is incorrect.\",this)}if(n<0||e+n>t.data.length){throw new rr[\"b\"](\"view-textproxy-wrong-length: Given length value is incorrect.\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}is(t){return t===\"textProxy\"||t===\"view:textProxy\"}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this.textNode:this.parent;while(n!==null){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}}function Hr(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function Ur(t){if(vr(t)){return new Map(t)}else{return Hr(t)}}class Wr{constructor(...t){this._patterns=[];this.add(...t)}add(...t){for(let e of t){if(typeof e==\"string\"||e instanceof RegExp){e={name:e}}if(e.classes&&(typeof e.classes==\"string\"||e.classes instanceof RegExp)){e.classes=[e.classes]}this._patterns.push(e)}}match(...t){for(const e of t){for(const t of this._patterns){const n=qr(e,t);if(n){return{element:e,pattern:t,match:n}}}}return null}matchAll(...t){const e=[];for(const n of t){for(const t of this._patterns){const i=qr(n,t);if(i){e.push({element:n,pattern:t,match:i})}}}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1){return null}const t=this._patterns[0];const e=t.name;return typeof t!=\"function\"&&e&&!(e instanceof RegExp)?e:null}}function qr(t,e){if(typeof e==\"function\"){return e(t)}const n={};if(e.name){n.name=$r(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=Yr(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=Gr(e.classes,t);if(!n.classes){return false}}if(e.styles){n.styles=Qr(e.styles,t);if(!n.styles){return false}}return n}function $r(t,e){if(t instanceof RegExp){return t.test(e)}return t===e}function Yr(t,e){const n=[];for(const i in t){const o=t[i];if(e.hasAttribute(i)){const t=e.getAttribute(i);if(o===true){n.push(i)}else if(o instanceof RegExp){if(o.test(t)){n.push(i)}else{return null}}else if(t===o){n.push(i)}else{return null}}else{return null}}return n}function Gr(t,e){const n=[];for(const i of t){if(i instanceof RegExp){const t=e.getClassNames();for(const e of t){if(i.test(e)){n.push(e)}}if(n.length===0){return null}}else if(e.hasClass(i)){n.push(i)}else{return null}}return n}function Qr(t,e){const n=[];for(const i in t){const o=t[i];if(e.hasStyle(i)){const t=e.getStyle(i);if(o instanceof RegExp){if(o.test(t)){n.push(i)}else{return null}}else if(t===o){n.push(i)}else{return null}}else{return null}}return n}var Kr=\"[object Symbol]\";function Jr(t){return typeof t==\"symbol\"||C(t)&&k(t)==Kr}var Zr=Jr;var Xr=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,ta=/^\\w*$/;function ea(t,e){if(Qe(t)){return false}var n=typeof t;if(n==\"number\"||n==\"symbol\"||n==\"boolean\"||t==null||Zr(t)){return true}return ta.test(t)||!Xr.test(t)||e!=null&&t in Object(e)}var na=ea;var ia=\"Expected a function\";function oa(t,e){if(typeof t!=\"function\"||e!=null&&typeof e!=\"function\"){throw new TypeError(ia)}var n=function(){var i=arguments,o=e?e.apply(this,i):i[0],s=n.cache;if(s.has(o)){return s.get(o)}var r=t.apply(this,i);n.cache=s.set(o,r)||s;return r};n.cache=new(oa.Cache||ke);return n}oa.Cache=ke;var sa=oa;var ra=500;function aa(t){var e=sa(t,(function(t){if(n.size===ra){n.clear()}return t}));var n=e.cache;return e}var ca=aa;var la=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;var da=/\\\\(\\\\)?/g;var ua=ca((function(t){var e=[];if(t.charCodeAt(0)===46){e.push(\"\")}t.replace(la,(function(t,n,i,o){e.push(i?o.replace(da,\"$1\"):n||t)}));return e}));var ha=ua;function fa(t,e){var n=-1,i=t==null?0:t.length,o=Array(i);while(++n<i){o[n]=e(t[n],n,t)}return o}var ga=fa;var ma=1/0;var pa=s?s.prototype:undefined,ba=pa?pa.toString:undefined;function wa(t){if(typeof t==\"string\"){return t}if(Qe(t)){return ga(t,wa)+\"\"}if(Zr(t)){return ba?ba.call(t):\"\"}var e=t+\"\";return e==\"0\"&&1/t==-ma?\"-0\":e}var _a=wa;function ka(t){return t==null?\"\":_a(t)}var va=ka;function ya(t,e){if(Qe(t)){return t}return na(t,e)?[t]:ha(va(t))}var xa=ya;function Aa(t){var e=t==null?0:t.length;return e?t[e-1]:undefined}var Ta=Aa;var Ca=1/0;function Sa(t){if(typeof t==\"string\"||Zr(t)){return t}var e=t+\"\";return e==\"0\"&&1/t==-Ca?\"-0\":e}var Pa=Sa;function Ea(t,e){e=xa(e,t);var n=0,i=e.length;while(t!=null&&n<i){t=t[Pa(e[n++])]}return n&&n==i?t:undefined}var Ma=Ea;function Ia(t,e,n){var i=-1,o=t.length;if(e<0){e=-e>o?0:o+e}n=n>o?o:n;if(n<0){n+=o}o=e>n?0:n-e>>>0;e>>>=0;var s=Array(o);while(++i<o){s[i]=t[i+e]}return s}var Na=Ia;function Oa(t,e){return e.length<2?t:Ma(t,Na(e,0,-1))}var Ra=Oa;function Da(t,e){e=xa(e,t);t=Ra(t,e);return t==null||delete t[Pa(Ta(e))]}var La=Da;function za(t,e){return t==null?true:La(t,e)}var Va=za;function ja(t,e,n){var i=t==null?undefined:Ma(t,e);return i===undefined?n:i}var Ba=ja;function Fa(t,e,n){if(n!==undefined&&!V(t[e],n)||n===undefined&&!(e in t)){Ie(t,e,n)}}var Ha=Fa;function Ua(t){return function(e,n,i){var o=-1,s=Object(e),r=i(e),a=r.length;while(a--){var c=r[t?a:++o];if(n(s[c],c,s)===false){break}}return e}}var Wa=Ua;var qa=Wa();var $a=qa;function Ya(t){return C(t)&&Zn(t)}var Ga=Ya;function Qa(t,e){if(e===\"constructor\"&&typeof t[e]===\"function\"){return}if(e==\"__proto__\"){return}return t[e]}var Ka=Qa;function Ja(t){return ze(t,di(t))}var Za=Ja;function Xa(t,e,n,i,o,s,r){var a=Ka(t,n),c=Ka(e,n),l=r.get(c);if(l){Ha(t,n,l);return}var d=s?s(a,c,n+\"\",t,e,r):undefined;var u=d===undefined;if(u){var h=Qe(c),f=!h&&Object(Ke[\"a\"])(c),g=!h&&!f&&zn(c);d=c;if(h||f||g){if(Qe(a)){d=a}else if(Ga(a)){d=mi(a)}else if(f){u=false;d=Object(fi[\"a\"])(c,true)}else if(g){u=false;d=Co(c,true)}else{d=[]}}else if(R(c)||Ye(c)){d=a;if(Ye(a)){d=Za(a)}else if(!ct(a)||gt(a)){d=Zo(c)}}else{u=false}}if(u){r.set(c,d);o(d,c,i,s,r);r[\"delete\"](c)}Ha(t,n,d)}var tc=Xa;function ec(t,e,n,i,o){if(t===e){return}$a(e,(function(s,r){o||(o=new Te);if(ct(s)){tc(t,e,r,n,ec,i,o)}else{var a=i?i(Ka(t,r),s,r+\"\",t,e,o):undefined;if(a===undefined){a=s}Ha(t,r,a)}}),di)}var nc=ec;function ic(t){return t}var oc=ic;function sc(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var rc=sc;var ac=Math.max;function cc(t,e,n){e=ac(e===undefined?t.length-1:e,0);return function(){var i=arguments,o=-1,s=ac(i.length-e,0),r=Array(s);while(++o<s){r[o]=i[e+o]}o=-1;var a=Array(e+1);while(++o<e){a[o]=i[o]}a[e]=n(r);return rc(t,this,a)}}var lc=cc;function dc(t){return function(){return t}}var uc=dc;var hc=!Ee?oc:function(t,e){return Ee(t,\"toString\",{configurable:true,enumerable:false,value:uc(e),writable:true})};var fc=hc;var gc=800,mc=16;var pc=Date.now;function bc(t){var e=0,n=0;return function(){var i=pc(),o=mc-(i-n);n=i;if(o>0){if(++e>=gc){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}var wc=bc;var _c=wc(fc);var kc=_c;function vc(t,e){return kc(lc(t,e,oc),t+\"\")}var yc=vc;function xc(t,e,n){if(!ct(n)){return false}var i=typeof e;if(i==\"number\"?Zn(n)&&tn(e,n.length):i==\"string\"&&e in n){return V(n[e],t)}return false}var Ac=xc;function Tc(t){return yc((function(e,n){var i=-1,o=n.length,s=o>1?n[o-1]:undefined,r=o>2?n[2]:undefined;s=t.length>3&&typeof s==\"function\"?(o--,s):undefined;if(r&&Ac(n[0],n[1],r)){s=o<3?undefined:s;o=1}e=Object(e);while(++i<o){var a=n[i];if(a){t(e,a,i,s)}}return e}))}var Cc=Tc;var Sc=Cc((function(t,e,n){nc(t,e,n)}));var Pc=Sc;function Ec(t,e,n,i){if(!ct(t)){return t}e=xa(e,t);var o=-1,s=e.length,r=s-1,a=t;while(a!=null&&++o<s){var c=Pa(e[o]),l=n;if(o!=r){var d=a[c];l=i?i(d,c,a):undefined;if(l===undefined){l=ct(d)?d:tn(e[o+1])?[]:{}}}De(a,c,l);a=a[c]}return t}var Mc=Ec;function Ic(t,e,n){return t==null?t:Mc(t,e,n)}var Nc=Ic;class Oc{constructor(t){this._styles={};this._styleProcessor=t}get isEmpty(){const t=Object.entries(this._styles);const e=Array.from(t);return!e.length}get size(){if(this.isEmpty){return 0}return this.getStyleNames().length}setTo(t){this.clear();const e=Array.from(Dc(t).entries());for(const[t,n]of e){this._styleProcessor.toNormalizedForm(t,n,this._styles)}}has(t){if(this.isEmpty){return false}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find(([e])=>e===t);return Array.isArray(n)}set(t,e){if(ct(t)){for(const[e,n]of Object.entries(t)){this._styleProcessor.toNormalizedForm(e,n,this._styles)}}else{this._styleProcessor.toNormalizedForm(t,e,this._styles)}}remove(t){const e=Lc(t);Va(this._styles,e);delete this._styles[t];this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){if(this.isEmpty){return\"\"}return this._getStylesEntries().map(t=>t.join(\":\")).sort().join(\";\")+\";\"}getAsString(t){if(this.isEmpty){return}if(this._styles[t]&&!ct(this._styles[t])){return this._styles[t]}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find(([e])=>e===t);if(Array.isArray(n)){return n[1]}}getStyleNames(){if(this.isEmpty){return[]}const t=this._getStylesEntries();return t.map(([t])=>t)}clear(){this._styles={}}_getStylesEntries(){const t=[];const e=Object.keys(this._styles);for(const n of e){t.push(...this._styleProcessor.getReducedForm(n,this._styles))}return t}_cleanEmptyObjectsOnPath(t){const e=t.split(\".\");const n=e.length>1;if(!n){return}const i=e.splice(0,e.length-1).join(\".\");const o=Ba(this._styles,i);if(!o){return}const s=!Array.from(Object.keys(o)).length;if(s){this.remove(i)}}}class Rc{constructor(){this._normalizers=new Map;this._extractors=new Map;this._reducers=new Map;this._consumables=new Map}toNormalizedForm(t,e,n){if(ct(e)){zc(n,Lc(t),e);return}if(this._normalizers.has(t)){const i=this._normalizers.get(t);const{path:o,value:s}=i(e);zc(n,o,s)}else{zc(n,t,e)}}getNormalized(t,e){if(!t){return Pc({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n===\"string\"){return Ba(e,n)}const i=n(t,e);if(i){return i}}return Ba(e,Lc(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(n===undefined){return[]}if(this._reducers.has(t)){const e=this._reducers.get(t);return e(n)}return[[t,n]]}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e){this._mapStyleNames(n,[t])}}_mapStyleNames(t,e){if(!this._consumables.has(t)){this._consumables.set(t,[])}this._consumables.get(t).push(...e)}}function Dc(t){let e=null;let n=0;let i=0;let o=null;const s=new Map;if(t===\"\"){return s}if(t.charAt(t.length-1)!=\";\"){t=t+\";\"}for(let r=0;r<t.length;r++){const a=t.charAt(r);if(e===null){switch(a){case\":\":if(!o){o=t.substr(n,r-n);i=r+1}break;case'\"':case\"'\":e=a;break;case\";\":{const e=t.substr(i,r-i);if(o){s.set(o.trim(),e.trim())}o=null;n=r+1;break}}}else if(a===e){e=null}}return s}function Lc(t){return t.replace(\"-\",\".\")}function zc(t,e,n){let i=n;if(ct(n)){i=Pc({},Ba(t,e),n)}Nc(t,e,i)}class Vc extends jr{constructor(t,e,n,i){super(t);this.name=e;this._attrs=jc(n);this._children=[];if(i){this._insertChild(0,i)}this._classes=new Set;if(this._attrs.has(\"class\")){const t=this._attrs.get(\"class\");Bc(this._classes,t);this._attrs.delete(\"class\")}this._styles=new Oc(this.document.stylesProcessor);if(this._attrs.has(\"style\")){this._styles.setTo(this._attrs.get(\"style\"));this._attrs.delete(\"style\")}this._customProperties=new Map}get childCount(){return this._children.length}get isEmpty(){return this._children.length===0}is(t,e=null){if(!e){return t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"element\"||t===\"view:element\")}}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){if(this._classes.size>0){yield\"class\"}if(!this._styles.isEmpty){yield\"style\"}yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries();if(this._classes.size>0){yield[\"class\",this.getAttribute(\"class\")]}if(!this._styles.isEmpty){yield[\"style\",this.getAttribute(\"style\")]}}getAttribute(t){if(t==\"class\"){if(this._classes.size>0){return[...this._classes].join(\" \")}return undefined}if(t==\"style\"){const t=this._styles.toString();return t==\"\"?undefined:t}return this._attrs.get(t)}hasAttribute(t){if(t==\"class\"){return this._classes.size>0}if(t==\"style\"){return!this._styles.isEmpty}return this._attrs.has(t)}isSimilar(t){if(!(t instanceof Vc)){return false}if(this===t){return true}if(this.name!=t.name){return false}if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size){return false}for(const[e,n]of this._attrs){if(!t._attrs.has(e)||t._attrs.get(e)!==n){return false}}for(const e of this._classes){if(!t._classes.has(e)){return false}}for(const e of this._styles.getStyleNames()){if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e)){return false}}return true}hasClass(...t){for(const e of t){if(!this._classes.has(e)){return false}}return true}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(){return this._styles.getStyleNames()}hasStyle(...t){for(const e of t){if(!this._styles.has(e)){return false}}return true}findAncestor(...t){const e=new Wr(...t);let n=this.parent;while(n){if(e.match(n)){return n}n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(\",\");const e=this._styles.toString();const n=Array.from(this._attrs).map(t=>`${t[0]}=\"${t[1]}\"`).sort().join(\" \");return this.name+(t==\"\"?\"\":` class=\"${t}\"`)+(!e?\"\":` style=\"${e}\"`)+(n==\"\"?\"\":` ${n}`)}_clone(t=false){const e=[];if(t){for(const n of this.getChildren()){e.push(n._clone(t))}}const n=new this.constructor(this.document,this.name,this._attrs,e);n._classes=new Set(this._classes);n._styles.set(this._styles.getNormalized());n._customProperties=new Map(this._customProperties);n.getFillerOffset=this.getFillerOffset;return n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const i=Fc(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;e.document=this.document;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n<t+e;n++){this._children[n].parent=null}return this._children.splice(t,e)}_setAttribute(t,e){e=String(e);this._fireChange(\"attributes\",this);if(t==\"class\"){Bc(this._classes,e)}else if(t==\"style\"){this._styles.setTo(e)}else{this._attrs.set(t,e)}}_removeAttribute(t){this._fireChange(\"attributes\",this);if(t==\"class\"){if(this._classes.size>0){this._classes.clear();return true}return false}if(t==\"style\"){if(!this._styles.isEmpty){this._styles.clear();return true}return false}return this._attrs.delete(t)}_addClass(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._classes.add(t))}_removeClass(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._classes.delete(t))}_setStyle(t,e){this._fireChange(\"attributes\",this);this._styles.set(t,e)}_removeStyle(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._styles.remove(t))}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function jc(t){t=Ur(t);for(const[e,n]of t){if(n===null){t.delete(e)}else if(typeof n!=\"string\"){t.set(e,String(n))}}return t}function Bc(t,e){const n=e.split(/\\s+/);t.clear();n.forEach(e=>t.add(e))}function Fc(t,e){if(typeof e==\"string\"){return[new Br(t,e)]}if(!vr(e)){e=[e]}return Array.from(e).map(e=>{if(typeof e==\"string\"){return new Br(t,e)}if(e instanceof Fr){return new Br(t,e.data)}return e})}class Hc extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Uc}is(t,e=null){if(!e){return t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}}function Uc(){const t=[...this.getChildren()];const e=t[this.childCount-1];if(e&&e.is(\"element\",\"br\")){return this.childCount}for(const e of t){if(!e.is(\"uiElement\")){return null}}return this.childCount}var Wc=Cc((function(t,e){ze(e,di(e),t)}));var qc=Wc;const $c=Symbol(\"observableProperties\");const Yc=Symbol(\"boundObservables\");const Gc=Symbol(\"boundProperties\");const Qc={set(t,e){if(ct(t)){Object.keys(t).forEach(e=>{this.set(e,t[e])},this);return}Jc(this);const n=this[$c];if(t in this&&!n.has(t)){throw new rr[\"b\"](\"observable-set-cannot-override: Cannot override an existing property.\",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const i=n.get(t);let o=this.fire(\"set:\"+t,t,e,i);if(o===undefined){o=e}if(i!==o||!n.has(t)){n.set(t,o);this.fire(\"change:\"+t,t,o,i)}}});this[t]=e},bind(...t){if(!t.length||!el(t)){throw new rr[\"b\"](\"observable-bind-wrong-properties: All properties must be strings.\",this)}if(new Set(t).size!==t.length){throw new rr[\"b\"](\"observable-bind-duplicate-properties: Properties must be unique.\",this)}Jc(this);const e=this[Gc];t.forEach(t=>{if(e.has(t)){throw new rr[\"b\"](\"observable-bind-rebind: Cannot bind the same property more than once.\",this)}});const n=new Map;t.forEach(t=>{const i={property:t,to:[]};e.set(t,i);n.set(t,i)});return{to:Zc,toMany:Xc,_observable:this,_bindProperties:t,_to:[],_bindings:n}},unbind(...t){if(!this[$c]){return}const e=this[Gc];const n=this[Yc];if(t.length){if(!el(t)){throw new rr[\"b\"](\"observable-unbind-wrong-properties: Properties must be strings.\",this)}t.forEach(t=>{const i=e.get(t);if(!i){return}let o,s,r,a;i.to.forEach(t=>{o=t[0];s=t[1];r=n.get(o);a=r[s];a.delete(i);if(!a.size){delete r[s]}if(!Object.keys(r).length){n.delete(o);this.stopListening(o,\"change\")}});e.delete(t)})}else{n.forEach((t,e)=>{this.stopListening(e,\"change\")});n.clear();e.clear()}},decorate(t){const e=this[t];if(!e){throw new rr[\"b\"](\"observablemixin-cannot-decorate-undefined: Cannot decorate an undefined method.\",this,{object:this,methodName:t})}this.on(t,(t,n)=>{t.return=e.apply(this,n)});this[t]=function(...e){return this.fire(t,e)}}};qc(Qc,dr);var Kc=Qc;function Jc(t){if(t[$c]){return}Object.defineProperty(t,$c,{value:new Map});Object.defineProperty(t,Yc,{value:new Map});Object.defineProperty(t,Gc,{value:new Map})}function Zc(...t){const e=nl(...t);const n=Array.from(this._bindings.keys());const i=n.length;if(!e.callback&&e.to.length>1){throw new rr[\"b\"](\"observable-bind-to-no-callback: Binding multiple observables only possible with callback.\",this)}if(i>1&&e.callback){throw new rr[\"b\"](\"observable-bind-to-extra-callback: Cannot bind multiple properties and use a callback in one binding.\",this)}e.to.forEach(t=>{if(t.properties.length&&t.properties.length!==i){throw new rr[\"b\"](\"observable-bind-to-properties-length: The number of properties must match.\",this)}if(!t.properties.length){t.properties=this._bindProperties}});this._to=e.to;if(e.callback){this._bindings.get(n[0]).callback=e.callback}rl(this._observable,this._to);ol(this);this._bindProperties.forEach(t=>{sl(this._observable,t)})}function Xc(t,e,n){if(this._bindings.size>1){throw new rr[\"b\"](\"observable-bind-to-many-not-one-binding: Cannot bind multiple properties with toMany().\",this)}this.to(...tl(t,e),n)}function tl(t,e){const n=t.map(t=>[t,e]);return Array.prototype.concat.apply([],n)}function el(t){return t.every(t=>typeof t==\"string\")}function nl(...t){if(!t.length){throw new rr[\"b\"](\"observable-bind-to-parse-error: Invalid argument syntax in `to()`.\",null)}const e={to:[]};let n;if(typeof t[t.length-1]==\"function\"){e.callback=t.pop()}t.forEach(t=>{if(typeof t==\"string\"){n.properties.push(t)}else if(typeof t==\"object\"){n={observable:t,properties:[]};e.to.push(n)}else{throw new rr[\"b\"](\"observable-bind-to-parse-error: Invalid argument syntax in `to()`.\",null)}});return e}function il(t,e,n,i){const o=t[Yc];const s=o.get(n);const r=s||{};if(!r[i]){r[i]=new Set}r[i].add(e);if(!s){o.set(n,r)}}function ol(t){let e;t._bindings.forEach((n,i)=>{t._to.forEach(o=>{e=o.properties[n.callback?0:t._bindProperties.indexOf(i)];n.to.push([o.observable,e]);il(t._observable,n,o.observable,e)})})}function sl(t,e){const n=t[Gc];const i=n.get(e);let o;if(i.callback){o=i.callback.apply(t,i.to.map(t=>t[0][t[1]]))}else{o=i.to[0];o=o[0][o[1]]}if(t.hasOwnProperty(e)){t[e]=o}else{t.set(e,o)}}function rl(t,e){e.forEach(e=>{const n=t[Yc];let i;if(!n.get(e.observable)){t.listenTo(e.observable,\"change\",(o,s)=>{i=n.get(e.observable)[s];if(i){i.forEach(e=>{sl(t,e.property)})}})}})}class al extends Hc{constructor(t,e,n,i){super(t,e,n,i);this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.bind(\"isReadOnly\").to(t);this.bind(\"isFocused\").to(t,\"isFocused\",e=>e&&t.selection.editableElement==this);this.listenTo(t.selection,\"change\",()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this})}is(t,e=null){if(!e){return t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}destroy(){this.stopListening()}}yr(al,Kc);const cl=Symbol(\"rootName\");class ll extends al{constructor(t,e){super(t,e);this.rootName=\"main\"}is(t,e=null){if(!e){return t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}get rootName(){return this.getCustomProperty(cl)}set rootName(t){this._setCustomProperty(cl,t)}set _name(t){this.name=t}}class dl{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new rr[\"b\"](\"view-tree-walker-no-start-position: Neither boundaries nor starting position have been defined.\",null)}if(t.direction&&t.direction!=\"forward\"&&t.direction!=\"backward\"){throw new rr[\"b\"](\"view-tree-walker-unknown-direction: Only `backward` and `forward` direction allowed.\",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this.position=ul._createAt(t.startPosition)}else{this.position=ul._createAt(t.boundaries[t.direction==\"backward\"?\"end\":\"start\"])}this.direction=t.direction||\"forward\";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(t){let e,n,i;do{i=this.position;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=i}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===n.childCount){return{done:true}}if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset){return{done:true}}let i;if(n instanceof Br){if(t.isAtEnd){this.position=ul._createAfter(n);return this._next()}i=n.data[t.offset]}else{i=n.getChild(t.offset)}if(i instanceof Vc){if(!this.shallow){t=new ul(i,0)}else{t.offset++}this.position=t;return this._formatReturnValue(\"elementStart\",i,e,t,1)}else if(i instanceof Br){if(this.singleCharacters){t=new ul(i,0);this.position=t;return this._next()}else{let n=i.data.length;let o;if(i==this._boundaryEndParent){n=this.boundaries.end.offset;o=new Fr(i,0,n);t=ul._createAfter(o)}else{o=new Fr(i,0,i.data.length);t.offset++}this.position=t;return this._formatReturnValue(\"text\",o,e,t,n)}}else if(typeof i==\"string\"){let i;if(this.singleCharacters){i=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;i=e-t.offset}const o=new Fr(n,t.offset,i);t.offset+=i;this.position=t;return this._formatReturnValue(\"text\",o,e,t,i)}else{t=ul._createAfter(n);this.position=t;if(this.ignoreElementEnd){return this._next()}else{return this._formatReturnValue(\"elementEnd\",n,e,t)}}}_previous(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===0){return{done:true}}if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset){return{done:true}}let i;if(n instanceof Br){if(t.isAtStart){this.position=ul._createBefore(n);return this._previous()}i=n.data[t.offset-1]}else{i=n.getChild(t.offset-1)}if(i instanceof Vc){if(!this.shallow){t=new ul(i,i.childCount);this.position=t;if(this.ignoreElementEnd){return this._previous()}else{return this._formatReturnValue(\"elementEnd\",i,e,t)}}else{t.offset--;this.position=t;return this._formatReturnValue(\"elementStart\",i,e,t,1)}}else if(i instanceof Br){if(this.singleCharacters){t=new ul(i,i.data.length);this.position=t;return this._previous()}else{let n=i.data.length;let o;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;o=new Fr(i,e,i.data.length-e);n=o.data.length;t=ul._createBefore(o)}else{o=new Fr(i,0,i.data.length);t.offset--}this.position=t;return this._formatReturnValue(\"text\",o,e,t,n)}}else if(typeof i==\"string\"){let i;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}else{i=1}t.offset-=i;const o=new Fr(n,t.offset,i);this.position=t;return this._formatReturnValue(\"text\",o,e,t,i)}else{t=ul._createBefore(n);this.position=t;return this._formatReturnValue(\"elementStart\",n,e,t,1)}}_formatReturnValue(t,e,n,i,o){if(e instanceof Fr){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction==\"forward\"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){i=ul._createAfter(e.textNode);this.position=i}else{n=ul._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction==\"backward\"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){i=ul._createBefore(e.textNode);this.position=i}else{n=ul._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}}class ul{constructor(t,e){this.parent=t;this.offset=e}get nodeAfter(){if(this.parent.is(\"text\")){return null}return this.parent.getChild(this.offset)||null}get nodeBefore(){if(this.parent.is(\"text\")){return null}return this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is(\"text\")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;while(!(t instanceof al)){if(t.parent){t=t.parent}else{return null}}return t}getShiftedBy(t){const e=ul._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new dl(e);n.skip(t);return n.position}getAncestors(){if(this.parent.is(\"documentFragment\")){return[this.parent]}else{return this.parent.getAncestors({includeSelf:true})}}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}is(t){return t===\"position\"||t===\"view:position\"}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)==\"before\"}isAfter(t){return this.compareWith(t)==\"after\"}compareWith(t){if(this.root!==t.root){return\"different\"}if(this.isEqual(t)){return\"same\"}const e=this.parent.is(\"node\")?this.parent.getPath():[];const n=t.parent.is(\"node\")?t.parent.getPath():[];e.push(this.offset);n.push(t.offset);const i=Dr(e,n);switch(i){case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return e[i]<n[i]?\"before\":\"after\"}}getWalker(t={}){t.startPosition=this;return new dl(t)}clone(){return new ul(this.parent,this.offset)}static _createAt(t,e){if(t instanceof ul){return new this(t.parent,t.offset)}else{const n=t;if(e==\"end\"){e=n.is(\"text\")?n.data.length:n.childCount}else if(e==\"before\"){return this._createBefore(n)}else if(e==\"after\"){return this._createAfter(n)}else if(e!==0&&!e){throw new rr[\"b\"](\"view-createPositionAt-offset-required: \"+\"View#createPositionAt() requires the offset when the first parameter is a view item.\",n)}return new ul(n,e)}}static _createAfter(t){if(t.is(\"textProxy\")){return new ul(t.textNode,t.offsetInText+t.data.length)}if(!t.parent){throw new rr[\"b\"](\"view-position-after-root: You can not make position after root.\",t,{root:t})}return new ul(t.parent,t.index+1)}static _createBefore(t){if(t.is(\"textProxy\")){return new ul(t.textNode,t.offsetInText)}if(!t.parent){throw new rr[\"b\"](\"view-position-before-root: You can not make position before root.\",t,{root:t})}return new ul(t.parent,t.index)}}class hl{constructor(t,e=null){this.start=t.clone();this.end=e?e.clone():t.clone()}*[Symbol.iterator](){yield*new dl({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){return this.start.parent===this.end.parent}get root(){return this.start.root}getEnlarged(){let t=this.start.getLastMatchingPosition(fl,{direction:\"backward\"});let e=this.end.getLastMatchingPosition(fl);if(t.parent.is(\"text\")&&t.isAtStart){t=ul._createBefore(t.parent)}if(e.parent.is(\"text\")&&e.isAtEnd){e=ul._createAfter(e.parent)}return new hl(t,e)}getTrimmed(){let t=this.start.getLastMatchingPosition(fl);if(t.isAfter(this.end)||t.isEqual(this.end)){return new hl(t,t)}let e=this.end.getLastMatchingPosition(fl,{direction:\"backward\"});const n=t.nodeAfter;const i=e.nodeBefore;if(n&&n.is(\"text\")){t=new ul(n,0)}if(i&&i.is(\"text\")){e=new ul(i,i.data.length)}return new hl(t,e)}isEqual(t){return this==t||this.start.isEqual(t.start)&&this.end.isEqual(t.end)}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new hl(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new hl(t.end,this.end))}}else{e.push(this.clone())}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new hl(e,n)}return null}getWalker(t={}){t.boundaries=this;return new dl(t)}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed){return null}let t=this.start.nodeAfter;let e=this.end.nodeBefore;if(this.start.parent.is(\"text\")&&this.start.isAtEnd&&this.start.parent.nextSibling){t=this.start.parent.nextSibling}if(this.end.parent.is(\"text\")&&this.end.isAtStart&&this.end.parent.previousSibling){e=this.end.parent.previousSibling}if(t&&t.is(\"element\")&&t===e){return t}return null}clone(){return new hl(this.start,this.end)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new dl(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new dl(t);yield e.position;for(const t of e){yield t.nextPosition}}is(t){return t===\"range\"||t===\"view:range\"}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}static _createFromParentsAndOffsets(t,e,n,i){return new this(new ul(t,e),new ul(n,i))}static _createFromPositionAndShift(t,e){const n=t;const i=t.getShiftedBy(e);return e>0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is(\"textProxy\")?t.offsetSize:1;return this._createFromPositionAndShift(ul._createBefore(t),e)}}function fl(t){if(t.item.is(\"attributeElement\")||t.item.is(\"uiElement\")){return true}return false}function gl(t){let e=0;for(const n of t){e++}return e}class ml{constructor(t=null,e,n){this._ranges=[];this._lastRangeBackward=false;this._isFake=false;this._fakeSelectionLabel=\"\";this.setTo(t,e,n)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.end:t.start;return e.clone()}get focus(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.start:t.end;return e.clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){if(this.anchor){return this.anchor.editableElement}return null}*getRanges(){for(const t of this._ranges){yield t.clone()}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake){return false}if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel){return false}if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}isSimilar(t){if(this.isBackward!=t.isBackward){return false}const e=gl(this.getRanges());const n=gl(t.getRanges());if(e!=n){return false}if(e==0){return true}for(let e of this.getRanges()){e=e.getTrimmed();let n=false;for(let i of t.getRanges()){i=i.getTrimmed();if(e.start.isEqual(i.start)&&e.end.isEqual(i.end)){n=true;break}}if(!n){return false}}return true}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}setTo(t,e,n){if(t===null){this._setRanges([]);this._setFakeOptions(e)}else if(t instanceof ml||t instanceof pl){this._setRanges(t.getRanges(),t.isBackward);this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel})}else if(t instanceof hl){this._setRanges([t],e&&e.backward);this._setFakeOptions(e)}else if(t instanceof ul){this._setRanges([new hl(t)]);this._setFakeOptions(e)}else if(t instanceof jr){const i=!!n&&!!n.backward;let o;if(e===undefined){throw new rr[\"b\"](\"view-selection-setTo-required-second-parameter: \"+\"selection.setTo requires the second parameter when the first parameter is a node.\",this)}else if(e==\"in\"){o=hl._createIn(t)}else if(e==\"on\"){o=hl._createOn(t)}else{o=new hl(ul._createAt(t,e))}this._setRanges([o],i);this._setFakeOptions(n)}else if(vr(t)){this._setRanges(t,e&&e.backward);this._setFakeOptions(e)}else{throw new rr[\"b\"](\"view-selection-setTo-not-selectable: Cannot set selection to given place.\",this)}this.fire(\"change\")}setFocus(t,e){if(this.anchor===null){throw new rr[\"b\"](\"view-selection-setFocus-no-ranges: Cannot set selection focus if there are no ranges in selection.\",this)}const n=ul._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const i=this.anchor;this._ranges.pop();if(n.compareWith(i)==\"before\"){this._addRange(new hl(n,i),true)}else{this._addRange(new hl(i,n))}this.fire(\"change\")}is(t){return t===\"selection\"||t===\"view:selection\"}_setRanges(t,e=false){t=Array.from(t);this._ranges=[];for(const e of t){this._addRange(e)}this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake;this._fakeSelectionLabel=t.fake?t.label||\"\":\"\"}_addRange(t,e=false){if(!(t instanceof hl)){throw new rr[\"b\"](\"view-selection-add-range-not-range: \"+\"Selection range set to an object that is not an instance of view.Range\",this)}this._pushRange(t);this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges){if(t.isIntersecting(e)){throw new rr[\"b\"](\"view-selection-range-intersects: Trying to add a range that intersects with another range from selection.\",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new hl(t.start,t.end))}}yr(ml,dr);class pl{constructor(t=null,e,n){this._selection=new ml;this._selection.delegate(\"change\").to(this);this._selection.setTo(t,e,n)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}is(t){return t===\"selection\"||t==\"documentSelection\"||t==\"view:selection\"||t==\"view:documentSelection\"}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setFocus(t,e){this._selection.setFocus(t,e)}}yr(pl,dr);class bl{constructor(t){this.selection=new pl;this.roots=new xr({idProperty:\"rootName\"});this.stylesProcessor=t;this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.set(\"isComposing\",false);this._postFixers=new Set}getRoot(t=\"main\"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.map(t=>t.destroy());this.stopListening()}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){e=n(t);if(e){break}}}while(e)}}yr(bl,Kc);const wl=10;class _l extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=kl;this._priority=wl;this._id=null;this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null){throw new rr[\"b\"](\"attribute-element-get-elements-with-same-id-no-id: \"+\"Cannot get elements with the same id for an attribute element without id.\",this)}return new Set(this._clonesGroup)}is(t,e=null){if(!e){return t===\"attributeElement\"||t===\"view:attributeElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"attributeElement\"||t===\"view:attributeElement\"||t===\"element\"||t===\"view:element\")}}isSimilar(t){if(this.id!==null||t.id!==null){return this.id===t.id}return super.isSimilar(t)&&this.priority==t.priority}_clone(t){const e=super._clone(t);e._priority=this._priority;e._id=this._id;return e}}_l.DEFAULT_PRIORITY=wl;function kl(){if(vl(this)){return null}let t=this.parent;while(t&&t.is(\"attributeElement\")){if(vl(t)>1){return null}t=t.parent}if(!t||vl(t)>1){return null}return this.childCount}function vl(t){return Array.from(t.getChildren()).filter(t=>!t.is(\"uiElement\")).length}class yl extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=xl}is(t,e=null){if(!e){return t===\"emptyElement\"||t===\"view:emptyElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"emptyElement\"||t===\"view:emptyElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof jr||Array.from(e).length>0)){throw new rr[\"b\"](\"view-emptyelement-cannot-add: Cannot add child nodes to EmptyElement instance.\",[this,e])}}}function xl(){return null}const Al=navigator.userAgent.toLowerCase();const Tl={isMac:Sl(Al),isGecko:Pl(Al),isSafari:El(Al),isAndroid:Ml(Al),features:{isRegExpUnicodePropertySupported:Il()}};var Cl=Tl;function Sl(t){return t.indexOf(\"macintosh\")>-1}function Pl(t){return!!t.match(/gecko\\/\\d+/)}function El(t){return t.indexOf(\" applewebkit/\")>-1&&t.indexOf(\"chrome\")===-1}function Ml(t){return t.indexOf(\"android\")>-1}function Il(){let t=false;try{t=\"ć\".search(new RegExp(\"[\\\\p{L}]\",\"u\"))===0}catch(t){}return t}const Nl={\"⌘\":\"ctrl\",\"⇧\":\"shift\",\"⌥\":\"alt\"};const Ol={ctrl:\"⌘\",shift:\"⇧\",alt:\"⌥\"};const Rl=Vl();function Dl(t){let e;if(typeof t==\"string\"){e=Rl[t.toLowerCase()];if(!e){throw new rr[\"b\"](\"keyboard-unknown-key: Unknown key name.\",null,{key:t})}}else{e=t.keyCode+(t.altKey?Rl.alt:0)+(t.ctrlKey?Rl.ctrl:0)+(t.shiftKey?Rl.shift:0)}return e}function Ll(t){if(typeof t==\"string\"){t=jl(t)}return t.map(t=>typeof t==\"string\"?Dl(t):t).reduce((t,e)=>e+t,0)}function zl(t){if(!Cl.isMac){return t}return jl(t).map(t=>Ol[t.toLowerCase()]||t).reduce((t,e)=>{if(t.slice(-1)in Nl){return t+e}else{return t+\"+\"+e}})}function Vl(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,cmd:1114112,shift:2228224,alt:4456448};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++){t[e-48]=e}for(let e=112;e<=123;e++){t[\"f\"+(e-111)]=e}return t}function jl(t){return t.split(/\\s*\\+\\s*/)}class Bl extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Hl}is(t,e=null){if(!e){return t===\"uiElement\"||t===\"view:uiElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"uiElement\"||t===\"view:uiElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof jr||Array.from(e).length>0)){throw new rr[\"b\"](\"view-uielement-cannot-add: Cannot add child nodes to UIElement instance.\",this)}}render(t){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys()){e.setAttribute(t,this.getAttribute(t))}return e}}function Fl(t){t.document.on(\"keydown\",(e,n)=>Ul(e,n,t.domConverter))}function Hl(){return null}function Ul(t,e,n){if(e.keyCode==Rl.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const i=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode;const o=t.focusOffset;const s=n.domPositionToView(e,o);if(s===null){return}let r=false;const a=s.getLastMatchingPosition(t=>{if(t.item.is(\"uiElement\")){r=true}if(t.item.is(\"uiElement\")||t.item.is(\"attributeElement\")){return true}return false});if(r){const e=n.viewPositionToDom(a);if(i){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class Wl{constructor(t,e){this.document=t;this._children=[];if(e){this._insertChild(0,e)}}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t===\"documentFragment\"||t===\"view:documentFragment\"}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const i=ql(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n<t+e;n++){this._children[n].parent=null}return this._children.splice(t,e)}_fireChange(t,e){this.fire(\"change:\"+t,e)}}yr(Wl,dr);function ql(t,e){if(typeof e==\"string\"){return[new Br(t,e)]}if(!vr(e)){e=[e]}return Array.from(e).map(e=>{if(typeof e==\"string\"){return new Br(t,e)}if(e instanceof Fr){return new Br(t,e.data)}return e})}class $l{constructor(t){this.document=t;this._cloneGroups=new Map}setSelection(t,e,n){this.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createText(t){return new Br(this.document,t)}createAttributeElement(t,e,n={}){const i=new _l(this.document,t,e);if(n.priority){i._priority=n.priority}if(n.id){i._id=n.id}return i}createContainerElement(t,e){return new Hc(this.document,t,e)}createEditableElement(t,e){const n=new al(this.document,t,e);n._document=this.document;return n}createEmptyElement(t,e){return new yl(this.document,t,e)}createUIElement(t,e,n){const i=new Bl(this.document,t,e);if(n){i.render=n}return i}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(R(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){if(t instanceof ul){return this._breakAttributes(t)}else{return this._breakAttributesRange(t)}}breakContainer(t){const e=t.parent;if(!e.is(\"containerElement\")){throw new rr[\"b\"](\"view-writer-break-non-container-element: Trying to break an element which is not a container element.\",this.document)}if(!e.parent){throw new rr[\"b\"](\"view-writer-break-root: Trying to break root element.\",this.document)}if(t.isAtStart){return ul._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(ul._createAfter(e),n);const i=new hl(t,ul._createAt(e,\"end\"));const o=new ul(n,0);this.move(i,o)}return ul._createAfter(e)}mergeAttributes(t){const e=t.offset;const n=t.parent;if(n.is(\"text\")){return t}if(n.is(\"attributeElement\")&&n.childCount===0){const t=n.parent;const e=n.index;n._remove();this._removeFromClonedElementsGroup(n);return this.mergeAttributes(new ul(t,e))}const i=n.getChild(e-1);const o=n.getChild(e);if(!i||!o){return t}if(i.is(\"text\")&&o.is(\"text\")){return Zl(i,o)}else if(i.is(\"attributeElement\")&&o.is(\"attributeElement\")&&i.isSimilar(o)){const t=i.childCount;i._appendChild(o.getChildren());o._remove();this._removeFromClonedElementsGroup(o);return this.mergeAttributes(new ul(i,t))}return t}mergeContainers(t){const e=t.nodeBefore;const n=t.nodeAfter;if(!e||!n||!e.is(\"containerElement\")||!n.is(\"containerElement\")){throw new rr[\"b\"](\"view-writer-merge-containers-invalid-position: \"+\"Element before and after given position cannot be merged.\",this.document)}const i=e.getChild(e.childCount-1);const o=i instanceof Br?ul._createAt(i,\"end\"):ul._createAt(e,\"end\");this.move(hl._createIn(n),ul._createAt(e,\"end\"));this.remove(hl._createOn(n));return o}insert(t,e){e=vr(e)?[...e]:[e];Xl(e,this.document);const n=Gl(t);if(!n){throw new rr[\"b\"](\"view-writer-invalid-position-container\",this.document)}const i=this._breakAttributes(t,true);const o=n._insertChild(i.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const s=i.getShiftedBy(o);const r=this.mergeAttributes(i);if(o===0){return new hl(r,r)}else{if(!r.isEqual(i)){s.offset--}const t=this.mergeAttributes(s);return new hl(r,t)}}remove(t){const e=t instanceof hl?t:hl._createOn(t);nd(e,this.document);if(e.isCollapsed){return new Wl(this.document)}const{start:n,end:i}=this._breakAttributesRange(e,true);const o=n.parent;const s=i.offset-n.offset;const r=o._removeChildren(n.offset,s);for(const t of r){this._removeFromClonedElementsGroup(t)}const a=this.mergeAttributes(n);e.start=a;e.end=a.clone();return new Wl(this.document,r)}clear(t,e){nd(t,this.document);const n=t.getWalker({direction:\"backward\",ignoreElementEnd:true});for(const i of n){const n=i.item;let o;if(n.is(\"element\")&&e.isSimilar(n)){o=hl._createOn(n)}else if(!i.nextPosition.isAfter(t.start)&&n.is(\"textProxy\")){const t=n.getAncestors().find(t=>t.is(\"element\")&&e.isSimilar(t));if(t){o=hl._createIn(t)}}if(o){if(o.end.isAfter(t.end)){o.end=t.end}if(o.start.isBefore(t.start)){o.start=t.start}this.remove(o)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const i=e.parent;const o=i.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=i.childCount-o}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof _l)){throw new rr[\"b\"](\"view-writer-wrap-invalid-attribute\",this.document)}nd(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is(\"element\")&&!Yl(n.parent)){n=n.getLastMatchingPosition(t=>t.item.is(\"uiElement\"))}n=this._wrapPosition(n,e);const i=this.document.selection;if(i.isCollapsed&&i.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new hl(n)}}unwrap(t,e){if(!(e instanceof _l)){throw new rr[\"b\"](\"view-writer-unwrap-invalid-attribute\",this.document)}nd(t,this.document);if(t.isCollapsed){return t}const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const s=this._unwrapChildren(o,n.offset,i.offset,e);const r=this.mergeAttributes(s.start);if(!r.isEqual(s.start)){s.end.offset--}const a=this.mergeAttributes(s.end);return new hl(r,a)}rename(t,e){const n=new Hc(this.document,t,e.getAttributes());this.insert(ul._createAfter(e),n);this.move(hl._createIn(e),ul._createAt(n,0));this.remove(hl._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}_wrapChildren(t,e,n,i){let o=e;const s=[];while(o<n){const e=t.getChild(o);const n=e.is(\"text\");const r=e.is(\"attributeElement\");const a=e.is(\"emptyElement\");const c=e.is(\"uiElement\");if(r&&this._wrapAttributeElement(i,e)){s.push(new ul(t,o))}else if(n||a||c||r&&Ql(i,e)){const n=i._clone();e._remove();n._appendChild(e);t._insertChild(o,n);this._addToClonedElementsGroup(n);s.push(new ul(t,o))}else if(r){this._wrapChildren(e,0,e.childCount,i)}o++}let r=0;for(const t of s){t.offset-=r;if(t.offset==e){continue}const i=this.mergeAttributes(t);if(!i.isEqual(t)){r++;n--}}return hl._createFromParentsAndOffsets(t,e,t,n)}_unwrapChildren(t,e,n,i){let o=e;const s=[];while(o<n){const e=t.getChild(o);if(!e.is(\"attributeElement\")){o++;continue}if(e.isSimilar(i)){const i=e.getChildren();const r=e.childCount;e._remove();t._insertChild(o,i);this._removeFromClonedElementsGroup(e);s.push(new ul(t,o),new ul(t,o+r));o+=r;n+=r-1;continue}if(this._unwrapAttributeElement(i,e)){s.push(new ul(t,o),new ul(t,o+1));o++;continue}this._unwrapChildren(e,0,e.childCount,i);o++}let r=0;for(const t of s){t.offset-=r;if(t.offset==e||t.offset==n){continue}const i=this.mergeAttributes(t);if(!i.isEqual(t)){r++;n--}}return hl._createFromParentsAndOffsets(t,e,t,n)}_wrapRange(t,e){const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const s=this._wrapChildren(o,n.offset,i.offset,e);const r=this.mergeAttributes(s.start);if(!r.isEqual(s.start)){s.end.offset--}const a=this.mergeAttributes(s.end);return new hl(r,a)}_wrapPosition(t,e){if(e.isSimilar(t.parent)){return Kl(t.clone())}if(t.parent.is(\"text\")){t=Jl(t)}const n=this.createAttributeElement();n._priority=Number.POSITIVE_INFINITY;n.isSimilar=()=>false;t.parent._insertChild(t.offset,n);const i=new hl(t,t.getShiftedBy(1));this.wrap(i,e);const o=new ul(n.parent,n.index);n._remove();const s=o.nodeBefore;const r=o.nodeAfter;if(s instanceof Br&&r instanceof Br){return Zl(s,r)}return Kl(o)}_wrapAttributeElement(t,e){if(!id(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n)){return false}}for(const n of t.getStyleNames()){if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)){this.setAttribute(n,t.getAttribute(n),e)}}for(const n of t.getStyleNames()){if(!e.hasStyle(n)){this.setStyle(n,t.getStyle(n),e)}}for(const n of t.getClassNames()){if(!e.hasClass(n)){this.addClass(n,e)}}return true}_unwrapAttributeElement(t,e){if(!id(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)){return false}}if(!e.hasClass(...t.getClassNames())){return false}for(const n of t.getStyleNames()){if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}this.removeAttribute(n,e)}this.removeClass(Array.from(t.getClassNames()),e);this.removeStyle(Array.from(t.getStyleNames()),e);return true}_breakAttributesRange(t,e=false){const n=t.start;const i=t.end;nd(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new hl(n,n)}const o=this._breakAttributes(i,e);const s=o.parent.childCount;const r=this._breakAttributes(n,e);o.offset+=o.parent.childCount-s;return new hl(r,o)}_breakAttributes(t,e=false){const n=t.offset;const i=t.parent;if(t.parent.is(\"emptyElement\")){throw new rr[\"b\"](\"view-writer-cannot-break-empty-element\",this.document)}if(t.parent.is(\"uiElement\")){throw new rr[\"b\"](\"view-writer-cannot-break-ui-element\",this.document)}if(!e&&i.is(\"text\")&&ed(i.parent)){return t.clone()}if(ed(i)){return t.clone()}if(i.is(\"text\")){return this._breakAttributes(Jl(t),e)}const o=i.childCount;if(n==o){const t=new ul(i.parent,i.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new ul(i.parent,i.index);return this._breakAttributes(t,e)}else{const t=i.index+1;const o=i._clone();i.parent._insertChild(t,o);this._addToClonedElementsGroup(o);const s=i.childCount-n;const r=i._removeChildren(n,s);o._appendChild(r);const a=new ul(i.parent,t);return this._breakAttributes(a,e)}}}_addToClonedElementsGroup(t){if(!t.root.is(\"rootElement\")){return}if(t.is(\"element\")){for(const e of t.getChildren()){this._addToClonedElementsGroup(e)}}const e=t.id;if(!e){return}let n=this._cloneGroups.get(e);if(!n){n=new Set;this._cloneGroups.set(e,n)}n.add(t);t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is(\"element\")){for(const e of t.getChildren()){this._removeFromClonedElementsGroup(e)}}const e=t.id;if(!e){return}const n=this._cloneGroups.get(e);if(!n){return}n.delete(t)}}function Yl(t){return Array.from(t.getChildren()).some(t=>!t.is(\"uiElement\"))}function Gl(t){let e=t.parent;while(!ed(e)){if(!e){return undefined}e=e.parent}return e}function Ql(t,e){if(t.priority<e.priority){return true}else if(t.priority>e.priority){return false}return t.getIdentity()<e.getIdentity()}function Kl(t){const e=t.nodeBefore;if(e&&e.is(\"text\")){return new ul(e,e.data.length)}const n=t.nodeAfter;if(n&&n.is(\"text\")){return new ul(n,0)}return t}function Jl(t){if(t.offset==t.parent.data.length){return new ul(t.parent.parent,t.parent.index+1)}if(t.offset===0){return new ul(t.parent.parent,t.parent.index)}const e=t.parent.data.slice(t.offset);t.parent._data=t.parent.data.slice(0,t.offset);t.parent.parent._insertChild(t.parent.index+1,new Br(t.root.document,e));return new ul(t.parent.parent,t.parent.index+1)}function Zl(t,e){const n=t.data.length;t._data+=e.data;e._remove();return new ul(t,n)}function Xl(t,e){for(const n of t){if(!td.some(t=>n instanceof t)){throw new rr[\"b\"](\"view-writer-insert-invalid-node\",e)}if(!n.is(\"text\")){Xl(n.getChildren(),e)}}}const td=[Br,_l,Hc,yl,Bl];function ed(t){return t&&(t.is(\"containerElement\")||t.is(\"documentFragment\"))}function nd(t,e){const n=Gl(t.start);const i=Gl(t.end);if(!n||!i||n!==i){throw new rr[\"b\"](\"view-writer-invalid-range-container\",e)}}function id(t,e){return t.id===null&&e.id===null}function od(t){return Object.prototype.toString.call(t)==\"[object Text]\"}const sd=t=>t.createTextNode(\" \");const rd=t=>{const e=t.createElement(\"br\");e.dataset.ckeFiller=true;return e};const ad=7;const cd=(()=>{let t=\"\";for(let e=0;e<ad;e++){t+=\"​\"}return t})();function ld(t){return od(t)&&t.data.substr(0,ad)===cd}function dd(t){return t.data.length==ad&&ld(t)}function ud(t){if(ld(t)){return t.data.slice(ad)}else{return t.data}}function hd(t){t.document.on(\"keydown\",fd)}function fd(t,e){if(e.keyCode==Rl.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(t.rangeCount==1&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer;const n=t.getRangeAt(0).startOffset;if(ld(e)&&n<=ad){t.collapse(e,0)}}}}function gd(t,e,n,i=false){n=n||function(t,e){return t===e};if(!Array.isArray(t)){t=Array.prototype.slice.call(t)}if(!Array.isArray(e)){e=Array.prototype.slice.call(e)}const o=md(t,e,n);return i?_d(o,e.length):wd(e,o)}function md(t,e,n){const i=pd(t,e,n);if(i===-1){return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1}}const o=bd(t,i);const s=bd(e,i);const r=pd(o,s,n);const a=t.length-r;const c=e.length-r;return{firstIndex:i,lastIndexOld:a,lastIndexNew:c}}function pd(t,e,n){for(let i=0;i<Math.max(t.length,e.length);i++){if(t[i]===undefined||e[i]===undefined||!n(t[i],e[i])){return i}}return-1}function bd(t,e){return t.slice(e).reverse()}function wd(t,e){const n=[];const{firstIndex:i,lastIndexOld:o,lastIndexNew:s}=e;if(s-i>0){n.push({index:i,type:\"insert\",values:t.slice(i,s)})}if(o-i>0){n.push({index:i+(s-i),type:\"delete\",howMany:o-i})}return n}function _d(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:o}=t;if(n===-1){return Array(e).fill(\"equal\")}let s=[];if(n>0){s=s.concat(Array(n).fill(\"equal\"))}if(o-n>0){s=s.concat(Array(o-n).fill(\"insert\"))}if(i-n>0){s=s.concat(Array(i-n).fill(\"delete\"))}if(o<e){s=s.concat(Array(e-o).fill(\"equal\"))}return s}function kd(t,e,n){n=n||function(t,e){return t===e};const i=t.length;const o=e.length;if(i>200||o>200||i+o>300){return kd.fastDiff(t,e,n,true)}let s,r;if(o<i){const n=t;t=e;e=n;s=\"delete\";r=\"insert\"}else{s=\"insert\";r=\"delete\"}const a=t.length;const c=e.length;const l=c-a;const d={};const u={};function h(i){const o=(u[i-1]!==undefined?u[i-1]:-1)+1;const l=u[i+1]!==undefined?u[i+1]:-1;const h=o>l?-1:1;if(d[i+h]){d[i]=d[i+h].slice(0)}if(!d[i]){d[i]=[]}d[i].push(o>l?s:r);let f=Math.max(o,l);let g=f-i;while(g<a&&f<c&&n(t[g],e[f])){g++;f++;d[i].push(\"equal\")}return f}let f=0;let g;do{for(g=-f;g<l;g++){u[g]=h(g)}for(g=l+f;g>l;g--){u[g]=h(g)}u[l]=h(l);f++}while(u[l]!==c);return d[l].slice(1)}kd.fastDiff=gd;function vd(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function yd(t){const e=t.parentNode;if(e){e.removeChild(t)}}function xd(t){if(t){if(t.defaultView){return t instanceof t.defaultView.Document}else if(t.ownerDocument&&t.ownerDocument.defaultView){return t instanceof t.ownerDocument.defaultView.Node}}return false}class Ad{constructor(t,e){this.domDocuments=new Set;this.domConverter=t;this.markedAttributes=new Set;this.markedChildren=new Set;this.markedTexts=new Set;this.selection=e;this.isFocused=false;this._inlineFiller=null;this._fakeSelectionContainer=null}markToSync(t,e){if(t===\"text\"){if(this.domConverter.mapViewToDom(e.parent)){this.markedTexts.add(e)}}else{if(!this.domConverter.mapViewToDom(e)){return}if(t===\"attributes\"){this.markedAttributes.add(e)}else if(t===\"children\"){this.markedChildren.add(e)}else{throw new rr[\"b\"](\"view-renderer-unknown-type: Unknown type passed to Renderer.markToSync.\",this)}}}render(){let t;for(const t of this.markedChildren){this._updateChildrenMappings(t)}if(this._inlineFiller&&!this._isSelectionInInlineFiller()){this._removeInlineFiller()}if(this._inlineFiller){t=this._getInlineFillerPosition()}else if(this._needsInlineFillerAtSelection()){t=this.selection.getFirstPosition();this.markedChildren.add(t.parent)}for(const t of this.markedAttributes){this._updateAttrs(t)}for(const e of this.markedChildren){this._updateChildren(e,{inlineFillerPosition:t})}for(const e of this.markedTexts){if(!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)){this._updateText(e,{inlineFillerPosition:t})}}if(t){const e=this.domConverter.viewPositionToDom(t);const n=e.parent.ownerDocument;if(!ld(e.parent)){this._inlineFiller=Cd(n,e.parent,e.offset)}else{this._inlineFiller=e.parent}}else{this._inlineFiller=null}this._updateSelection();this._updateFocus();this.markedTexts.clear();this.markedAttributes.clear();this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=this.domConverter.mapViewToDom(t).childNodes;const i=Array.from(this.domConverter.viewChildrenToDom(t,e.ownerDocument,{withChildren:false}));const o=this._diffNodeLists(n,i);const s=this._findReplaceActions(o,n,i);if(s.indexOf(\"replace\")!==-1){const e={equal:0,insert:0,delete:0};for(const o of s){if(o===\"replace\"){const o=e.equal+e.insert;const s=e.equal+e.delete;const r=t.getChild(o);if(r&&!r.is(\"uiElement\")){this._updateElementMappings(r,n[s])}yd(i[o]);e.equal++}else{e[o]++}}}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e);this.domConverter.bindElements(e,t);this.markedChildren.add(t);this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();if(t.parent.is(\"text\")){return ul._createBefore(this.selection.getFirstPosition().parent)}else{return t}}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=this.domConverter.viewPositionToDom(t);if(e&&od(e.parent)&&ld(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!ld(t)){throw new rr[\"b\"](\"view-renderer-filler-was-lost: The inline filler node was lost.\",this)}if(dd(t)){t.parentNode.removeChild(t)}else{t.data=t.data.substr(ad)}this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=t.parent;const n=t.offset;if(!this.domConverter.mapViewToDom(e.root)){return false}if(!e.is(\"element\")){return false}if(!Td(e)){return false}if(n===e.getFillerOffset()){return false}const i=t.nodeBefore;const o=t.nodeAfter;if(i instanceof Br||o instanceof Br){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const i=this.domConverter.viewToDom(t,n.ownerDocument);const o=n.data;let s=i.data;const r=e.inlineFillerPosition;if(r&&r.parent==t.parent&&r.offset==t.index){s=cd+s}if(o!=s){const t=gd(o,s);for(const e of t){if(e.type===\"insert\"){n.insertData(e.index,e.values.join(\"\"))}else{n.deleteData(e.index,e.howMany)}}}}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.attributes).map(t=>t.name);const i=t.getAttributeKeys();for(const n of i){e.setAttribute(n,t.getAttribute(n))}for(const i of n){if(!t.hasAttribute(i)){e.removeAttribute(i)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}const i=e.inlineFillerPosition;const o=this.domConverter.mapViewToDom(t).childNodes;const s=Array.from(this.domConverter.viewChildrenToDom(t,n.ownerDocument,{bind:true,inlineFillerPosition:i}));if(i&&i.parent===t){Cd(n.ownerDocument,s,i.offset)}const r=this._diffNodeLists(o,s);let a=0;const c=new Set;for(const t of r){if(t===\"delete\"){c.add(o[a]);yd(o[a])}else if(t===\"equal\"){a++}}a=0;for(const t of r){if(t===\"insert\"){vd(n,a,s[a]);a++}else if(t===\"equal\"){this._markDescendantTextToSync(this.domConverter.domToView(s[a]));a++}}for(const t of c){if(!t.parentNode){this.domConverter.unbindDomElement(t)}}}_diffNodeLists(t,e){t=Md(t,this._fakeSelectionContainer);return kd(t,e,Pd.bind(null,this.domConverter))}_findReplaceActions(t,e,n){if(t.indexOf(\"insert\")===-1||t.indexOf(\"delete\")===-1){return t}let i=[];let o=[];let s=[];const r={equal:0,insert:0,delete:0};for(const a of t){if(a===\"insert\"){s.push(n[r.equal+r.insert])}else if(a===\"delete\"){o.push(e[r.equal+r.delete])}else{i=i.concat(kd(o,s,Sd).map(t=>t===\"equal\"?\"replace\":t));i.push(\"equal\");o=[];s=[]}r[a]++}return i.concat(kd(o,s,Sd).map(t=>t===\"equal\"?\"replace\":t))}_markDescendantTextToSync(t){if(!t){return}if(t.is(\"text\")){this.markedTexts.add(t)}else if(t.is(\"element\")){for(const e of t.getChildren()){this._markDescendantTextToSync(e)}}}_updateSelection(){if(this.selection.rangeCount===0){this._removeDomSelection();this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);if(!this.isFocused||!t){return}if(this.selection.isFake){this._updateFakeSelection(t)}else{this._removeFakeSelection();this._updateDomSelection(t)}}_updateFakeSelection(t){const e=t.ownerDocument;if(!this._fakeSelectionContainer){this._fakeSelectionContainer=Id(e)}const n=this._fakeSelectionContainer;this.domConverter.bindFakeSelection(n,this.selection);if(!this._fakeSelectionNeedsUpdate(t)){return}if(!n.parentElement||n.parentElement!=t){t.appendChild(n)}n.textContent=this.selection.fakeSelectionLabel||\" \";const i=e.getSelection();const o=e.createRange();i.removeAllRanges();o.selectNodeContents(n);i.addRange(o)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const i=this.domConverter.viewPositionToDom(this.selection.focus);t.focus();e.collapse(n.parent,n.offset);e.extend(i.parent,i.offset);if(Cl.isGecko){Ed(i,e)}}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t)){return true}const e=t&&this.domConverter.domSelectionToView(t);if(e&&this.selection.isEqual(e)){return false}if(!this.selection.isCollapsed&&this.selection.isSimilar(e)){return false}return true}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer;const n=t.ownerDocument.getSelection();if(!e||e.parentElement!==t){return true}if(n.anchorNode!==e&&!e.contains(n.anchorNode)){return true}return e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const e=t.activeElement;const n=this.domConverter.mapDomToView(e);if(e&&n){t.getSelection().removeAllRanges()}}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;if(t){t.remove()}}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;if(t){this.domConverter.focus(t)}}}}yr(Ad,Kc);function Td(t){if(t.getAttribute(\"contenteditable\")==\"false\"){return false}const e=t.findAncestor(t=>t.hasAttribute(\"contenteditable\"));return!e||e.getAttribute(\"contenteditable\")==\"true\"}function Cd(t,e,n){const i=e instanceof Array?e:e.childNodes;const o=i[n];if(od(o)){o.data=cd+o.data;return o}else{const o=t.createTextNode(cd);if(Array.isArray(e)){i.splice(n,0,o)}else{vd(e,n,o)}return o}}function Sd(t,e){return xd(t)&&xd(e)&&!od(t)&&!od(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Pd(t,e,n){if(e===n){return true}else if(od(e)&&od(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function Ed(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const i=n.childNodes[t.offset];if(i&&i.tagName==\"BR\"){e.addRange(e.getRangeAt(0))}}function Md(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const i=n[n.length-1];if(i==e){n.pop()}return n}function Id(t){const e=t.createElement(\"div\");Object.assign(e.style,{position:\"fixed\",top:0,left:\"-9999px\",width:\"42px\"});e.textContent=\" \";return e}var Nd={window:window,document:document};function Od(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function Rd(t){const e=[];while(t&&t.nodeType!=Node.DOCUMENT_NODE){e.unshift(t);t=t.parentNode}return e}function Dd(t,e){const n=Rd(t);const i=Rd(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}const Ld=rd(document);class zd{constructor(t,e={}){this.document=t;this.blockFillerMode=e.blockFillerMode||\"br\";this.preElements=[\"pre\"];this.blockElements=[\"p\",\"div\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"dd\",\"dt\",\"figcaption\"];this._blockFiller=this.blockFillerMode==\"br\"?rd:sd;this._domToViewMapping=new WeakMap;this._viewToDomMapping=new WeakMap;this._fakeSelectionMapping=new WeakMap}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new ml(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t);this._viewToDomMapping.delete(e);for(const e of t.childNodes){this.unbindDomElement(e)}}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}viewToDom(t,e,n={}){if(t.is(\"text\")){const n=this._processDataFromViewText(t);return e.createTextNode(n)}else{if(this.mapViewToDom(t)){return this.mapViewToDom(t)}let i;if(t.is(\"documentFragment\")){i=e.createDocumentFragment();if(n.bind){this.bindDocumentFragments(i,t)}}else if(t.is(\"uiElement\")){i=t.render(e);if(n.bind){this.bindElements(i,t)}return i}else{if(t.hasAttribute(\"xmlns\")){i=e.createElementNS(t.getAttribute(\"xmlns\"),t.name)}else{i=e.createElement(t.name)}if(n.bind){this.bindElements(i,t)}for(const e of t.getAttributeKeys()){i.setAttribute(e,t.getAttribute(e))}}if(n.withChildren||n.withChildren===undefined){for(const o of this.viewChildrenToDom(t,e,n)){i.appendChild(o)}}return i}}*viewChildrenToDom(t,e,n={}){const i=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const s of t.getChildren()){if(i===o){yield this._blockFiller(e)}yield this.viewToDom(s,e,n);o++}if(i===o){yield this._blockFiller(e)}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const i=document.createRange();i.setStart(e.parent,e.offset);i.setEnd(n.parent,n.offset);return i}viewPositionToDom(t){const e=t.parent;if(e.is(\"text\")){const n=this.findCorrespondingDomText(e);if(!n){return null}let i=t.offset;if(ld(n)){i+=ad}return{parent:n,offset:i}}else{let n,i,o;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}o=n.childNodes[0]}else{const e=t.nodeBefore;i=e.is(\"text\")?this.findCorrespondingDomText(e):this.mapViewToDom(t.nodeBefore);if(!i){return null}n=i.parentNode;o=i.nextSibling}if(od(o)&&ld(o)){return{parent:o,offset:ad}}const s=i?Od(i)+1:0;return{parent:n,offset:s}}}domToView(t,e={}){if(this.isBlockFiller(t,this.blockFillerMode)){return null}const n=this.getParentUIElement(t,this._domToViewMapping);if(n){return n}if(od(t)){if(dd(t)){return null}else{const e=this._processDataFromDomText(t);return e===\"\"?null:new Br(this.document,e)}}else if(this.isComment(t)){return null}else{if(this.mapDomToView(t)){return this.mapDomToView(t)}let n;if(this.isDocumentFragment(t)){n=new Wl(this.document);if(e.bind){this.bindDocumentFragments(t,n)}}else{const i=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();n=new Vc(this.document,i);if(e.bind){this.bindElements(t,n)}const o=t.attributes;for(let t=o.length-1;t>=0;t--){n._setAttribute(o[t].name,o[t].value)}}if(e.withChildren||e.withChildren===undefined){for(const i of this.domChildrenToView(t,e)){n._appendChild(i)}}return n}}*domChildrenToView(t,e={}){for(let n=0;n<t.childNodes.length;n++){const i=t.childNodes[n];const o=this.domToView(i,e);if(o!==null){yield o}}}domSelectionToView(t){if(t.rangeCount===1){let e=t.getRangeAt(0).startContainer;if(od(e)){e=e.parentNode}const n=this.fakeSelectionToView(e);if(n){return n}}const e=this.isDomSelectionBackward(t);const n=[];for(let e=0;e<t.rangeCount;e++){const i=t.getRangeAt(e);const o=this.domRangeToView(i);if(o){n.push(o)}}return new ml(n,{backward:e})}domRangeToView(t){const e=this.domPositionToView(t.startContainer,t.startOffset);const n=this.domPositionToView(t.endContainer,t.endOffset);if(e&&n){return new hl(e,n)}return null}domPositionToView(t,e){if(this.isBlockFiller(t,this.blockFillerMode)){return this.domPositionToView(t.parentNode,Od(t))}const n=this.mapDomToView(t);if(n&&n.is(\"uiElement\")){return ul._createBefore(n)}if(od(t)){if(dd(t)){return this.domPositionToView(t.parentNode,Od(t))}const n=this.findCorrespondingViewText(t);let i=e;if(!n){return null}if(ld(t)){i-=ad;i=i<0?0:i}return new ul(n,i)}else{if(e===0){const e=this.mapDomToView(t);if(e){return new ul(e,0)}}else{const n=t.childNodes[e-1];const i=od(n)?this.findCorrespondingViewText(n):this.mapDomToView(n);if(i&&i.parent){return new ul(i.parent,i.index+1)}}return null}}mapDomToView(t){return this.getParentUIElement(t)||this._domToViewMapping.get(t)}findCorrespondingViewText(t){if(dd(t)){return null}const e=this.getParentUIElement(t);if(e){return e}const n=t.previousSibling;if(n){if(!this.isElement(n)){return null}const t=this.mapDomToView(n);if(t){const e=t.nextSibling;if(e instanceof Br){return t.nextSibling}else{return null}}}else{const e=this.mapDomToView(t.parentNode);if(e){const t=e.getChild(0);if(t instanceof Br){return t}else{return null}}}return null}mapViewToDom(t){return this._viewToDomMapping.get(t)}findCorrespondingDomText(t){const e=t.previousSibling;if(e&&this.mapViewToDom(e)){return this.mapViewToDom(e).nextSibling}if(!e&&t.parent&&this.mapViewToDom(t.parent)){return this.mapViewToDom(t.parent).childNodes[0]}return null}focus(t){const e=this.mapViewToDom(t);if(e&&e.ownerDocument.activeElement!==e){const{scrollX:t,scrollY:n}=Nd.window;const i=[];jd(e,t=>{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])});e.focus();jd(e,t=>{const[e,n]=i.shift();t.scrollLeft=e;t.scrollTop=n});Nd.window.scrollTo(t,n)}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isComment(t){return t&&t.nodeType==Node.COMMENT_NODE}isBlockFiller(t){if(this.blockFillerMode==\"br\"){return t.isEqualNode(Ld)}if(t.tagName===\"BR\"&&Fd(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return Bd(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed){return false}const e=document.createRange();e.setStart(t.anchorNode,t.anchorOffset);e.setEnd(t.focusNode,t.focusOffset);const n=e.collapsed;e.detach();return n}getParentUIElement(t){const e=Rd(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&n.is(\"uiElement\")){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}_isDomSelectionPositionCorrect(t,e){if(od(t)&&ld(t)&&e<ad){return false}if(this.isElement(t)&&ld(t.childNodes[e])){return false}const n=this.mapDomToView(t);if(n&&n.is(\"uiElement\")){return false}return true}_processDataFromViewText(t){let e=t.data;if(t.getAncestors().some(t=>this.preElements.includes(t.name))){return e}if(e.charAt(0)==\" \"){const n=this._getTouchingViewTextNode(t,false);const i=n&&this._nodeEndsWithSpace(n);if(i||!n){e=\" \"+e.substr(1)}}if(e.charAt(e.length-1)==\" \"){const n=this._getTouchingViewTextNode(t,true);if(e.charAt(e.length-2)==\" \"||!n||n.data.charAt(0)==\" \"){e=e.substr(0,e.length-1)+\" \"}}return e.replace(/ {2}/g,\"  \")}_nodeEndsWithSpace(t){if(t.getAncestors().some(t=>this.preElements.includes(t.name))){return false}const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==\" \"}_processDataFromDomText(t){let e=t.data;if(Vd(t,this.preElements)){return ud(t)}e=e.replace(/[ \\n\\t\\r]{1,}/g,\" \");const n=this._getTouchingInlineDomNode(t,false);const i=this._getTouchingInlineDomNode(t,true);const o=this._checkShouldLeftTrimDomText(n);const s=this._checkShouldRightTrimDomText(t,i);if(o){e=e.replace(/^ /,\"\")}if(s){e=e.replace(/ $/,\"\")}e=ud(new Text(e));e=e.replace(/ \\u00A0/g,\"  \");if(/( |\\u00A0)\\u00A0$/.test(e)||!i||i.data&&i.data.charAt(0)==\" \"){e=e.replace(/\\u00A0$/,\" \")}if(o){e=e.replace(/^\\u00A0/,\" \")}return e}_checkShouldLeftTrimDomText(t){if(!t){return true}if(Gs(t)){return true}return/[^\\S\\u00A0]/.test(t.data.charAt(t.data.length-1))}_checkShouldRightTrimDomText(t,e){if(e){return false}return!ld(t)}_getTouchingViewTextNode(t,e){const n=new dl({startPosition:e?ul._createAfter(t):ul._createBefore(t),direction:e?\"forward\":\"backward\"});for(const t of n){if(t.item.is(\"containerElement\")){return null}else if(t.item.is(\"br\")){return null}else if(t.item.is(\"textProxy\")){return t.item}}return null}_getTouchingInlineDomNode(t,e){if(!t.parentNode){return null}const n=e?\"nextNode\":\"previousNode\";const i=t.ownerDocument;const o=Rd(t)[0];const s=i.createTreeWalker(o,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT,{acceptNode(t){if(od(t)){return NodeFilter.FILTER_ACCEPT}if(t.tagName==\"BR\"){return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP}});s.currentNode=t;const r=s[n]();if(r!==null){const e=Dd(t,r);if(e&&!Vd(t,this.blockElements,e)&&!Vd(r,this.blockElements,e)){return r}}return null}}function Vd(t,e,n){let i=Rd(t);if(n){i=i.slice(i.indexOf(n)+1)}return i.some(t=>t.tagName&&e.includes(t.tagName.toLowerCase()))}function jd(t,e){while(t&&t!=Nd.document){e(t);t=t.parentNode}}function Bd(t,e){const n=od(t)&&t.data==\" \";return n&&Fd(t,e)&&t.parentNode.childNodes.length===1}function Fd(t,e){const n=t.parentNode;return n&&n.tagName&&e.includes(n.tagName.toLowerCase())}function Hd(t){const e=Object.prototype.toString.apply(t);if(e==\"[object Window]\"){return true}if(e==\"[object global]\"){return true}return false}const Ud=qc({},dr,{listenTo(t,...e){if(xd(t)||Hd(t)){const n=this._getProxyEmitter(t)||new qd(t);n.attach(...e);t=n}dr.listenTo.call(this,t,...e)},stopListening(t,e,n){if(xd(t)||Hd(t)){const e=this._getProxyEmitter(t);if(!e){return}t=e}dr.stopListening.call(this,t,e,n);if(t instanceof qd){t.detach(e)}},_getProxyEmitter(t){return ur(this,$d(t))}});var Wd=Ud;class qd{constructor(t){hr(this,$d(t));this._domNode=t}}qc(qd.prototype,dr,{attach(t,e,n={}){if(this._domListeners&&this._domListeners[t]){return}const i=this._createDomListener(t,!!n.useCapture);this._domNode.addEventListener(t,i,!!n.useCapture);if(!this._domListeners){this._domListeners={}}this._domListeners[t]=i},detach(t){let e;if(this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)){this._domListeners[t].removeListener()}},_createDomListener(t,e){const n=e=>{this.fire(t,e)};n.removeListener=()=>{this._domNode.removeEventListener(t,n,e);delete this._domListeners[t]};return n}});function $d(t){return t[\"data-ck-expando\"]||(t[\"data-ck-expando\"]=nr())}class Yd{constructor(t){this.view=t;this.document=t.document;this.isEnabled=false}enable(){this.isEnabled=true}disable(){this.isEnabled=false}destroy(){this.disable();this.stopListening()}}yr(Yd,Wd);var Gd=\"__lodash_hash_undefined__\";function Qd(t){this.__data__.set(t,Gd);return this}var Kd=Qd;function Jd(t){return this.__data__.has(t)}var Zd=Jd;function Xd(t){var e=-1,n=t==null?0:t.length;this.__data__=new ke;while(++e<n){this.add(t[e])}}Xd.prototype.add=Xd.prototype.push=Kd;Xd.prototype.has=Zd;var tu=Xd;function eu(t,e){var n=-1,i=t==null?0:t.length;while(++n<i){if(e(t[n],n,t)){return true}}return false}var nu=eu;function iu(t,e){return t.has(e)}var ou=iu;var su=1,ru=2;function au(t,e,n,i,o,s){var r=n&su,a=t.length,c=e.length;if(a!=c&&!(r&&c>a)){return false}var l=s.get(t);if(l&&s.get(e)){return l==e}var d=-1,u=true,h=n&ru?new tu:undefined;s.set(t,e);s.set(e,t);while(++d<a){var f=t[d],g=e[d];if(i){var m=r?i(g,f,d,e,t,s):i(f,g,d,t,e,s)}if(m!==undefined){if(m){continue}u=false;break}if(h){if(!nu(e,(function(t,e){if(!ou(h,e)&&(f===t||o(f,t,n,i,s))){return h.push(e)}}))){u=false;break}}else if(!(f===g||o(f,g,n,i,s))){u=false;break}}s[\"delete\"](t);s[\"delete\"](e);return u}var cu=au;function lu(t){var e=-1,n=Array(t.size);t.forEach((function(t,i){n[++e]=[i,t]}));return n}var du=lu;function uu(t){var e=-1,n=Array(t.size);t.forEach((function(t){n[++e]=t}));return n}var hu=uu;var fu=1,gu=2;var mu=\"[object Boolean]\",pu=\"[object Date]\",bu=\"[object Error]\",wu=\"[object Map]\",_u=\"[object Number]\",ku=\"[object RegExp]\",vu=\"[object Set]\",yu=\"[object String]\",xu=\"[object Symbol]\";var Au=\"[object ArrayBuffer]\",Tu=\"[object DataView]\";var Cu=s?s.prototype:undefined,Su=Cu?Cu.valueOf:undefined;function Pu(t,e,n,i,o,s,r){switch(n){case Tu:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset){return false}t=t.buffer;e=e.buffer;case Au:if(t.byteLength!=e.byteLength||!s(new fo(t),new fo(e))){return false}return true;case mu:case pu:case _u:return V(+t,+e);case bu:return t.name==e.name&&t.message==e.message;case ku:case yu:return t==e+\"\";case wu:var a=du;case vu:var c=i&fu;a||(a=hu);if(t.size!=e.size&&!c){return false}var l=r.get(t);if(l){return l==e}i|=gu;r.set(t,e);var d=cu(a(t),a(e),i,o,s,r);r[\"delete\"](t);return d;case xu:if(Su){return Su.call(t)==Su.call(e)}}return false}var Eu=Pu;var Mu=1;var Iu=Object.prototype;var Nu=Iu.hasOwnProperty;function Ou(t,e,n,i,o,s){var r=n&Mu,a=zi(t),c=a.length,l=zi(e),d=l.length;if(c!=d&&!r){return false}var u=c;while(u--){var h=a[u];if(!(r?h in e:Nu.call(e,h))){return false}}var f=s.get(t);if(f&&s.get(e)){return f==e}var g=true;s.set(t,e);s.set(e,t);var m=r;while(++u<c){h=a[u];var p=t[h],b=e[h];if(i){var w=r?i(b,p,h,e,t,s):i(p,b,h,t,e,s)}if(!(w===undefined?p===b||o(p,b,n,i,s):w)){g=false;break}m||(m=h==\"constructor\")}if(g&&!m){var _=t.constructor,k=e.constructor;if(_!=k&&(\"constructor\"in t&&\"constructor\"in e)&&!(typeof _==\"function\"&&_ instanceof _&&typeof k==\"function\"&&k instanceof k)){g=false}}s[\"delete\"](t);s[\"delete\"](e);return g}var Ru=Ou;var Du=1;var Lu=\"[object Arguments]\",zu=\"[object Array]\",Vu=\"[object Object]\";var ju=Object.prototype;var Bu=ju.hasOwnProperty;function Fu(t,e,n,i,o,s){var r=Qe(t),a=Qe(e),c=r?zu:ro(t),l=a?zu:ro(e);c=c==Lu?Vu:c;l=l==Lu?Vu:l;var d=c==Vu,u=l==Vu,h=c==l;if(h&&Object(Ke[\"a\"])(t)){if(!Object(Ke[\"a\"])(e)){return false}r=true;d=false}if(h&&!d){s||(s=new Te);return r||zn(t)?cu(t,e,n,i,o,s):Eu(t,e,c,n,i,o,s)}if(!(n&Du)){var f=d&&Bu.call(t,\"__wrapped__\"),g=u&&Bu.call(e,\"__wrapped__\");if(f||g){var m=f?t.value():t,p=g?e.value():e;s||(s=new Te);return o(m,p,n,i,s)}}if(!h){return false}s||(s=new Te);return Ru(t,e,n,i,o,s)}var Hu=Fu;function Uu(t,e,n,i,o){if(t===e){return true}if(t==null||e==null||!C(t)&&!C(e)){return t!==t&&e!==e}return Hu(t,e,n,i,Uu,o)}var Wu=Uu;function qu(t,e,n){n=typeof n==\"function\"?n:undefined;var i=n?n(t,e):undefined;return i===undefined?Wu(t,e,undefined,n):!!i}var $u=qu;class Yu extends Yd{constructor(t){super(t);this._config={childList:true,characterData:true,characterDataOldValue:true,subtree:true};this.domConverter=t.domConverter;this.renderer=t._renderer;this._domElements=[];this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(t){this._domElements.push(t);if(this.isEnabled){this._mutationObserver.observe(t,this._config)}}enable(){super.enable();for(const t of this._domElements){this._mutationObserver.observe(t,this._config)}}disable(){super.disable();this._mutationObserver.disconnect()}destroy(){super.destroy();this._mutationObserver.disconnect()}_onMutations(t){if(t.length===0){return}const e=this.domConverter;const n=new Map;const i=new Set;for(const n of t){if(n.type===\"childList\"){const t=e.mapDomToView(n.target);if(t&&t.is(\"uiElement\")){continue}if(t&&!this._isBogusBrMutation(n)){i.add(t)}}}for(const o of t){const t=e.mapDomToView(o.target);if(t&&t.is(\"uiElement\")){continue}if(o.type===\"characterData\"){const t=e.findCorrespondingViewText(o.target);if(t&&!i.has(t.parent)){n.set(t,{type:\"text\",oldText:t.data,newText:ud(o.target),node:t})}else if(!t&&ld(o.target)){i.add(e.mapDomToView(o.target.parentNode))}}}const o=[];for(const t of n.values()){this.renderer.markToSync(\"text\",t.node);o.push(t)}for(const t of i){const n=e.mapViewToDom(t);const i=Array.from(t.getChildren());const s=Array.from(e.domChildrenToView(n,{withChildren:false}));if(!$u(i,s,a)){this.renderer.markToSync(\"children\",t);o.push({type:\"children\",oldChildren:i,newChildren:s,node:t})}}const s=t[0].target.ownerDocument.getSelection();let r=null;if(s&&s.anchorNode){const t=e.domPositionToView(s.anchorNode,s.anchorOffset);const n=e.domPositionToView(s.focusNode,s.focusOffset);if(t&&n){r=new ml(t);r.setFocus(n)}}if(o.length){this.document.fire(\"mutations\",o,r);this.view.forceRender()}function a(t,e){if(Array.isArray(t)){return}if(t===e){return true}else if(t.is(\"text\")&&e.is(\"text\")){return t.data===e.data}return false}}_isBogusBrMutation(t){let e=null;if(t.nextSibling===null&&t.removedNodes.length===0&&t.addedNodes.length==1){e=this.domConverter.domToView(t.addedNodes[0],{withChildren:false})}return e&&e.is(\"element\",\"br\")}}class Gu{constructor(t,e,n){this.view=t;this.document=t.document;this.domEvent=e;this.domTarget=e.target;qc(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class Qu extends Yd{constructor(t){super(t);this.useCapture=false}observe(t){const e=typeof this.domEventType==\"string\"?[this.domEventType]:this.domEventType;e.forEach(e=>{this.listenTo(t,e,(t,e)=>{if(this.isEnabled){this.onDomEvent(e)}},{useCapture:this.useCapture})})}fire(t,e,n){if(this.isEnabled){this.document.fire(t,new Gu(this.view,e,n))}}}class Ku extends Qu{constructor(t){super(t);this.domEventType=[\"keydown\",\"keyup\"]}onDomEvent(t){this.fire(t.type,t,{keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey||t.metaKey,shiftKey:t.shiftKey,get keystroke(){return Dl(this)}})}}var Ju=function(){return i[\"a\"].Date.now()};var Zu=Ju;var Xu=0/0;var th=/^\\s+|\\s+$/g;var eh=/^[-+]0x[0-9a-f]+$/i;var nh=/^0b[01]+$/i;var ih=/^0o[0-7]+$/i;var oh=parseInt;function sh(t){if(typeof t==\"number\"){return t}if(Zr(t)){return Xu}if(ct(t)){var e=typeof t.valueOf==\"function\"?t.valueOf():t;t=ct(e)?e+\"\":e}if(typeof t!=\"string\"){return t===0?t:+t}t=t.replace(th,\"\");var n=nh.test(t);return n||ih.test(t)?oh(t.slice(2),n?2:8):eh.test(t)?Xu:+t}var rh=sh;var ah=\"Expected a function\";var ch=Math.max,lh=Math.min;function dh(t,e,n){var i,o,s,r,a,c,l=0,d=false,u=false,h=true;if(typeof t!=\"function\"){throw new TypeError(ah)}e=rh(e)||0;if(ct(n)){d=!!n.leading;u=\"maxWait\"in n;s=u?ch(rh(n.maxWait)||0,e):s;h=\"trailing\"in n?!!n.trailing:h}function f(e){var n=i,s=o;i=o=undefined;l=e;r=t.apply(s,n);return r}function g(t){l=t;a=setTimeout(b,e);return d?f(t):r}function m(t){var n=t-c,i=t-l,o=e-n;return u?lh(o,s-i):o}function p(t){var n=t-c,i=t-l;return c===undefined||n>=e||n<0||u&&i>=s}function b(){var t=Zu();if(p(t)){return w(t)}a=setTimeout(b,m(t))}function w(t){a=undefined;if(h&&i){return f(t)}i=o=undefined;return r}function _(){if(a!==undefined){clearTimeout(a)}l=0;i=c=o=a=undefined}function k(){return a===undefined?r:w(Zu())}function v(){var t=Zu(),n=p(t);i=arguments;o=this;c=t;if(n){if(a===undefined){return g(c)}if(u){clearTimeout(a);a=setTimeout(b,e);return f(c)}}if(a===undefined){a=setTimeout(b,e)}return r}v.cancel=_;v.flush=k;return v}var uh=dh;class hh extends Yd{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=uh(t=>this.document.fire(\"selectionChangeDone\",t),200)}observe(){const t=this.document;t.on(\"keydown\",(e,n)=>{const i=t.selection;if(i.isFake&&fh(n.keyCode)&&this.isEnabled){n.preventDefault();this._handleSelectionMove(n.keyCode)}},{priority:\"lowest\"})}destroy(){super.destroy();this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection;const n=new ml(e.getRanges(),{backward:e.isBackward,fake:false});if(t==Rl.arrowleft||t==Rl.arrowup){n.setTo(n.getFirstPosition())}if(t==Rl.arrowright||t==Rl.arrowdown){n.setTo(n.getLastPosition())}const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire(\"selectionChange\",i);this._fireSelectionChangeDoneDebounced(i)}}function fh(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}class gh extends Yd{constructor(t){super(t);this.mutationObserver=t.getObserver(Yu);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=uh(t=>this.document.fire(\"selectionChangeDone\",t),200);this._clearInfiniteLoopInterval=setInterval(()=>this._clearInfiniteLoop(),1e3);this._loopbackCounter=0}observe(t){const e=t.ownerDocument;if(this._documents.has(e)){return}this.listenTo(e,\"selectionchange\",()=>{this._handleSelectionChange(e)});this._documents.add(e)}destroy(){super.destroy();clearInterval(this._clearInfiniteLoopInterval);this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionChange(t){if(!this.isEnabled){return}this.mutationObserver.flush();const e=t.defaultView.getSelection();const n=this.domConverter.domSelectionToView(e);if(n.rangeCount==0){this.view.hasDomSelection=false;return}this.view.hasDomSelection=true;if(this.selection.isEqual(n)&&this.domConverter.isDomSelectionCorrect(e)){return}if(++this._loopbackCounter>60){return}if(this.selection.isSimilar(n)){this.view.forceRender()}else{const t={oldSelection:this.selection,newSelection:n,domSelection:e};this.document.fire(\"selectionChange\",t);this._fireSelectionChangeDoneDebounced(t)}}_clearInfiniteLoop(){this._loopbackCounter=0}}class mh extends Qu{constructor(t){super(t);this.domEventType=[\"focus\",\"blur\"];this.useCapture=true;const e=this.document;e.on(\"focus\",()=>{e.isFocused=true;this._renderTimeoutId=setTimeout(()=>t.forceRender(),50)});e.on(\"blur\",(n,i)=>{const o=e.selection.editableElement;if(o===null||o===i.target){e.isFocused=false;t.forceRender()}})}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class ph extends Qu{constructor(t){super(t);this.domEventType=[\"compositionstart\",\"compositionupdate\",\"compositionend\"];const e=this.document;e.on(\"compositionstart\",()=>{e.isComposing=true});e.on(\"compositionend\",()=>{e.isComposing=false})}onDomEvent(t){this.fire(t.type,t)}}class bh extends Qu{constructor(t){super(t);this.domEventType=[\"beforeinput\"]}onDomEvent(t){this.fire(t.type,t)}}function wh(t){return Object.prototype.toString.apply(t)==\"[object Range]\"}function _h(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}const kh=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\"];class vh{constructor(t){const e=wh(t);Object.defineProperty(this,\"_source\",{value:t._source||t,writable:true,enumerable:false});if(Gs(t)||e){if(e){yh(this,vh.getDomRangeRects(t)[0])}else{yh(this,t.getBoundingClientRect())}}else if(Hd(t)){const{innerWidth:e,innerHeight:n}=t;yh(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{yh(this,t)}}clone(){return new vh(this)}moveTo(t,e){this.top=e;this.right=t+this.width;this.bottom=e+this.height;this.left=t;return this}moveBy(t,e){this.top+=e;this.right+=t;this.left+=t;this.bottom+=e;return this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left)};e.width=e.right-e.left;e.height=e.bottom-e.top;if(e.width<0||e.height<0){return null}else{return new vh(e)}}getIntersectionArea(t){const e=this.getIntersection(t);if(e){return e.getArea()}else{return 0}}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(!xh(t)){let n=t.parentNode||t.commonAncestorContainer;while(n&&!xh(n)){const t=new vh(n);const i=e.getIntersection(t);if(i){if(i.getArea()<e.getArea()){e=i}}else{return null}n=n.parentNode}}return e}isEqual(t){for(const e of kh){if(this[e]!==t[e]){return false}}return true}contains(t){const e=this.getIntersection(t);return!!(e&&e.isEqual(t))}excludeScrollbarsAndBorders(){const t=this._source;let e,n,i;if(Hd(t)){e=t.innerWidth-t.document.documentElement.clientWidth;n=t.innerHeight-t.document.documentElement.clientHeight;i=t.getComputedStyle(t.document.documentElement).direction}else{const o=_h(this._source);e=t.offsetWidth-t.clientWidth-o.left-o.right;n=t.offsetHeight-t.clientHeight-o.top-o.bottom;i=t.ownerDocument.defaultView.getComputedStyle(t).direction;this.left+=o.left;this.top+=o.top;this.right-=o.right;this.bottom-=o.bottom;this.width=this.right-this.left;this.height=this.bottom-this.top}this.width-=e;if(i===\"ltr\"){this.right-=e}else{this.left+=e}this.height-=n;this.bottom-=n;return this}static getDomRangeRects(t){const e=[];const n=Array.from(t.getClientRects());if(n.length){for(const t of n){e.push(new vh(t))}}else{let n=t.startContainer;if(od(n)){n=n.parentNode}const i=new vh(n.getBoundingClientRect());i.right=i.left;i.width=0;e.push(i)}return e}}function yh(t,e){for(const n of kh){t[n]=e[n]}}function xh(t){if(!Gs(t)){return false}return t===t.ownerDocument.body}const Ah={};function Th({target:t,viewportOffset:e=0}){const n=Oh(t);let i=n;let o=null;while(i){let s;if(i==n){s=Rh(t)}else{s=Rh(o)}Ph(s,()=>Dh(t,i));const r=Dh(t,i);Sh(i,r,e);if(i.parent!=i){o=i.frameElement;i=i.parent;if(!o){return}}else{i=null}}}function Ch(t){const e=Rh(t);Ph(e,()=>new vh(t))}Object.assign(Ah,{scrollViewportToShowTarget:Th,scrollAncestorsToShowTarget:Ch});function Sh(t,e,n){const i=e.clone().moveBy(0,n);const o=e.clone().moveBy(0,-n);const s=new vh(t).excludeScrollbarsAndBorders();const r=[o,i];if(!r.every(t=>s.contains(t))){let{scrollX:r,scrollY:a}=t;if(Mh(o,s)){a-=s.top-e.top+n}else if(Eh(i,s)){a+=e.bottom-s.bottom+n}if(Ih(e,s)){r-=s.left-e.left+n}else if(Nh(e,s)){r+=e.right-s.right+n}t.scrollTo(r,a)}}function Ph(t,e){const n=Oh(t);let i,o;while(t!=n.document.body){o=e();i=new vh(t).excludeScrollbarsAndBorders();if(!i.contains(o)){if(Mh(o,i)){t.scrollTop-=i.top-o.top}else if(Eh(o,i)){t.scrollTop+=o.bottom-i.bottom}if(Ih(o,i)){t.scrollLeft-=i.left-o.left}else if(Nh(o,i)){t.scrollLeft+=o.right-i.right}}t=t.parentNode}}function Eh(t,e){return t.bottom>e.bottom}function Mh(t,e){return t.top<e.top}function Ih(t,e){return t.left<e.left}function Nh(t,e){return t.right>e.right}function Oh(t){if(wh(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function Rh(t){if(wh(t)){let e=t.commonAncestorContainer;if(od(e)){e=e.parentNode}return e}else{return t.parentNode}}function Dh(t,e){const n=Oh(t);const i=new vh(t);if(n===e){return i}else{let t=n;while(t!=e){const e=t.frameElement;const n=new vh(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top);t=t.parent}}return i}class Lh{constructor(t){this.document=new bl(t);this.domConverter=new zd(this.document);this.domRoots=new Map;this.set(\"isRenderingInProgress\",false);this.set(\"hasDomSelection\",false);this._renderer=new Ad(this.domConverter,this.document.selection);this._renderer.bind(\"isFocused\").to(this.document);this._initialDomRootAttributes=new WeakMap;this._observers=new Map;this._ongoingChange=false;this._postFixersInProgress=false;this._renderingDisabled=false;this._hasChangedSinceTheLastRendering=false;this._writer=new $l(this.document);this.addObserver(Yu);this.addObserver(gh);this.addObserver(mh);this.addObserver(Ku);this.addObserver(hh);this.addObserver(ph);if(Cl.isAndroid){this.addObserver(bh)}hd(this);Fl(this);this.on(\"render\",()=>{this._render();this.document.fire(\"layoutChanged\");this._hasChangedSinceTheLastRendering=false});this.listenTo(this.document.selection,\"change\",()=>{this._hasChangedSinceTheLastRendering=true})}attachDomRoot(t,e=\"main\"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:e,value:o}of Array.from(t.attributes)){i[e]=o;if(e===\"class\"){this._writer.addClass(o.split(\" \"),n)}else{this._writer.setAttribute(e,o,n)}}this._initialDomRootAttributes.set(t,i);const o=()=>{this._writer.setAttribute(\"contenteditable\",!n.isReadOnly,n);if(n.isReadOnly){this._writer.addClass(\"ck-read-only\",n)}else{this._writer.removeClass(\"ck-read-only\",n)}};o();this.domRoots.set(e,t);this.domConverter.bindElements(t,n);this._renderer.markToSync(\"children\",n);this._renderer.markToSync(\"attributes\",n);this._renderer.domDocuments.add(t.ownerDocument);n.on(\"change:children\",(t,e)=>this._renderer.markToSync(\"children\",e));n.on(\"change:attributes\",(t,e)=>this._renderer.markToSync(\"attributes\",e));n.on(\"change:text\",(t,e)=>this._renderer.markToSync(\"text\",e));n.on(\"change:isReadOnly\",()=>this.change(o));n.on(\"change\",()=>{this._hasChangedSinceTheLastRendering=true});for(const n of this._observers.values()){n.observe(t,e)}}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach(({name:t})=>e.removeAttribute(t));const n=this._initialDomRootAttributes.get(e);for(const t in n){e.setAttribute(t,n[t])}this.domRoots.delete(t);this.domConverter.unbindDomElement(e)}getDomRoot(t=\"main\"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e){return e}e=new t(this);this._observers.set(t,e);for(const[t,n]of this.domRoots){e.observe(n,t)}e.enable();return e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values()){t.disable()}}enableObservers(){for(const t of this._observers.values()){t.enable()}}scrollToTheSelection(){const t=this.document.selection.getFirstRange();if(t){Th({target:this.domConverter.viewRangeToDom(t),viewportOffset:20})}}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;if(t){this.domConverter.focus(t);this.forceRender()}else{}}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress){throw new rr[\"b\"](\"cannot-change-view-tree: \"+\"Attempting to make changes to the view when it is in an incorrect state: rendering or post-fixers are in progress. \"+\"This may cause some unexpected behavior and inconsistency between the DOM and the view.\",this)}try{if(this._ongoingChange){return t(this._writer)}this._ongoingChange=true;const e=t(this._writer);this._ongoingChange=false;if(!this._renderingDisabled&&this._hasChangedSinceTheLastRendering){this._postFixersInProgress=true;this.document._callPostFixers(this._writer);this._postFixersInProgress=false;this.fire(\"render\")}return e}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=true;this.change(()=>{})}destroy(){for(const t of this._observers.values()){t.destroy()}this.document.destroy();this.stopListening()}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}_disableRendering(t){this._renderingDisabled=t;if(t==false){this.change(()=>{})}}_render(){this.isRenderingInProgress=true;this.disableObservers();this._renderer.render();this.enableObservers();this.isRenderingInProgress=false}}yr(Lh,Kc);class zh{constructor(t){this.parent=null;this._attrs=Ur(t)}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))===null){throw new rr[\"b\"](\"model-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get startOffset(){let t;if(!this.parent){return null}if((t=this.parent.getChildStartOffset(this))===null){throw new rr[\"b\"](\"model-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get offsetSize(){return 1}get endOffset(){if(!this.parent){return null}return this.startOffset+this.offsetSize}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.startOffset);e=e.parent}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Dr(e,n);switch(i){case\"prefix\":return true;case\"extension\":return false;default:return e[i]<n[i]}}isAfter(t){if(this==t){return false}if(this.root!==t.root){return false}return!this.isBefore(t)}hasAttribute(t){return this._attrs.has(t)}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}toJSON(){const t={};if(this._attrs.size){t.attributes=Array.from(this._attrs).reduce((t,e)=>{t[e[0]]=e[1];return t},{})}return t}is(t){return t===\"node\"||t===\"model:node\"}_clone(){return new zh(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Ur(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}class Vh extends zh{constructor(t,e){super(e);this._data=t||\"\"}get offsetSize(){return this.data.length}get data(){return this._data}is(t){return t===\"text\"||t===\"model:text\"||t===\"node\"||t===\"model:node\"}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new Vh(this.data,this.getAttributes())}static fromJSON(t){return new Vh(t.data,t.attributes)}}class jh{constructor(t,e,n){this.textNode=t;if(e<0||e>t.offsetSize){throw new rr[\"b\"](\"model-textproxy-wrong-offsetintext: Given offsetInText value is incorrect.\",this)}if(n<0||e+n>t.offsetSize){throw new rr[\"b\"](\"model-textproxy-wrong-length: Given length value is incorrect.\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}is(t){return t===\"textProxy\"||t===\"model:textProxy\"}getPath(){const t=this.textNode.getPath();if(t.length>0){t[t.length-1]+=this.offsetInText}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}class Bh{constructor(t){this._nodes=[];if(t){this._insertNodes(0,t)}}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce((t,e)=>t+e.offsetSize,0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce((t,e)=>t+e.offsetSize,0)}indexToOffset(t){if(t==this._nodes.length){return this.maxOffset}const e=this._nodes[t];if(!e){throw new rr[\"b\"](\"model-nodelist-index-out-of-bounds: Given index cannot be found in the node list.\",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&t<e+n.offsetSize){return this.getNodeIndex(n)}e+=n.offsetSize}if(e!=t){throw new rr[\"b\"](\"model-nodelist-offset-out-of-bounds: Given offset cannot be found in the node list.\",this,{offset:t,nodeList:this})}return this.length}_insertNodes(t,e){for(const t of e){if(!(t instanceof zh)){throw new rr[\"b\"](\"model-nodelist-insertNodes-not-node: Trying to insert an object which is not a Node instance.\",this)}}this._nodes.splice(t,0,...e)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map(t=>t.toJSON())}}class Fh extends zh{constructor(t,e,n){super(e);this.name=t;this._children=new Bh;if(n){this._insertChild(0,n)}}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}is(t,e=null){if(!e){return t===\"element\"||t===\"model:element\"||t===this.name||t===\"model:\"+this.name||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"element\"||t===\"model:element\")}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}toJSON(){const t=super.toJSON();t.name=this.name;if(this._children.length>0){t.children=[];for(const e of this._children){t.children.push(e.toJSON())}}return t}_clone(t=false){const e=t?Array.from(this._children).map(t=>t._clone(true)):null;return new Fh(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Hh(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}static fromJSON(t){let e=null;if(t.children){e=[];for(const n of t.children){if(n.name){e.push(Fh.fromJSON(n))}else{e.push(Vh.fromJSON(n))}}}return new Fh(t.name,t.attributes,e)}}function Hh(t){if(typeof t==\"string\"){return[new Vh(t)]}if(!vr(t)){t=[t]}return Array.from(t).map(t=>{if(typeof t==\"string\"){return new Vh(t)}if(t instanceof jh){return new Vh(t.data,t.getAttributes())}return t})}class Uh{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new rr[\"b\"](\"model-tree-walker-no-start-position: Neither boundaries nor starting position have been defined.\",null)}const e=t.direction||\"forward\";if(e!=\"forward\"&&e!=\"backward\"){throw new rr[\"b\"](\"model-tree-walker-unknown-direction: Only `backward` and `forward` direction allowed.\",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this.position=t.startPosition.clone()}else{this.position=qh._createAt(this.boundaries[this.direction==\"backward\"?\"end\":\"start\"])}this.position.stickiness=\"toNone\";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null;this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(t){let e,n,i,o;do{i=this.position;o=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=i;this._visitedParent=o}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset){return{done:true}}if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset){return{done:true}}const i=e.parent;const o=$h(e,i);const s=o?o:Yh(e,i,o);if(s instanceof Fh){if(!this.shallow){e.path.push(0);this._visitedParent=s}else{e.offset++}this.position=e;return Wh(\"elementStart\",s,t,e,1)}else if(s instanceof Vh){let i;if(this.singleCharacters){i=1}else{let t=s.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offset<t){t=this.boundaries.end.offset}i=t-e.offset}const o=e.offset-s.startOffset;const r=new jh(s,o,i);e.offset+=i;this.position=e;return Wh(\"text\",r,t,e,i)}else{e.path.pop();e.offset++;this.position=e;this._visitedParent=n.parent;if(this.ignoreElementEnd){return this._next()}else{return Wh(\"elementEnd\",n,t,e)}}}_previous(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===0){return{done:true}}if(n==this._boundaryStartParent&&e.offset==this.boundaries.start.offset){return{done:true}}const i=e.parent;const o=$h(e,i);const s=o?o:Gh(e,i,o);if(s instanceof Fh){e.offset--;if(!this.shallow){e.path.push(s.maxOffset);this.position=e;this._visitedParent=s;if(this.ignoreElementEnd){return this._previous()}else{return Wh(\"elementEnd\",s,t,e)}}else{this.position=e;return Wh(\"elementStart\",s,t,e,1)}}else if(s instanceof Vh){let i;if(this.singleCharacters){i=1}else{let t=s.startOffset;if(this._boundaryStartParent==n&&this.boundaries.start.offset>t){t=this.boundaries.start.offset}i=e.offset-t}const o=e.offset-s.startOffset;const r=new jh(s,o-i,i);e.offset-=i;this.position=e;return Wh(\"text\",r,t,e,i)}else{e.path.pop();this.position=e;this._visitedParent=n.parent;return Wh(\"elementStart\",n,t,e,1)}}}function Wh(t,e,n,i,o){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}class qh{constructor(t,e,n=\"toNone\"){if(!t.is(\"element\")&&!t.is(\"documentFragment\")){throw new rr[\"b\"](\"model-position-root-invalid: Position root invalid.\",t)}if(!(e instanceof Array)||e.length===0){throw new rr[\"b\"](\"model-position-path-incorrect-format: Position path must be an array with at least one item.\",t,{path:e})}if(t.is(\"rootElement\")){e=e.slice()}else{e=[...t.getPath(),...e];t=t.root}this.root=t;this.path=e;this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e<this.path.length-1;e++){t=t.getChild(t.offsetToIndex(this.path[e]));if(!t){throw new rr[\"b\"](\"model-position-path-incorrect: The position's path is incorrect.\",this,{position:this})}}if(t.is(\"text\")){throw new rr[\"b\"](\"model-position-path-incorrect: The position's path is incorrect.\",this,{position:this})}return t}get index(){return this.parent.offsetToIndex(this.offset)}get textNode(){return $h(this,this.parent)}get nodeAfter(){const t=this.parent;return Yh(this,t,$h(this,t))}get nodeBefore(){const t=this.parent;return Gh(this,t,$h(this,t))}get isAtStart(){return this.offset===0}get isAtEnd(){return this.offset==this.parent.maxOffset}compareWith(t){if(this.root!=t.root){return\"different\"}const e=Dr(this.path,t.path);switch(e){case\"same\":return\"same\";case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return this.path[e]<t.path[e]?\"before\":\"after\"}}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Uh(e);n.skip(t);return n.position}getParentPath(){return this.path.slice(0,-1)}getAncestors(){const t=this.parent;if(t.is(\"documentFragment\")){return[t]}else{return t.getAncestors({includeSelf:true})}}getCommonPath(t){if(this.root!=t.root){return[]}const e=Dr(this.path,t.path);const n=typeof e==\"string\"?Math.min(this.path.length,t.path.length):e;return this.path.slice(0,n)}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}getShiftedBy(t){const e=this.clone();const n=e.offset+t;e.offset=n<0?0:n;return e}isAfter(t){return this.compareWith(t)==\"after\"}isBefore(t){return this.compareWith(t)==\"before\"}isEqual(t){return this.compareWith(t)==\"same\"}isTouching(t){let e=null;let n=null;const i=this.compareWith(t);switch(i){case\"same\":return true;case\"before\":e=qh._createAt(this);n=qh._createAt(t);break;case\"after\":e=qh._createAt(t);n=qh._createAt(this);break;default:return false}let o=e.parent;while(e.path.length+n.path.length){if(e.isEqual(n)){return true}if(e.path.length>n.path.length){if(e.offset!==o.maxOffset){return false}e.path=e.path.slice(0,-1);o=o.parent;e.offset++}else{if(n.offset!==0){return false}n.path=n.path.slice(0,-1)}}}is(t){return t===\"position\"||t===\"model:position\"}hasSameParentAs(t){if(this.root!==t.root){return false}const e=this.getParentPath();const n=t.getParentPath();return Dr(e,n)==\"same\"}getTransformedByOperation(t){let e;switch(t.type){case\"insert\":e=this._getTransformedByInsertOperation(t);break;case\"move\":case\"remove\":case\"reinsert\":e=this._getTransformedByMoveOperation(t);break;case\"split\":e=this._getTransformedBySplitOperation(t);break;case\"merge\":e=this._getTransformedByMergeOperation(t);break;default:e=qh._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness==\"toNext\";if(n){return this._getCombined(t.splitPosition,t.moveTargetPosition)}else{if(t.graveyardPosition){return this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1)}else{return this._getTransformedByInsertion(t.insertionPosition,1)}}}_getTransformedByMergeOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this);let i;if(n){i=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){i=i._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){i=qh._createAt(t.deletionPosition)}else{i=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return i}_getTransformedByDeletion(t,e){const n=qh._createAt(this);if(this.root!=t.root){return n}if(Dr(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offset<this.offset){if(t.offset+e>this.offset){return null}else{n.offset-=e}}}else if(Dr(t.getParentPath(),this.getParentPath())==\"prefix\"){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i]){return null}else{n.path[i]-=e}}}return n}_getTransformedByInsertion(t,e){const n=qh._createAt(this);if(this.root!=t.root){return n}if(Dr(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offset<this.offset||t.offset==this.offset&&this.stickiness!=\"toPrevious\"){n.offset+=e}}else if(Dr(t.getParentPath(),this.getParentPath())==\"prefix\"){const i=t.path.length-1;if(t.offset<=this.path[i]){n.path[i]+=e}}return n}_getTransformedByMove(t,e,n){e=e._getTransformedByDeletion(t,n);if(t.isEqual(e)){return qh._createAt(this)}const i=this._getTransformedByDeletion(t,n);const o=i===null||t.isEqual(this)&&this.stickiness==\"toNext\"||t.getShiftedBy(n).isEqual(this)&&this.stickiness==\"toPrevious\";if(o){return this._getCombined(t,e)}else{return i._getTransformedByInsertion(e,n)}}_getCombined(t,e){const n=t.path.length-1;const i=qh._createAt(e);i.stickiness=this.stickiness;i.offset=i.offset+this.path[n]-t.offset;i.path=[...i.path,...this.path.slice(n+1)];return i}toJSON(){return{root:this.root.toJSON(),path:Array.from(this.path),stickiness:this.stickiness}}clone(){return new this.constructor(this.root,this.path,this.stickiness)}static _createAt(t,e,n=\"toNone\"){if(t instanceof qh){return new qh(t.root,t.path,t.stickiness)}else{const i=t;if(e==\"end\"){e=i.maxOffset}else if(e==\"before\"){return this._createBefore(i,n)}else if(e==\"after\"){return this._createAfter(i,n)}else if(e!==0&&!e){throw new rr[\"b\"](\"model-createPositionAt-offset-required: \"+\"Model#createPositionAt() requires the offset when the first parameter is a model item.\",[this,t])}if(!i.is(\"element\")&&!i.is(\"documentFragment\")){throw new rr[\"b\"](\"model-position-parent-incorrect: Position parent have to be a element or document fragment.\",[this,t])}const o=i.getPath();o.push(e);return new this(i.root,o,n)}}static _createAfter(t,e){if(!t.parent){throw new rr[\"b\"](\"model-position-after-root: You cannot make a position after root.\",[this,t],{root:t})}return this._createAt(t.parent,t.endOffset,e)}static _createBefore(t,e){if(!t.parent){throw new rr[\"b\"](\"model-position-before-root: You cannot make a position before root.\",t,{root:t})}return this._createAt(t.parent,t.startOffset,e)}static fromJSON(t,e){if(t.root===\"$graveyard\"){const n=new qh(e.graveyard,t.path);n.stickiness=t.stickiness;return n}if(!e.getRoot(t.root)){throw new rr[\"b\"](\"model-position-fromjson-no-root: Cannot create position for document. Root with specified name does not exist.\",e,{rootName:t.root})}return new qh(e.getRoot(t.root),t.path,t.stickiness)}}function $h(t,e){const n=e.getChild(e.offsetToIndex(t.offset));if(n&&n.is(\"text\")&&n.startOffset<t.offset){return n}return null}function Yh(t,e,n){if(n!==null){return null}return e.getChild(e.offsetToIndex(t.offset))}function Gh(t,e,n){if(n!==null){return null}return e.getChild(e.offsetToIndex(t.offset)-1)}class Qh{constructor(t,e=null){this.start=qh._createAt(t);this.end=e?qh._createAt(e):qh._createAt(t);this.start.stickiness=this.isCollapsed?\"toNone\":\"toNext\";this.end.stickiness=this.isCollapsed?\"toNone\":\"toPrevious\"}*[Symbol.iterator](){yield*new Uh({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath();const e=this.end.getParentPath();return Dr(t,e)==\"same\"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}containsItem(t){const e=qh._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}is(t){return t===\"range\"||t===\"model:range\"}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new Qh(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new Qh(t.end,this.end))}}else{e.push(new Qh(this.start,this.end))}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new Qh(e,n)}return null}getMinimalFlatRanges(){const t=[];const e=this.start.getCommonPath(this.end).length;const n=qh._createAt(this.start);let i=n.parent;while(n.path.length>e+1){const e=i.maxOffset-n.offset;if(e!==0){t.push(new Qh(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;i=i.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const i=e-n.offset;if(i!==0){t.push(new Qh(n,n.getShiftedBy(i)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Uh(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Uh(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Uh(t);yield e.position;for(const t of e){yield t.nextPosition}}getTransformedByOperation(t){switch(t.type){case\"insert\":return this._getTransformedByInsertOperation(t);case\"move\":case\"remove\":case\"reinsert\":return this._getTransformedByMoveOperation(t);case\"split\":return[this._getTransformedBySplitOperation(t)];case\"merge\":return[this._getTransformedByMergeOperation(t)]}return[new Qh(this.start,this.end)]}getTransformedByOperations(t){const e=[new Qh(this.start,this.end)];for(const n of t){for(let t=0;t<e.length;t++){const i=e[t].getTransformedByOperation(n);e.splice(t,1,...i);t+=i.length-1}}for(let t=0;t<e.length;t++){const n=e[t];for(let i=t+1;i<e.length;i++){const t=e[i];if(n.containsRange(t)||t.containsRange(n)||n.isEqual(t)){e.splice(i,1)}}}return e}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed){return null}const t=this.start.nodeAfter;const e=this.end.nodeBefore;if(t&&t.is(\"element\")&&t===e){return t}return null}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}clone(){return new this.constructor(this.start,this.end)}_getTransformedByInsertOperation(t,e=false){return this._getTransformedByInsertion(t.position,t.howMany,e)}_getTransformedByMoveOperation(t,e=false){const n=t.sourcePosition;const i=t.howMany;const o=t.targetPosition;return this._getTransformedByMove(n,o,i,e)}_getTransformedBySplitOperation(t){const e=this.start._getTransformedBySplitOperation(t);let n=this.end._getTransformedBySplitOperation(t);if(this.end.isEqual(t.insertionPosition)){n=this.end.getShiftedBy(1)}if(e.root!=n.root){n=this.end.getShiftedBy(-1)}return new Qh(e,n)}_getTransformedByMergeOperation(t){if(this.start.isEqual(t.targetPosition)&&this.end.isEqual(t.deletionPosition)){return new Qh(this.start)}let e=this.start._getTransformedByMergeOperation(t);let n=this.end._getTransformedByMergeOperation(t);if(e.root!=n.root){n=this.end.getShiftedBy(-1)}if(e.isAfter(n)){if(t.sourcePosition.isBefore(t.targetPosition)){e=qh._createAt(n);e.offset=0}else{if(!t.deletionPosition.isEqual(e)){n=t.deletionPosition}e=t.targetPosition}return new Qh(e,n)}return new Qh(e,n)}_getTransformedByInsertion(t,e,n=false){if(n&&this.containsPosition(t)){return[new Qh(this.start,t),new Qh(t.getShiftedBy(e),this.end._getTransformedByInsertion(t,e))]}else{const n=new Qh(this.start,this.end);n.start=n.start._getTransformedByInsertion(t,e);n.end=n.end._getTransformedByInsertion(t,e);return[n]}}_getTransformedByMove(t,e,n,i=false){if(this.isCollapsed){const i=this.start._getTransformedByMove(t,e,n);return[new Qh(i)]}const o=Qh._createFromPositionAndShift(t,n);const s=e._getTransformedByDeletion(t,n);if(this.containsPosition(e)&&!i){if(o.containsPosition(this.start)||o.containsPosition(this.end)){const i=this.start._getTransformedByMove(t,e,n);const o=this.end._getTransformedByMove(t,e,n);return[new Qh(i,o)]}}let r;const a=this.getDifference(o);let c=null;const l=this.getIntersection(o);if(a.length==1){c=new Qh(a[0].start._getTransformedByDeletion(t,n),a[0].end._getTransformedByDeletion(t,n))}else if(a.length==2){c=new Qh(this.start,this.end._getTransformedByDeletion(t,n))}if(c){r=c._getTransformedByInsertion(s,n,l!==null||i)}else{r=[]}if(l){const t=new Qh(l.start._getCombined(o.start,s),l.end._getCombined(o.start,s));if(r.length==2){r.splice(1,0,t)}else{r.push(t)}}return r}_getTransformedByDeletion(t,e){let n=this.start._getTransformedByDeletion(t,e);let i=this.end._getTransformedByDeletion(t,e);if(n==null&&i==null){return null}if(n==null){n=t}if(i==null){i=t}return new Qh(n,i)}static _createFromPositionAndShift(t,e){const n=t;const i=t.getShiftedBy(e);return e>0?new this(n,i):new this(i,n)}static _createIn(t){return new this(qh._createAt(t,0),qh._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(qh._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new rr[\"b\"](\"range-create-from-ranges-empty-array: At least one range has to be passed.\",null)}else if(t.length==1){return t[0].clone()}const e=t[0];t.sort((t,e)=>t.start.isAfter(e.start)?1:-1);const n=t.indexOf(e);const i=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(i.start)){i.start=qh._createAt(t[e].start)}else{break}}}for(let e=n+1;e<t.length;e++){if(t[e].start.isEqual(i.end)){i.end=qh._createAt(t[e].end)}else{break}}return i}static fromJSON(t,e){return new this(qh.fromJSON(t.start,e),qh.fromJSON(t.end,e))}}class Kh{constructor(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._viewToModelLengthCallbacks=new Map;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set;this.on(\"modelToViewPosition\",(t,e)=>{if(e.viewPosition){return}const n=this._modelToViewMapping.get(e.modelPosition.parent);e.viewPosition=this._findPositionIn(n,e.modelPosition.offset)},{priority:\"low\"});this.on(\"viewToModelPosition\",(t,e)=>{if(e.modelPosition){return}const n=this.findMappedViewAncestor(e.viewPosition);const i=this._viewToModelMapping.get(n);const o=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=qh._createAt(i,o)},{priority:\"low\"})}bindElements(t,e){this._modelToViewMapping.set(t,e);this._viewToModelMapping.set(e,t)}unbindViewElement(t){const e=this.toModelElement(t);this._viewToModelMapping.delete(t);if(this._elementToMarkerNames.has(t)){for(const e of this._elementToMarkerNames.get(t)){this._unboundMarkerNames.add(e)}}if(this._modelToViewMapping.get(e)==t){this._modelToViewMapping.delete(e)}}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t);if(this._viewToModelMapping.get(e)==t){this._viewToModelMapping.delete(e)}}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const i=this._elementToMarkerNames.get(t);if(i){i.delete(e);if(i.size==0){this._elementToMarkerNames.delete(t)}}}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);this._unboundMarkerNames.clear();return t}clearBindings(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Qh(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new hl(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};this.fire(\"viewToModelPosition\",e);return e.modelPosition}toViewPosition(t,e={isPhantom:false}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};this.fire(\"modelToViewPosition\",n);return n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e){return null}const n=new Set;for(const t of e){if(t.is(\"attributeElement\")){for(const e of t.getElementsWithSameId()){n.add(e)}}else{n.add(t)}}return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;while(!this._viewToModelMapping.has(e)){e=e.parent}return e}_toModelOffset(t,e,n){if(n!=t){const i=this._toModelOffset(t.parent,t.index,n);const o=this._toModelOffset(t,e,t);return i+o}if(t.is(\"text\")){return e}let i=0;for(let n=0;n<e;n++){i+=this.getModelLength(t.getChild(n))}return i}getModelLength(t){if(this._viewToModelLengthCallbacks.get(t.name)){const e=this._viewToModelLengthCallbacks.get(t.name);return e(t)}else if(this._viewToModelMapping.has(t)){return 1}else if(t.is(\"text\")){return t.data.length}else if(t.is(\"uiElement\")){return 0}else{let e=0;for(const n of t.getChildren()){e+=this.getModelLength(n)}return e}}_findPositionIn(t,e){let n;let i=0;let o=0;let s=0;if(t.is(\"text\")){return new ul(t,e)}while(o<e){n=t.getChild(s);i=this.getModelLength(n);o+=i;s++}if(o==e){return this._moveViewPositionToTextNode(new ul(t,s))}else{return this._findPositionIn(n,e-(o-i))}}_moveViewPositionToTextNode(t){const e=t.nodeBefore;const n=t.nodeAfter;if(e instanceof Br){return new ul(e,e.data.length)}else if(n instanceof Br){return new ul(n,0)}return t}}yr(Kh,dr);class Jh{constructor(){this._consumable=new Map;this._textProxyRegistry=new Map}add(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}if(!this._consumable.has(t)){this._consumable.set(t,new Map)}this._consumable.get(t).set(e,true)}consume(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}if(this.test(t,e)){this._consumable.get(t).set(e,false);return true}else{return false}}test(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}const n=this._consumable.get(t);if(n===undefined){return null}const i=n.get(e);if(i===undefined){return null}return i}revert(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}const n=this.test(t,e);if(n===false){this._consumable.get(t).set(e,true);return true}else if(n===true){return false}return null}_getSymbolForTextProxy(t){let e=null;const n=this._textProxyRegistry.get(t.startOffset);if(n){const i=n.get(t.endOffset);if(i){e=i.get(t.parent)}}if(!e){e=this._addSymbolForTextProxy(t.startOffset,t.endOffset,t.parent)}return e}_addSymbolForTextProxy(t,e,n){const i=Symbol(\"textProxySymbol\");let o,s;o=this._textProxyRegistry.get(t);if(!o){o=new Map;this._textProxyRegistry.set(t,o)}s=o.get(e);if(!s){s=new Map;o.set(e,s)}s.set(n,i);return i}}function Zh(t){const e=t.split(\":\");return e.length>1?e[0]+\":\"+e[1]:e[0]}class Xh{constructor(t){this.conversionApi=qc({dispatcher:this},t)}convertChanges(t,e,n){for(const e of t.getMarkersToRemove()){this.convertMarkerRemove(e.name,e.range,n)}for(const e of t.getChanges()){if(e.type==\"insert\"){this.convertInsert(Qh._createFromPositionAndShift(e.position,e.length),n)}else if(e.type==\"remove\"){this.convertRemove(e.position,e.length,e.name,n)}else{this.convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,n)}}for(const t of this.conversionApi.mapper.flushUnboundMarkerNames()){const i=e.get(t).getRange();this.convertMarkerRemove(t,i,n);this.convertMarkerAdd(t,i,n)}for(const e of t.getMarkersToAdd()){this.convertMarkerAdd(e.name,e.range,n)}}convertInsert(t,e){this.conversionApi.writer=e;this.conversionApi.consumable=this._createInsertConsumable(t);for(const e of t){const t=e.item;const n=Qh._createFromPositionAndShift(e.previousPosition,e.length);const i={item:t,range:n};this._testAndFire(\"insert\",i);for(const e of t.getAttributeKeys()){i.attributeKey=e;i.attributeOldValue=null;i.attributeNewValue=t.getAttribute(e);this._testAndFire(`attribute:${e}`,i)}}this._clearConversionApi()}convertRemove(t,e,n,i){this.conversionApi.writer=i;this.fire(\"remove:\"+n,{position:t,length:e},this.conversionApi);this._clearConversionApi()}convertAttribute(t,e,n,i,o){this.conversionApi.writer=o;this.conversionApi.consumable=this._createConsumableForRange(t,`attribute:${e}`);for(const o of t){const t=o.item;const s=Qh._createFromPositionAndShift(o.previousPosition,o.length);const r={item:t,range:s,attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,r)}this._clearConversionApi()}convertSelection(t,e,n){const i=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this.conversionApi.writer=n;this.conversionApi.consumable=this._createSelectionConsumable(t,i);this.fire(\"selection\",{selection:t},this.conversionApi);if(!t.isCollapsed){return}for(const e of i){const n=e.getRange();if(!tf(t.getFirstPosition(),e,this.conversionApi.mapper)){continue}const i={item:t,markerName:e.name,markerRange:n};if(this.conversionApi.consumable.test(t,\"addMarker:\"+e.name)){this.fire(\"addMarker:\"+e.name,i,this.conversionApi)}}for(const e of t.getAttributeKeys()){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};if(this.conversionApi.consumable.test(t,\"attribute:\"+n.attributeKey)){this.fire(\"attribute:\"+n.attributeKey+\":$text\",n,this.conversionApi)}}this._clearConversionApi()}convertMarkerAdd(t,e,n){if(!e.root.document||e.root.rootName==\"$graveyard\"){return}this.conversionApi.writer=n;const i=\"addMarker:\"+t;const o=new Jh;o.add(e,i);this.conversionApi.consumable=o;this.fire(i,{markerName:t,markerRange:e},this.conversionApi);if(!o.test(e,i)){return}this.conversionApi.consumable=this._createConsumableForRange(e,i);for(const n of e.getItems()){if(!this.conversionApi.consumable.test(n,i)){continue}const o={item:n,range:Qh._createOn(n),markerName:t,markerRange:e};this.fire(i,o,this.conversionApi)}this._clearConversionApi()}convertMarkerRemove(t,e,n){if(!e.root.document||e.root.rootName==\"$graveyard\"){return}this.conversionApi.writer=n;this.fire(\"removeMarker:\"+t,{markerName:t,markerRange:e},this.conversionApi);this._clearConversionApi()}_createInsertConsumable(t){const e=new Jh;for(const n of t){const t=n.item;e.add(t,\"insert\");for(const n of t.getAttributeKeys()){e.add(t,\"attribute:\"+n)}}return e}_createConsumableForRange(t,e){const n=new Jh;for(const i of t.getItems()){n.add(i,e)}return n}_createSelectionConsumable(t,e){const n=new Jh;n.add(t,\"selection\");for(const i of e){n.add(t,\"addMarker:\"+i.name)}for(const e of t.getAttributeKeys()){n.add(t,\"attribute:\"+e)}return n}_testAndFire(t,e){if(!this.conversionApi.consumable.test(e.item,t)){return}const n=e.item.name||\"$text\";this.fire(t+\":\"+n,e,this.conversionApi)}_clearConversionApi(){delete this.conversionApi.writer;delete this.conversionApi.consumable}}yr(Xh,dr);function tf(t,e,n){const i=e.getRange();const o=Array.from(t.getAncestors());o.shift();o.reverse();const s=o.some(t=>{if(i.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty(\"addHighlight\")}});return!s}class ef{constructor(t,e,n){this._lastRangeBackward=false;this._ranges=[];this._attrs=new Map;if(t){this.setTo(t,e,n)}}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){const t=this._ranges.length;if(t===1){return this._ranges[0].isCollapsed}else{return false}}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new Qh(t.start,t.end)}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?new Qh(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?new Qh(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(t,e,n){if(t===null){this._setRanges([])}else if(t instanceof ef){this._setRanges(t.getRanges(),t.isBackward)}else if(t&&typeof t.getRanges==\"function\"){this._setRanges(t.getRanges(),t.isBackward)}else if(t instanceof Qh){this._setRanges([t],!!e&&!!e.backward)}else if(t instanceof qh){this._setRanges([new Qh(t)])}else if(t instanceof zh){const i=!!n&&!!n.backward;let o;if(e==\"in\"){o=Qh._createIn(t)}else if(e==\"on\"){o=Qh._createOn(t)}else if(e!==undefined){o=new Qh(qh._createAt(t,e))}else{throw new rr[\"b\"](\"model-selection-setTo-required-second-parameter: \"+\"selection.setTo requires the second parameter when the first parameter is a node.\",[this,t])}this._setRanges([o],i)}else if(vr(t)){this._setRanges(t,e&&!!e.backward)}else{throw new rr[\"b\"](\"model-selection-setTo-not-selectable: Cannot set the selection to the given place.\",[this,t])}}_setRanges(t,e=false){t=Array.from(t);const n=t.some(e=>{if(!(e instanceof Qh)){throw new rr[\"b\"](\"model-selection-set-ranges-not-range: \"+\"Selection range set to an object that is not an instance of model.Range.\",[this,t])}return this._ranges.every(t=>!t.isEqual(e))});if(t.length===this._ranges.length&&!n){return}this._removeAllRanges();for(const e of t){this._pushRange(e)}this._lastRangeBackward=!!e;this.fire(\"change:range\",{directChange:true})}setFocus(t,e){if(this.anchor===null){throw new rr[\"b\"](\"model-selection-setFocus-no-ranges: Cannot set selection focus if there are no ranges in selection.\",[this,t])}const n=qh._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const i=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(i)==\"before\"){this._pushRange(new Qh(n,i));this._lastRangeBackward=true}else{this._pushRange(new Qh(i,n));this._lastRangeBackward=false}this.fire(\"change:range\",{directChange:true})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){if(this.hasAttribute(t)){this._attrs.delete(t);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}setAttribute(t,e){if(this.getAttribute(t)!==e){this._attrs.set(t,e);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}is(t){return t===\"selection\"||t===\"model:selection\"}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=sf(e.start,t);if(n&&rf(n,e)){yield n}for(const n of e.getWalker()){const i=n.item;if(n.type==\"elementEnd\"&&of(i,t,e)){yield i}}const i=sf(e.end,t);if(i&&!e.end.isTouching(qh._createAt(i,0))&&rf(i,e)){yield i}}}containsEntireContent(t=this.anchor.root){const e=qh._createAt(t,0);const n=qh._createAt(t,\"end\");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new Qh(t.start,t.end))}_checkRange(t){for(let e=0;e<this._ranges.length;e++){if(t.isIntersecting(this._ranges[e])){throw new rr[\"b\"](\"model-selection-range-intersects: Trying to add a range that intersects with another range in the selection.\",[this,t],{addedRange:t,intersectingRange:this._ranges[e]})}}}_removeAllRanges(){while(this._ranges.length>0){this._popRange()}}_popRange(){this._ranges.pop()}}yr(ef,dr);function nf(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&t.parent}function of(t,e,n){return nf(t,e)&&rf(t,n)}function sf(t,e){const n=t.parent;const i=n.root.document.model.schema;const o=t.parent.getAncestors({parentFirst:true,includeSelf:true});let s=false;const r=o.find(t=>{if(s){return false}s=i.isLimit(t);return!s&&nf(t,e)});o.forEach(t=>e.add(t));return r}function rf(t,e){const n=af(t);if(!n){return true}const i=e.containsRange(Qh._createOn(n),true);return!i}function af(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class cf extends Qh{constructor(t,e){super(t,e);lf.call(this)}detach(){this.stopListening()}is(t){return t===\"liveRange\"||t===\"model:liveRange\"||t==\"range\"||t===\"model:range\"}toRange(){return new Qh(this.start,this.end)}static fromRange(t){return new cf(t.start,t.end)}}function lf(){this.listenTo(this.root.document.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}df.call(this,n)},{priority:\"low\"})}function df(t){const e=this.getTransformedByOperation(t);const n=Qh._createFromRanges(e);const i=!n.isEqual(this);const o=uf(this,t);let s=null;if(i){if(n.root.rootName==\"$graveyard\"){if(t.type==\"remove\"){s=t.sourcePosition}else{s=t.deletionPosition}}const e=this.toRange();this.start=n.start;this.end=n.end;this.fire(\"change:range\",e,{deletionPosition:s})}else if(o){this.fire(\"change:content\",this.toRange(),{deletionPosition:s})}}function uf(t,e){switch(e.type){case\"insert\":return t.containsPosition(e.position);case\"move\":case\"remove\":case\"reinsert\":case\"merge\":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case\"split\":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return false}yr(cf,dr);const hf=\"selection:\";class ff{constructor(t){this._selection=new gf(t);this._selection.delegate(\"change:range\").to(this);this._selection.delegate(\"change:attribute\").to(this);this._selection.delegate(\"change:marker\").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection._updateMarkers();this._selection._updateAttributes(false)}is(t){return t===\"selection\"||t==\"model:selection\"||t==\"documentSelection\"||t==\"model:documentSelection\"}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return hf+t}static _isStoreAttributeKey(t){return t.startsWith(hf)}}yr(ff,dr);class gf extends ef{constructor(t){super();this.markers=new xr({idProperty:\"name\"});this._model=t.model;this._document=t;this._attributePriority=new Map;this._fixGraveyardRangesData=[];this._hasChangedRange=false;this._overriddenGravityRegister=new Set;this.listenTo(this._model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation||n.type==\"marker\"||n.type==\"rename\"||n.type==\"noop\"){return}while(this._fixGraveyardRangesData.length){const{liveRange:t,sourcePosition:e}=this._fixGraveyardRangesData.shift();this._fixGraveyardSelection(t,e)}if(this._hasChangedRange){this._hasChangedRange=false;this.fire(\"change:range\",{directChange:false})}},{priority:\"lowest\"});this.on(\"change:range\",()=>{for(const t of this.getRanges()){if(!this._document._validateSelectionRange(t)){throw new rr[\"b\"](\"document-selection-wrong-position: Range from document selection starts or ends at incorrect position.\",this,{range:t})}}});this.listenTo(this._model.markers,\"update\",()=>this._updateMarkers());this.listenTo(this._document,\"change\",(t,e)=>{pf(this._model,e)})}get isCollapsed(){const t=this._ranges.length;return t===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t<this._ranges.length;t++){this._ranges[t].detach()}this.stopListening()}*getRanges(){if(this._ranges.length){yield*super.getRanges()}else{yield this._document._getDefaultRange()}}getFirstRange(){return super.getFirstRange()||this._document._getDefaultRange()}getLastRange(){return super.getLastRange()||this._document._getDefaultRange()}setTo(t,e,n){super.setTo(t,e,n);this._updateAttributes(true);this._updateMarkers()}setFocus(t,e){super.setFocus(t,e);this._updateAttributes(true);this._updateMarkers()}setAttribute(t,e){if(this._setAttribute(t,e)){const e=[t];this.fire(\"change:attribute\",{attributeKeys:e,directChange:true})}}removeAttribute(t){if(this._removeAttribute(t)){const e=[t];this.fire(\"change:attribute\",{attributeKeys:e,directChange:true})}}overrideGravity(){const t=nr();this._overriddenGravityRegister.add(t);if(this._overriddenGravityRegister.size===1){this._updateAttributes(true)}return t}restoreGravity(t){if(!this._overriddenGravityRegister.has(t)){throw new rr[\"b\"](\"document-selection-gravity-wrong-restore: Attempting to restore the selection gravity for an unknown UID.\",this,{uid:t})}this._overriddenGravityRegister.delete(t);if(!this.isGravityOverridden){this._updateAttributes(true)}}_popRange(){this._ranges.pop().detach()}_pushRange(t){const e=this._prepareRange(t);if(e){this._ranges.push(e)}}_prepareRange(t){this._checkRange(t);if(t.root==this._document.graveyard){return}const e=cf.fromRange(t);e.on(\"change:range\",(t,n,i)=>{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._fixGraveyardRangesData.push({liveRange:e,sourcePosition:i.deletionPosition})}});return e}_updateMarkers(){const t=[];let e=false;for(const e of this._model.markers){const n=e.getRange();for(const i of this.getRanges()){if(n.containsRange(i,!i.isCollapsed)){t.push(e)}}}const n=Array.from(this.markers);for(const n of t){if(!this.markers.has(n)){this.markers.add(n);e=true}}for(const n of Array.from(this.markers)){if(!t.includes(n)){this.markers.remove(n);e=true}}if(e){this.fire(\"change:marker\",{oldMarkers:n,directChange:false})}}_updateAttributes(t){const e=Ur(this._getSurroundingAttributes());const n=Ur(this.getAttributes());if(t){this._attributePriority=new Map;this._attrs=new Map}else{for(const[t,e]of this._attributePriority){if(e==\"low\"){this._attrs.delete(t);this._attributePriority.delete(t)}}}this._setAttributesTo(e);const i=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){i.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){i.push(t)}}if(i.length>0){this.fire(\"change:attribute\",{attributeKeys:i,directChange:false})}}_setAttribute(t,e,n=true){const i=n?\"normal\":\"low\";if(i==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}const o=super.getAttribute(t);if(o===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,i);return true}_removeAttribute(t,e=true){const n=e?\"normal\":\"low\";if(n==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}this._attributePriority.set(t,n);if(!super.hasAttribute(t)){return false}this._attrs.delete(t);return true}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes()){if(t.get(e)===n){continue}this._removeAttribute(e,false)}for(const[n,i]of t){const t=this._setAttribute(n,i,false);if(t){e.add(n)}}return e}*_getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty){for(const e of t.getAttributeKeys()){if(e.startsWith(hf)){const n=e.substr(hf.length);yield[n,t.getAttribute(e)]}}}}_getSurroundingAttributes(){const t=this.getFirstPosition();const e=this._model.schema;let n=null;if(!this.isCollapsed){const t=this.getFirstRange();for(const i of t){if(i.item.is(\"element\")&&e.isObject(i.item)){break}if(i.type==\"text\"){n=i.item.getAttributes();break}}}else{const e=t.textNode?t.textNode:t.nodeBefore;const i=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=mf(e)}if(!n){n=mf(i)}if(!this.isGravityOverridden&&!n){let t=e;while(t&&!n){t=t.previousSibling;n=mf(t)}}if(!n){let t=i;while(t&&!n){t=t.nextSibling;n=mf(t)}}if(!n){n=this._getStoredAttributes()}}return n}_fixGraveyardSelection(t,e){const n=e.clone();const i=this._model.schema.getNearestSelectionRange(n);const o=this._ranges.indexOf(t);this._ranges.splice(o,1);t.detach();if(i&&!bf(i,this)){const t=this._prepareRange(i);this._ranges.splice(o,0,t)}}}function mf(t){if(t instanceof jh||t instanceof Vh){return t.getAttributes()}return null}function pf(t,e){const n=t.document.differ;for(const i of n.getChanges()){if(i.type!=\"insert\"){continue}const n=i.position.parent;const o=i.length===n.maxOffset;if(o){t.enqueueChange(e,t=>{const e=Array.from(n.getAttributeKeys()).filter(t=>t.startsWith(hf));for(const i of e){t.removeAttribute(i,n)}})}}}function bf(t,e){return!e._ranges.every(e=>!t.isEqual(e))}class wf{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}var _f=1,kf=4;function vf(t){return Hs(t,_f|kf)}var yf=vf;class xf extends wf{elementToElement(t){return this.add(Vf(t))}attributeToElement(t){return this.add(jf(t))}attributeToAttribute(t){return this.add(Bf(t))}markerToElement(t){return this.add(Ff(t))}markerToHighlight(t){return this.add(Hf(t))}}function Af(){return(t,e,n)=>{if(!n.consumable.consume(e.item,\"insert\")){return}const i=n.writer;const o=n.mapper.toViewPosition(e.range.start);const s=i.createText(e.item.data);i.insert(o,s)}}function Tf(){return(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=e.position.getShiftedBy(e.length);const s=n.mapper.toViewPosition(o,{isPhantom:true});const r=n.writer.createRange(i,s);const a=n.writer.remove(r.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t)}}}function Cf(t,e){const n=t.createAttributeElement(\"span\",e.attributes);if(e.classes){n._addClass(e.classes)}if(e.priority){n._priority=e.priority}n._id=e.id;return n}function Sf(){return(t,e,n)=>{const i=e.selection;if(i.isCollapsed){return}if(!n.consumable.consume(i,\"selection\")){return}const o=[];for(const t of i.getRanges()){const e=n.mapper.toViewRange(t);o.push(e)}n.writer.setSelection(o,{backward:i.isBackward})}}function Pf(){return(t,e,n)=>{const i=e.selection;if(!i.isCollapsed){return}if(!n.consumable.consume(i,\"selection\")){return}const o=n.writer;const s=i.getFirstPosition();const r=n.mapper.toViewPosition(s);const a=o.breakAttributes(r);o.setSelection(a)}}function Ef(){return(t,e,n)=>{const i=n.writer;const o=i.document.selection;for(const t of o.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}i.setSelection(null)}}function Mf(t){return(e,n,i)=>{const o=t(n.attributeOldValue,i.writer);const s=t(n.attributeNewValue,i.writer);if(!o&&!s){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.writer;const a=r.document.selection;if(n.item instanceof ef||n.item instanceof ff){r.wrap(a.getFirstRange(),s)}else{let t=i.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&o){t=r.unwrap(t,o)}if(n.attributeNewValue!==null&&s){r.wrap(t,s)}}}}function If(t){return(e,n,i)=>{const o=t(n.item,i.writer);if(!o){return}if(!i.consumable.consume(n.item,\"insert\")){return}const s=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,o);i.writer.insert(s,o)}}function Nf(t){return(e,n,i)=>{n.isOpening=true;const o=t(n,i.writer);n.isOpening=false;const s=t(n,i.writer);if(!o||!s){return}const r=n.markerRange;if(r.isCollapsed&&!i.consumable.consume(r,e.name)){return}for(const t of r){if(!i.consumable.consume(t.item,e.name)){return}}const a=i.mapper;const c=i.writer;c.insert(a.toViewPosition(r.start),o);i.mapper.bindElementToMarker(o,n.markerName);if(!r.isCollapsed){c.insert(a.toViewPosition(r.end),s);i.mapper.bindElementToMarker(s,n.markerName)}e.stop()}}function Of(){return(t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(!i){return}for(const t of i){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function Rf(t){return(e,n,i)=>{const o=t(n.attributeOldValue,n);const s=t(n.attributeNewValue,n);if(!o&&!s){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.mapper.toViewElement(n.item);const a=i.writer;if(!r){throw new rr[\"b\"](\"conversion-attribute-to-attribute-on-text: \"+\"Trying to convert text node's attribute with attribute-to-attribute converter.\",[n,i])}if(n.attributeOldValue!==null&&o){if(o.key==\"class\"){const t=Array.isArray(o.value)?o.value:[o.value];for(const e of t){a.removeClass(e,r)}}else if(o.key==\"style\"){const t=Object.keys(o.value);for(const e of t){a.removeStyle(e,r)}}else{a.removeAttribute(o.key,r)}}if(n.attributeNewValue!==null&&s){if(s.key==\"class\"){const t=Array.isArray(s.value)?s.value:[s.value];for(const e of t){a.addClass(e,r)}}else if(s.key==\"style\"){const t=Object.keys(s.value);for(const e of t){a.setStyle(e,s.value[e],r)}}else{a.setAttribute(s.key,s.value,r)}}}}function Df(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof ef||n.item instanceof ff)&&!n.item.is(\"textProxy\")){return}const o=Yf(t,n,i);if(!o){return}if(!i.consumable.consume(n.item,e.name)){return}const s=i.writer;const r=Cf(s,o);const a=s.document.selection;if(n.item instanceof ef||n.item instanceof ff){s.wrap(a.getFirstRange(),r,a)}else{const t=i.mapper.toViewRange(n.range);const e=s.wrap(t,r);for(const t of e.getItems()){if(t.is(\"attributeElement\")&&t.isSimilar(r)){i.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Lf(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof Fh)){return}const o=Yf(t,n,i);if(!o){return}if(!i.consumable.test(n.item,e.name)){return}const s=i.mapper.toViewElement(n.item);if(s&&s.getCustomProperty(\"addHighlight\")){i.consumable.consume(n.item,e.name);for(const t of Qh._createIn(n.item)){i.consumable.consume(t.item,e.name)}s.getCustomProperty(\"addHighlight\")(s,o,i.writer);i.mapper.bindElementToMarker(s,n.markerName)}}}function zf(t){return(e,n,i)=>{if(n.markerRange.isCollapsed){return}const o=Yf(t,n,i);if(!o){return}const s=Cf(i.writer,o);const r=i.mapper.markerNameToElements(n.markerName);if(!r){return}for(const t of r){i.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is(\"attributeElement\")){i.writer.unwrap(i.writer.createRangeOn(t),s)}else{t.getCustomProperty(\"removeHighlight\")(t,o.id,i.writer)}}i.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function Vf(t){t=yf(t);t.view=Uf(t.view,\"container\");return e=>{e.on(\"insert:\"+t.model,If(t.view),{priority:t.converterPriority||\"normal\"})}}function jf(t){t=yf(t);const e=t.model.key?t.model.key:t.model;let n=\"attribute:\"+e;if(t.model.name){n+=\":\"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=Uf(t.view[e],\"attribute\")}}else{t.view=Uf(t.view,\"attribute\")}const i=qf(t);return e=>{e.on(n,Mf(i),{priority:t.converterPriority||\"normal\"})}}function Bf(t){t=yf(t);const e=t.model.key?t.model.key:t.model;let n=\"attribute:\"+e;if(t.model.name){n+=\":\"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=$f(t.view[e])}}else{t.view=$f(t.view)}const i=qf(t);return e=>{e.on(n,Rf(i),{priority:t.converterPriority||\"normal\"})}}function Ff(t){t=yf(t);t.view=Uf(t.view,\"ui\");return e=>{e.on(\"addMarker:\"+t.model,Nf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"removeMarker:\"+t.model,Of(t.view),{priority:t.converterPriority||\"normal\"})}}function Hf(t){return e=>{e.on(\"addMarker:\"+t.model,Df(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"addMarker:\"+t.model,Lf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"removeMarker:\"+t.model,zf(t.view),{priority:t.converterPriority||\"normal\"})}}function Uf(t,e){if(typeof t==\"function\"){return t}return(n,i)=>Wf(t,i,e)}function Wf(t,e,n){if(typeof t==\"string\"){t={name:t}}let i;const o=Object.assign({},t.attributes);if(n==\"container\"){i=e.createContainerElement(t.name,o)}else if(n==\"attribute\"){const n={priority:t.priority||_l.DEFAULT_PRIORITY};i=e.createAttributeElement(t.name,o,n)}else{i=e.createUIElement(t.name,o)}if(t.styles){const n=Object.keys(t.styles);for(const o of n){e.setStyle(o,t.styles[o],i)}}if(t.classes){const n=t.classes;if(typeof n==\"string\"){e.addClass(n,i)}else{for(const t of n){e.addClass(t,i)}}}return i}function qf(t){if(t.model.values){return(e,n)=>{const i=t.view[e];if(i){return i(e,n)}return null}}else{return t.view}}function $f(t){if(typeof t==\"string\"){return e=>({key:t,value:e})}else if(typeof t==\"object\"){if(t.value){return()=>t}else{return e=>({key:t.key,value:e})}}else{return t}}function Yf(t,e,n){const i=typeof t==\"function\"?t(e,n):t;if(!i){return null}if(!i.priority){i.priority=10}if(!i.id){i.id=e.markerName}return i}class Gf extends wf{elementToElement(t){return this.add(Zf(t))}elementToAttribute(t){return this.add(Xf(t))}attributeToAttribute(t){return this.add(tg(t))}elementToMarker(t){return this.add(eg(t))}}function Qf(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=i}}}function Kf(){return(t,e,n)=>{if(n.schema.checkChild(e.modelCursor,\"$text\")){if(n.consumable.consume(e.viewItem)){const t=n.writer.createText(e.viewItem.data);n.writer.insert(t,e.modelCursor);e.modelRange=Qh._createFromPositionAndShift(e.modelCursor,t.offsetSize);e.modelCursor=e.modelRange.end}}}}function Jf(t,e){return(n,i)=>{const o=i.newSelection;const s=new ef;const r=[];for(const t of o.getRanges()){r.push(e.toModelRange(t))}s.setTo(r,{backward:o.isBackward});if(!s.isEqual(t.document.selection)){t.change(t=>{t.setSelection(s)})}}}function Zf(t){t=yf(t);const e=ig(t);const n=ng(t.view);const i=n?\"element:\"+n:\"element\";return n=>{n.on(i,e,{priority:t.converterPriority||\"normal\"})}}function Xf(t){t=yf(t);rg(t);const e=ag(t,false);const n=ng(t.view);const i=n?\"element:\"+n:\"element\";return n=>{n.on(i,e,{priority:t.converterPriority||\"low\"})}}function tg(t){t=yf(t);let e=null;if(typeof t.view==\"string\"||t.view.key){e=sg(t)}rg(t,e);const n=ag(t,true);return e=>{e.on(\"element\",n,{priority:t.converterPriority||\"low\"})}}function eg(t){t=yf(t);dg(t);return Zf(t)}function ng(t){if(typeof t==\"string\"){return t}if(typeof t==\"object\"&&typeof t.name==\"string\"){return t.name}return null}function ig(t){const e=t.view?new Wr(t.view):null;return(n,i,o)=>{let s={};if(e){const t=e.match(i.viewItem);if(!t){return}s=t.match}s.name=true;const r=og(t.model,i.viewItem,o.writer);if(!r){return}if(!o.consumable.test(i.viewItem,s)){return}const a=o.splitToAllowedParent(r,i.modelCursor);if(!a){return}o.writer.insert(r,a.position);o.convertChildren(i.viewItem,o.writer.createPositionAt(r,0));o.consumable.consume(i.viewItem,s);const c=o.getSplitParts(r);i.modelRange=new Qh(o.writer.createPositionBefore(r),o.writer.createPositionAfter(c[c.length-1]));if(a.cursorParent){i.modelCursor=o.writer.createPositionAt(a.cursorParent,0)}else{i.modelCursor=i.modelRange.end}}}function og(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.createElement(t)}}function sg(t){if(typeof t.view==\"string\"){t.view={key:t.view}}const e=t.view.key;let n;if(e==\"class\"||e==\"style\"){const i=e==\"class\"?\"classes\":\"styles\";n={[i]:t.view.value}}else{const i=typeof t.view.value==\"undefined\"?/[\\s\\S]*/:t.view.value;n={attributes:{[e]:i}}}if(t.view.name){n.name=t.view.name}t.view=n;return e}function rg(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const i=typeof t.model!=\"object\"?t.model:t.model.key;const o=typeof t.model!=\"object\"||typeof t.model.value==\"undefined\"?n:t.model.value;t.model={key:i,value:o}}function ag(t,e){const n=new Wr(t.view);return(i,o,s)=>{const r=n.match(o.viewItem);if(!r){return}const a=t.model.key;const c=typeof t.model.value==\"function\"?t.model.value(o.viewItem):t.model.value;if(c===null){return}if(cg(t.view,o.viewItem)){r.match.name=true}else{delete r.match.name}if(!s.consumable.test(o.viewItem,r.match)){return}if(!o.modelRange){o=Object.assign(o,s.convertChildren(o.viewItem,o.modelCursor))}const l=lg(o.modelRange,{key:a,value:c},e,s);if(l){s.consumable.consume(o.viewItem,r.match)}}}function cg(t,e){const n=typeof t==\"function\"?t(e):t;if(typeof n==\"object\"&&!ng(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function lg(t,e,n,i){let o=false;for(const s of Array.from(t.getItems({shallow:n}))){if(i.schema.checkAttribute(s,e.key)){i.writer.setAttribute(e.key,e.value,s);o=true}}return o}function dg(t){const e=t.model;t.model=(t,n)=>{const i=typeof e==\"string\"?e:e(t);return n.createElement(\"$marker\",{\"data-name\":i})}}class ug{constructor(t,e){this.model=t;this.view=new Lh(e);this.mapper=new Kh;this.downcastDispatcher=new Xh({mapper:this.mapper});const n=this.model.document;const i=n.selection;const o=this.model.markers;this.listenTo(this.model,\"_beforeChanges\",()=>{this.view._disableRendering(true)},{priority:\"highest\"});this.listenTo(this.model,\"_afterChanges\",()=>{this.view._disableRendering(false)},{priority:\"lowest\"});this.listenTo(n,\"change\",()=>{this.view.change(t=>{this.downcastDispatcher.convertChanges(n.differ,o,t);this.downcastDispatcher.convertSelection(i,o,t)})},{priority:\"low\"});this.listenTo(this.view.document,\"selectionChange\",Jf(this.model,this.mapper));this.downcastDispatcher.on(\"insert:$text\",Af(),{priority:\"lowest\"});this.downcastDispatcher.on(\"remove\",Tf(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Ef(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Sf(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Pf(),{priority:\"low\"});this.view.document.roots.bindTo(this.model.document.roots).using(t=>{if(t.rootName==\"$graveyard\"){return null}const e=new ll(this.view.document,t.name);e.rootName=t.rootName;this.mapper.bindElements(t,e);return e})}destroy(){this.view.destroy();this.stopListening()}}yr(ug,Kc);class hg{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n){throw new rr[\"b\"](\"commandcollection-command-not-found: Command does not exist.\",this,{commandName:t})}n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands()){t.destroy()}}}class fg{constructor(){this._consumables=new Map}add(t,e){let n;if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,true);return}if(!this._consumables.has(t)){n=new gg(t);this._consumables.set(t,n)}else{n=this._consumables.get(t)}n.add(e)}test(t,e){const n=this._consumables.get(t);if(n===undefined){return null}if(t.is(\"text\")||t.is(\"documentFragment\")){return n}return n.test(e)}consume(t,e){if(this.test(t,e)){if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,false)}else{this._consumables.get(t).consume(e)}return true}return false}revert(t,e){const n=this._consumables.get(t);if(n!==undefined){if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,true)}else{n.revert(e)}}}static consumablesFromElement(t){const e={element:t,name:true,attributes:[],classes:[],styles:[]};const n=t.getAttributeKeys();for(const t of n){if(t==\"style\"||t==\"class\"){continue}e.attributes.push(t)}const i=t.getClassNames();for(const t of i){e.classes.push(t)}const o=t.getStyleNames();for(const t of o){e.styles.push(t)}return e}static createFrom(t,e){if(!e){e=new fg(t)}if(t.is(\"text\")){e.add(t);return e}if(t.is(\"element\")){e.add(t,fg.consumablesFromElement(t))}if(t.is(\"documentFragment\")){e.add(t)}for(const n of t.getChildren()){e=fg.createFrom(n,e)}return e}}class gg{constructor(t){this.element=t;this._canConsumeName=null;this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._add(e,t[e])}}}test(t){if(t.name&&!this._canConsumeName){return this._canConsumeName}for(const e in this._consumables){if(e in t){const n=this._test(e,t[e]);if(n!==true){return n}}}return true}consume(t){if(t.name){this._canConsumeName=false}for(const e in this._consumables){if(e in t){this._consume(e,t[e])}}}revert(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._revert(e,t[e])}}}_add(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){throw new rr[\"b\"](\"viewconsumable-invalid-attribute: Classes and styles should be handled separately.\",this)}i.set(e,true);if(t===\"styles\"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){i.set(t,true)}}}}_test(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";const n=this._test(t,[...this._consumables[t].keys()]);if(n!==true){return n}}else{const t=i.get(e);if(t===undefined){return null}if(!t){return false}}}return true}_consume(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";this._consume(t,[...this._consumables[t].keys()])}else{i.set(e,false);if(t==\"styles\"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){i.set(t,false)}}}}}_revert(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";this._revert(t,[...this._consumables[t].keys()])}else{const t=i.get(e);if(t===false){i.set(e,true)}}}}}class mg{constructor(){this._sourceDefinitions={};this._attributeProperties={};this.decorate(\"checkChild\");this.decorate(\"checkAttribute\");this.on(\"checkAttribute\",(t,e)=>{e[0]=new pg(e[0])},{priority:\"highest\"});this.on(\"checkChild\",(t,e)=>{e[0]=new pg(e[0]);e[1]=this.getDefinition(e[1])},{priority:\"highest\"})}register(t,e){if(this._sourceDefinitions[t]){throw new rr[\"b\"](\"schema-cannot-register-item-twice: A single item cannot be registered twice in the schema.\",this,{itemName:t})}this._sourceDefinitions[t]=[Object.assign({},e)];this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t]){throw new rr[\"b\"](\"schema-cannot-extend-missing-item: Cannot extend an item which was not registered yet.\",this,{itemName:t})}this._sourceDefinitions[t].push(Object.assign({},e));this._clearCache()}getDefinitions(){if(!this._compiledDefinitions){this._compile()}return this._compiledDefinitions}getDefinition(t){let e;if(typeof t==\"string\"){e=t}else if(t.is&&(t.is(\"text\")||t.is(\"textProxy\"))){e=\"$text\"}else{e=t.name}return this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isLimit||e.isObject)}isObject(t){const e=this.getDefinition(t);return!!(e&&e.isObject)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}checkChild(t,e){if(!e){return false}return this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n){return false}return n.allowAttributes.includes(e)}checkMerge(t,e=null){if(t instanceof qh){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Fh)){throw new rr[\"b\"](\"schema-check-merge-no-element-before: The node before the merge position must be an element.\",this)}if(!(n instanceof Fh)){throw new rr[\"b\"](\"schema-check-merge-no-element-after: The node after the merge position must be an element.\",this)}return this.checkMerge(e,n)}for(const n of e.getChildren()){if(!this.checkChild(t,n)){return false}}return true}addChildCheck(t){this.on(\"checkChild\",(e,[n,i])=>{if(!i){return}const o=t(n,i);if(typeof o==\"boolean\"){e.stop();e.return=o}},{priority:\"high\"})}addAttributeCheck(t){this.on(\"checkAttribute\",(e,[n,i])=>{const o=t(n,i);if(typeof o==\"boolean\"){e.stop();e.return=o}},{priority:\"high\"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof qh){e=t.parent}else{const n=t instanceof Qh?[t]:Array.from(t.getRanges());e=n.reduce((t,e)=>{const n=e.getCommonAncestor();if(!t){return n}return t.getCommonAncestor(n,{includeSelf:true})},null)}while(!this.isLimit(e)){if(e.parent){e=e.parent}else{break}}return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=t.getFirstPosition();const i=[...n.getAncestors(),new Vh(\"\",t.getAttributes())];return this.checkAttribute(i,e)}else{const n=t.getRanges();for(const t of n){for(const n of t){if(this.checkAttribute(n.item,e)){return true}}}}return false}*getValidRanges(t,e){t=Ig(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e=\"both\"){if(this.checkChild(t,\"$text\")){return new Qh(t)}let n,i;const o=t.getAncestors().reverse().find(t=>this.isLimit(t))||t.root;if(e==\"both\"||e==\"backward\"){n=new Uh({boundaries:Qh._createIn(o),startPosition:t,direction:\"backward\"})}if(e==\"both\"||e==\"forward\"){i=new Uh({boundaries:Qh._createIn(o),startPosition:t})}for(const t of Mg(n,i)){const e=t.walker==n?\"elementEnd\":\"elementStart\";const i=t.value;if(i.type==e&&this.isObject(i.item)){return Qh._createOn(i.item)}if(this.checkChild(i.nextPosition,\"$text\")){return new Qh(i.nextPosition)}}return null}findAllowedParent(t,e){let n=t.parent;while(n){if(this.checkChild(n,e)){return n}if(this.isLimit(n)){return null}n=n.parent}return null}removeDisallowedAttributes(t,e){for(const n of t){if(n.is(\"text\")){Ng(this,n,e)}else{const t=Qh._createIn(n);const i=t.getPositions();for(const t of i){const n=t.nodeBefore||t.parent;Ng(this,n,e)}}}}createContext(t){return new pg(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const i of n){t[i]=bg(e[i],i)}for(const e of n){wg(t,e)}for(const e of n){_g(t,e)}for(const e of n){kg(t,e);vg(t,e)}for(const e of n){yg(t,e);xg(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(n==0){return true}else{const t=this.getDefinition(i);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let i=t.start;for(const o of t.getItems({shallow:true})){if(o.is(\"element\")){yield*this._getValidRangesForRange(Qh._createIn(o),e)}if(!this.checkAttribute(o,e)){if(!n.isEqual(i)){yield new Qh(n,i)}n=qh._createAfter(o)}i=qh._createAfter(o)}if(!n.isEqual(i)){yield new Qh(n,i)}}}yr(mg,Kc);class pg{constructor(t){if(t instanceof pg){return t}if(typeof t==\"string\"){t=[t]}else if(!Array.isArray(t)){t=t.getAncestors({includeSelf:true})}if(t[0]&&typeof t[0]!=\"string\"&&t[0].is(\"documentFragment\")){t.shift()}this._items=t.map(Eg)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new pg([t]);e._items=[...this._items,...e._items];return e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map(t=>t.name)}endsWith(t){return Array.from(this.getNames()).join(\" \").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(\" \").startsWith(t)}}function bg(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],inheritTypesFrom:[]};Ag(t,n);Tg(t,n,\"allowIn\");Tg(t,n,\"allowContentOf\");Tg(t,n,\"allowWhere\");Tg(t,n,\"allowAttributes\");Tg(t,n,\"allowAttributesOf\");Tg(t,n,\"inheritTypesFrom\");Cg(t,n);return n}function wg(t,e){for(const n of t[e].allowContentOf){if(t[n]){const i=Sg(t,n);i.forEach(t=>{t.allowIn.push(e)})}}delete t[e].allowContentOf}function _g(t,e){for(const n of t[e].allowWhere){const i=t[n];if(i){const n=i.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function kg(t,e){for(const n of t[e].allowAttributesOf){const i=t[n];if(i){const n=i.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function vg(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const i=t[e];if(i){const t=Object.keys(i).filter(t=>t.startsWith(\"is\"));for(const e of t){if(!(e in n)){n[e]=i[e]}}}}delete n.inheritTypesFrom}function yg(t,e){const n=t[e];const i=n.allowIn.filter(e=>t[e]);n.allowIn=Array.from(new Set(i))}function xg(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function Ag(t,e){for(const n of t){const t=Object.keys(n).filter(t=>t.startsWith(\"is\"));for(const i of t){e[i]=n[i]}}}function Tg(t,e,n){for(const i of t){if(typeof i[n]==\"string\"){e[n].push(i[n])}else if(Array.isArray(i[n])){e[n].push(...i[n])}}}function Cg(t,e){for(const n of t){const t=n.inheritAllFrom;if(t){e.allowContentOf.push(t);e.allowWhere.push(t);e.allowAttributesOf.push(t);e.inheritTypesFrom.push(t)}}}function Sg(t,e){const n=t[e];return Pg(t).filter(t=>t.allowIn.includes(n.name))}function Pg(t){return Object.keys(t).map(e=>t[e])}function Eg(t){if(typeof t==\"string\"){return{name:t,*getAttributeKeys(){},getAttribute(){}}}else{return{name:t.is(\"element\")?t.name:\"$text\",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute(e){return t.getAttribute(e)}}}}function*Mg(t,e){let n=false;while(!n){n=true;if(t){const e=t.next();if(!e.done){n=false;yield{walker:t,value:e.value}}}if(e){const t=e.next();if(!t.done){n=false;yield{walker:e,value:t.value}}}}}function*Ig(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function Ng(t,e,n){for(const i of e.getAttributeKeys()){if(!t.checkAttribute(e,i)){n.removeAttribute(i,e)}}}class Og{constructor(t={}){this._splitParts=new Map;this._modelCursor=null;this.conversionApi=Object.assign({},t);this.conversionApi.convertItem=this._convertItem.bind(this);this.conversionApi.convertChildren=this._convertChildren.bind(this);this.conversionApi.splitToAllowedParent=this._splitToAllowedParent.bind(this);this.conversionApi.getSplitParts=this._getSplitParts.bind(this)}convert(t,e,n=[\"$root\"]){this.fire(\"viewCleanup\",t);this._modelCursor=Dg(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=fg.createFrom(t);this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor);const o=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,o)}o.markers=Rg(o,e)}this._modelCursor=null;this._splitParts.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return o}_convertItem(t,e){const n=Object.assign({viewItem:t,modelCursor:e,modelRange:null});if(t.is(\"element\")){this.fire(\"element:\"+t.name,n,this.conversionApi)}else if(t.is(\"text\")){this.fire(\"text\",n,this.conversionApi)}else{this.fire(\"documentFragment\",n,this.conversionApi)}if(n.modelRange&&!(n.modelRange instanceof Qh)){throw new rr[\"b\"](\"view-conversion-dispatcher-incorrect-result: Incorrect conversion result was dropped.\",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){const n=new Qh(e);let i=e;for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,i);if(t.modelRange instanceof Qh){n.end=t.modelRange.end;i=t.modelCursor}}return{modelRange:n,modelCursor:i}}_splitToAllowedParent(t,e){const n=this.conversionApi.schema.findAllowedParent(e,t);if(!n){return null}if(n===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(n)){return null}const i=this.conversionApi.writer.split(e,n);const o=[];for(const t of i.range.getWalker()){if(t.type==\"elementEnd\"){o.push(t.item)}else{const e=o.pop();const n=t.item;this._registerSplitPair(e,n)}}return{position:i.position,cursorParent:i.range.end.parent}}_registerSplitPair(t,e){if(!this._splitParts.has(t)){this._splitParts.set(t,[t])}const n=this._splitParts.get(t);this._splitParts.set(e,n);n.push(e)}_getSplitParts(t){let e;if(!this._splitParts.has(t)){e=[t]}else{e=this._splitParts.get(t)}return e}_removeEmptyElements(){let t=false;for(const e of this._splitParts.keys()){if(e.isEmpty){this.conversionApi.writer.remove(e);this._splitParts.delete(e);t=true}}if(t){this._removeEmptyElements()}}}yr(Og,dr);function Rg(t,e){const n=new Set;const i=new Map;const o=Qh._createIn(t).getItems();for(const t of o){if(t.name==\"$marker\"){n.add(t)}}for(const t of n){const n=t.getAttribute(\"data-name\");const o=e.createPositionBefore(t);if(!i.has(n)){i.set(n,new Qh(o.clone()))}else{i.get(n).end=o.clone()}e.remove(t)}return i}function Dg(t,e){let n;for(const i of new pg(t)){const t={};for(const e of i.getAttributeKeys()){t[e]=i.getAttribute(e)}const o=e.createElement(i.name,t);if(n){e.append(o,n)}n=qh._createAt(o,0)}return n}class Lg{constructor(t,e){this.model=t;this.stylesProcessor=e;this.processor;this.mapper=new Kh;this.downcastDispatcher=new Xh({mapper:this.mapper});this.downcastDispatcher.on(\"insert:$text\",Af(),{priority:\"lowest\"});this.upcastDispatcher=new Og({schema:t.schema});this.viewDocument=new bl(e);this._viewWriter=new $l(this.viewDocument);this.upcastDispatcher.on(\"text\",Kf(),{priority:\"lowest\"});this.upcastDispatcher.on(\"element\",Qf(),{priority:\"lowest\"});this.upcastDispatcher.on(\"documentFragment\",Qf(),{priority:\"lowest\"});this.decorate(\"init\");this.on(\"init\",()=>{this.fire(\"ready\")},{priority:\"lowest\"})}get(t){const{rootName:e=\"main\",trim:n=\"empty\"}=t||{};if(!this._checkIfRootsExists([e])){throw new rr[\"b\"](\"datacontroller-get-non-existent-root: Attempting to get data from a non-existing root.\",this)}const i=this.model.document.getRoot(e);if(n===\"empty\"&&!this.model.hasContent(i,{ignoreWhitespaces:true})){return\"\"}return this.stringify(i)}stringify(t){const e=this.toView(t);return this.processor.toData(e)}toView(t){const e=this.viewDocument;const n=this._viewWriter;this.mapper.clearBindings();const i=Qh._createIn(t);const o=new Wl(e);this.mapper.bindElements(t,o);this.downcastDispatcher.convertInsert(i,n);if(!t.is(\"documentFragment\")){const e=zg(t);for(const[t,i]of e){this.downcastDispatcher.convertMarkerAdd(t,i,n)}}return o}init(t){if(this.model.document.version){throw new rr[\"b\"](\"datacontroller-init-document-not-empty: Trying to set initial data to not empty document.\",this)}let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new rr[\"b\"](\"datacontroller-init-non-existent-root: Attempting to init data on a non-existing root.\",this)}this.model.enqueueChange(\"transparent\",t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,0)}});return Promise.resolve()}set(t){let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new rr[\"b\"](\"datacontroller-set-non-existent-root: Attempting to set data on a non-existing root.\",this)}this.model.enqueueChange(\"transparent\",t=>{t.setSelection(null);t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.remove(t.createRangeIn(i));t.insert(this.parse(e[n],i),i,0)}})}parse(t,e=\"$root\"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e=\"$root\"){return this.model.change(n=>this.upcastDispatcher.convert(t,n,e))}addStyleProcessorRules(t){t(this.stylesProcessor)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t){if(!this.model.document.getRootNames().includes(e)){return false}}return true}}yr(Lg,Kc);function zg(t){const e=[];const n=t.root.document;if(!n){return[]}const i=Qh._createIn(t);for(const t of n.model.markers){const n=i.getIntersection(t.getRange());if(n){e.push([t.name,n])}}return e}class Vg{constructor(t,e){this._helpers=new Map;this._downcast=Array.isArray(t)?t:[t];this._createConversionHelpers({name:\"downcast\",dispatchers:this._downcast,isDowncast:true});this._upcast=Array.isArray(e)?e:[e];this._createConversionHelpers({name:\"upcast\",dispatchers:this._upcast,isDowncast:false})}addAlias(t,e){const n=this._downcast.includes(e);const i=this._upcast.includes(e);if(!i&&!n){throw new rr[\"b\"](\"conversion-add-alias-dispatcher-not-registered: \"+\"Trying to register and alias for a dispatcher that nas not been registered.\",this)}this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t)){throw new rr[\"b\"](\"conversion-for-unknown-group: Trying to add a converter to an unknown dispatchers group.\",this)}return this._helpers.get(t)}elementToElement(t){this.for(\"downcast\").elementToElement(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}}attributeToElement(t){this.for(\"downcast\").attributeToElement(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}}attributeToAttribute(t){this.for(\"downcast\").attributeToAttribute(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").attributeToAttribute({view:n,model:e})}}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t)){throw new rr[\"b\"](\"conversion-group-exists: Trying to register a group name that has already been registered.\",this)}const i=n?new xf(e):new Gf(e);this._helpers.set(t,i)}}function*jg(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const i=t.view[e];const o=t.upcastAlso?t.upcastAlso[e]:undefined;yield*Bg(n,i,o)}}else{yield*Bg(t.model,t.view,t.upcastAlso)}}function*Bg(t,e,n){yield{model:t,view:e};if(n){n=Array.isArray(n)?n:[n];for(const e of n){yield{model:t,view:e}}}}class Fg{constructor(t=\"default\"){this.operations=[];this.type=t}get baseVersion(){for(const t of this.operations){if(t.baseVersion!==null){return t.baseVersion}}return null}addOperation(t){t.batch=this;this.operations.push(t);return t}}class Hg{constructor(t){this.baseVersion=t;this.isDocumentOperation=this.baseVersion!==null;this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);t.__className=this.constructor.className;delete t.batch;delete t.isDocumentOperation;return t}static get className(){return\"Operation\"}static fromJSON(t){return new this(t.baseVersion)}}class Ug{constructor(t){this.markers=new Map;this._children=new Bh;if(t){this._insertChild(0,t)}}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t===\"documentFragment\"||t===\"model:documentFragment\"}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children){t.push(e.toJSON())}return t}static fromJSON(t){const e=[];for(const n of t){if(n.name){e.push(Fh.fromJSON(n))}else{e.push(Vh.fromJSON(n))}}return new Ug(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Wg(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}}function Wg(t){if(typeof t==\"string\"){return[new Vh(t)]}if(!vr(t)){t=[t]}return Array.from(t).map(t=>{if(typeof t==\"string\"){return new Vh(t)}if(t instanceof jh){return new Vh(t.data,t.getAttributes())}return t})}function qg(t,e){e=Qg(e);const n=e.reduce((t,e)=>t+e.offsetSize,0);const i=t.parent;Jg(t);const o=t.index;i._insertChild(o,e);Kg(i,o+e.length);Kg(i,o);return new Qh(t,t.getShiftedBy(n))}function $g(t){if(!t.isFlat){throw new rr[\"b\"](\"operation-utils-remove-range-not-flat: \"+\"Trying to remove a range which starts and ends in different element.\",this)}const e=t.start.parent;Jg(t.start);Jg(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);Kg(e,t.start.index);return n}function Yg(t,e){if(!t.isFlat){throw new rr[\"b\"](\"operation-utils-move-range-not-flat: \"+\"Trying to move a range which starts and ends in different element.\",this)}const n=$g(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return qg(e,n)}function Gg(t,e,n){Jg(t.start);Jg(t.end);for(const i of t.getItems({shallow:true})){const t=i.is(\"textProxy\")?i.textNode:i;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}Kg(t.parent,t.index)}Kg(t.end.parent,t.end.index)}function Qg(t){const e=[];if(!(t instanceof Array)){t=[t]}for(let n=0;n<t.length;n++){if(typeof t[n]==\"string\"){e.push(new Vh(t[n]))}else if(t[n]instanceof jh){e.push(new Vh(t[n].data,t[n].getAttributes()))}else if(t[n]instanceof Ug||t[n]instanceof Bh){for(const i of t[n]){e.push(i)}}else if(t[n]instanceof zh){e.push(t[n])}}for(let t=1;t<e.length;t++){const n=e[t];const i=e[t-1];if(n instanceof Vh&&i instanceof Vh&&Zg(n,i)){e.splice(t-1,2,new Vh(i.data+n.data,i.getAttributes()));t--}}return e}function Kg(t,e){const n=t.getChild(e-1);const i=t.getChild(e);if(n&&i&&n.is(\"text\")&&i.is(\"text\")&&Zg(n,i)){const o=new Vh(n.data+i.data,n.getAttributes());t._removeChildren(e-1,2);t._insertChild(e-1,o)}}function Jg(t){const e=t.textNode;const n=t.parent;if(e){const i=t.offset-e.startOffset;const o=e.index;n._removeChildren(o,1);const s=new Vh(e.data.substr(0,i),e.getAttributes());const r=new Vh(e.data.substr(i),e.getAttributes());n._insertChild(o,[s,r])}}function Zg(t,e){const n=t.getAttributes();const i=e.getAttributes();for(const t of n){if(t[1]!==e.getAttribute(t[0])){return false}i.next()}return i.next().done}function Xg(t,e){return Wu(t,e)}var tm=Xg;class em extends Hg{constructor(t,e,n,i,o){super(o);this.range=t.clone();this.key=e;this.oldValue=n===undefined?null:n;this.newValue=i===undefined?null:i}get type(){if(this.oldValue===null){return\"addAttribute\"}else if(this.newValue===null){return\"removeAttribute\"}else{return\"changeAttribute\"}}clone(){return new em(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new em(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const t=super.toJSON();t.range=this.range.toJSON();return t}_validate(){if(!this.range.isFlat){throw new rr[\"b\"](\"attribute-operation-range-not-flat: The range to change is not flat.\",this)}for(const t of this.range.getItems({shallow:true})){if(this.oldValue!==null&&!tm(t.getAttribute(this.key),this.oldValue)){throw new rr[\"b\"](\"attribute-operation-wrong-old-value: Changed node has different attribute value than operation's \"+\"old attribute value.\",this,{item:t,key:this.key,value:this.oldValue})}if(this.oldValue===null&&this.newValue!==null&&t.hasAttribute(this.key)){throw new rr[\"b\"](\"attribute-operation-attribute-exists: The attribute with given key already exists.\",this,{node:t,key:this.key})}}}_execute(){if(!tm(this.oldValue,this.newValue)){Gg(this.range,this.key,this.newValue)}}static get className(){return\"AttributeOperation\"}static fromJSON(t,e){return new em(Qh.fromJSON(t.range,e),t.key,t.oldValue,t.newValue,t.baseVersion)}}class nm extends Hg{constructor(t,e){super(null);this.sourcePosition=t.clone();this.howMany=e}get type(){return\"detach\"}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();return t}_validate(){if(this.sourcePosition.root.document){throw new rr[\"b\"](\"detach-operation-on-document-node: Cannot detach document node.\",this)}}_execute(){$g(Qh._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return\"DetachOperation\"}}class im extends Hg{constructor(t,e,n,i){super(i);this.sourcePosition=t.clone();this.sourcePosition.stickiness=\"toNext\";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness=\"toNone\"}get type(){if(this.targetPosition.root.rootName==\"$graveyard\"){return\"remove\"}else if(this.sourcePosition.root.rootName==\"$graveyard\"){return\"reinsert\"}return\"move\"}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.baseVersion)}getMovedRangeStart(){return this.targetPosition._getTransformedByDeletion(this.sourcePosition,this.howMany)}getReversed(){const t=this.sourcePosition._getTransformedByInsertion(this.targetPosition,this.howMany);return new this.constructor(this.getMovedRangeStart(),this.howMany,t,this.baseVersion+1)}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;const n=this.sourcePosition.offset;const i=this.targetPosition.offset;if(n+this.howMany>t.maxOffset){throw new rr[\"b\"](\"move-operation-nodes-do-not-exist: The nodes which should be moved do not exist.\",this)}else if(t===e&&n<i&&i<n+this.howMany){throw new rr[\"b\"](\"move-operation-range-into-itself: Trying to move a range of nodes to the inside of that range.\",this)}else if(this.sourcePosition.root==this.targetPosition.root){if(Dr(this.sourcePosition.getParentPath(),this.targetPosition.getParentPath())==\"prefix\"){const t=this.sourcePosition.path.length-1;if(this.targetPosition.path[t]>=n&&this.targetPosition.path[t]<n+this.howMany){throw new rr[\"b\"](\"move-operation-node-into-itself: Trying to move a range of nodes into one of nodes from that range.\",this)}}}}_execute(){Yg(Qh._createFromPositionAndShift(this.sourcePosition,this.howMany),this.targetPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();t.targetPosition=this.targetPosition.toJSON();return t}static get className(){return\"MoveOperation\"}static fromJSON(t,e){const n=qh.fromJSON(t.sourcePosition,e);const i=qh.fromJSON(t.targetPosition,e);return new this(n,t.howMany,i,t.baseVersion)}}class om extends Hg{constructor(t,e,n){super(n);this.position=t.clone();this.position.stickiness=\"toNone\";this.nodes=new Bh(Qg(e));this.shouldReceiveAttributes=false}get type(){return\"insert\"}get howMany(){return this.nodes.maxOffset}clone(){const t=new Bh([...this.nodes].map(t=>t._clone(true)));const e=new om(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new qh(t,[0]);return new im(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffset<this.position.offset){throw new rr[\"b\"](\"insert-operation-position-invalid: Insertion position is invalid.\",this)}}_execute(){const t=this.nodes;this.nodes=new Bh([...t].map(t=>t._clone(true)));qg(this.position,t)}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();t.nodes=this.nodes.toJSON();return t}static get className(){return\"InsertOperation\"}static fromJSON(t,e){const n=[];for(const e of t.nodes){if(e.name){n.push(Fh.fromJSON(e))}else{n.push(Vh.fromJSON(e))}}const i=new om(qh.fromJSON(t.position,e),n,t.baseVersion);i.shouldReceiveAttributes=t.shouldReceiveAttributes;return i}}class sm extends Hg{constructor(t,e,n,i,o,s){super(s);this.name=t;this.oldRange=e?e.clone():null;this.newRange=n?n.clone():null;this.affectsData=o;this._markers=i}get type(){return\"marker\"}clone(){return new sm(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new sm(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const t=this.newRange?\"_set\":\"_remove\";this._markers[t](this.name,this.newRange,true,this.affectsData)}toJSON(){const t=super.toJSON();if(this.oldRange){t.oldRange=this.oldRange.toJSON()}if(this.newRange){t.newRange=this.newRange.toJSON()}delete t._markers;return t}static get className(){return\"MarkerOperation\"}static fromJSON(t,e){return new sm(t.name,t.oldRange?Qh.fromJSON(t.oldRange,e):null,t.newRange?Qh.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}class rm extends Hg{constructor(t,e,n,i){super(i);this.position=t;this.position.stickiness=\"toNext\";this.oldName=e;this.newName=n}get type(){return\"rename\"}clone(){return new rm(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new rm(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof Fh)){throw new rr[\"b\"](\"rename-operation-wrong-position: Given position is invalid or node after it is not an instance of Element.\",this)}else if(t.name!==this.oldName){throw new rr[\"b\"](\"rename-operation-wrong-name: Element to change has different name than operation's old name.\",this)}}_execute(){const t=this.position.nodeAfter;t.name=this.newName}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();return t}static get className(){return\"RenameOperation\"}static fromJSON(t,e){return new rm(qh.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class am extends Hg{constructor(t,e,n,i,o){super(o);this.root=t;this.key=e;this.oldValue=n;this.newValue=i}get type(){if(this.oldValue===null){return\"addRootAttribute\"}else if(this.newValue===null){return\"removeRootAttribute\"}else{return\"changeRootAttribute\"}}clone(){return new am(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new am(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is(\"documentFragment\")){throw new rr[\"b\"](\"rootattribute-operation-not-a-root: The element to change is not a root element.\",this,{root:this.root,key:this.key})}if(this.oldValue!==null&&this.root.getAttribute(this.key)!==this.oldValue){throw new rr[\"b\"](\"rootattribute-operation-wrong-old-value: Changed node has different attribute value than operation's \"+\"old attribute value.\",this,{root:this.root,key:this.key})}if(this.oldValue===null&&this.newValue!==null&&this.root.hasAttribute(this.key)){throw new rr[\"b\"](\"rootattribute-operation-attribute-exists: The attribute with given key already exists.\",this,{root:this.root,key:this.key})}}_execute(){if(this.newValue!==null){this.root._setAttribute(this.key,this.newValue)}else{this.root._removeAttribute(this.key)}}toJSON(){const t=super.toJSON();t.root=this.root.toJSON();return t}static get className(){return\"RootAttributeOperation\"}static fromJSON(t,e){if(!e.getRoot(t.root)){throw new rr[\"b\"](\"rootattribute-operation-fromjson-no-root: Cannot create RootAttributeOperation. Root with specified name does not exist.\",this,{rootName:t.root})}return new am(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class cm extends Hg{constructor(t,e,n,i,o){super(o);this.sourcePosition=t.clone();this.sourcePosition.stickiness=\"toPrevious\";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness=\"toNext\";this.graveyardPosition=i.clone()}get type(){return\"merge\"}get deletionPosition(){return new qh(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Qh(this.sourcePosition,t)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.targetPosition._getTransformedByMergeOperation(this);const e=this.sourcePosition.path.slice(0,-1);const n=new qh(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);const i=new lm(t,this.howMany,this.graveyardPosition,this.baseVersion+1);i.insertionPosition=n;return i}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;if(!t.parent){throw new rr[\"b\"](\"merge-operation-source-position-invalid: Merge source position is invalid.\",this)}else if(!e.parent){throw new rr[\"b\"](\"merge-operation-target-position-invalid: Merge target position is invalid.\",this)}else if(this.howMany!=t.maxOffset){throw new rr[\"b\"](\"merge-operation-how-many-invalid: Merge operation specifies wrong number of nodes to move.\",this)}}_execute(){const t=this.sourcePosition.parent;const e=Qh._createIn(t);Yg(e,this.targetPosition);Yg(Qh._createOn(t),this.graveyardPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=t.sourcePosition.toJSON();t.targetPosition=t.targetPosition.toJSON();t.graveyardPosition=t.graveyardPosition.toJSON();return t}static get className(){return\"MergeOperation\"}static fromJSON(t,e){const n=qh.fromJSON(t.sourcePosition,e);const i=qh.fromJSON(t.targetPosition,e);const o=qh.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,i,o,t.baseVersion)}}class lm extends Hg{constructor(t,e,n,i){super(i);this.splitPosition=t.clone();this.splitPosition.stickiness=\"toNext\";this.howMany=e;this.insertionPosition=lm.getInsertionPosition(t);this.insertionPosition.stickiness=\"toNone\";this.graveyardPosition=n?n.clone():null;if(this.graveyardPosition){this.graveyardPosition.stickiness=\"toNext\"}}get type(){return\"split\"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();t.push(0);return new qh(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Qh(this.splitPosition,t)}clone(){const t=new this.constructor(this.splitPosition,this.howMany,this.graveyardPosition,this.baseVersion);t.insertionPosition=this.insertionPosition;return t}getReversed(){const t=this.splitPosition.root.document.graveyard;const e=new qh(t,[0]);return new cm(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;const e=this.splitPosition.offset;if(!t||t.maxOffset<e){throw new rr[\"b\"](\"split-operation-position-invalid: Split position is invalid.\",this)}else if(!t.parent){throw new rr[\"b\"](\"split-operation-split-in-root: Cannot split root element.\",this)}else if(this.howMany!=t.maxOffset-this.splitPosition.offset){throw new rr[\"b\"](\"split-operation-how-many-invalid: Split operation specifies wrong number of nodes to move.\",this)}else if(this.graveyardPosition&&!this.graveyardPosition.nodeAfter){throw new rr[\"b\"](\"split-operation-graveyard-position-invalid: Graveyard position invalid.\",this)}}_execute(){const t=this.splitPosition.parent;if(this.graveyardPosition){Yg(Qh._createFromPositionAndShift(this.graveyardPosition,1),this.insertionPosition)}else{const e=t._clone();qg(this.insertionPosition,e)}const e=new Qh(qh._createAt(t,this.splitPosition.offset),qh._createAt(t,t.maxOffset));Yg(e,this.moveTargetPosition)}toJSON(){const t=super.toJSON();t.splitPosition=this.splitPosition.toJSON();t.insertionPosition=this.insertionPosition.toJSON();if(this.graveyardPosition){t.graveyardPosition=this.graveyardPosition.toJSON()}return t}static get className(){return\"SplitOperation\"}static getInsertionPosition(t){const e=t.path.slice(0,-1);e[e.length-1]++;return new qh(t.root,e)}static fromJSON(t,e){const n=qh.fromJSON(t.splitPosition,e);const i=qh.fromJSON(t.insertionPosition,e);const o=t.graveyardPosition?qh.fromJSON(t.graveyardPosition,e):null;const s=new this(n,t.howMany,o,t.baseVersion);s.insertionPosition=i;return s}}class dm extends Fh{constructor(t,e,n=\"main\"){super(e);this._document=t;this.rootName=n}get document(){return this._document}is(t,e){if(!e){return t===\"rootElement\"||t===\"model:rootElement\"||t===\"element\"||t===\"model:element\"||t===this.name||t===\"model:\"+this.name||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"rootElement\"||t===\"model:rootElement\"||t===\"element\"||t===\"model:element\")}toJSON(){return this.rootName}}class um{constructor(t,e){this.model=t;this.batch=e}createText(t,e){return new Vh(t,e)}createElement(t,e){return new Fh(t,e)}createDocumentFragment(){return new Ug}insert(t,e,n=0){this._assertWriterUsedCorrectly();if(t instanceof Vh&&t.data==\"\"){return}const i=qh._createAt(e,n);if(t.parent){if(pm(t.root,i.root)){this.move(Qh._createOn(t),i);return}else{if(t.root.document){throw new rr[\"b\"](\"model-writer-insert-forbidden-move: \"+\"Cannot move a node from a document to a different tree. \"+\"It is forbidden to move a node that was already in a document outside of it.\",this)}else{this.remove(t)}}}const o=i.root.document?i.root.document.version:null;const s=new om(i,t,o);if(t instanceof Vh){s.shouldReceiveAttributes=true}this.batch.addOperation(s);this.model.applyOperation(s);if(t instanceof Ug){for(const[e,n]of t.markers){const t=qh._createAt(n.root,0);const o=new Qh(n.start._getCombined(t,i),n.end._getCombined(t,i));const s={range:o,usingOperation:true,affectsData:true};if(this.model.markers.has(e)){this.updateMarker(e,s)}else{this.addMarker(e,s)}}}}insertText(t,e,n,i){if(e instanceof Ug||e instanceof Fh||e instanceof qh){this.insert(this.createText(t),e,n)}else{this.insert(this.createText(t,e),n,i)}}insertElement(t,e,n,i){if(e instanceof Ug||e instanceof Fh||e instanceof qh){this.insert(this.createElement(t),e,n)}else{this.insert(this.createElement(t,e),n,i)}}append(t,e){this.insert(t,e,\"end\")}appendText(t,e,n){if(e instanceof Ug||e instanceof Fh){this.insert(this.createText(t),e,\"end\")}else{this.insert(this.createText(t,e),n,\"end\")}}appendElement(t,e,n){if(e instanceof Ug||e instanceof Fh){this.insert(this.createElement(t),e,\"end\")}else{this.insert(this.createElement(t,e),n,\"end\")}}setAttribute(t,e,n){this._assertWriterUsedCorrectly();if(n instanceof Qh){const i=n.getMinimalFlatRanges();for(const n of i){hm(this,t,e,n)}}else{fm(this,t,e,n)}}setAttributes(t,e){for(const[n,i]of Ur(t)){this.setAttribute(n,i,e)}}removeAttribute(t,e){this._assertWriterUsedCorrectly();if(e instanceof Qh){const n=e.getMinimalFlatRanges();for(const e of n){hm(this,t,null,e)}}else{fm(this,t,null,e)}}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof Qh)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof Qh)){throw new rr[\"b\"](\"writer-move-invalid-range: Invalid range to move.\",this)}if(!t.isFlat){throw new rr[\"b\"](\"writer-move-range-not-flat: Range to move is not flat.\",this)}const i=qh._createAt(e,n);if(i.isEqual(t.start)){return}this._addOperationForAffectedMarkers(\"move\",t);if(!pm(t.root,i.root)){throw new rr[\"b\"](\"writer-move-different-document: Range is going to be moved between different documents.\",this)}const o=t.root.document?t.root.document.version:null;const s=new im(t.start,t.end.offset-t.start.offset,i,o);this.batch.addOperation(s);this.model.applyOperation(s)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof Qh?t:Qh._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers(\"move\",t);mm(t.start,t.end.offset-t.start.offset,this.batch,this.model)}}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore;const n=t.nodeAfter;this._addOperationForAffectedMarkers(\"merge\",t);if(!(e instanceof Fh)){throw new rr[\"b\"](\"writer-merge-no-element-before: Node before merge position must be an element.\",this)}if(!(n instanceof Fh)){throw new rr[\"b\"](\"writer-merge-no-element-after: Node after merge position must be an element.\",this)}if(!t.root.document){this._mergeDetached(t)}else{this._merge(t)}}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(t,e,n){return this.model.createSelection(t,e,n)}_mergeDetached(t){const e=t.nodeBefore;const n=t.nodeAfter;this.move(Qh._createIn(n),qh._createAt(e,\"end\"));this.remove(n)}_merge(t){const e=qh._createAt(t.nodeBefore,\"end\");const n=qh._createAt(t.nodeAfter,0);const i=t.root.document.graveyard;const o=new qh(i,[0]);const s=t.root.document.version;const r=new cm(n,t.nodeAfter.maxOffset,e,o,s);this.batch.addOperation(r);this.model.applyOperation(r)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Fh)){throw new rr[\"b\"](\"writer-rename-not-element-instance: Trying to rename an object which is not an instance of Element.\",this)}const n=t.root.document?t.root.document.version:null;const i=new rm(qh._createBefore(t),t.name,e,n);this.batch.addOperation(i);this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new rr[\"b\"](\"writer-split-element-no-parent: Element with no parent can not be split.\",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new rr[\"b\"](\"writer-split-invalid-limit-element: Limit element is not a position ancestor.\",this)}let i,o;do{const e=n.root.document?n.root.document.version:null;const s=n.maxOffset-t.offset;const r=new lm(t,s,null,e);this.batch.addOperation(r);this.model.applyOperation(r);if(!i&&!o){i=n;o=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new Qh(qh._createAt(i,\"end\"),qh._createAt(o,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new rr[\"b\"](\"writer-wrap-range-not-flat: Range to wrap is not flat.\",this)}const n=e instanceof Fh?e:new Fh(e);if(n.childCount>0){throw new rr[\"b\"](\"writer-wrap-element-not-empty: Element to wrap with is not empty.\",this)}if(n.parent!==null){throw new rr[\"b\"](\"writer-wrap-element-attached: Element to wrap with is already attached to tree model.\",this)}this.insert(n,t.start);const i=new Qh(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,qh._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new rr[\"b\"](\"writer-unwrap-element-no-parent: Trying to unwrap an element which has no parent.\",this)}this.move(Qh._createIn(t),this.createPositionAfter(t));this.remove(t)}addMarker(t,e){this._assertWriterUsedCorrectly();if(!e||typeof e.usingOperation!=\"boolean\"){throw new rr[\"b\"](\"writer-addMarker-no-usingOperation: The options.usingOperation parameter is required when adding a new marker.\",this)}const n=e.usingOperation;const i=e.range;const o=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new rr[\"b\"](\"writer-addMarker-marker-exists: Marker with provided name already exists.\",this)}if(!i){throw new rr[\"b\"](\"writer-addMarker-no-range: Range parameter is required when adding a new marker.\",this)}if(!n){return this.model.markers._set(t,i,n,o)}gm(this,t,null,i,o);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t==\"string\"?t:t.name;const i=this.model.markers.get(n);if(!i){throw new rr[\"b\"](\"writer-updateMarker-marker-not-exists: Marker with provided name does not exists.\",this)}if(!e){this.model.markers._refresh(i);return}const o=typeof e.usingOperation==\"boolean\";const s=typeof e.affectsData==\"boolean\";const r=s?e.affectsData:i.affectsData;if(!o&&!e.range&&!s){throw new rr[\"b\"](\"writer-updateMarker-wrong-options: One of the options is required - provide range, usingOperations or affectsData.\",this)}const a=i.getRange();const c=e.range?e.range:a;if(o&&e.usingOperation!==i.managedUsingOperations){if(e.usingOperation){gm(this,n,null,c,r)}else{gm(this,n,a,null,r);this.model.markers._set(n,c,undefined,r)}return}if(i.managedUsingOperations){gm(this,n,a,c,r)}else{this.model.markers._set(n,c,undefined,r)}}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t==\"string\"?t:t.name;if(!this.model.markers.has(e)){throw new rr[\"b\"](\"writer-removeMarker-no-marker: Trying to remove marker which does not exist.\",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const i=n.getRange();gm(this,e,i,null,n.affectsData)}setSelection(t,e,n){this._assertWriterUsedCorrectly();this.model.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly();this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._setSelectionAttribute(t,e)}else{for(const[e,n]of Ur(t)){this._setSelectionAttribute(e,n)}}}removeSelectionAttribute(t){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._removeSelectionAttribute(t)}else{for(const e of t){this._removeSelectionAttribute(e)}}}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=ff._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=ff._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new rr[\"b\"](\"writer-incorrect-use: Trying to use a writer outside the change() block.\",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const i=n.getRange();let o=false;if(t===\"move\"){o=e.containsPosition(i.start)||e.start.isEqual(i.start)||e.containsPosition(i.end)||e.end.isEqual(i.end)}else{const t=e.nodeBefore;const n=e.nodeAfter;const s=i.start.parent==t&&i.start.isAtEnd;const r=i.end.parent==n&&i.end.offset==0;const a=i.end.nodeAfter==n;const c=i.start.nodeAfter==n;o=s||r||a||c}if(o){this.updateMarker(n.name,{range:i})}}}}function hm(t,e,n,i){const o=t.model;const s=o.document;let r=i.start;let a;let c;let l;for(const t of i.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){d()}r=a}a=t.nextPosition;c=l}if(a instanceof qh&&a!=r&&c!=n){d()}function d(){const i=new Qh(r,a);const l=i.root.document?s.version:null;const d=new em(i,e,c,n,l);t.batch.addOperation(d);o.applyOperation(d)}}function fm(t,e,n,i){const o=t.model;const s=o.document;const r=i.getAttribute(e);let a,c;if(r!=n){const l=i.root===i;if(l){const t=i.document?s.version:null;c=new am(i,e,r,n,t)}else{a=new Qh(qh._createBefore(i),t.createPositionAfter(i));const o=a.root.document?s.version:null;c=new em(a,e,r,n,o)}t.batch.addOperation(c);o.applyOperation(c)}}function gm(t,e,n,i,o){const s=t.model;const r=s.document;const a=new sm(e,n,i,s.markers,o,r.version);t.batch.addOperation(a);s.applyOperation(a)}function mm(t,e,n,i){let o;if(t.root.document){const n=i.document;const s=new qh(n.graveyard,[0]);o=new im(t,e,s,n.version)}else{o=new nm(t,e)}n.addOperation(o);i.applyOperation(o)}function pm(t,e){if(t===e){return true}if(t instanceof dm&&e instanceof dm){return true}return false}class bm{constructor(t){this._markerCollection=t;this._changesInElement=new Map;this._elementSnapshots=new Map;this._changedMarkers=new Map;this._changeCount=0;this._cachedChanges=null;this._cachedChangesWithGraveyard=null}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0}refreshItem(t){if(this._isInInsertedElement(t.parent)){return}this._markRemove(t.parent,t.startOffset,t.offsetSize);this._markInsert(t.parent,t.startOffset,t.offsetSize);const e=Qh._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}this._cachedChanges=null}bufferOperation(t){switch(t.type){case\"insert\":{if(this._isInInsertedElement(t.position.parent)){return}this._markInsert(t.position.parent,t.position.offset,t.nodes.maxOffset);break}case\"addAttribute\":case\"removeAttribute\":case\"changeAttribute\":{for(const e of t.range.getItems({shallow:true})){if(this._isInInsertedElement(e.parent)){continue}this._markAttribute(e)}break}case\"remove\":case\"move\":case\"reinsert\":{if(t.sourcePosition.isEqual(t.targetPosition)||t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition)){return}const e=this._isInInsertedElement(t.sourcePosition.parent);const n=this._isInInsertedElement(t.targetPosition.parent);if(!e){this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany)}if(!n){this._markInsert(t.targetPosition.parent,t.getMovedRangeStart().offset,t.howMany)}break}case\"rename\":{if(this._isInInsertedElement(t.position.parent)){return}this._markRemove(t.position.parent,t.position.offset,1);this._markInsert(t.position.parent,t.position.offset,1);const e=Qh._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}break}case\"split\":{const e=t.splitPosition.parent;if(!this._isInInsertedElement(e)){this._markRemove(e,t.splitPosition.offset,t.howMany)}if(!this._isInInsertedElement(t.insertionPosition.parent)){this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1)}if(t.graveyardPosition){this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1)}break}case\"merge\":{const e=t.sourcePosition.parent;if(!this._isInInsertedElement(e.parent)){this._markRemove(e.parent,e.startOffset,1)}const n=t.graveyardPosition.parent;this._markInsert(n,t.graveyardPosition.offset,1);const i=t.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,t.targetPosition.offset,e.maxOffset)}break}}this._cachedChanges=null}bufferMarkerChange(t,e,n,i){const o=this._changedMarkers.get(t);if(!o){this._changedMarkers.set(t,{oldRange:e,newRange:n,affectsData:i})}else{o.newRange=n;o.affectsData=i;if(o.oldRange==null&&o.newRange==null){this._changedMarkers.delete(t)}}}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers){if(n.oldRange!=null){t.push({name:e,range:n.oldRange})}}return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers){if(n.newRange!=null){t.push({name:e,range:n.newRange})}}return t}getChangedMarkers(){return Array.from(this._changedMarkers).map(t=>({name:t[0],data:{oldRange:t[1].oldRange,newRange:t[1].newRange}}))}hasDataChanges(){for(const[,t]of this._changedMarkers){if(t.affectsData){return true}}return this._changesInElement.size>0}getChanges(t={includeChangesInGraveyard:false}){if(this._cachedChanges){if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}const e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort((t,e)=>{if(t.offset===e.offset){if(t.type!=e.type){return t.type==\"remove\"?-1:1}return 0}return t.offset<e.offset?-1:1});const i=this._elementSnapshots.get(t);const o=wm(t.getChildren());const s=_m(i.length,n);let r=0;let a=0;for(const n of s){if(n===\"i\"){e.push(this._getInsertDiff(t,r,o[r].name));r++}else if(n===\"r\"){e.push(this._getRemoveDiff(t,r,i[a].name));a++}else if(n===\"a\"){const n=o[r].attributes;const s=i[a].attributes;let c;if(o[r].name==\"$text\"){c=new Qh(qh._createAt(t,r),qh._createAt(t,r+1))}else{const e=t.offsetToIndex(r);c=new Qh(qh._createAt(t,r),qh._createAt(t.getChild(e),0))}e.push(...this._getAttributesDiff(c,s,n));r++;a++}else{r++;a++}}}e.sort((t,e)=>{if(t.position.root!=e.position.root){return t.position.root.rootName<e.position.root.rootName?-1:1}if(t.position.isEqual(e.position)){return t.changeCount-e.changeCount}return t.position.isBefore(e.position)?-1:1});for(let t=1;t<e.length;t++){const n=e[t-1];const i=e[t];const o=n.type==\"remove\"&&i.type==\"remove\"&&n.name==\"$text\"&&i.name==\"$text\"&&n.position.isEqual(i.position);const s=n.type==\"insert\"&&i.type==\"insert\"&&n.name==\"$text\"&&i.name==\"$text\"&&n.position.parent==i.position.parent&&n.position.offset+n.length==i.position.offset;const r=n.type==\"attribute\"&&i.type==\"attribute\"&&n.position.parent==i.position.parent&&n.range.isFlat&&i.range.isFlat&&n.position.offset+n.length==i.position.offset&&n.attributeKey==i.attributeKey&&n.attributeOldValue==i.attributeOldValue&&n.attributeNewValue==i.attributeNewValue;if(o||s||r){e[t-1].length++;if(r){e[t-1].range.end=e[t-1].range.end.getShiftedBy(1)}e.splice(t,1);t--}}for(const t of e){delete t.changeCount;if(t.type==\"attribute\"){delete t.position;delete t.length}}this._changeCount=0;this._cachedChangesWithGraveyard=e.slice();this._cachedChanges=e.slice().filter(km);if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard}else{return this._cachedChanges}}reset(){this._changesInElement.clear();this._elementSnapshots.clear();this._changedMarkers.clear();this._cachedChanges=null}_markInsert(t,e,n){const i={type:\"insert\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){const i={type:\"remove\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i);this._removeAllNestedChanges(t,e,n)}_markAttribute(t){const e={type:\"attribute\",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n);n.push(e);for(let t=0;t<n.length;t++){if(n[t].howMany<1){n.splice(t,1);t--}}}_getChangesForElement(t){let e;if(this._changesInElement.has(t)){e=this._changesInElement.get(t)}else{e=[];this._changesInElement.set(t,e)}return e}_makeSnapshot(t){if(!this._elementSnapshots.has(t)){this._elementSnapshots.set(t,wm(t.getChildren()))}}_handleChange(t,e){t.nodesToHandle=t.howMany;for(const n of e){const i=t.offset+t.howMany;const o=n.offset+n.howMany;if(t.type==\"insert\"){if(n.type==\"insert\"){if(t.offset<=n.offset){n.offset+=t.howMany}else if(t.offset<o){n.howMany+=t.nodesToHandle;t.nodesToHandle=0}}if(n.type==\"remove\"){if(t.offset<n.offset){n.offset+=t.howMany}}if(n.type==\"attribute\"){if(t.offset<=n.offset){n.offset+=t.howMany}else if(t.offset<o){const o=n.howMany;n.howMany=t.offset-n.offset;e.unshift({type:\"attribute\",offset:i,howMany:o-n.howMany,count:this._changeCount++})}}}if(t.type==\"remove\"){if(n.type==\"insert\"){if(i<=n.offset){n.offset-=t.howMany}else if(i<=o){if(t.offset<n.offset){const e=i-n.offset;n.offset=t.offset;n.howMany-=e;t.nodesToHandle-=e}else{n.howMany-=t.nodesToHandle;t.nodesToHandle=0}}else{if(t.offset<=n.offset){t.nodesToHandle-=n.howMany;n.howMany=0}else if(t.offset<o){const e=o-t.offset;n.howMany-=e;t.nodesToHandle-=e}}}if(n.type==\"remove\"){if(i<=n.offset){n.offset-=t.howMany}else if(t.offset<n.offset){t.nodesToHandle+=n.howMany;n.howMany=0}}if(n.type==\"attribute\"){if(i<=n.offset){n.offset-=t.howMany}else if(t.offset<n.offset){const e=i-n.offset;n.offset=t.offset;n.howMany-=e}else if(t.offset<o){if(i<=o){const i=n.howMany;n.howMany=t.offset-n.offset;const o=i-n.howMany-t.nodesToHandle;e.unshift({type:\"attribute\",offset:t.offset,howMany:o,count:this._changeCount++})}else{n.howMany-=o-t.offset}}}}if(t.type==\"attribute\"){if(n.type==\"insert\"){if(t.offset<n.offset&&i>n.offset){if(i>o){const t={type:\"attribute\",offset:o,howMany:i-o,count:this._changeCount++};this._handleChange(t,e);e.push(t)}t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}else if(t.offset>=n.offset&&t.offset<o){if(i>o){t.nodesToHandle=i-o;t.offset=o}else{t.nodesToHandle=0}}}if(n.type==\"remove\"){if(t.offset<n.offset&&i>n.offset){const o={type:\"attribute\",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(o,e);e.push(o);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type==\"attribute\"){if(t.offset>=n.offset&&i<=o){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&i>=o){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:\"insert\",position:qh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:\"remove\",position:qh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[o,s]of e){const e=n.has(o)?n.get(o):null;if(e!==s){i.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:o,attributeOldValue:s,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(o)}for(const[e,o]of n){i.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:o,changeCount:this._changeCount++})}return i}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const i=t.startOffset;if(n){for(const t of n){if(t.type==\"insert\"&&i>=t.offset&&i<t.offset+t.howMany){return true}}}return this._isInInsertedElement(e)}_removeAllNestedChanges(t,e,n){const i=new Qh(qh._createAt(t,e),qh._createAt(t,e+n));for(const t of i.getItems({shallow:true})){if(t.is(\"element\")){this._elementSnapshots.delete(t);this._changesInElement.delete(t);this._removeAllNestedChanges(t,0,t.maxOffset)}}}}function wm(t){const e=[];for(const n of t){if(n.is(\"text\")){for(let t=0;t<n.data.length;t++){e.push({name:\"$text\",attributes:new Map(n.getAttributes())})}}else{e.push({name:n.name,attributes:new Map(n.getAttributes())})}}return e}function _m(t,e){const n=[];let i=0;let o=0;for(const t of e){if(t.offset>i){for(let e=0;e<t.offset-i;e++){n.push(\"e\")}o+=t.offset-i}if(t.type==\"insert\"){for(let e=0;e<t.howMany;e++){n.push(\"i\")}i=t.offset+t.howMany}else if(t.type==\"remove\"){for(let e=0;e<t.howMany;e++){n.push(\"r\")}i=t.offset;o+=t.howMany}else{n.push(...\"a\".repeat(t.howMany).split(\"\"));i=t.offset+t.howMany;o+=t.howMany}}if(o<t){for(let e=0;e<t-o-i;e++){n.push(\"e\")}}return n}function km(t){const e=t.position&&t.position.root.rootName==\"$graveyard\";const n=t.range&&t.range.root.rootName==\"$graveyard\";return!e&&!n}class vm{constructor(){this._operations=[];this._undoPairs=new Map;this._undoneOperations=new Set}addOperation(t){if(this._operations.includes(t)){return}this._operations.push(t)}getOperations(t=0,e=Number.POSITIVE_INFINITY){if(t<0){return[]}return this._operations.slice(t,e)}getOperation(t){return this._operations[t]}setOperationAsUndone(t,e){this._undoPairs.set(e,t);this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}}function ym(t){return!!t&&t.length==1&&/[\\u0300-\\u036f\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\u20d0-\\u20ff\\ufe20-\\ufe2f]/.test(t)}function xm(t){return!!t&&t.length==1&&/[\\ud800-\\udbff]/.test(t)}function Am(t){return!!t&&t.length==1&&/[\\udc00-\\udfff]/.test(t)}function Tm(t,e){return xm(t.charAt(e-1))&&Am(t.charAt(e))}function Cm(t,e){return ym(t.charAt(e))}const Sm=\"$graveyard\";class Pm{constructor(t){this.model=t;this.version=0;this.history=new vm(this);this.selection=new ff(this);this.roots=new xr({idProperty:\"rootName\"});this.differ=new bm(t.markers);this._postFixers=new Set;this._hasSelectionChangedFromTheLastChangeBlock=false;this.createRoot(\"$root\",Sm);this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation&&n.baseVersion!==this.version){throw new rr[\"b\"](\"model-document-applyOperation-wrong-version: Only operations with matching versions can be applied.\",this,{operation:n})}},{priority:\"highest\"});this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation){this.differ.bufferOperation(n)}},{priority:\"high\"});this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation){this.version++;this.history.addOperation(n)}},{priority:\"low\"});this.listenTo(this.selection,\"change\",()=>{this._hasSelectionChangedFromTheLastChangeBlock=true});this.listenTo(t.markers,\"update\",(t,e,n,i)=>{this.differ.bufferMarkerChange(e.name,n,i,e.affectsData);if(n===null){e.on(\"change\",(t,n)=>{this.differ.bufferMarkerChange(e.name,n,e.getRange(),e.affectsData)})}})}get graveyard(){return this.getRoot(Sm)}createRoot(t=\"$root\",e=\"main\"){if(this.roots.get(e)){throw new rr[\"b\"](\"model-document-createRoot-name-exists: Root with specified name already exists.\",this,{name:e})}const n=new dm(this,t,e);this.roots.add(n);return n}destroy(){this.selection.destroy();this.stopListening()}getRoot(t=\"main\"){return this.roots.get(t)}getRootNames(){return Array.from(this.roots,t=>t.rootName).filter(t=>t!=Sm)}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Vr(this);t.selection=\"[engine.model.DocumentSelection]\";t.model=\"[engine.model.Model]\";return t}_handleChangeBlock(t){if(this._hasDocumentChangedFromTheLastChangeBlock()){this._callPostFixers(t);this.selection.refresh();if(this.differ.hasDataChanges()){this.fire(\"change:data\",t.batch)}else{this.fire(\"change\",t.batch)}this.selection.refresh();this.differ.reset()}this._hasSelectionChangedFromTheLastChangeBlock=false}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const t of this.roots){if(t!==this.graveyard){return t}}return this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot();const e=this.model;const n=e.schema;const i=e.createPositionFromPath(t,[0]);const o=n.getNearestSelectionRange(i);return o||e.createRange(i)}_validateSelectionRange(t){return Em(t.start)&&Em(t.end)}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){this.selection.refresh();e=n(t);if(e){break}}}while(e)}}yr(Pm,dr);function Em(t){const e=t.textNode;if(e){const n=e.data;const i=t.offset-e.startOffset;return!Tm(n,i)&&!Cm(n,i)}return true}class Mm{constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){return this._markers.has(t)}get(t){return this._markers.get(t)||null}_set(t,e,n=false,i=false){const o=t instanceof Im?t.name:t;const s=this._markers.get(o);if(s){const t=s.getRange();let r=false;if(!t.isEqual(e)){s._attachLiveRange(cf.fromRange(e));r=true}if(n!=s.managedUsingOperations){s._managedUsingOperations=n;r=true}if(typeof i===\"boolean\"&&i!=s.affectsData){s._affectsData=i;r=true}if(r){this.fire(\"update:\"+o,s,t,e)}return s}const r=cf.fromRange(e);const a=new Im(o,r,n,i);this._markers.set(o,a);this.fire(\"update:\"+o,a,null,e);return a}_remove(t){const e=t instanceof Im?t.name:t;const n=this._markers.get(e);if(n){this._markers.delete(e);this.fire(\"update:\"+e,n,n.getRange(),null);this._destroyMarker(n);return true}return false}_refresh(t){const e=t instanceof Im?t.name:t;const n=this._markers.get(e);if(!n){throw new rr[\"b\"](\"markercollection-refresh-marker-not-exists: Marker with provided name does not exists.\",this)}const i=n.getRange();this.fire(\"update:\"+e,n,i,i,n.managedUsingOperations,n.affectsData)}*getMarkersAtPosition(t){for(const e of this){if(e.getRange().containsPosition(t)){yield e}}}*getMarkersIntersectingRange(t){for(const e of this){if(e.getRange().getIntersection(t)!==null){yield e}}}destroy(){for(const t of this._markers.values()){this._destroyMarker(t)}this._markers=null;this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values()){if(e.name.startsWith(t+\":\")){yield e}}}_destroyMarker(t){t.stopListening();t._detachLiveRange()}}yr(Mm,dr);class Im{constructor(t,e,n,i){this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=i}get managedUsingOperations(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._affectsData}getStart(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.toRange()}is(t){return t===\"marker\"||t===\"model:marker\"}_attachLiveRange(t){if(this._liveRange){this._detachLiveRange()}t.delegate(\"change:range\").to(this);t.delegate(\"change:content\").to(this);this._liveRange=t;return t}_detachLiveRange(){this._liveRange.stopDelegating(\"change:range\",this);this._liveRange.stopDelegating(\"change:content\",this);this._liveRange.detach();this._liveRange=null}}yr(Im,dr);class Nm extends Hg{get type(){return\"noop\"}clone(){return new Nm(this.baseVersion)}getReversed(){return new Nm(this.baseVersion+1)}_execute(){}static get className(){return\"NoOperation\"}}const Om={};Om[em.className]=em;Om[om.className]=om;Om[sm.className]=sm;Om[im.className]=im;Om[Nm.className]=Nm;Om[Hg.className]=Hg;Om[rm.className]=rm;Om[am.className]=am;Om[lm.className]=lm;Om[cm.className]=cm;class Rm{static fromJSON(t,e){return Om[t.__className].fromJSON(t,e)}}class Dm extends qh{constructor(t,e,n=\"toNone\"){super(t,e,n);if(!this.root.is(\"rootElement\")){throw new rr[\"b\"](\"model-liveposition-root-not-rootelement: LivePosition's root has to be an instance of RootElement.\",t)}Lm.call(this)}detach(){this.stopListening()}is(t){return t===\"livePosition\"||t===\"model:livePosition\"||t==\"position\"||t===\"model:position\"}toPosition(){return new qh(this.root,this.path.slice(),this.stickiness)}static fromPosition(t,e){return new this(t.root,t.path.slice(),e?e:t.stickiness)}}function Lm(){this.listenTo(this.root.document.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}zm.call(this,n)},{priority:\"low\"})}function zm(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path;this.root=e.root;this.fire(\"change\",t)}}yr(Dm,dr);function Vm(t,e,n,i){return t.change(o=>{let s;if(!n){s=t.document.selection}else if(n instanceof ef||n instanceof ff){s=n}else{s=o.createSelection(n,i)}if(!s.isCollapsed){t.deleteContent(s,{doNotAutoparagraph:true})}const r=new jm(t,o,s.anchor);let a;if(e.is(\"documentFragment\")){a=e.getChildren()}else{a=[e]}r.handleNodes(a,{isFirst:true,isLast:true});const c=r.getSelectionRange();if(c){if(s instanceof ff){o.setSelection(c)}else{s.setTo(c)}}else{}const l=r.getAffectedRange()||t.createRange(s.anchor);r.destroy();return l})}class jm{constructor(t,e,n){this.model=t;this.writer=e;this.position=n;this.canMergeWith=new Set([this.position.parent]);this.schema=t.schema;this._filterAttributesOf=[];this._affectedStart=null;this._affectedEnd=null}handleNodes(t,e){t=Array.from(t);for(let n=0;n<t.length;n++){const i=t[n];this._handleNode(i,{isFirst:n===0&&e.isFirst,isLast:n===t.length-1&&e.isLast})}this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer);this._filterAttributesOf=[]}getSelectionRange(){if(this.nodeToSelect){return Qh._createOn(this.nodeToSelect)}return this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){if(!this._affectedStart){return null}return new Qh(this._affectedStart,this._affectedEnd)}destroy(){if(this._affectedStart){this._affectedStart.detach()}if(this._affectedEnd){this._affectedEnd.detach()}}_handleNode(t,e){if(this.schema.isObject(t)){this._handleObject(t,e);return}const n=this._checkAndSplitToAllowedPosition(t,e);if(!n){this._handleDisallowedNode(t,e);return}this._insert(t);this._mergeSiblingsOf(t,e)}_handleObject(t,e){if(this._checkAndSplitToAllowedPosition(t)){this._insert(t)}else{this._tryAutoparagraphing(t,e)}}_handleDisallowedNode(t,e){if(t.is(\"element\")){this.handleNodes(t.getChildren(),e)}else{this._tryAutoparagraphing(t,e)}}_insert(t){if(!this.schema.checkChild(this.position,t)){throw new rr[\"b\"](\"insertcontent-wrong-position: Given node cannot be inserted on the given position.\",this,{node:t,position:this.position})}const e=Dm.fromPosition(this.position,\"toNext\");this._setAffectedBoundaries(this.position);this.writer.insert(t,this.position);this.position=e.toPosition();e.detach();if(this.schema.isObject(t)&&!this.schema.checkChild(this.position,\"$text\")){this.nodeToSelect=t}else{this.nodeToSelect=null}this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){if(!this._affectedStart){this._affectedStart=Dm.fromPosition(t,\"toPrevious\")}if(!this._affectedEnd||this._affectedEnd.isBefore(t)){if(this._affectedEnd){this._affectedEnd.detach()}this._affectedEnd=Dm.fromPosition(t,\"toNext\")}}_mergeSiblingsOf(t,e){if(!(t instanceof Fh)){return}const n=this._canMergeLeft(t,e);const i=this._canMergeRight(t,e);const o=Dm._createBefore(t);o.stickiness=\"toNext\";const s=Dm._createAfter(t);s.stickiness=\"toNext\";if(n){const t=Dm.fromPosition(this.position);t.stickiness=\"toNext\";if(this._affectedStart.isEqual(o)){this._affectedStart.detach();this._affectedStart=Dm._createAt(o.nodeBefore,\"end\",\"toPrevious\")}this.writer.merge(o);if(o.isEqual(this._affectedEnd)&&e.isLast){this._affectedEnd.detach();this._affectedEnd=Dm._createAt(o.nodeBefore,\"end\",\"toNext\")}this.position=t.toPosition();t.detach()}if(i){if(!this.position.isEqual(s)){throw new rr[\"b\"](\"insertcontent-invalid-insertion-position\",this)}this.position=qh._createAt(s.nodeBefore,\"end\");const t=Dm.fromPosition(this.position,\"toPrevious\");if(this._affectedEnd.isEqual(s)){this._affectedEnd.detach();this._affectedEnd=Dm._createAt(s.nodeBefore,\"end\",\"toNext\")}this.writer.merge(s);if(s.getShiftedBy(-1).isEqual(this._affectedStart)&&e.isFirst){this._affectedStart.detach();this._affectedStart=Dm._createAt(s.nodeBefore,0,\"toPrevious\")}this.position=t.toPosition();t.detach()}if(n||i){this._filterAttributesOf.push(this.position.parent)}o.detach();s.detach()}_canMergeLeft(t,e){const n=t.previousSibling;return e.isFirst&&n instanceof Fh&&this.canMergeWith.has(n)&&this.model.schema.checkMerge(n,t)}_canMergeRight(t,e){const n=t.nextSibling;return e.isLast&&n instanceof Fh&&this.canMergeWith.has(n)&&this.model.schema.checkMerge(t,n)}_tryAutoparagraphing(t,e){const n=this.writer.createElement(\"paragraph\");if(this._getAllowedIn(n,this.position.parent)&&this.schema.checkChild(n,t)){n._appendChild(t);this._handleNode(n,e)}}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(t,this.position.parent);if(!e){return false}while(e!=this.position.parent){if(this.schema.isLimit(this.position.parent)){return false}if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t);if(t.isEmpty&&t.parent===e){this.writer.remove(t)}}else if(this.position.isAtEnd){this.position=this.writer.createPositionAfter(this.position.parent)}else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position);this.writer.split(this.position);this.position=t;this.canMergeWith.add(this.position.nodeAfter)}}return true}_getAllowedIn(t,e){if(this.schema.checkChild(e,t)){return e}if(e.parent){return this._getAllowedIn(t,e.parent)}return null}}function Bm(t,e,n={}){if(e.isCollapsed){return}const i=e.getFirstRange();if(i.root.rootName==\"$graveyard\"){return}const o=t.schema;t.change(t=>{if(!n.doNotResetEntireContent&&$m(o,e)){qm(t,e,o);return}const s=i.start;const r=Dm.fromPosition(i.end,\"toNext\");if(!i.start.isTouching(i.end)){t.remove(i)}if(!n.leaveUnmerged){Fm(t,s,r);o.removeDisallowedAttributes(s.parent.getChildren(),t)}Ym(t,e,s);if(!n.doNotAutoparagraph&&Hm(o,s)){Wm(t,s,e)}r.detach()})}function Fm(t,e,n){const i=e.parent;const o=n.parent;if(i==o){return}if(t.model.schema.isLimit(i)||t.model.schema.isLimit(o)){return}if(!Um(e,n,t.model.schema)){return}e=t.createPositionAfter(i);n=t.createPositionBefore(o);if(!n.isEqual(e)){t.insert(o,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}Fm(t,e,n)}function Hm(t,e){const n=t.checkChild(e,\"$text\");const i=t.checkChild(e,\"paragraph\");return!n&&i}function Um(t,e,n){const i=new Qh(t,e);for(const t of i.getWalker()){if(n.isLimit(t.item)){return false}}return true}function Wm(t,e,n){const i=t.createElement(\"paragraph\");t.insert(i,e);Ym(t,n,t.createPositionAt(i,0))}function qm(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));Wm(t,t.createPositionAt(n,0),e)}function $m(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const i=e.getFirstRange();if(i.start.parent==i.end.parent){return false}return t.checkChild(n,\"paragraph\")}function Ym(t,e,n){if(e instanceof ff){t.setSelection(n)}else{e.setTo(n)}}const Gm=' ,.?!:;\"-()';function Qm(t,e,n={}){const i=t.schema;const o=n.direction!=\"backward\";const s=n.unit?n.unit:\"character\";const r=e.focus;const a=new Uh({boundaries:Xm(r,o),singleCharacters:true,direction:o?\"forward\":\"backward\"});const c={walker:a,schema:i,isForward:o,unit:s};let l;while(l=a.next()){if(l.done){return}const n=Km(c,l.value);if(n){if(e instanceof ff){t.change(t=>{t.setSelectionFocus(n)})}else{e.setFocus(n)}return}}}function Km(t,e){if(e.type==\"text\"){if(t.unit===\"word\"){return Zm(t.walker,t.isForward)}return Jm(t.walker,t.unit,t.isForward)}if(e.type==(t.isForward?\"elementStart\":\"elementEnd\")){if(t.schema.isObject(e.item)){return qh._createAt(e.item,t.isForward?\"after\":\"before\")}if(t.schema.checkChild(e.nextPosition,\"$text\")){return e.nextPosition}}else{if(t.schema.isLimit(e.item)){t.walker.skip(()=>true);return}if(t.schema.checkChild(e.nextPosition,\"$text\")){return e.nextPosition}}}function Jm(t,e){const n=t.position.textNode;if(n){const i=n.data;let o=t.position.offset-n.startOffset;while(Tm(i,o)||e==\"character\"&&Cm(i,o)){t.next();o=t.position.offset-n.startOffset}}return t.position}function Zm(t,e){let n=t.position.textNode;if(n){let i=t.position.offset-n.startOffset;while(!tp(n.data,i,e)&&!ep(n,i,e)){t.next();const o=e?t.position.nodeAfter:t.position.nodeBefore;if(o&&o.is(\"text\")){const i=o.data.charAt(e?0:o.data.length-1);if(!Gm.includes(i)){t.next();n=t.position.textNode}}i=t.position.offset-n.startOffset}}return t.position}function Xm(t,e){const n=t.root;const i=qh._createAt(n,e?\"end\":0);if(e){return new Qh(t,i)}else{return new Qh(i,t)}}function tp(t,e,n){const i=e+(n?0:-1);return Gm.includes(t.charAt(i))}function ep(t,e,n){return e===(n?t.endOffset:0)}function np(t,e){return t.change(t=>{const n=t.createDocumentFragment();const i=e.getFirstRange();if(!i||i.isCollapsed){return n}const o=i.start.root;const s=i.start.getCommonPath(i.end);const r=o.getNodeByPath(s);let a;if(i.start.parent==i.end.parent){a=i}else{a=t.createRange(t.createPositionAt(r,i.start.path[s.length]),t.createPositionAt(r,i.end.path[s.length]+1))}const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:true})){if(e.is(\"textProxy\")){t.appendText(e.data,e.getAttributes(),n)}else{t.append(e._clone(true),n)}}if(a!=i){const e=i._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const o=t.createRange(t.createPositionAt(n,0),e.start);const s=t.createRange(e.end,t.createPositionAt(n,\"end\"));ip(s,t);ip(o,t)}return n})}function ip(t,e){const n=[];Array.from(t.getItems({direction:\"backward\"})).map(t=>e.createRangeOn(t)).filter(e=>{const n=(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end));return n}).forEach(t=>{n.push(t.start.parent);e.remove(t)});n.forEach(t=>{let n=t;while(n.parent&&n.isEmpty){const t=e.createRangeOn(n);n=n.parent;e.remove(t)}})}function op(t){t.document.registerPostFixer(e=>sp(e,t))}function sp(t,e){const n=e.document.selection;const i=e.schema;const o=[];let s=false;for(const t of n.getRanges()){const e=rp(t,i);if(e){o.push(e);s=true}else{o.push(t)}}if(s){t.setSelection(up(o),{backward:n.isBackward})}}function rp(t,e){if(t.isCollapsed){return ap(t,e)}return cp(t,e)}function ap(t,e){const n=t.start;const i=e.getNearestSelectionRange(n);if(!i){return null}if(!i.isCollapsed){return i}const o=i.start;if(n.isEqual(o)){return null}return new Qh(o)}function cp(t,e){const n=t.start;const i=t.end;const o=e.checkChild(n,\"$text\");const s=e.checkChild(i,\"$text\");const r=e.getLimitElement(n);const a=e.getLimitElement(i);if(r===a){if(o&&s){return null}if(dp(n,i,e)){const t=n.nodeAfter&&e.isObject(n.nodeAfter);const o=t?null:e.getNearestSelectionRange(n,\"forward\");const s=i.nodeBefore&&e.isObject(i.nodeBefore);const r=s?null:e.getNearestSelectionRange(i,\"backward\");const a=o?o.start:n;const c=r?r.start:i;return new Qh(a,c)}}const c=r&&!r.is(\"rootElement\");const l=a&&!a.is(\"rootElement\");if(c||l){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent;const o=c&&(!t||!hp(n.nodeAfter,e));const s=l&&(!t||!hp(i.nodeBefore,e));let d=n;let u=i;if(o){d=qh._createBefore(lp(r,e))}if(s){u=qh._createAfter(lp(a,e))}return new Qh(d,u)}return null}function lp(t,e){let n=t;let i=n;while(e.isLimit(i)&&i.parent){n=i;i=i.parent}return n}function dp(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,\"$text\");const o=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,\"$text\");return i||o}function up(t){const e=[];e.push(t.shift());for(const n of t){const t=e.pop();if(n.isIntersecting(t)){const i=t.start.isAfter(n.start)?n.start:t.start;const o=t.end.isAfter(n.end)?t.end:n.end;const s=new Qh(i,o);e.push(s)}else{e.push(t);e.push(n)}}return e}function hp(t,e){return t&&e.isObject(t)}class fp{constructor(){this.markers=new Mm;this.document=new Pm(this);this.schema=new mg;this._pendingChanges=[];this._currentWriter=null;[\"insertContent\",\"deleteContent\",\"modifySelection\",\"getSelectedContent\",\"applyOperation\"].forEach(t=>this.decorate(t));this.on(\"applyOperation\",(t,e)=>{const n=e[0];n._validate()},{priority:\"highest\"});this.schema.register(\"$root\",{isLimit:true});this.schema.register(\"$block\",{allowIn:\"$root\",isBlock:true});this.schema.register(\"$text\",{allowIn:\"$block\",isInline:true});this.schema.register(\"$clipboardHolder\",{allowContentOf:\"$root\",isLimit:true});this.schema.extend(\"$text\",{allowIn:\"$clipboardHolder\"});this.schema.register(\"$marker\");this.schema.addChildCheck((t,e)=>{if(e.name===\"$marker\"){return true}});op(this)}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new Fg,callback:t});return this._runPendingChanges()[0]}else{return t(this._currentWriter)}}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{if(typeof t===\"string\"){t=new Fg(t)}else if(typeof t==\"function\"){e=t;t=new Fg}this._pendingChanges.push({batch:t,callback:e});if(this._pendingChanges.length==1){this._runPendingChanges()}}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n){return Vm(this,t,e,n)}deleteContent(t,e){Bm(this,t,e)}modifySelection(t,e){Qm(this,t,e)}getSelectedContent(t){return np(this,t)}hasContent(t,e){const n=t instanceof Fh?Qh._createIn(t):t;if(n.isCollapsed){return false}for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}const{ignoreWhitespaces:i=false}=e||{};for(const t of n.getItems()){if(t.is(\"textProxy\")){if(!i){return true}else if(t.data.search(/\\S/)!==-1){return true}}else if(this.schema.isObject(t)){return true}}return false}createPositionFromPath(t,e,n){return new qh(t,e,n)}createPositionAt(t,e){return qh._createAt(t,e)}createPositionAfter(t){return qh._createAfter(t)}createPositionBefore(t){return qh._createBefore(t)}createRange(t,e){return new Qh(t,e)}createRangeIn(t){return Qh._createIn(t)}createRangeOn(t){return Qh._createOn(t)}createSelection(t,e,n){return new ef(t,e,n)}createBatch(t){return new Fg(t)}createOperationFromJSON(t){return Rm.fromJSON(t,this.document)}destroy(){this.document.destroy();this.stopListening()}_runPendingChanges(){const t=[];this.fire(\"_beforeChanges\");while(this._pendingChanges.length){const e=this._pendingChanges[0].batch;this._currentWriter=new um(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n);this.document._handleChangeBlock(this._currentWriter);this._pendingChanges.shift();this._currentWriter=null}this.fire(\"_afterChanges\");return t}}yr(fp,Kc);class gp{constructor(){this._listener=Object.create(Wd)}listenTo(t){this._listener.listenTo(t,\"keydown\",(t,e)=>{this._listener.fire(\"_keydown:\"+Dl(e),e)})}set(t,e,n={}){const i=Ll(t);const o=n.priority;this._listener.listenTo(this._listener,\"_keydown:\"+i,(t,n)=>{e(n,()=>{n.preventDefault();n.stopPropagation();t.stop()});t.return=true},{priority:o})}press(t){return!!this._listener.fire(\"_keydown:\"+Dl(t),t)}destroy(){this._listener.stopListening()}}class mp extends gp{constructor(t){super();this.editor=t}set(t,e,n={}){if(typeof e==\"string\"){const t=e;e=(e,n)=>{this.editor.execute(t);n()}}super.set(t,e,n)}}class pp{constructor(t={}){this._context=t.context||new Rr({language:t.language});this._context._addEditor(this,!t.context);const e=Array.from(this.constructor.builtinPlugins||[]);this.config=new Qs(t,this.constructor.defaultConfig);this.config.define(\"plugins\",e);this.config.define(this._context._getEditorConfig());this.plugins=new Ar(this,e,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this.commands=new hg;this.set(\"state\",\"initializing\");this.once(\"ready\",()=>this.state=\"ready\",{priority:\"high\"});this.once(\"destroy\",()=>this.state=\"destroyed\",{priority:\"high\"});this.set(\"isReadOnly\",false);this.model=new fp;const n=new Rc;this.data=new Lg(this.model,n);this.editing=new ug(this.model,n);this.editing.view.document.bind(\"isReadOnly\").to(this);this.conversion=new Vg([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher);this.conversion.addAlias(\"dataDowncast\",this.data.downcastDispatcher);this.conversion.addAlias(\"editingDowncast\",this.editing.downcastDispatcher);this.keystrokes=new mp(this);this.keystrokes.listenTo(this.editing.view.document)}initPlugins(){const t=this.config;const e=t.get(\"plugins\");const n=t.get(\"removePlugins\")||[];const i=t.get(\"extraPlugins\")||[];return this.plugins.init(e.concat(i),n)}destroy(){let t=Promise.resolve();if(this.state==\"initializing\"){t=new Promise(t=>this.once(\"ready\",t))}return t.then(()=>{this.fire(\"destroy\");this.stopListening();this.commands.destroy()}).then(()=>this.plugins.destroy()).then(()=>{this.model.destroy();this.data.destroy();this.editing.destroy();this.keystrokes.destroy()}).then(()=>this._context._removeEditor(this))}execute(...t){try{this.commands.execute(...t)}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}}yr(pp,Kc);const bp={setData(t){this.data.set(t)},getData(t){return this.data.get(t)}};var wp=bp;function _p(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}const kp={updateSourceElement(){if(!this.sourceElement){throw new rr[\"b\"](\"editor-missing-sourceelement: Cannot update the source element of a detached editor.\",this)}_p(this.sourceElement,this.data.get())}};var vp=kp;function yp(t){if(!gt(t.updateSourceElement)){throw new rr[\"b\"](\"attachtoform-missing-elementapi-interface: Editor passed to attachToForm() must implement ElementApi.\",t)}const e=t.sourceElement;if(e&&e.tagName.toLowerCase()===\"textarea\"&&e.form){let n;const i=e.form;const o=()=>t.updateSourceElement();if(gt(i.submit)){n=i.submit;i.submit=()=>{o();n.apply(i)}}i.addEventListener(\"submit\",o);t.on(\"destroy\",()=>{i.removeEventListener(\"submit\",o);if(n){i.submit=n}})}}class xp{getHtml(t){const e=document.implementation.createHTMLDocument(\"\");const n=e.createElement(\"div\");n.appendChild(t);return n.innerHTML}}class Ap{constructor(t){this._domParser=new DOMParser;this._domConverter=new zd(t,{blockFillerMode:\"nbsp\"});this._htmlWriter=new xp}toData(t){const e=this._domConverter.viewToDom(t,document);return this._htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this._domConverter.domToView(e)}_toDom(t){const e=this._domParser.parseFromString(t,\"text/html\");const n=e.createDocumentFragment();const i=e.body.childNodes;while(i.length>0){n.appendChild(i[0])}return n}}class Tp{constructor(t){this.editor=t;this._components=new Map}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){if(this.has(t)){throw new rr[\"b\"](\"componentfactory-item-exists: The item already exists in the component factory.\",this,{name:t})}this._components.set(Cp(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new rr[\"b\"](\"componentfactory-item-missing: The required component is not registered in the factory.\",this,{name:t})}return this._components.get(Cp(t)).callback(this.editor.locale)}has(t){return this._components.has(Cp(t))}}function Cp(t){return String(t).toLowerCase()}class Sp{constructor(){this.set(\"isFocused\",false);this.set(\"focusedElement\",null);this._elements=new Set;this._nextEventLoopTimeout=null}add(t){if(this._elements.has(t)){throw new rr[\"b\"](\"focusTracker-add-element-already-exist\",this)}this.listenTo(t,\"focus\",()=>this._focus(t),{useCapture:true});this.listenTo(t,\"blur\",()=>this._blur(),{useCapture:true});this._elements.add(t)}remove(t){if(t===this.focusedElement){this._blur(t)}if(this._elements.has(t)){this.stopListening(t);this._elements.delete(t)}}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout);this.focusedElement=t;this.isFocused=true}_blur(){clearTimeout(this._nextEventLoopTimeout);this._nextEventLoopTimeout=setTimeout(()=>{this.focusedElement=null;this.isFocused=false},0)}}yr(Sp,Wd);yr(Sp,Kc);class Pp{constructor(t){this.editor=t;this.componentFactory=new Tp(t);this.focusTracker=new Sp;this._editableElementsMap=new Map;this.listenTo(t.editing.view.document,\"layoutChanged\",()=>this.update())}get element(){return null}update(){this.fire(\"update\")}destroy(){this.stopListening();this.focusTracker.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null}this._editableElementsMap=new Map}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}}getEditableElement(t=\"main\"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){console.warn(\"editor-ui-deprecated-editable-elements: \"+\"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\",{editorUI:this});return this._editableElementsMap}}yr(Pp,dr);function Ep({origin:t,originKeystrokeHandler:e,originFocusTracker:n,toolbar:i,beforeFocus:o,afterBlur:s}){n.add(i.element);e.set(\"Alt+F10\",(t,e)=>{if(n.isFocused&&!i.focusTracker.isFocused){if(o){o()}i.focus();e()}});i.keystrokes.set(\"Esc\",(e,n)=>{if(i.focusTracker.isFocused){t.focus();if(s){s()}n()}})}function Mp(t){if(Array.isArray(t)){return{items:t}}if(!t){return{items:[]}}return Object.assign({items:[]},t)}var Ip=n(14);const Np=new WeakMap;function Op(t){const{view:e,element:n,text:i,isDirectHost:o=true}=t;const s=e.document;if(!Np.has(s)){Np.set(s,new Map);s.registerPostFixer(t=>Vp(s,t))}Np.get(s).set(n,{text:i,isDirectHost:o});e.change(t=>Vp(s,t))}function Rp(t,e){const n=e.document;t.change(t=>{if(!Np.has(n)){return}const i=Np.get(n);const o=i.get(e);t.removeAttribute(\"data-placeholder\",o.hostElement);Lp(t,o.hostElement);i.delete(e)})}function Dp(t,e){if(!e.hasClass(\"ck-placeholder\")){t.addClass(\"ck-placeholder\",e);return true}return false}function Lp(t,e){if(e.hasClass(\"ck-placeholder\")){t.removeClass(\"ck-placeholder\",e);return true}return false}function zp(t){if(!t.isAttached()){return false}const e=!Array.from(t.getChildren()).some(t=>!t.is(\"uiElement\"));const n=t.document;if(!n.isFocused&&e){return true}const i=n.selection;const o=i.anchor;if(e&&o&&o.parent!==t){return true}return false}function Vp(t,e){const n=Np.get(t);let i=false;for(const[t,o]of n){if(jp(e,t,o)){i=true}}return i}function jp(t,e,n){const{text:i,isDirectHost:o}=n;const s=o?e:Bp(e);let r=false;if(!s){return false}n.hostElement=s;if(s.getAttribute(\"data-placeholder\")!==i){t.setAttribute(\"data-placeholder\",i,s);r=true}if(zp(s)){if(Dp(t,s)){r=true}}else if(Lp(t,s)){r=true}return r}function Bp(t){if(t.childCount===1){const e=t.getChild(0);if(e.is(\"element\")&&!e.is(\"uiElement\")){return e}}return null}class Fp{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e});t.style.display=\"none\";if(e){t.parentNode.insertBefore(e,t.nextSibling)}}restore(){this._replacedElements.forEach(({element:t,newElement:e})=>{t.style.display=\"\";if(e){e.remove()}});this._replacedElements=[]}}class Hp extends Pp{constructor(t,e){super(t);this.view=e;this._toolbarConfig=Mp(t.config.get(\"toolbar\"));this._elementReplacer=new Fp}get element(){return this.view.element}init(t){const e=this.editor;const n=this.view;const i=e.editing.view;const o=n.editable;const s=i.document.getRoot();o.name=s.rootName;n.render();const r=o.element;this.setEditableElement(o.name,r);this.focusTracker.add(r);n.editable.bind(\"isFocused\").to(this.focusTracker);i.attachDomRoot(r);if(t){this._elementReplacer.replace(t,this.element)}this._initPlaceholder();this._initToolbar();this.fire(\"ready\")}destroy(){const t=this.view;const e=this.editor.editing.view;this._elementReplacer.restore();e.detachDomRoot(t.editable.name);t.destroy();super.destroy()}_initToolbar(){const t=this.editor;const e=this.view;const n=t.editing.view;e.stickyPanel.bind(\"isActive\").to(this.focusTracker,\"isFocused\");e.stickyPanel.limiterElement=e.element;if(this._toolbarConfig.viewportTopOffset){e.stickyPanel.viewportTopOffset=this._toolbarConfig.viewportTopOffset}e.toolbar.fillFromConfig(this._toolbarConfig.items,this.componentFactory);Ep({origin:n,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:e.toolbar})}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const i=t.sourceElement;const o=t.config.get(\"placeholder\")||i&&i.tagName.toLowerCase()===\"textarea\"&&i.getAttribute(\"placeholder\");if(o){Op({view:e,element:n,text:o,isDirectHost:false})}}}class Up extends xr{constructor(t=[]){super(t,{idProperty:\"viewUid\"});this.on(\"add\",(t,e,n)=>{this._renderViewIntoCollectionParent(e,n)});this.on(\"remove\",(t,e)=>{if(e.element&&this._parentElement){e.element.remove()}});this._parentElement=null}destroy(){this.map(t=>t.destroy())}setParent(t){this._parentElement=t;for(const t of this){this._renderViewIntoCollectionParent(t)}}delegate(...t){if(!t.length||!Wp(t)){throw new rr[\"b\"](\"ui-viewcollection-delegate-wrong-events: All event names must be strings.\",this)}return{to:e=>{for(const n of this){for(const i of t){n.delegate(i).to(e)}}this.on(\"add\",(n,i)=>{for(const n of t){i.delegate(n).to(e)}});this.on(\"remove\",(n,i)=>{for(const n of t){i.stopDelegating(n,e)}})}}}_renderViewIntoCollectionParent(t,e){if(!t.isRendered){t.render()}if(t.element&&this._parentElement){this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}}function Wp(t){return t.every(t=>typeof t==\"string\")}const qp=\"http://www.w3.org/1999/xhtml\";class $p{constructor(t){Object.assign(this,ib(nb(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=pb();this._renderNode({node:t,isApplying:true,revertData:this._revertData});return t}revert(t){if(!this._revertData){throw new rr[\"b\"](\"ui-template-revert-not-applied: Attempting to revert a template which has not been applied yet.\",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if(fb(n)){yield n}else if(gb(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,i){return new Gp({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i})},if(n,i,o){return new Qp({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:o})}}}static extend(t,e){if(t._isRendered){throw new rr[\"b\"](\"template-extend-render: Attempting to extend a template which has already been rendered.\",[this,t])}ub(t,ib(nb(e)))}_renderNode(t){let e;if(t.node){e=this.tag&&this.text}else{e=this.tag?this.text:!this.text}if(e){throw new rr[\"b\"]('ui-template-wrong-syntax: Node definition must have either \"tag\" or \"text\" when rendering a new Node.',this)}if(this.text){return this._renderText(t)}else{return this._renderElement(t)}}_renderElement(t){let e=t.node;if(!e){e=t.node=document.createElementNS(this.ns||qp,this.tag)}this._renderAttributes(t);this._renderElementChildren(t);this._setUpListeners(t);return e}_renderText(t){let e=t.node;if(e){t.revertData.text=e.textContent}else{e=t.node=document.createTextNode(\"\")}if(Kp(this.text)){this._bindToObservable({schema:this.text,updater:Xp(e),data:t})}else{e.textContent=this.text.join(\"\")}return e}_renderAttributes(t){let e,n,i,o;if(!this.attributes){return}const s=t.node;const r=t.revertData;for(e in this.attributes){i=s.getAttribute(e);n=this.attributes[e];if(r){r.attributes[e]=i}o=ct(n[0])&&n[0].ns?n[0].ns:null;if(Kp(n)){const a=o?n[0].value:n;if(r&&bb(e)){a.unshift(i)}this._bindToObservable({schema:a,updater:tb(s,e,o),data:t})}else if(e==\"style\"&&typeof n[0]!==\"string\"){this._renderStyleAttribute(n[0],t)}else{if(r&&i&&bb(e)){n.unshift(i)}n=n.map(t=>t?t.value||t:t).reduce((t,e)=>t.concat(e),[]).reduce(lb,\"\");if(!hb(n)){s.setAttributeNS(o,e,n)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const o=t[i];if(Kp(o)){this._bindToObservable({schema:[o],updater:eb(n,i),data:e})}else{n.style[i]=o}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const i=t.isApplying;let o=0;for(const s of this.children){if(mb(s)){if(!i){s.setParent(e);for(const t of s){n.appendChild(t.element)}}}else if(fb(s)){if(!i){if(!s.isRendered){s.render()}n.appendChild(s.element)}}else if(xd(s)){n.appendChild(s)}else{if(i){const e=t.revertData;const i=pb();e.children.push(i);s._renderNode({node:n.childNodes[o++],isApplying:true,revertData:i})}else{n.appendChild(s.render())}}}if(t.intoFragment){e.appendChild(n)}}_setUpListeners(t){if(!this.eventListeners){return}for(const e in this.eventListeners){const n=this.eventListeners[e].map(n=>{const[i,o]=e.split(\"@\");return n.activateDomEventListener(i,o,t)});if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;Zp(t,e,n);const o=t.filter(t=>!hb(t)).filter(t=>t.observable).map(i=>i.activateAttributeListener(t,e,n));if(i){i.bindings.push(o)}}_revertTemplateFromNode(t,e){for(const t of e.bindings){for(const e of t){e()}}if(e.text){t.textContent=e.text;return}for(const n in e.attributes){const i=e.attributes[n];if(i===null){t.removeAttribute(n)}else{t.setAttribute(n,i)}}for(let n=0;n<e.children.length;++n){this._revertTemplateFromNode(t.childNodes[n],e.children[n])}}}yr($p,dr);class Yp{constructor(t){Object.assign(this,t)}getValue(t){const e=this.observable[this.attribute];return this.callback?this.callback(e,t):e}activateAttributeListener(t,e,n){const i=()=>Zp(t,e,n);this.emitter.listenTo(this.observable,\"change:\"+this.attribute,i);return()=>{this.emitter.stopListening(this.observable,\"change:\"+this.attribute,i)}}}class Gp extends Yp{activateDomEventListener(t,e,n){const i=(t,n)=>{if(!e||n.target.matches(e)){if(typeof this.eventNameOrFunction==\"function\"){this.eventNameOrFunction(n)}else{this.observable.fire(this.eventNameOrFunction,n)}}};this.emitter.listenTo(n.node,t,i);return()=>{this.emitter.stopListening(n.node,t,i)}}}class Qp extends Yp{getValue(t){const e=super.getValue(t);return hb(e)?false:this.valueIfTrue||true}}function Kp(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(Kp)}else if(t instanceof Yp){return true}return false}function Jp(t,e){return t.map(t=>{if(t instanceof Yp){return t.getValue(e)}return t})}function Zp(t,e,{node:n}){let i=Jp(t,n);if(t.length==1&&t[0]instanceof Qp){i=i[0]}else{i=i.reduce(lb,\"\")}if(hb(i)){e.remove()}else{e.set(i)}}function Xp(t){return{set(e){t.textContent=e},remove(){t.textContent=\"\"}}}function tb(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function eb(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function nb(t){const e=$s(t,t=>{if(t&&(t instanceof Yp||gb(t)||fb(t)||mb(t))){return t}});return e}function ib(t){if(typeof t==\"string\"){t=rb(t)}else if(t.text){ab(t)}if(t.on){t.eventListeners=sb(t.on);delete t.on}if(!t.text){if(t.attributes){ob(t.attributes)}const e=[];if(t.children){if(mb(t.children)){e.push(t.children)}else{for(const n of t.children){if(gb(n)||fb(n)||xd(n)){e.push(n)}else{e.push(new $p(n))}}}}t.children=e}return t}function ob(t){for(const e in t){if(t[e].value){t[e].value=[].concat(t[e].value)}cb(t,e)}}function sb(t){for(const e in t){cb(t,e)}return t}function rb(t){return{text:[t]}}function ab(t){if(!Array.isArray(t.text)){t.text=[t.text]}}function cb(t,e){if(!Array.isArray(t[e])){t[e]=[t[e]]}}function lb(t,e){if(hb(e)){return t}else if(hb(t)){return e}else{return`${t} ${e}`}}function db(t,e){for(const n in e){if(t[n]){t[n].push(...e[n])}else{t[n]=e[n]}}}function ub(t,e){if(e.attributes){if(!t.attributes){t.attributes={}}db(t.attributes,e.attributes)}if(e.eventListeners){if(!t.eventListeners){t.eventListeners={}}db(t.eventListeners,e.eventListeners)}if(e.text){t.text.push(...e.text)}if(e.children&&e.children.length){if(t.children.length!=e.children.length){throw new rr[\"b\"](\"ui-template-extend-children-mismatch: The number of children in extended definition does not match.\",t)}let n=0;for(const i of e.children){ub(t.children[n++],i)}}}function hb(t){return!t&&t!==0}function fb(t){return t instanceof _b}function gb(t){return t instanceof $p}function mb(t){return t instanceof Up}function pb(){return{children:[],bindings:[],attributes:{}}}function bb(t){return t==\"class\"||t==\"style\"}var wb=n(16);class _b{constructor(t){this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new xr;this._unboundChildren=this.createCollection();this._viewCollections.on(\"add\",(e,n)=>{n.locale=t});this.decorate(\"render\")}get bindTemplate(){if(this._bindTemplate){return this._bindTemplate}return this._bindTemplate=$p.bind(this,this)}createCollection(t){const e=new Up(t);this._viewCollections.add(e);return e}registerChild(t){if(!vr(t)){t=[t]}for(const e of t){this._unboundChildren.add(e)}}deregisterChild(t){if(!vr(t)){t=[t]}for(const e of t){this._unboundChildren.remove(e)}}setTemplate(t){this.template=new $p(t)}extendTemplate(t){$p.extend(this.template,t)}render(){if(this.isRendered){throw new rr[\"b\"](\"ui-view-render-already-rendered: This View has already been rendered.\",this)}if(this.template){this.element=this.template.render();this.registerChild(this.template.getViews())}this.isRendered=true}destroy(){this.stopListening();this._viewCollections.map(t=>t.destroy());if(this.template&&this.template._revertData){this.template.revert(this.element)}}}yr(_b,Wd);yr(_b,Kc);var kb=\"[object String]\";function vb(t){return typeof t==\"string\"||!Qe(t)&&C(t)&&k(t)==kb}var yb=vb;function xb(t,e,n={},i=[]){const o=n&&n.xmlns;const s=o?t.createElementNS(o,e):t.createElement(e);for(const t in n){s.setAttribute(t,n[t])}if(yb(i)||!vr(i)){i=[i]}for(let e of i){if(yb(e)){e=t.createTextNode(e)}s.appendChild(e)}return s}class Ab extends Up{constructor(t,e=[]){super(e);this.locale=t}attachToDom(){this._bodyCollectionContainer=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset_all\",\"ck-body\",\"ck-rounded-corners\"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(\".ck-body-wrapper\");if(!t){t=xb(document,\"div\",{class:\"ck-body-wrapper\"});document.body.appendChild(t)}t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy();if(this._bodyCollectionContainer){this._bodyCollectionContainer.remove()}const t=document.querySelector(\".ck-body-wrapper\");if(t&&t.childElementCount==0){t.remove()}}}var Tb=n(18);class Cb extends _b{constructor(t){super(t);this.body=new Ab(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}var Sb=n(20);class Pb extends _b{constructor(t){super(t);this.set(\"text\");this.set(\"for\");this.id=`ck-editor__label_${nr()}`;const e=this.bindTemplate;this.setTemplate({tag:\"label\",attributes:{class:[\"ck\",\"ck-label\"],id:this.id,for:e.to(\"for\")},children:[{text:e.to(\"text\")}]})}}class Eb extends Cb{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-editor\",\"ck-rounded-corners\"],role:\"application\",dir:t.uiLanguageDirection,lang:t.uiLanguage,\"aria-labelledby\":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__top\",\"ck-reset_all\"],role:\"presentation\"},children:this.top},{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__main\"],role:\"presentation\"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new Pb;e.text=t(\"Rich Text Editor\");e.extendTemplate({attributes:{class:\"ck-voice-label\"}});return e}}class Mb extends _b{constructor(t,e,n){super(t);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-content\",\"ck-editor__editable\",\"ck-rounded-corners\"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.name=null;this.set(\"isFocused\",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on(\"change:isFocused\",()=>this._updateIsFocusedClasses());this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change(n=>{const i=t.document.getRoot(e.name);n.addClass(e.isFocused?\"ck-focused\":\"ck-blurred\",i);n.removeClass(e.isFocused?\"ck-blurred\":\"ck-focused\",i)})}function n(i){t.once(\"change:isRenderingInProgress\",(t,o,s)=>{if(!s){e(i)}else{n(i)}})}}}class Ib extends Mb{constructor(t,e,n){super(t,e,n);this.extendTemplate({attributes:{role:\"textbox\",class:\"ck-editor__editable_inline\"}})}render(){super.render();const t=this._editingView;const e=this.t;t.change(n=>{const i=t.document.getRoot(this.name);n.setAttribute(\"aria-label\",e(\"Rich Text Editor, %0\",[this.name]),i)})}}function Nb(t){return e=>e+t}var Ob=n(22);const Rb=Nb(\"px\");class Db extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isActive\",false);this.set(\"isSticky\",false);this.set(\"limiterElement\",null);this.set(\"limiterBottomOffset\",50);this.set(\"viewportTopOffset\",0);this.set(\"_marginLeft\",null);this.set(\"_isStickyToTheLimiter\",false);this.set(\"_hasViewportTopOffset\",false);this.content=this.createCollection();this._contentPanelPlaceholder=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__placeholder\"],style:{display:e.to(\"isSticky\",t=>t?\"block\":\"none\"),height:e.to(\"isSticky\",t=>t?Rb(this._panelRect.height):null)}}}).render();this._contentPanel=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__content\",e.if(\"isSticky\",\"ck-sticky-panel__content_sticky\"),e.if(\"_isStickyToTheLimiter\",\"ck-sticky-panel__content_sticky_bottom-limit\")],style:{width:e.to(\"isSticky\",t=>t?Rb(this._contentPanelPlaceholder.getBoundingClientRect().width):null),top:e.to(\"_hasViewportTopOffset\",t=>t?Rb(this.viewportTopOffset):null),bottom:e.to(\"_isStickyToTheLimiter\",t=>t?Rb(this.limiterBottomOffset):null),marginLeft:e.to(\"_marginLeft\")}},children:this.content}).render();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel\"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render();this._checkIfShouldBeSticky();this.listenTo(Nd.window,\"scroll\",()=>{this._checkIfShouldBeSticky()});this.listenTo(this,\"change:isActive\",()=>{this._checkIfShouldBeSticky()})}_checkIfShouldBeSticky(){const t=this._panelRect=this._contentPanel.getBoundingClientRect();let e;if(!this.limiterElement){this.isSticky=false}else{e=this._limiterRect=this.limiterElement.getBoundingClientRect();this.isSticky=this.isActive&&e.top<this.viewportTopOffset&&this._panelRect.height+this.limiterBottomOffset<e.height}if(this.isSticky){this._isStickyToTheLimiter=e.bottom<t.height+this.limiterBottomOffset+this.viewportTopOffset;this._hasViewportTopOffset=!this._isStickyToTheLimiter&&!!this.viewportTopOffset;this._marginLeft=this._isStickyToTheLimiter?null:Rb(-Nd.window.scrollX)}else{this._isStickyToTheLimiter=false;this._hasViewportTopOffset=false;this._marginLeft=null}}}class Lb{constructor(t){Object.assign(this,t);if(t.actions&&t.keystrokeHandler){for(const e in t.actions){let n=t.actions[e];if(typeof n==\"string\"){n=[n]}for(const i of n){t.keystrokeHandler.set(i,(t,n)=>{this[e]();n()})}}}}get first(){return this.focusables.find(zb)||null}get last(){return this.focusables.filter(zb).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;if(this.focusTracker.focusedElement===null){return null}this.focusables.find((e,n)=>{const i=e.element===this.focusTracker.focusedElement;if(i){t=n}return i});return t}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){if(t){t.focus()}}_getFocusableItem(t){const e=this.current;const n=this.focusables.length;if(!n){return null}if(e===null){return this[t===1?\"first\":\"last\"]}let i=(e+n+t)%n;do{const e=this.focusables.get(i);if(zb(e)){return e}i=(i+n+t)%n}while(i!==e);return null}}function zb(t){return!!(t.focus&&Nd.window.getComputedStyle(t.element).display!=\"none\")}class Vb extends _b{constructor(t){super(t);this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__separator\"]}})}}const jb=100;class Bb{constructor(t,e){if(!Bb._observerInstance){Bb._createObserver()}this._element=t;this._callback=e;Bb._addElementCallback(t,e);Bb._observerInstance.observe(t)}destroy(){Bb._deleteElementCallback(this._element,this._callback)}static _addElementCallback(t,e){if(!Bb._elementCallbacks){Bb._elementCallbacks=new Map}let n=Bb._elementCallbacks.get(t);if(!n){n=new Set;Bb._elementCallbacks.set(t,n)}n.add(e)}static _deleteElementCallback(t,e){const n=Bb._getElementCallbacks(t);if(n){n.delete(e);if(!n.size){Bb._elementCallbacks.delete(t);Bb._observerInstance.unobserve(t)}}if(Bb._elementCallbacks&&!Bb._elementCallbacks.size){Bb._observerInstance=null;Bb._elementCallbacks=null}}static _getElementCallbacks(t){if(!Bb._elementCallbacks){return null}return Bb._elementCallbacks.get(t)}static _createObserver(){let t;if(typeof Nd.window.ResizeObserver===\"function\"){t=Nd.window.ResizeObserver}else{t=Fb}Bb._observerInstance=new t(t=>{for(const e of t){if(!e.target.offsetParent){continue}const t=Bb._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}})}}Bb._observerInstance=null;Bb._elementCallbacks=null;class Fb{constructor(t){this._callback=t;this._elements=new Set;this._previousRects=new Map;this._periodicCheckTimeout=null}observe(t){this._elements.add(t);this._checkElementRectsAndExecuteCallback();if(this._elements.size===1){this._startPeriodicCheck()}}unobserve(t){this._elements.delete(t);this._previousRects.delete(t);if(!this._elements.size){this._stopPeriodicCheck()}}_startPeriodicCheck(){const t=()=>{this._checkElementRectsAndExecuteCallback();this._periodicCheckTimeout=setTimeout(t,jb)};this.listenTo(Nd.window,\"resize\",()=>{this._checkElementRectsAndExecuteCallback()});this._periodicCheckTimeout=setTimeout(t,jb)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout);this.stopListening();this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const t=[];for(const e of this._elements){if(this._hasRectChanged(e)){t.push({target:e,contentRect:this._previousRects.get(e)})}}if(t.length){this._callback(t)}}_hasRectChanged(t){if(!t.ownerDocument.body.contains(t)){return false}const e=new vh(t);const n=this._previousRects.get(t);const i=!n||!n.isEqual(e);this._previousRects.set(t,e);return i}}yr(Fb,Wd);function Hb(t){return t.bindTemplate.to(e=>{if(e.target===t.element){e.preventDefault()}})}class Ub extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",false);this.set(\"position\",\"se\");this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-dropdown__panel\",e.to(\"position\",t=>`ck-dropdown__panel_${t}`),e.if(\"isVisible\",\"ck-dropdown__panel-visible\")]},children:this.children,on:{selectstart:e.to(t=>t.preventDefault())}})}focus(){if(this.children.length){this.children.first.focus()}}focusLast(){if(this.children.length){const t=this.children.last;if(typeof t.focusLast===\"function\"){t.focusLast()}else{t.focus()}}}}var Wb=n(24);function qb(t){if(!t||!t.parentNode){return null}if(t.offsetParent===Nd.document.body){return null}return t.offsetParent}function $b({element:t,target:e,positions:n,limiter:i,fitInViewport:o}){if(gt(e)){e=e()}if(gt(i)){i=i()}const s=qb(t);const r=new vh(t);const a=new vh(e);let c;let l;if(!i&&!o){[l,c]=Yb(n[0],a,r)}else{const t=i&&new vh(i).getVisible();const e=o&&new vh(Nd.window);const s=Gb(n,{targetRect:a,elementRect:r,limiterRect:t,viewportRect:e});[l,c]=s||Yb(n[0],a,r)}let d=Zb(c);if(s){d=Jb(d,s)}return{left:d.left,top:d.top,name:l}}function Yb(t,e,n){const i=t(e,n);if(!i){return null}const{left:o,top:s,name:r}=i;return[r,n.clone().moveTo(o,s)]}function Gb(t,e){const{elementRect:n,viewportRect:i}=e;const o=n.getArea();const s=Qb(t,e);if(i){const t=s.filter(({viewportIntersectArea:t})=>t===o);const e=Kb(t,o);if(e){return e}}return Kb(s,o)}function Qb(t,{targetRect:e,elementRect:n,limiterRect:i,viewportRect:o}){const s=[];const r=n.getArea();for(const a of t){const t=Yb(a,e,n);if(!t){continue}const[c,l]=t;let d=0;let u=0;if(i){if(o){const t=i.getIntersection(o);if(t){d=t.getIntersectionArea(l)}}else{d=i.getIntersectionArea(l)}}if(o){u=o.getIntersectionArea(l)}const h={positionName:c,positionRect:l,limiterIntersectArea:d,viewportIntersectArea:u};if(d===r){return[h]}s.push(h)}return s}function Kb(t,e){let n=0;let i;let o;for(const{positionName:s,positionRect:r,limiterIntersectArea:a,viewportIntersectArea:c}of t){if(a===e){return[s,r]}const t=c**2+a**2;if(t>n){n=t;i=r;o=s}}return i?[o,i]:null}function Jb({left:t,top:e},n){const i=Zb(new vh(n));const o=_h(n);t-=i.left;e-=i.top;t+=n.scrollLeft;e+=n.scrollTop;t-=o.left;e-=o.top;return{left:t,top:e}}function Zb({left:t,top:e}){const{scrollX:n,scrollY:i}=Nd.window;return{left:t+n,top:e+i}}class Xb extends _b{constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e;this.panelView=n;this.set(\"isOpen\",false);this.set(\"isEnabled\",true);this.set(\"class\");this.set(\"id\");this.set(\"panelPosition\",\"auto\");this.keystrokes=new gp;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dropdown\",i.to(\"class\"),i.if(\"isEnabled\",\"ck-disabled\",t=>!t)],id:i.to(\"id\"),\"aria-describedby\":i.to(\"ariaDescribedById\")},children:[e,n]});e.extendTemplate({attributes:{class:[\"ck-dropdown__button\"]}})}render(){super.render();this.listenTo(this.buttonView,\"open\",()=>{this.isOpen=!this.isOpen});this.panelView.bind(\"isVisible\").to(this,\"isOpen\");this.on(\"change:isOpen\",()=>{if(!this.isOpen){return}if(this.panelPosition===\"auto\"){this.panelView.position=Xb._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions}).name}else{this.panelView.position=this.panelPosition}});this.keystrokes.listenTo(this.element);const t=(t,e)=>{if(this.isOpen){this.buttonView.focus();this.isOpen=false;e()}};this.keystrokes.set(\"arrowdown\",(t,e)=>{if(this.buttonView.isEnabled&&!this.isOpen){this.isOpen=true;e()}});this.keystrokes.set(\"arrowright\",(t,e)=>{if(this.isOpen){e()}});this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"esc\",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:t,southWest:e,northEast:n,northWest:i}=Xb.defaultPanelPositions;if(this.locale.uiLanguageDirection===\"ltr\"){return[t,e,n,i]}else{return[e,t,i,n]}}}Xb.defaultPanelPositions={southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.bottom-e.height,left:t.left-e.width+t.width,name:\"nw\"})};Xb._getOptimalPosition=$b;var tw=n(26);class ew extends _b{constructor(){super();const t=this.bindTemplate;this.set(\"content\",\"\");this.set(\"viewBox\",\"0 0 20 20\");this.set(\"fillColor\",\"\");this.setTemplate({tag:\"svg\",ns:\"http://www.w3.org/2000/svg\",attributes:{class:[\"ck\",\"ck-icon\"],viewBox:t.to(\"viewBox\")}})}render(){super.render();this._updateXMLContent();this._colorFillPaths();this.on(\"change:content\",()=>{this._updateXMLContent();this._colorFillPaths()});this.on(\"change:fillColor\",()=>{this._colorFillPaths()})}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),\"image/svg+xml\");const e=t.querySelector(\"svg\");const n=e.getAttribute(\"viewBox\");if(n){this.viewBox=n}this.element.innerHTML=\"\";while(e.childNodes.length>0){this.element.appendChild(e.childNodes[0])}}}_colorFillPaths(){if(this.fillColor){this.element.querySelectorAll(\".ck-icon__fill\").forEach(t=>{t.style.fill=this.fillColor})}}}var nw=n(28);class iw extends _b{constructor(t){super(t);this.set(\"text\",\"\");this.set(\"position\",\"s\");const e=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip\",e.to(\"position\",t=>\"ck-tooltip_\"+t),e.if(\"text\",\"ck-hidden\",t=>!t.trim())]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip__text\"]},children:[{text:e.to(\"text\")}]}]})}}var ow=n(30);class sw extends _b{constructor(t){super(t);const e=this.bindTemplate;const n=nr();this.set(\"class\");this.set(\"labelStyle\");this.set(\"icon\");this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isVisible\",true);this.set(\"isToggleable\",false);this.set(\"keystroke\");this.set(\"label\");this.set(\"tabindex\",-1);this.set(\"tooltip\");this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.set(\"withKeystroke\",false);this.children=this.createCollection();this.tooltipView=this._createTooltipView();this.labelView=this._createLabelView(n);this.iconView=new ew;this.iconView.extendTemplate({attributes:{class:\"ck-button__icon\"}});this.keystrokeView=this._createKeystrokeView();this.bind(\"_tooltipString\").to(this,\"tooltip\",this,\"label\",this,\"keystroke\",this._getTooltipString.bind(this));this.setTemplate({tag:\"button\",attributes:{class:[\"ck\",\"ck-button\",e.to(\"class\"),e.if(\"isEnabled\",\"ck-disabled\",t=>!t),e.if(\"isVisible\",\"ck-hidden\",t=>!t),e.to(\"isOn\",t=>t?\"ck-on\":\"ck-off\"),e.if(\"withText\",\"ck-button_with-text\"),e.if(\"withKeystroke\",\"ck-button_with-keystroke\")],type:e.to(\"type\",t=>t?t:\"button\"),tabindex:e.to(\"tabindex\"),\"aria-labelledby\":`ck-editor__aria-label_${n}`,\"aria-disabled\":e.if(\"isEnabled\",true,t=>!t),\"aria-pressed\":e.to(\"isOn\",t=>this.isToggleable?String(t):false)},children:this.children,on:{mousedown:e.to(t=>{t.preventDefault()}),click:e.to(t=>{if(this.isEnabled){this.fire(\"execute\")}else{t.preventDefault()}})}})}render(){super.render();if(this.icon){this.iconView.bind(\"content\").to(this,\"icon\");this.children.add(this.iconView)}this.children.add(this.tooltipView);this.children.add(this.labelView);if(this.withKeystroke){this.children.add(this.keystrokeView)}}focus(){this.element.focus()}_createTooltipView(){const t=new iw;t.bind(\"text\").to(this,\"_tooltipString\");t.bind(\"position\").to(this,\"tooltipPosition\");return t}_createLabelView(t){const e=new _b;const n=this.bindTemplate;e.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__label\"],style:n.to(\"labelStyle\"),id:`ck-editor__aria-label_${t}`},children:[{text:this.bindTemplate.to(\"label\")}]});return e}_createKeystrokeView(){const t=new _b;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__keystroke\"]},children:[{text:this.bindTemplate.to(\"keystroke\",t=>zl(t))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t==\"string\"){return t}else{if(n){n=zl(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:\"\"}`}}}return\"\"}}var rw='<svg viewBox=\"0 0 10 10\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z\"/></svg>';class aw extends sw{constructor(t){super(t);this.arrowView=this._createArrowView();this.extendTemplate({attributes:{\"aria-haspopup\":true}});this.delegate(\"execute\").to(this,\"open\")}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new ew;t.content=rw;t.extendTemplate({attributes:{class:\"ck-dropdown__arrow\"}});return t}}var cw=n(32);class lw extends _b{constructor(){super();this.items=this.createCollection();this.focusTracker=new Sp;this.keystrokes=new gp;this._focusCycler=new Lb({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}});this.setTemplate({tag:\"ul\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]},children:this.items})}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",(t,e)=>{this.focusTracker.add(e.element)});this.items.on(\"remove\",(t,e)=>{this.focusTracker.remove(e.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class dw extends _b{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__item\"]},children:this.children})}focus(){this.children.first.focus()}}class uw extends _b{constructor(t){super(t);this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__separator\"]}})}}var hw=n(34);class fw extends sw{constructor(t){super(t);this.isToggleable=true;this.toggleSwitchView=this._createToggleView();this.extendTemplate({attributes:{class:\"ck-switchbutton\"}})}render(){super.render();this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new _b;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle\"]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle__inner\"]}}]});return t}}function gw({emitter:t,activator:e,callback:n,contextElements:i}){t.listenTo(document,\"mousedown\",(t,{target:o})=>{if(!e()){return}for(const t of i){if(t.contains(o)){return}}n()})}var mw=n(36);var pw=n(38);function bw(t,e=aw){const n=new e(t);const i=new Ub(t);const o=new Xb(t,n,i);n.bind(\"isEnabled\").to(o);if(n instanceof aw){n.bind(\"isOn\").to(o,\"isOpen\")}else{n.arrowView.bind(\"isOn\").to(o,\"isOpen\")}kw(o);return o}function ww(t,e){const n=t.locale;const i=n.t;const o=t.toolbarView=new Cw(n);o.set(\"ariaLabel\",i(\"Dropdown toolbar\"));t.extendTemplate({attributes:{class:[\"ck-toolbar-dropdown\"]}});e.map(t=>o.items.add(t));t.panelView.children.add(o);o.items.delegate(\"execute\").to(t)}function _w(t,e){const n=t.locale;const i=t.listView=new lw(n);i.items.bindTo(e).using(({type:t,model:e})=>{if(t===\"separator\"){return new uw(n)}else if(t===\"button\"||t===\"switchbutton\"){const i=new dw(n);let o;if(t===\"button\"){o=new sw(n)}else{o=new fw(n)}o.bind(...Object.keys(e)).to(e);o.delegate(\"execute\").to(i);i.children.add(o);return i}});t.panelView.children.add(i);i.items.delegate(\"execute\").to(t)}function kw(t){vw(t);yw(t);xw(t)}function vw(t){t.on(\"render\",()=>{gw({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=false},contextElements:[t.element]})})}function yw(t){t.on(\"execute\",e=>{if(e.source instanceof fw){return}t.isOpen=false})}function xw(t){t.keystrokes.set(\"arrowdown\",(e,n)=>{if(t.isOpen){t.panelView.focus();n()}});t.keystrokes.set(\"arrowup\",(e,n)=>{if(t.isOpen){t.panelView.focusLast();n()}})}var Aw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"9.5\" cy=\"4.5\" r=\"1.5\"/><circle cx=\"9.5\" cy=\"10.5\" r=\"1.5\"/><circle cx=\"9.5\" cy=\"16.5\" r=\"1.5\"/></svg>';var Tw=n(40);class Cw extends _b{constructor(t,e){super(t);const n=this.bindTemplate;const i=this.t;this.options=e||{};this.set(\"ariaLabel\",i(\"Editor toolbar\"));this.set(\"maxWidth\",\"auto\");this.items=this.createCollection();this.focusTracker=new Sp;this.keystrokes=new gp;this.set(\"class\");this.set(\"isCompact\",false);this.itemsView=new Sw(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();this._focusCycler=new Lb({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[\"arrowleft\",\"arrowup\"],focusNext:[\"arrowright\",\"arrowdown\"]}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar\",n.to(\"class\"),n.if(\"isCompact\",\"ck-toolbar_compact\")],role:\"toolbar\",\"aria-label\":n.to(\"ariaLabel\"),style:{maxWidth:n.to(\"maxWidth\")}},children:this.children,on:{mousedown:Hb(this)}});this._behavior=this.options.shouldGroupWhenFull?new Ew(this):new Pw(this)}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",(t,e)=>{this.focusTracker.add(e.element)});this.items.on(\"remove\",(t,e)=>{this.focusTracker.remove(e.element)});this.keystrokes.listenTo(this.element);this._behavior.render(this)}destroy(){this._behavior.destroy();return super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e){t.map(t=>{if(t==\"|\"){this.items.add(new Vb)}else if(e.has(t)){this.items.add(e.create(t))}else{console.warn(Object(rr[\"a\"])(\"toolbarview-item-unavailable: The requested toolbar item is unavailable.\"),{name:t})}})}}class Sw extends _b{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar__items\"]},children:this.children})}}class Pw{constructor(t){const e=t.bindTemplate;t.set(\"isVertical\",false);t.itemsView.children.bindTo(t.items).using(t=>t);t.focusables.bindTo(t.items).using(t=>t);t.extendTemplate({attributes:{class:[e.if(\"isVertical\",\"ck-toolbar_vertical\")]}})}render(){}destroy(){}}class Ew{constructor(t){this.viewChildren=t.children;this.viewFocusables=t.focusables;this.viewItemsView=t.itemsView;this.viewFocusTracker=t.focusTracker;this.viewLocale=t.locale;this.ungroupedItems=t.createCollection();this.groupedItems=t.createCollection();this.groupedItemsDropdown=this._createGroupedItemsDropdown();this.resizeObserver=null;this.cachedPadding=null;this.shouldUpdateGroupingOnNextResize=false;t.itemsView.children.bindTo(this.ungroupedItems).using(t=>t);this.ungroupedItems.on(\"add\",this._updateFocusCycleableItems.bind(this));this.ungroupedItems.on(\"remove\",this._updateFocusCycleableItems.bind(this));t.children.on(\"add\",this._updateFocusCycleableItems.bind(this));t.children.on(\"remove\",this._updateFocusCycleableItems.bind(this));t.items.on(\"add\",(t,e,n)=>{if(n>this.ungroupedItems.length){this.groupedItems.add(e,n-this.ungroupedItems.length)}else{this.ungroupedItems.add(e,n)}this._updateGrouping()});t.items.on(\"remove\",(t,e,n)=>{if(n>this.ungroupedItems.length){this.groupedItems.remove(e)}else{this.ungroupedItems.remove(e)}this._updateGrouping()});t.extendTemplate({attributes:{class:[\"ck-toolbar_grouping\"]}})}render(t){this.viewElement=t.element;this._enableGroupingOnResize();this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy();this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement)){return}if(!this.viewElement.offsetParent){this.shouldUpdateGroupingOnNextResize=true;return}let t;while(this._areItemsOverflowing){this._groupLastItem();t=true}if(!t&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new vh(t.lastChild);const i=new vh(t);if(!this.cachedPadding){const n=Nd.window.getComputedStyle(t);const i=e===\"ltr\"?\"paddingRight\":\"paddingLeft\";this.cachedPadding=Number.parseInt(n[i])}if(e===\"ltr\"){return n.right>i.right-this.cachedPadding}else{return n.left<i.left+this.cachedPadding}}_enableGroupingOnResize(){let t;this.resizeObserver=new Bb(this.viewElement,e=>{if(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize){this.shouldUpdateGroupingOnNextResize=false;this._updateGrouping();t=e.contentRect.width}});this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on(\"change:maxWidth\",()=>{this._updateGrouping()})}_groupLastItem(){if(!this.groupedItems.length){this.viewChildren.add(new Vb);this.viewChildren.add(this.groupedItemsDropdown);this.viewFocusTracker.add(this.groupedItemsDropdown.element)}this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first));if(!this.groupedItems.length){this.viewChildren.remove(this.groupedItemsDropdown);this.viewChildren.remove(this.viewChildren.last);this.viewFocusTracker.remove(this.groupedItemsDropdown.element)}}_createGroupedItemsDropdown(){const t=this.viewLocale;const e=t.t;const n=bw(t);n.class=\"ck-toolbar__grouped-dropdown\";n.panelPosition=t.uiLanguageDirection===\"ltr\"?\"sw\":\"se\";ww(n,[]);n.buttonView.set({label:e(\"Show more items\"),tooltip:true,icon:Aw});n.toolbarView.items.bindTo(this.groupedItems).using(t=>t);return n}_updateFocusCycleableItems(){this.viewFocusables.clear();this.ungroupedItems.map(t=>{this.viewFocusables.add(t)});if(this.groupedItems.length){this.viewFocusables.add(this.groupedItemsDropdown)}}}var Mw=n(42);class Iw extends Eb{constructor(t,e,n={}){super(t);this.stickyPanel=new Db(t);this.toolbar=new Cw(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull});this.editable=new Ib(t,e)}render(){super.render();this.stickyPanel.content.add(this.toolbar);this.top.add(this.stickyPanel);this.main.add(this.editable)}}function Nw(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}class Ow extends pp{constructor(t,e){super(e);if(Gs(t)){this.sourceElement=t}this.data.processor=new Ap(this.data.viewDocument);this.model.document.createRoot();const n=!this.config.get(\"toolbar.shouldNotGroupWhenFull\");const i=new Iw(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new Hp(this,i);yp(this)}destroy(){if(this.sourceElement){this.updateSourceElement()}this.ui.destroy();return super.destroy()}static create(t,e={}){return new Promise(n=>{const i=new this(t,e);n(i.initPlugins().then(()=>i.ui.init(Gs(t)?t:null)).then(()=>{if(!Gs(t)&&e.initialData){throw new rr[\"b\"](\"editor-create-initial-data: \"+\"The config.initialData option cannot be used together with initial data passed in Editor.create().\",null)}const n=e.initialData||Rw(t);return i.data.init(n)}).then(()=>i.fire(\"ready\")).then(()=>i))})}}yr(Ow,wp);yr(Ow,vp);function Rw(t){return Gs(t)?Nw(t):t}class Dw{constructor(t){this.editor=t;this.set(\"isEnabled\",true);this._disableStack=new Set}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",Lw,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",Lw);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}yr(Dw,Kc);function Lw(t){t.return=false;t.stop()}class zw{constructor(t){this.editor=t;this.set(\"value\",undefined);this.set(\"isEnabled\",false);this._disableStack=new Set;this.decorate(\"execute\");this.listenTo(this.editor.model.document,\"change\",()=>{this.refresh()});this.on(\"execute\",t=>{if(!this.isEnabled){t.stop()}},{priority:\"high\"});this.listenTo(t,\"change:isReadOnly\",(t,e,n)=>{if(n){this.forceDisabled(\"readOnlyMode\")}else{this.clearForceDisabled(\"readOnlyMode\")}})}refresh(){this.isEnabled=true}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",Vw,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",Vw);this.refresh()}}execute(){}destroy(){this.stopListening()}}yr(zw,Kc);function Vw(t){t.return=false;t.stop()}function jw(t){const e=t.next();if(e.done){return null}return e.value}const Bw=[\"left\",\"right\",\"center\",\"justify\"];function Fw(t){return Bw.includes(t)}function Hw(t,e){if(e.contentLanguageDirection==\"rtl\"){return t===\"right\"}else{return t===\"left\"}}const Uw=\"alignment\";class Ww extends zw{refresh(){const t=this.editor;const e=t.locale;const n=jw(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!n&&this._canBeAligned(n);if(this.isEnabled&&n.hasAttribute(\"alignment\")){this.value=n.getAttribute(\"alignment\")}else{this.value=e.contentLanguageDirection===\"rtl\"?\"right\":\"left\"}}execute(t={}){const e=this.editor;const n=e.locale;const i=e.model;const o=i.document;const s=t.value;i.change(t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter(t=>this._canBeAligned(t));const i=e[0].getAttribute(\"alignment\");const r=Hw(s,n)||i===s||!s;if(r){qw(e,t)}else{$w(e,t,s)}})}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,Uw)}}function qw(t,e){for(const n of t){e.removeAttribute(Uw,n)}}function $w(t,e,n){for(const i of t){e.setAttribute(Uw,n,i)}}class Yw extends Dw{static get pluginName(){return\"AlignmentEditing\"}constructor(t){super(t);t.config.define(\"alignment\",{options:[...Bw]})}init(){const t=this.editor;const e=t.locale;const n=t.model.schema;const i=t.config.get(\"alignment.options\").filter(Fw);n.extend(\"$block\",{allowAttributes:\"alignment\"});t.model.schema.setAttributeProperties(\"alignment\",{isFormatting:true});const o=Gw(i.filter(t=>!Hw(t,e)));t.conversion.attributeToAttribute(o);t.commands.add(\"alignment\",new Ww(t))}}function Gw(t){const e={model:{key:\"alignment\",values:t.slice()},view:{}};for(const n of t){e.view[n]={key:\"style\",value:{\"text-align\":n}}}return e}var Qw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z\"/></svg>';var Kw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18 3.75a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 8a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 4a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75zm0-8a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75z\"/></svg>';var Jw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm2.286 4c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75z\"/></svg>';var Zw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z\"/></svg>';const Xw=new Map([[\"left\",Qw],[\"right\",Kw],[\"center\",Jw],[\"justify\",Zw]]);class t_ extends Dw{get localizedOptionTitles(){const t=this.editor.t;return{left:t(\"Align left\"),right:t(\"Align right\"),center:t(\"Align center\"),justify:t(\"Justify\")}}static get pluginName(){return\"AlignmentUI\"}init(){const t=this.editor;const e=t.ui.componentFactory;const n=t.t;const i=t.config.get(\"alignment.options\");i.filter(Fw).forEach(t=>this._addButton(t));e.add(\"alignment\",t=>{const o=bw(t);const s=i.map(t=>e.create(`alignment:${t}`));ww(o,s);o.buttonView.set({label:n(\"Text alignment\"),tooltip:true});o.toolbarView.isVertical=true;o.toolbarView.ariaLabel=n(\"Text alignment toolbar\");o.extendTemplate({attributes:{class:\"ck-alignment-dropdown\"}});const r=t.contentLanguageDirection===\"rtl\"?Kw:Qw;o.buttonView.bind(\"icon\").toMany(s,\"isOn\",(...t)=>{const e=t.findIndex(t=>t);if(e<0){return r}return s[e].icon});o.bind(\"isEnabled\").toMany(s,\"isEnabled\",(...t)=>t.some(t=>t));return o})}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,n=>{const i=e.commands.get(\"alignment\");const o=new sw(n);o.set({label:this.localizedOptionTitles[t],icon:Xw.get(t),tooltip:true,isToggleable:true});o.bind(\"isEnabled\").to(i);o.bind(\"isOn\").to(i,\"value\",e=>e===t);this.listenTo(o,\"execute\",()=>{e.execute(\"alignment\",{value:t});e.editing.view.focus()});return o})}}class e_ extends Dw{static get requires(){return[Yw,t_]}static get pluginName(){return\"Alignment\"}}class n_{static get pluginName(){return\"BlockAutoformatEditing\"}constructor(t,e,n){let i;let o=null;if(typeof n==\"function\"){i=n}else{o=t.commands.get(n);i=()=>{t.execute(n)}}t.model.document.on(\"change\",(n,s)=>{if(o&&!o.isEnabled){return}if(s.type==\"transparent\"){return}const r=Array.from(t.model.document.differ.getChanges());const a=r[0];if(r.length!=1||a.type!==\"insert\"||a.name!=\"$text\"||a.length!=1){return}const c=a.position.parent;if(!c.is(\"paragraph\")||c.childCount!==1){return}const l=e.exec(c.getChild(0).data);if(!l){return}t.model.enqueueChange(t=>{const e=t.createPositionAt(c,0);const n=t.createPositionAt(c,l[0].length);const o=new cf(e,n);const s=i({match:l});if(s!==false){t.remove(o)}o.detach()})})}}function i_(t,e){let n=t.start;const i=Array.from(t.getItems()).reduce((t,i)=>{if(!(i.is(\"text\")||i.is(\"textProxy\"))){n=e.createPositionAfter(i);return\"\"}return t+i.data},\"\");return{text:i,range:e.createRange(n,t.end)}}class o_{static get pluginName(){return\"InlineAutoformatEditing\"}constructor(t,e,n){let i;let o;let s;let r;if(e instanceof RegExp){i=e}else{s=e}if(typeof n==\"string\"){o=n}else{r=n}s=s||(t=>{let e;const n=[];const o=[];while((e=i.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:i,2:s,3:r}=e;const a=i+s+r;t+=e[0].length-a.length;const c=[t,t+i.length];const l=[t+i.length+s.length,t+i.length+s.length+r.length];n.push(c);n.push(l);o.push([t+i.length,t+i.length+s.length])}return{remove:n,format:o}});r=r||((e,n)=>{const i=t.model.schema.getValidRanges(n,o);for(const t of i){e.setAttribute(o,true,t)}e.removeSelectionAttribute(o)});t.model.document.on(\"change\",(e,n)=>{if(n.type==\"transparent\"){return}const i=t.model;const o=i.document.selection;if(!o.isCollapsed){return}const a=Array.from(i.document.differ.getChanges());const c=a[0];if(a.length!=1||c.type!==\"insert\"||c.name!=\"$text\"||c.length!=1){return}const l=o.focus;const d=l.parent;const{text:u,range:h}=i_(i.createRange(i.createPositionAt(d,0),l),i);const f=s(u);const g=s_(h.start,f.format,i);const m=s_(h.start,f.remove,i);if(!(g.length&&m.length)){return}i.enqueueChange(t=>{const e=r(t,g);if(e===false){return}for(const e of m.reverse()){t.remove(e)}})})}}function s_(t,e,n){return e.filter(t=>t[0]!==undefined&&t[1]!==undefined).map(e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1])))}class r_ extends Dw{static get pluginName(){return\"Autoformat\"}afterInit(){this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats()}_addListAutoformats(){const t=this.editor.commands;if(t.get(\"bulletedList\")){new n_(this.editor,/^[*-]\\s$/,\"bulletedList\")}if(t.get(\"numberedList\")){new n_(this.editor,/^1[.|)]\\s$/,\"numberedList\")}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get(\"bold\")){const t=a_(this.editor,\"bold\");new o_(this.editor,/(\\*\\*)([^*]+)(\\*\\*)$/g,t);new o_(this.editor,/(__)([^_]+)(__)$/g,t)}if(t.get(\"italic\")){const t=a_(this.editor,\"italic\");new o_(this.editor,/(?:^|[^*])(\\*)([^*_]+)(\\*)$/g,t);new o_(this.editor,/(?:^|[^_])(_)([^_]+)(_)$/g,t)}if(t.get(\"code\")){const t=a_(this.editor,\"code\");new o_(this.editor,/(`)([^`]+)(`)$/g,t)}if(t.get(\"strikethrough\")){const t=a_(this.editor,\"strikethrough\");new o_(this.editor,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get(\"heading\");if(t){t.modelElements.filter(t=>t.match(/^heading[1-6]$/)).forEach(e=>{const n=e[7];const i=new RegExp(`^(#{${n}})\\\\s$`);new n_(this.editor,i,()=>{if(!t.isEnabled){return false}this.editor.execute(\"heading\",{value:e})})})}}_addBlockQuoteAutoformats(){if(this.editor.commands.get(\"blockQuote\")){new n_(this.editor,/^>\\s$/,\"blockQuote\")}}_addCodeBlockAutoformats(){if(this.editor.commands.get(\"codeBlock\")){new n_(this.editor,/^```$/,\"codeBlock\")}}}function a_(t,e){return(n,i)=>{const o=t.commands.get(e);if(!o.isEnabled){return false}const s=t.model.schema.getValidRanges(i,e);for(const t of s){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class c_{constructor(t){this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return true}}yr(c_,Kc);class l_ extends c_{static get pluginName(){return\"PendingActions\"}init(){this.set(\"hasAny\",false);this._actions=new xr({idProperty:\"_id\"});this._actions.delegate(\"add\",\"remove\").to(this)}add(t){if(typeof t!==\"string\"){throw new rr[\"b\"](\"pendingactions-add-invalid-message: The message must be a string.\",this)}const e=Object.create(Kc);e.set(\"message\",t);this._actions.add(e);this.hasAny=true;return e}remove(t){this._actions.remove(t);this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}class d_{constructor(){const t=new window.FileReader;this._reader=t;this._data=undefined;this.set(\"loaded\",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise((n,i)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{i(\"error\")};e.onabort=()=>{i(\"aborted\")};this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}yr(d_,Kc);class u_ extends Dw{static get pluginName(){return\"FileRepository\"}static get requires(){return[l_]}init(){this.loaders=new xr;this.loaders.on(\"add\",()=>this._updatePendingAction());this.loaders.on(\"remove\",()=>this._updatePendingAction());this._loadersMap=new Map;this._pendingAction=null;this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){console.warn(Object(rr[\"a\"])(\"filerepository-no-upload-adapter: Upload adapter is not defined.\"));return null}const e=new h_(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then(t=>{this._loadersMap.set(t,e)}).catch(()=>{})}e.on(\"change:uploaded\",()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t});e.on(\"change:uploadTotal\",()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t});return e}destroyLoader(t){const e=t instanceof h_?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach((t,n)=>{if(t===e){this._loadersMap.delete(n)}})}_updatePendingAction(){const t=this.editor.plugins.get(l_);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e(\"Upload in progress\")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind(\"message\").to(this,\"uploadedPercent\",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}yr(u_,Kc);class h_{constructor(t,e){this.id=nr();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new d_;this.set(\"status\",\"idle\");this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",(t,e)=>e?t/e*100:0);this.set(\"uploadResponse\",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null)}}get data(){return this._reader.data}read(){if(this.status!=\"idle\"){throw new rr[\"b\"](\"filerepository-read-wrong-status: You cannot call read if the status is different than idle.\",this)}this.status=\"reading\";return this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!==\"reading\"){throw this.status}this.status=\"idle\";return t}).catch(t=>{if(t===\"aborted\"){this.status=\"aborted\";throw\"aborted\"}this.status=\"error\";throw this._reader.error?this._reader.error:t})}upload(){if(this.status!=\"idle\"){throw new rr[\"b\"](\"filerepository-upload-wrong-status: You cannot call upload if the status is different than idle.\",this)}this.status=\"uploading\";return this.file.then(()=>this._adapter.upload()).then(t=>{this.uploadResponse=t;this.status=\"idle\";return t}).catch(t=>{if(this.status===\"aborted\"){throw\"aborted\"}this.status=\"error\";throw t})}abort(){const t=this.status;this.status=\"aborted\";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch(()=>{});this._filePromiseWrapper.rejecter(\"aborted\")}else if(t==\"reading\"){this._reader.abort()}else if(t==\"uploading\"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise((n,i)=>{e.rejecter=i;e.isFulfilled=false;t.then(t=>{e.isFulfilled=true;n(t)}).catch(t=>{e.isFulfilled=true;i(t)})});return e}}yr(h_,Kc);class f_ extends Dw{static get requires(){return[u_]}static get pluginName(){return\"Base64UploadAdapter\"}init(){this.editor.plugins.get(u_).createUploadAdapter=t=>new g_(t)}}class g_{constructor(t){this.loader=t}upload(){return new Promise((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener(\"load\",()=>{t({default:n.result})});n.addEventListener(\"error\",t=>{e(t)});n.addEventListener(\"abort\",()=>{e()});this.loader.file.then(t=>{n.readAsDataURL(t)})})}abort(){this.reader.abort()}}class m_ extends zw{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());const s=t.forceValue===undefined?!this.value:t.forceValue;e.change(t=>{if(!s){this._removeQuote(t,o.filter(p_))}else{const e=o.filter(t=>p_(t)||w_(n,t));this._applyQuote(t,e)}})}_getValue(){const t=this.editor.model.document.selection;const e=jw(t.getSelectedBlocks());return!!(e&&p_(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=jw(t.getSelectedBlocks());if(!n){return false}return w_(e,n)}_removeQuote(t,e){b_(t,e).reverse().forEach(e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)})}_applyQuote(t,e){const n=[];b_(t,e).reverse().forEach(e=>{let i=p_(e.start);if(!i){i=t.createElement(\"blockQuote\");t.wrap(e,i)}n.push(i)});n.reverse().reduce((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n})}}function p_(t){return t.parent.name==\"blockQuote\"?t.parent:null}function b_(t,e){let n;let i=0;const o=[];while(i<e.length){const s=e[i];const r=e[i+1];if(!n){n=t.createPositionBefore(s)}if(!r||s.nextSibling!=r){o.push(t.createRange(n,t.createPositionAfter(s)));n=null}i++}return o}function w_(t,e){const n=t.checkChild(e.parent,\"blockQuote\");const i=t.checkChild([\"$root\",\"blockQuote\"],e);return n&&i}class __ extends Dw{static get pluginName(){return\"BlockQuoteEditing\"}init(){const t=this.editor;const e=t.model.schema;t.commands.add(\"blockQuote\",new m_(t));e.register(\"blockQuote\",{allowWhere:\"$block\",allowContentOf:\"$root\"});e.addChildCheck((t,e)=>{if(t.endsWith(\"blockQuote\")&&e.name==\"blockQuote\"){return false}});t.conversion.elementToElement({model:\"blockQuote\",view:\"blockquote\"});t.model.document.registerPostFixer(n=>{const i=t.model.document.differ.getChanges();for(const t of i){if(t.type==\"insert\"){const i=t.position.nodeAfter;if(!i){continue}if(i.is(\"blockQuote\")&&i.isEmpty){n.remove(i);return true}else if(i.is(\"blockQuote\")&&!e.checkChild(t.position,i)){n.unwrap(i);return true}else if(i.is(\"element\")){const t=n.createRangeIn(i);for(const i of t.getItems()){if(i.is(\"blockQuote\")&&!e.checkChild(n.createPositionBefore(i),i)){n.unwrap(i);return true}}}}else if(t.type==\"remove\"){const e=t.position.parent;if(e.is(\"blockQuote\")&&e.isEmpty){n.remove(e);return true}}}return false})}afterInit(){const t=this.editor;const e=t.commands.get(\"blockQuote\");this.listenTo(this.editor.editing.view.document,\"enter\",(t,n)=>{const i=this.editor.model.document;const o=i.selection.getLastPosition().parent;if(i.selection.isCollapsed&&o.isEmpty&&e.value){this.editor.execute(\"blockQuote\");this.editor.editing.view.scrollToTheSelection();n.preventDefault();t.stop()}})}}var k_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 10.423a6.5 6.5 0 0 1 6.056-6.408l.038.67C6.448 5.423 5.354 7.663 5.22 10H9c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574zm8 0a6.5 6.5 0 0 1 6.056-6.408l.038.67c-2.646.739-3.74 2.979-3.873 5.315H17c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574z\"/></svg>';var v_=n(44);class y_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"blockQuote\",n=>{const i=t.commands.get(\"blockQuote\");const o=new sw(n);o.set({label:e(\"Block quote\"),icon:k_,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(\"blockQuote\");t.editing.view.focus()});return o})}}class x_ extends Dw{static get requires(){return[__,y_]}static get pluginName(){return\"BlockQuote\"}}class A_ extends zw{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const i=n.selection;const o=t.forceValue===undefined?!this.value:t.forceValue;e.change(t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,e)}else{t.removeAttribute(this.attributeKey,e)}}}})}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const T_=\"bold\";class C_ extends Dw{static get pluginName(){return\"BoldEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:T_});t.model.schema.setAttributeProperties(T_,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:T_,view:\"strong\",upcastAlso:[\"b\",t=>{const e=t.getStyle(\"font-weight\");if(!e){return null}if(e==\"bold\"||Number(e)>=600){return{name:true,styles:[\"font-weight\"]}}}]});t.commands.add(T_,new A_(t,T_));t.keystrokes.set(\"CTRL+B\",T_)}}var S_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.187 17H5.773c-.637 0-1.092-.138-1.364-.415-.273-.277-.409-.718-.409-1.323V4.738c0-.617.14-1.062.419-1.332.279-.27.73-.406 1.354-.406h4.68c.69 0 1.288.041 1.793.124.506.083.96.242 1.36.478.341.197.644.447.906.75a3.262 3.262 0 0 1 .808 2.162c0 1.401-.722 2.426-2.167 3.075C15.05 10.175 16 11.315 16 13.01a3.756 3.756 0 0 1-2.296 3.504 6.1 6.1 0 0 1-1.517.377c-.571.073-1.238.11-2 .11zm-.217-6.217H7v4.087h3.069c1.977 0 2.965-.69 2.965-2.072 0-.707-.256-1.22-.768-1.537-.512-.319-1.277-.478-2.296-.478zM7 5.13v3.619h2.606c.729 0 1.292-.067 1.69-.2a1.6 1.6 0 0 0 .91-.765c.165-.267.247-.566.247-.897 0-.707-.26-1.176-.778-1.409-.519-.232-1.31-.348-2.375-.348H7z\"/></svg>';const P_=\"bold\";class E_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(P_,n=>{const i=t.commands.get(P_);const o=new sw(n);o.set({label:e(\"Bold\"),icon:S_,keystroke:\"CTRL+B\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(P_);t.editing.view.focus()});return o})}}class M_ extends Dw{static get requires(){return[C_,E_]}static get pluginName(){return\"Bold\"}}const I_=\"code\";class N_ extends Dw{static get pluginName(){return\"CodeEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:I_});t.model.schema.setAttributeProperties(I_,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:I_,view:\"code\",upcastAlso:{styles:{\"word-wrap\":\"break-word\"}}});t.commands.add(I_,new A_(t,I_))}}var O_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.5 5.7l5.2 3.9v1.3l-5.6 4c-.1.2-.3.2-.5.2-.3-.1-.6-.7-.6-1l.3-.4 4.7-3.5L11.5 7l-.2-.2c-.1-.3-.1-.6 0-.8.2-.2.5-.4.8-.4a.8.8 0 0 1 .4.1zm-5.2 0L2 9.6v1.3l5.6 4c.1.2.3.2.5.2.3-.1.7-.7.6-1 0-.1 0-.3-.2-.4l-5-3.5L8.2 7l.2-.2c.1-.3.1-.6 0-.8-.2-.2-.5-.4-.8-.4a.8.8 0 0 0-.3.1z\"/></svg>';var R_=n(11);const D_=\"code\";class L_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(D_,n=>{const i=t.commands.get(D_);const o=new sw(n);o.set({label:e(\"Code\"),icon:O_,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(D_);t.editing.view.focus()});return o})}}class z_ extends Dw{static get requires(){return[N_,L_]}static get pluginName(){return\"Code\"}}class V_{constructor(t){this.files=j_(t);this._native=t}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}}function j_(t){const e=t.files?Array.from(t.files):[];const n=t.items?Array.from(t.items):[];if(e.length){return e}return n.filter(t=>t.kind===\"file\").map(t=>t.getAsFile())}class B_ extends Qu{constructor(t){super(t);const e=this.document;this.domEventType=[\"paste\",\"copy\",\"cut\",\"drop\",\"dragover\"];this.listenTo(e,\"paste\",n,{priority:\"low\"});this.listenTo(e,\"drop\",n,{priority:\"low\"});function n(t,n){n.preventDefault();const i=n.dropRange?[n.dropRange]:Array.from(e.selection.getRanges());const o=new tr(e,\"clipboardInput\");e.fire(o,{dataTransfer:n.dataTransfer,targetRanges:i});if(o.stop.called){n.stopPropagation()}}}onDomEvent(t){const e={dataTransfer:new V_(t.clipboardData?t.clipboardData:t.dataTransfer)};if(t.type==\"drop\"){e.dropRange=F_(this.view,t)}this.fire(t.type,t,e)}}function F_(t,e){const n=e.target.ownerDocument;const i=e.clientX;const o=e.clientY;let s;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(i,o)){s=n.caretRangeFromPoint(i,o)}else if(e.rangeParent){s=n.createRange();s.setStart(e.rangeParent,e.rangeOffset);s.collapse(true)}if(s){return t.domConverter.domRangeToView(s)}else{return t.document.selection.getFirstRange()}}function H_(t){t=t.replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\n/g,\"</p><p>\").replace(/^\\s/,\"&nbsp;\").replace(/\\s$/,\"&nbsp;\").replace(/\\s\\s/g,\" &nbsp;\");if(t.indexOf(\"</p><p>\")>-1){t=`<p>${t}</p>`}return t}function U_(t){return t.replace(/<span(?: class=\"Apple-converted-space\"|)>(\\s+)<\\/span>/g,(t,e)=>{if(e.length==1){return\" \"}return e})}const W_=[\"figcaption\",\"li\"];function q_(t){let e=\"\";if(t.is(\"text\")||t.is(\"textProxy\")){e=t.data}else if(t.is(\"img\")&&t.hasAttribute(\"alt\")){e=t.getAttribute(\"alt\")}else{let n=null;for(const i of t.getChildren()){const t=q_(i);if(n&&(n.is(\"containerElement\")||i.is(\"containerElement\"))){if(W_.includes(n.name)||W_.includes(i.name)){e+=\"\\n\"}else{e+=\"\\n\\n\"}}e+=t;n=i}}return e}class $_ extends Dw{static get pluginName(){return\"Clipboard\"}init(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const i=n.document;this._htmlDataProcessor=new Ap(i);n.addObserver(B_);this.listenTo(i,\"clipboardInput\",e=>{if(t.isReadOnly){e.stop()}},{priority:\"highest\"});this.listenTo(i,\"clipboardInput\",(t,e)=>{const i=e.dataTransfer;let o=\"\";if(i.getData(\"text/html\")){o=U_(i.getData(\"text/html\"))}else if(i.getData(\"text/plain\")){o=H_(i.getData(\"text/plain\"))}o=this._htmlDataProcessor.toView(o);const s=new tr(this,\"inputTransformation\");this.fire(s,{content:o,dataTransfer:i});if(s.stop.called){t.stop()}n.scrollToTheSelection()},{priority:\"low\"});this.listenTo(this,\"inputTransformation\",(t,e)=>{if(!e.content.isEmpty){const n=this.editor.data;const i=this.editor.model;const o=n.toModel(e.content,\"$clipboardHolder\");if(o.childCount==0){return}i.insertContent(o);t.stop()}},{priority:\"low\"});function o(n,o){const s=o.dataTransfer;o.preventDefault();const r=t.data.toView(t.model.getSelectedContent(e.selection));i.fire(\"clipboardOutput\",{dataTransfer:s,content:r,method:n.name})}this.listenTo(i,\"copy\",o,{priority:\"low\"});this.listenTo(i,\"cut\",(e,n)=>{if(t.isReadOnly){n.preventDefault()}else{o(e,n)}},{priority:\"low\"});this.listenTo(i,\"clipboardOutput\",(n,i)=>{if(!i.content.isEmpty){i.dataTransfer.setData(\"text/html\",this._htmlDataProcessor.toData(i.content));i.dataTransfer.setData(\"text/plain\",q_(i.content))}if(i.method==\"cut\"){t.model.deleteContent(e.selection)}},{priority:\"low\"})}}function*Y_(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class G_ extends zw{execute(){const t=this.editor.model;const e=t.document;t.change(n=>{Q_(this.editor.model,n,e.selection,t.schema);this.fire(\"afterExecute\",{writer:n})})}}function Q_(t,e,n,i){const o=n.isCollapsed;const s=n.getFirstRange();const r=s.start.parent;const a=s.end.parent;if(i.isLimit(r)||i.isLimit(a)){if(!o&&r==a){t.deleteContent(n)}return}if(o){const t=Y_(e.model.schema,n.getAttributes());K_(e,s.start);e.setSelectionAttribute(t)}else{const i=!(s.start.isAtStart&&s.end.isAtEnd);const o=r==a;t.deleteContent(n,{leaveUnmerged:i});if(i){if(o){K_(e,n.focus)}else{e.setSelection(a,0)}}}}function K_(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}class J_ extends Yd{constructor(t){super(t);const e=this.document;e.on(\"keydown\",(t,n)=>{if(this.isEnabled&&n.keyCode==Rl.enter){let i;e.once(\"enter\",t=>i=t,{priority:\"highest\"});e.fire(\"enter\",new Gu(e,n.domEvent,{isSoft:n.shiftKey}));if(i&&i.stop.called){t.stop()}}})}observe(){}}class Z_ extends Dw{static get pluginName(){return\"Enter\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(J_);t.commands.add(\"enter\",new G_(t));this.listenTo(n,\"enter\",(n,i)=>{i.preventDefault();if(i.isSoft){return}t.execute(\"enter\");e.scrollToTheSelection()},{priority:\"low\"})}}class X_ extends zw{execute(){const t=this.editor.model;const e=t.document;t.change(n=>{ek(t,n,e.selection);this.fire(\"afterExecute\",{writer:n})})}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=tk(t.schema,e.selection)}}function tk(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,\"softBreak\")){return false}const i=e.getFirstRange();const o=i.start.parent;const s=i.end.parent;if((ik(o,t)||ik(s,t))&&o!==s){return false}return true}function ek(t,e,n){const i=n.isCollapsed;const o=n.getFirstRange();const s=o.start.parent;const r=o.end.parent;const a=s==r;if(i){const i=Y_(t.schema,n.getAttributes());nk(t,e,o.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(i)}else{const i=!(o.start.isAtStart&&o.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i});if(a){nk(t,e,n.focus)}else{if(i){e.setSelection(r,0)}}}}function nk(t,e,n){const i=e.createElement(\"softBreak\");t.insertContent(i,n);e.setSelection(i,\"after\")}function ik(t,e){if(t.is(\"rootElement\")){return false}return e.isLimit(t)||ik(t.parent,e)}class ok extends Dw{static get pluginName(){return\"ShiftEnter\"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const i=t.editing.view;const o=i.document;e.register(\"softBreak\",{allowWhere:\"$text\",isInline:true});n.for(\"upcast\").elementToElement({model:\"softBreak\",view:\"br\"});n.for(\"downcast\").elementToElement({model:\"softBreak\",view:(t,e)=>e.createEmptyElement(\"br\")});i.addObserver(J_);t.commands.add(\"shiftEnter\",new X_(t));this.listenTo(o,\"enter\",(e,n)=>{n.preventDefault();if(!n.isSoft){return}t.execute(\"shiftEnter\");i.scrollToTheSelection()},{priority:\"low\"})}}class sk extends zw{execute(){const t=this.editor.model;const e=t.schema.getLimitElement(t.document.selection);t.change(t=>{t.setSelection(e,\"in\")})}}const rk=Ll(\"Ctrl+A\");class ak extends Dw{static get pluginName(){return\"SelectAllEditing\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add(\"selectAll\",new sk(t));this.listenTo(n,\"keydown\",(e,n)=>{if(Dl(n)===rk){t.execute(\"selectAll\");n.preventDefault()}})}}var ck='<svg width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M.75 15.5a.75.75 0 0 1 .75.75V18l.008.09A.5.5 0 0 0 2 18.5h1.75a.75.75 0 1 1 0 1.5H1.5l-.144-.007a1.5 1.5 0 0 1-1.35-1.349L0 18.5v-2.25a.75.75 0 0 1 .75-.75zm18.5 0a.75.75 0 0 1 .75.75v2.25l-.007.144a1.5 1.5 0 0 1-1.349 1.35L18.5 20h-2.25a.75.75 0 1 1 0-1.5H18a.5.5 0 0 0 .492-.41L18.5 18v-1.75a.75.75 0 0 1 .75-.75zm-10.45 3c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm.45-5.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5h8.5zM1.3 11c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM1.3 7c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 1 1 0-1.5h2.5zm-5 0a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5h5.5zm-6.5-5a.75.75 0 0 1 0 1.5H2a.5.5 0 0 0-.492.41L1.5 2v1.75a.75.75 0 0 1-1.5 0V1.5l.007-.144A1.5 1.5 0 0 1 1.356.006L1.5 0h2.25zM18.5 0l.144.007a1.5 1.5 0 0 1 1.35 1.349L20 1.5v2.25a.75.75 0 1 1-1.5 0V2l-.008-.09A.5.5 0 0 0 18 1.5h-1.75a.75.75 0 1 1 0-1.5h2.25zM8.8 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6z\"/></svg>';class lk extends Dw{static get pluginName(){return\"SelectAllUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"selectAll\",e=>{const n=t.commands.get(\"selectAll\");const i=new sw(e);const o=e.t;i.set({label:o(\"Select all\"),icon:ck,keystroke:\"Ctrl+A\",tooltip:true});i.bind(\"isOn\",\"isEnabled\").to(n,\"value\",\"isEnabled\");this.listenTo(i,\"execute\",()=>{t.execute(\"selectAll\");t.editing.view.focus()});return i})}}class dk extends Dw{static get requires(){return[ak,lk]}static get pluginName(){return\"SelectAll\"}}class uk{constructor(t,e=20){this.model=t;this.size=0;this.limit=e;this.isLocked=false;this._changeCallback=(t,e)=>{if(e.type!=\"transparent\"&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on(\"change\",this._changeCallback);this.model.document.selection.on(\"change:range\",this._selectionChangeCallback);this.model.document.selection.on(\"change:attribute\",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch()}return this._batch}input(t){this.size+=t;if(this.size>=this.limit){this._reset(true)}}lock(){this.isLocked=true}unlock(){this.isLocked=false}destroy(){this.model.document.off(\"change\",this._changeCallback);this.model.document.selection.off(\"change:range\",this._selectionChangeCallback);this.model.document.selection.off(\"change:attribute\",this._selectionChangeCallback)}_reset(t){if(!this.isLocked||t){this._batch=null;this.size=0}}}class hk extends zw{constructor(t,e){super(t);this._buffer=new uk(t.model,e);this._batches=new WeakSet}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const i=t.text||\"\";const o=i.length;const s=t.range?e.createSelection(t.range):n.selection;const r=t.resultRange;e.enqueueChange(this._buffer.batch,t=>{this._buffer.lock();e.deleteContent(s);if(i){e.insertContent(t.createText(i,n.selection.getAttributes()),s)}if(r){t.setSelection(r)}else if(!s.is(\"documentSelection\")){t.setSelection(s)}this._buffer.unlock();this._buffer.input(o);this._batches.add(this._buffer.batch)})}}function fk(t){let e=null;const n=t.model;const i=t.editing.view;const o=t.commands.get(\"input\");if(Cl.isAndroid){i.document.on(\"beforeinput\",(t,e)=>s(e),{priority:\"lowest\"})}else{i.document.on(\"keydown\",(t,e)=>s(e),{priority:\"lowest\"})}i.document.on(\"compositionstart\",r,{priority:\"lowest\"});i.document.on(\"compositionend\",()=>{e=n.createSelection(n.document.selection)},{priority:\"lowest\"});function s(t){const s=n.document;const r=i.document.isComposing;const c=e&&e.isEqual(s.selection);e=null;if(!o.isEnabled){return}if(mk(t)||s.selection.isCollapsed){return}if(r&&t.keyCode===229){return}if(!r&&t.keyCode===229&&c){return}a()}function r(){const t=n.document;const e=t.selection.rangeCount===1?t.selection.getFirstRange().isFlat:true;if(t.selection.isCollapsed||e){return}a()}function a(){const t=o.buffer;t.lock();n.enqueueChange(t.batch,()=>{n.deleteContent(n.document.selection)});t.unlock()}}const gk=[Dl(\"arrowUp\"),Dl(\"arrowRight\"),Dl(\"arrowDown\"),Dl(\"arrowLeft\"),9,16,17,18,19,20,27,33,34,35,36,45,91,93,144,145,173,174,175,176,177,178,179,255];for(let t=112;t<=135;t++){gk.push(t)}function mk(t){if(t.ctrlKey){return true}return gk.includes(t.keyCode)}function pk(t,e){const n=[];let i=0;let o;t.forEach(t=>{if(t==\"equal\"){s();i++}else if(t==\"insert\"){if(r(\"insert\")){o.values.push(e[i])}else{s();o={type:\"insert\",index:i,values:[e[i]]}}i++}else{if(r(\"delete\")){o.howMany++}else{s();o={type:\"delete\",index:i,howMany:1}}}});s();return n;function s(){if(o){n.push(o);o=null}}function r(t){return o&&o.type==t}}function bk(t){if(t.length==0){return false}for(const e of t){if(e.type===\"children\"&&!wk(e)){return true}}return false}function wk(t){if(t.newChildren.length-t.oldChildren.length!=1){return}const e=kd(t.oldChildren,t.newChildren,_k);const n=pk(e,t.newChildren);if(n.length>1){return}const i=n[0];if(!(!!i.values[0]&&i.values[0].is(\"text\"))){return}return i}function _k(t,e){if(!!t&&t.is(\"text\")&&!!e&&e.is(\"text\")){return t.data===e.data}else{return t===e}}function kk(t){t.editing.view.document.on(\"mutations\",(e,n,i)=>{new vk(t).handle(n,i)})}class vk{constructor(t){this.editor=t;this.editing=this.editor.editing}handle(t,e){if(bk(t)){this._handleContainerChildrenMutations(t,e)}else{for(const n of t){this._handleTextMutation(n,e);this._handleTextNodeInsertion(n)}}}_handleContainerChildrenMutations(t,e){const n=yk(t);if(!n){return}const i=this.editor.editing.view.domConverter;const o=i.mapViewToDom(n);const s=new zd(this.editor.editing.view.document);const r=this.editor.data.toModel(s.domToView(o)).getChild(0);const a=this.editor.editing.mapper.toModelElement(n);if(!a){return}const c=Array.from(r.getChildren());const l=Array.from(a.getChildren());const d=c[c.length-1];const u=l[l.length-1];if(d&&d.is(\"softBreak\")&&u&&!u.is(\"softBreak\")){c.pop()}const h=this.editor.model.schema;if(!xk(c,h)||!xk(l,h)){return}const f=c.map(t=>t.is(\"text\")?t.data:\"@\").join(\"\").replace(/\\u00A0/g,\" \");const g=l.map(t=>t.is(\"text\")?t.data:\"@\").join(\"\").replace(/\\u00A0/g,\" \");if(g===f){return}const m=kd(g,f);const{firstChangeAt:p,insertions:b,deletions:w}=Ak(m);let _=null;if(e){_=this.editing.mapper.toModelRange(e.getFirstRange())}const k=f.substr(p,b);const v=this.editor.model.createRange(this.editor.model.createPositionAt(a,p),this.editor.model.createPositionAt(a,p+w));this.editor.execute(\"input\",{text:k,range:v,resultRange:_})}_handleTextMutation(t,e){if(t.type!=\"text\"){return}const n=t.newText.replace(/\\u00A0/g,\" \");const i=t.oldText.replace(/\\u00A0/g,\" \");if(i===n){return}const o=kd(i,n);const{firstChangeAt:s,insertions:r,deletions:a}=Ak(o);let c=null;if(e){c=this.editing.mapper.toModelRange(e.getFirstRange())}const l=this.editing.view.createPositionAt(t.node,s);const d=this.editing.mapper.toModelPosition(l);const u=this.editor.model.createRange(d,d.getShiftedBy(a));const h=n.substr(s,r);this.editor.execute(\"input\",{text:h,range:u,resultRange:c})}_handleTextNodeInsertion(t){if(t.type!=\"children\"){return}const e=wk(t);const n=this.editing.view.createPositionAt(t.node,e.index);const i=this.editing.mapper.toModelPosition(n);const o=e.values[0].data;this.editor.execute(\"input\",{text:o.replace(/\\u00A0/g,\" \"),range:this.editor.model.createRange(i)})}}function yk(t){const e=t.map(t=>t.node).reduce((t,e)=>t.getCommonAncestor(e,{includeSelf:true}));if(!e){return}return e.getAncestors({includeSelf:true,parentFirst:true}).find(t=>t.is(\"containerElement\")||t.is(\"rootElement\"))}function xk(t,e){return t.every(t=>e.isInline(t))}function Ak(t){let e=null;let n=null;for(let i=0;i<t.length;i++){const o=t[i];if(o!=\"equal\"){e=e===null?i:e;n=i}}let i=0;let o=0;for(let s=e;s<=n;s++){if(t[s]!=\"insert\"){i++}if(t[s]!=\"delete\"){o++}}return{insertions:o,deletions:i,firstChangeAt:e}}class Tk extends Dw{static get pluginName(){return\"Input\"}init(){const t=this.editor;const e=new hk(t,t.config.get(\"typing.undoStep\")||20);t.commands.add(\"input\",e);fk(t);kk(t)}isInput(t){const e=this.editor.commands.get(\"input\");return e._batches.has(t)}}class Ck extends zw{constructor(t,e){super(t);this.direction=e;this._buffer=new uk(t.model,t.config.get(\"typing.undoStep\"))}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,i=>{this._buffer.lock();const o=i.createSelection(t.selection||n.selection);const s=o.isCollapsed;if(o.isCollapsed){e.modifySelection(o,{direction:this.direction,unit:t.unit})}if(this._shouldEntireContentBeReplacedWithParagraph(t.sequence||1)){this._replaceEntireContentWithParagraph(i);return}if(o.isCollapsed){return}let r=0;o.getFirstRange().getMinimalFlatRanges().forEach(t=>{r+=gl(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))});e.deleteContent(o,{doNotResetEntireContent:s,direction:this.direction});this._buffer.input(r);i.setSelection(o);this._buffer.unlock()})}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const s=i.isCollapsed&&i.containsEntireContent(o);if(!s){return false}if(!e.schema.checkChild(o,\"paragraph\")){return false}const r=o.getChild(0);if(r&&r.name===\"paragraph\"){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const s=t.createElement(\"paragraph\");t.remove(t.createRangeIn(o));t.insert(s,o);t.setSelection(s,0)}}class Sk extends Yd{constructor(t){super(t);const e=t.document;let n=0;e.on(\"keyup\",(t,e)=>{if(e.keyCode==Rl.delete||e.keyCode==Rl.backspace){n=0}});e.on(\"keydown\",(t,e)=>{const o={};if(e.keyCode==Rl.delete){o.direction=\"forward\";o.unit=\"character\"}else if(e.keyCode==Rl.backspace){o.direction=\"backward\";o.unit=\"codePoint\"}else{return}const s=Cl.isMac?e.altKey:e.ctrlKey;o.unit=s?\"word\":o.unit;o.sequence=++n;i(t,e.domEvent,o)});if(Cl.isAndroid){e.on(\"beforeinput\",(e,n)=>{if(n.domEvent.inputType!=\"deleteContentBackward\"){return}const o={unit:\"codepoint\",direction:\"backward\",sequence:1};const s=n.domTarget.ownerDocument.defaultView.getSelection();if(s.anchorNode==s.focusNode&&s.anchorOffset+1!=s.focusOffset){o.selectionToRemove=t.domConverter.domSelectionToView(s)}i(e,n.domEvent,o)})}function i(t,n,i){let o;e.once(\"delete\",t=>o=t,{priority:Number.POSITIVE_INFINITY});e.fire(\"delete\",new Gu(e,n,i));if(o&&o.stop.called){t.stop()}}}observe(){}}class Pk extends Dw{static get pluginName(){return\"Delete\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(Sk);t.commands.add(\"forwardDelete\",new Ck(t,\"forward\"));t.commands.add(\"delete\",new Ck(t,\"backward\"));this.listenTo(n,\"delete\",(n,i)=>{const o={unit:i.unit,sequence:i.sequence};if(i.selectionToRemove){const e=t.model.createSelection();const n=[];for(const e of i.selectionToRemove.getRanges()){n.push(t.editing.mapper.toModelRange(e))}e.setTo(n);o.selection=e}t.execute(i.direction==\"forward\"?\"forwardDelete\":\"delete\",o);i.preventDefault();e.scrollToTheSelection()});if(Cl.isAndroid){let t=null;this.listenTo(n,\"delete\",(e,n)=>{const i=n.domTarget.ownerDocument.defaultView.getSelection();t={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}},{priority:\"lowest\"});this.listenTo(n,\"keyup\",(e,n)=>{if(t){const e=n.domTarget.ownerDocument.defaultView.getSelection();e.collapse(t.anchorNode,t.anchorOffset);e.extend(t.focusNode,t.focusOffset);t=null}})}}}class Ek extends Dw{static get requires(){return[Tk,Pk]}static get pluginName(){return\"Typing\"}}const Mk=new Map;function Ik(t,e,n){let i=Mk.get(t);if(!i){i=new Map;Mk.set(t,i)}i.set(e,n)}function Nk(t,e){const n=Mk.get(t);if(n&&n.has(e)){return n.get(e)}return Ok}function Ok(t){return[t]}function Rk(t,e,n={}){const i=Nk(t.constructor,e.constructor);try{t=t.clone();return i(t,e,n)}catch(t){throw t}}function Dk(t,e,n){t=t.slice();e=e.slice();const i=new Lk(n.document,n.useRelations,n.forceWeakRemove);i.setOriginalOperations(t);i.setOriginalOperations(e);const o=i.originalOperations;if(t.length==0||e.length==0){return{operationsA:t,operationsB:e,originalOperations:o}}const s=new WeakMap;for(const e of t){s.set(e,0)}const r={nextBaseVersionA:t[t.length-1].baseVersion+1,nextBaseVersionB:e[e.length-1].baseVersion+1,originalOperationsACount:t.length,originalOperationsBCount:e.length};let a=0;while(a<t.length){const n=t[a];const o=s.get(n);if(o==e.length){a++;continue}const r=e[o];const c=Rk(n,r,i.getContext(n,r,true));const l=Rk(r,n,i.getContext(r,n,false));i.updateRelation(n,r);i.setOriginalOperations(c,n);i.setOriginalOperations(l,r);for(const t of c){s.set(t,o+l.length)}t.splice(a,1,...c);e.splice(o,1,...l)}if(n.padWithNoOps){const n=t.length-r.originalOperationsACount;const i=e.length-r.originalOperationsBCount;Vk(t,i-n);Vk(e,n-i)}zk(t,r.nextBaseVersionB);zk(e,r.nextBaseVersionA);return{operationsA:t,operationsB:e,originalOperations:o}}class Lk{constructor(t,e,n=false){this.originalOperations=new Map;this._history=t.history;this._useRelations=e;this._forceWeakRemove=!!n;this._relations=new Map}setOriginalOperations(t,e=null){const n=e?this.originalOperations.get(e):null;for(const e of t){this.originalOperations.set(e,n||e)}}updateRelation(t,e){switch(t.constructor){case im:{switch(e.constructor){case cm:{if(t.targetPosition.isEqual(e.sourcePosition)||e.movedRange.containsPosition(t.targetPosition)){this._setRelation(t,e,\"insertAtSource\")}else if(t.targetPosition.isEqual(e.deletionPosition)){this._setRelation(t,e,\"insertBetween\")}else if(t.targetPosition.isAfter(e.sourcePosition)){this._setRelation(t,e,\"moveTargetAfter\")}break}case im:{if(t.targetPosition.isEqual(e.sourcePosition)||t.targetPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"insertBefore\")}else{this._setRelation(t,e,\"insertAfter\")}break}}break}case lm:{switch(e.constructor){case cm:{if(t.splitPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"splitBefore\")}break}case im:{if(t.splitPosition.isEqual(e.sourcePosition)||t.splitPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"splitBefore\")}break}}break}case cm:{switch(e.constructor){case cm:{if(!t.targetPosition.isEqual(e.sourcePosition)){this._setRelation(t,e,\"mergeTargetNotMoved\")}if(t.sourcePosition.isEqual(e.targetPosition)){this._setRelation(t,e,\"mergeSourceNotMoved\")}if(t.sourcePosition.isEqual(e.sourcePosition)){this._setRelation(t,e,\"mergeSameElement\")}break}case lm:{if(t.sourcePosition.isEqual(e.splitPosition)){this._setRelation(t,e,\"splitAtSource\")}}}break}case sm:{const n=t.newRange;if(!n){return}switch(e.constructor){case im:{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);const o=i.containsPosition(n.start)||i.start.isEqual(n.start);const s=i.containsPosition(n.end)||i.end.isEqual(n.end);if((o||s)&&!i.containsRange(n)){this._setRelation(t,e,{side:o?\"left\":\"right\",path:o?n.start.path.slice():n.end.path.slice()})}break}case cm:{const i=n.start.isEqual(e.targetPosition);const o=n.start.isEqual(e.deletionPosition);const s=n.end.isEqual(e.deletionPosition);const r=n.end.isEqual(e.sourcePosition);if(i||o||s||r){this._setRelation(t,e,{wasInLeftElement:i,wasStartBeforeMergedElement:o,wasEndBeforeMergedElement:s,wasInRightElement:r})}break}}break}}}getContext(t,e,n){return{aIsStrong:n,aWasUndone:this._wasUndone(t),bWasUndone:this._wasUndone(e),abRelation:this._useRelations?this._getRelation(t,e):null,baRelation:this._useRelations?this._getRelation(e,t):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(t){const e=this.originalOperations.get(t);return e.wasUndone||this._history.isUndoneOperation(e)}_getRelation(t,e){const n=this.originalOperations.get(e);const i=this._history.getUndoneOperation(n);if(!i){return null}const o=this.originalOperations.get(t);const s=this._relations.get(o);if(s){return s.get(i)||null}return null}_setRelation(t,e,n){const i=this.originalOperations.get(t);const o=this.originalOperations.get(e);let s=this._relations.get(i);if(!s){s=new Map;this._relations.set(i,s)}s.set(o,n)}}function zk(t,e){for(const n of t){n.baseVersion=e++}}function Vk(t,e){for(let n=0;n<e;n++){t.push(new Nm(0))}}Ik(em,em,(t,e,n)=>{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map(e=>new em(e,t.key,t.oldValue,t.newValue,0));const o=t.range.getIntersection(e.range);if(o){if(n.aIsStrong){i.push(new em(o,e.key,e.newValue,t.newValue,0))}}if(i.length==0){return[new Nm(0)]}return i}else{return[t]}});Ik(em,om,(t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes);const i=n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion));if(e.shouldReceiveAttributes){const n=jk(e,t.key,t.oldValue);if(n){i.unshift(n)}}return i}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]});function jk(t,e,n){const i=t.nodes;const o=i.getNode(0).getAttribute(e);if(o==n){return null}const s=new Qh(t.position,t.position.getShiftedBy(t.howMany));return new em(s,e,o,n,0)}Ik(em,cm,(t,e)=>{const n=[];if(t.range.start.hasSameParentAs(e.deletionPosition)){if(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition)){n.push(Qh._createFromPositionAndShift(e.graveyardPosition,1))}}const i=t.range._getTransformedByMergeOperation(e);if(!i.isCollapsed){n.push(i)}return n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion))});Ik(em,im,(t,e)=>{const n=Bk(t.range,e);return n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion))});function Bk(t,e){const n=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null;let o=[];if(n.containsRange(t,true)){i=t}else if(t.start.hasSameParentAs(n.start)){o=t.getDifference(n);i=t.getIntersection(n)}else{o=[t]}const s=[];for(let t of o){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const i=t.start.hasSameParentAs(n);t=t._getTransformedByInsertion(n,e.howMany,i);s.push(...t)}if(i){s.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return s}Ik(em,lm,(t,e)=>{if(t.range.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.range.end.offset++}return[t]}if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();n.range=new Qh(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition));t.range.end=e.splitPosition.clone();t.range.end.stickiness=\"toPrevious\";return[t,n]}t.range=t.range._getTransformedBySplitOperation(e);return[t]});Ik(om,em,(t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=jk(t,e.key,e.newValue);if(i){n.push(i)}}return n});Ik(om,om,(t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]});Ik(om,im,(t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]});Ik(om,lm,(t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]});Ik(om,cm,(t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]});Ik(sm,om,(t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]});Ik(sm,sm,(t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new Nm(0)]}}return[t]});Ik(sm,cm,(t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]});Ik(sm,im,(t,e,n)=>{if(t.oldRange){t.oldRange=Qh._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const i=Qh._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(n.abRelation.side==\"left\"&&e.targetPosition.isEqual(t.newRange.start)){t.newRange.start.path=n.abRelation.path;t.newRange.end=i.end;return[t]}else if(n.abRelation.side==\"right\"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=i.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=Qh._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]});Ik(sm,lm,(t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=qh._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=qh._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=qh._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=qh._createAt(e.insertionPosition)}else{t.newRange.end=i.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]});Ik(cm,om,(t,e)=>{if(t.sourcePosition.hasSameParentAs(e.position)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e);t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e);return[t]});Ik(cm,cm,(t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new Nm(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new qh(e.graveyardPosition.root,n);t.howMany=0;return[t]}}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&n.abRelation!=\"splitAtSource\"){const i=t.targetPosition.root.rootName==\"$graveyard\";const o=e.targetPosition.root.rootName==\"$graveyard\";const s=i&&!o;const r=o&&!i;const a=r||!s&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const i=t.targetPosition._getTransformedByMergeOperation(e);return[new im(n,t.howMany,i,0)]}else{return[new Nm(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e);t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);if(!t.graveyardPosition.isEqual(e.graveyardPosition)||!n.aIsStrong){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]});Ik(cm,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)){return[new Nm(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}if(t.sourcePosition.hasSameParentAs(e.sourcePosition)){t.howMany-=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e);t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e);if(!t.graveyardPosition.isEqual(e.targetPosition)){t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}return[t]});Ik(cm,lm,(t,e,n)=>{if(e.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1);if(t.deletionPosition.isEqual(e.graveyardPosition)){t.howMany=e.howMany}}if(t.targetPosition.isEqual(e.splitPosition)){const i=e.howMany!=0;const o=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(i||o||n.abRelation==\"mergeTargetNotMoved\"){t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.isEqual(e.splitPosition)){if(n.abRelation==\"mergeSourceNotMoved\"){t.howMany=0;t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}if(n.abRelation==\"mergeSameElement\"||t.sourcePosition.offset>0){t.sourcePosition=e.moveTargetPosition.clone();t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.hasSameParentAs(e.splitPosition)){t.howMany=e.splitPosition.offset}t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]});Ik(im,om,(t,e)=>{const n=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=i.start;t.howMany=i.end.offset-i.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]});Ik(im,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);let s=n.aIsStrong;let r=!n.aIsStrong;if(n.abRelation==\"insertBefore\"||n.baRelation==\"insertAfter\"){r=true}else if(n.abRelation==\"insertAfter\"||n.baRelation==\"insertBefore\"){r=false}let a;if(t.targetPosition.isEqual(e.targetPosition)&&r){a=t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)}else{a=t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}if(Fk(t,e)&&Fk(e,t)){return[e.getReversed()]}const c=i.containsPosition(e.targetPosition);if(c&&i.containsRange(o,true)){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return Hk([i],a)}const l=o.containsPosition(t.targetPosition);if(l&&o.containsRange(i,true)){i.start=i.start._getCombined(e.sourcePosition,e.getMovedRangeStart());i.end=i.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return Hk([i],a)}const d=Dr(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(d==\"prefix\"||d==\"extension\"){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return Hk([i],a)}if(t.type==\"remove\"&&e.type!=\"remove\"&&!n.aWasUndone&&!n.forceWeakRemove){s=true}else if(t.type!=\"remove\"&&e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){s=false}const u=[];const h=i.getDifference(o);for(const t of h){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany);t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=Dr(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())==\"same\";const i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);u.push(...i)}const f=i.getIntersection(o);if(f!==null&&s){f.start=f.start._getCombined(e.sourcePosition,e.getMovedRangeStart());f.end=f.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(u.length===0){u.push(f)}else if(u.length==1){if(o.start.isBefore(i.start)||o.start.isEqual(i.start)){u.unshift(f)}else{u.push(f)}}else{u.splice(1,0,f)}}if(u.length===0){return[new Nm(t.baseVersion)]}return Hk(u,a)});Ik(im,lm,(t,e,n)=>{let i=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation==\"moveTargetAfter\"){i=t.targetPosition._getTransformedBySplitOperation(e)}const o=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=i;return[t]}if(o.start.hasSameParentAs(e.splitPosition)&&o.containsPosition(e.splitPosition)){let t=new Qh(e.splitPosition,o.end);t=t._getTransformedBySplitOperation(e);const n=[new Qh(o.start,e.splitPosition),t];return Hk(n,i)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation==\"insertAtSource\"){i=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation==\"insertBetween\"){i=t.targetPosition}const s=o._getTransformedBySplitOperation(e);const r=[s];if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(t.howMany>1&&i&&!n.aWasUndone){r.push(Qh._createFromPositionAndShift(e.insertionPosition,1))}}return Hk(r,i)});Ik(im,cm,(t,e,n)=>{const i=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition)){if(t.type==\"remove\"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone();let o=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new im(t.sourcePosition,t.howMany-1,t.targetPosition,0));i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const s=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const r=new im(i,1,s,0);const a=r.getMovedRangeStart().path.slice();a.push(0);const c=new qh(r.targetPosition.root,a);o=o._getTransformedByMove(i,s,1);const l=new im(o,e.howMany,c,0);n.push(r);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new Nm(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const o=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const s=o._getTransformedByMergeOperation(e);t.sourcePosition=s.start;t.howMany=s.end.offset-s.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]});Ik(rm,om,(t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]});Ik(rm,cm,(t,e)=>{if(t.position.isEqual(e.deletionPosition)){t.position=e.graveyardPosition.clone();t.position.stickiness=\"toNext\";return[t]}t.position=t.position._getTransformedByMergeOperation(e);return[t]});Ik(rm,im,(t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]});Ik(rm,rm,(t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new Nm(0)]}}return[t]});Ik(rm,lm,(t,e)=>{const n=t.position.path;const i=e.splitPosition.getParentPath();if(Dr(n,i)==\"same\"&&!e.graveyardPosition){const e=new rm(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]});Ik(am,am,(t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new Nm(0)]}else{t.oldValue=e.newValue}}return[t]});Ik(lm,om,(t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset<e.position.offset){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByInsertOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]});Ik(lm,cm,(t,e,n)=>{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new qh(e.graveyardPosition.root,n);const o=lm.getInsertionPosition(new qh(e.graveyardPosition.root,n));const s=new lm(i,0,null,0);s.insertionPosition=o;t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);t.graveyardPosition=s.insertionPosition.clone();t.graveyardPosition.stickiness=\"toNext\";return[s,t]}if(t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)){t.howMany--}if(t.splitPosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]});Ik(lm,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&o){const n=t.splitPosition._getTransformedByMoveOperation(e);const i=t.graveyardPosition._getTransformedByMoveOperation(e);const o=i.path.slice();o.push(0);const s=new qh(i.root,o);const r=new im(n,t.howMany,s,0);return[r]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);t.howMany-=n;if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset<e.targetPosition.offset){t.howMany+=e.howMany}t.splitPosition=e.sourcePosition.clone();t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]}const o=t.splitPosition.isEqual(e.targetPosition);if(o&&(n.baRelation==\"insertAtSource\"||n.abRelation==\"splitBefore\")){t.howMany+=e.howMany;t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]}if(!e.sourcePosition.isEqual(e.targetPosition)){if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&t.splitPosition.offset<=e.sourcePosition.offset){t.howMany-=e.howMany}if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset<e.targetPosition.offset){t.howMany+=e.howMany}}t.splitPosition.stickiness=\"toNone\";t.splitPosition=t.splitPosition._getTransformedByMoveOperation(e);t.splitPosition.stickiness=\"toNext\";if(t.graveyardPosition){t.insertionPosition=t.insertionPosition._getTransformedByMoveOperation(e)}else{t.insertionPosition=lm.getInsertionPosition(t.splitPosition)}return[t]});Ik(lm,lm,(t,e,n)=>{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new Nm(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new Nm(0)]}if(n.abRelation==\"splitBefore\"){t.howMany=0;t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e);return[t]}}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const i=t.splitPosition.root.rootName==\"$graveyard\";const o=e.splitPosition.root.rootName==\"$graveyard\";const s=i&&!o;const r=o&&!i;const a=r||!s&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new im(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new im(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new Nm(0)]}}if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)}if(t.splitPosition.isEqual(e.insertionPosition)&&n.abRelation==\"splitBefore\"){t.howMany++;return[t]}if(e.splitPosition.isEqual(t.insertionPosition)&&n.baRelation==\"splitBefore\"){const n=e.insertionPosition.path.slice();n.push(0);const i=new qh(e.insertionPosition.root,n);const o=new im(t.insertionPosition,1,i,0);return[t,o]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset<e.splitPosition.offset){t.howMany-=e.howMany}t.splitPosition=t.splitPosition._getTransformedBySplitOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]});function Fk(t,e){return t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)===null}function Hk(t,e){const n=[];for(let i=0;i<t.length;i++){const o=t[i];const s=new im(o.start,o.end.offset-o.start.offset,e,0);n.push(s);for(let e=i+1;e<t.length;e++){t[e]=t[e]._getTransformedByMove(s.sourcePosition,s.targetPosition,s.howMany)[0]}e=e._getTransformedByMove(s.sourcePosition,s.targetPosition,s.howMany)}return n}class Uk extends zw{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh()}refresh(){this.isEnabled=this._stack.length>0}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model;const o=i.document;const s=[];for(const e of t){const t=Wk(e,n);const i=t.find(t=>t.start.root!=o.graveyard);if(i){s.push(i)}}if(s.length){i.change(t=>{t.setSelection(s,{backward:e})})}}_undo(t,e){const n=this.editor.model;const i=n.document;this._createdBatches.add(e);const o=t.operations.slice().filter(t=>t.isDocumentOperation);o.reverse();for(const t of o){const o=t.baseVersion+1;const s=Array.from(i.history.getOperations(o));const r=Dk([t.getReversed()],s,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=r.operationsA;for(const o of a){e.addOperation(o);n.applyOperation(o);i.history.setOperationAsUndone(t,o)}}}}function Wk(t,e){const n=t.getTransformedByOperations(e);n.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;t<n.length;t++){const e=n[t-1];const i=n[t];if(e.end.isTouching(i.start)){e.end=i.end;n.splice(t,1);t--}}return n}class qk extends Uk{execute(t=null){const e=t?this._stack.findIndex(e=>e.batch==t):this._stack.length-1;const n=this._stack.splice(e,1)[0];const i=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t);this.fire(\"revert\",n.batch,i)});this.refresh()}}class $k extends Uk{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(e,()=>{const n=t.batch.operations[t.batch.operations.length-1];const i=n.baseVersion+1;const o=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o);this._undo(t.batch,e)});this.refresh()}}class Yk extends Dw{static get pluginName(){return\"UndoEditing\"}constructor(t){super(t);this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new qk(t);this._redoCommand=new $k(t);t.commands.add(\"undo\",this._undoCommand);t.commands.add(\"redo\",this._redoCommand);this.listenTo(t.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const i=n.batch;const o=this._redoCommand._createdBatches.has(i);const s=this._undoCommand._createdBatches.has(i);const r=this._batchRegistry.has(i);if(r||i.type==\"transparent\"&&!o&&!s){return}else{if(o){this._undoCommand.addBatch(i)}else if(!s){this._undoCommand.addBatch(i);this._redoCommand.clearStack()}}this._batchRegistry.add(i)},{priority:\"highest\"});this.listenTo(this._undoCommand,\"revert\",(t,e,n)=>{this._redoCommand.addBatch(n)});t.keystrokes.set(\"CTRL+Z\",\"undo\");t.keystrokes.set(\"CTRL+Y\",\"redo\");t.keystrokes.set(\"CTRL+SHIFT+Z\",\"redo\")}}var Gk='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.042 9.367l2.189 1.837a.75.75 0 0 1-.965 1.149l-3.788-3.18a.747.747 0 0 1-.21-.284.75.75 0 0 1 .17-.945L6.23 4.762a.75.75 0 1 1 .964 1.15L4.863 7.866h8.917A.75.75 0 0 1 14 7.9a4 4 0 1 1-1.477 7.718l.344-1.489a2.5 2.5 0 1 0 1.094-4.73l.008-.032H5.042z\"/></svg>';var Qk='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.958 9.367l-2.189 1.837a.75.75 0 0 0 .965 1.149l3.788-3.18a.747.747 0 0 0 .21-.284.75.75 0 0 0-.17-.945L13.77 4.762a.75.75 0 1 0-.964 1.15l2.331 1.955H6.22A.75.75 0 0 0 6 7.9a4 4 0 1 0 1.477 7.718l-.344-1.489A2.5 2.5 0 1 1 6.039 9.4l-.008-.032h8.927z\"/></svg>';class Kk extends Dw{init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection==\"ltr\"?Gk:Qk;const o=e.uiLanguageDirection==\"ltr\"?Qk:Gk;this._addButton(\"undo\",n(\"Undo\"),\"CTRL+Z\",i);this._addButton(\"redo\",n(\"Redo\"),\"CTRL+Y\",o)}_addButton(t,e,n,i){const o=this.editor;o.ui.componentFactory.add(t,s=>{const r=o.commands.get(t);const a=new sw(s);a.set({label:e,icon:i,keystroke:n,tooltip:true});a.bind(\"isEnabled\").to(r,\"isEnabled\");this.listenTo(a,\"execute\",()=>{o.execute(t);o.editing.view.focus()});return a})}}class Jk extends Dw{static get requires(){return[Yk,Kk]}static get pluginName(){return\"Undo\"}}class Zk extends Dw{static get requires(){return[$_,Z_,dk,ok,Ek,Jk]}static get pluginName(){return\"Essentials\"}}class Xk extends zw{refresh(){const t=this.editor.model;const e=t.document;const n=jw(e.selection.getSelectedBlocks());this.value=!!n&&n.is(\"paragraph\");this.isEnabled=!!n&&tv(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;e.change(i=>{const o=(t.selection||n.selection).getSelectedBlocks();for(const t of o){if(!t.is(\"paragraph\")&&tv(t,e.schema)){i.rename(t,\"paragraph\")}}})}}function tv(t,e){return e.checkChild(t.parent,\"paragraph\")&&!e.isObject(t)}class ev extends zw{execute(t){const e=this.editor.model;if(!e.schema.checkChild(t.position,\"paragraph\")){return}e.change(n=>{const i=n.createElement(\"paragraph\");e.insertContent(i,t.position);n.setSelection(i,\"in\")})}}class nv extends Dw{static get pluginName(){return\"Paragraph\"}init(){const t=this.editor;const e=t.model;const n=t.data;t.commands.add(\"paragraph\",new Xk(t));t.commands.add(\"insertParagraph\",new ev(t));e.schema.register(\"paragraph\",{inheritAllFrom:\"$block\"});t.conversion.elementToElement({model:\"paragraph\",view:\"p\"});t.conversion.for(\"upcast\").elementToElement({model:(t,e)=>{if(!nv.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement(\"paragraph\")},converterPriority:\"low\"});n.upcastDispatcher.on(\"element\",(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:e.viewItem.name})){return}if(ov(e.viewItem,e.modelCursor,n.schema)){Object.assign(e,iv(e.viewItem,e.modelCursor,n))}},{priority:\"low\"});n.upcastDispatcher.on(\"text\",(t,e,n)=>{if(e.modelRange){return}if(ov(e.viewItem,e.modelCursor,n.schema)){Object.assign(e,iv(e.viewItem,e.modelCursor,n))}},{priority:\"lowest\"});e.document.registerPostFixer(t=>this._autoparagraphEmptyRoots(t));t.data.on(\"ready\",()=>{e.enqueueChange(\"transparent\",t=>this._autoparagraphEmptyRoots(t))},{priority:\"lowest\"})}_autoparagraphEmptyRoots(t){const e=this.editor.model;for(const n of e.document.getRootNames()){const i=e.document.getRoot(n);if(i.isEmpty&&i.rootName!=\"$graveyard\"){if(e.schema.checkChild(i,\"paragraph\")){t.insertElement(\"paragraph\",i);return true}}}}}nv.paragraphLikeElements=new Set([\"blockquote\",\"dd\",\"div\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"p\",\"td\"]);function iv(t,e,n){const i=n.writer.createElement(\"paragraph\");n.writer.insert(i,e);return n.convertItem(t,n.writer.createPositionAt(i,0))}function ov(t,e,n){const i=n.createContext(e);if(!n.checkChild(i,\"paragraph\")){return false}if(!n.checkChild(i.push(\"paragraph\"),t)){return false}return true}class sv extends zw{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some(e=>rv(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model;const n=e.document;const i=t.value;e.change(t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter(t=>rv(t,i,e.schema));for(const e of o){if(!e.is(i)){t.rename(e,i)}}})}}function rv(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const av=\"paragraph\";class cv extends Dw{static get pluginName(){return\"HeadingEditing\"}constructor(t){super(t);t.config.define(\"heading\",{options:[{model:\"paragraph\",title:\"Paragraph\",class:\"ck-heading_paragraph\"},{model:\"heading1\",view:\"h2\",title:\"Heading 1\",class:\"ck-heading_heading1\"},{model:\"heading2\",view:\"h3\",title:\"Heading 2\",class:\"ck-heading_heading2\"},{model:\"heading3\",view:\"h4\",title:\"Heading 3\",class:\"ck-heading_heading3\"}]})}static get requires(){return[nv]}init(){const t=this.editor;const e=t.config.get(\"heading.options\");const n=[];for(const i of e){if(i.model!==av){t.model.schema.register(i.model,{inheritAllFrom:\"$block\"});t.conversion.elementToElement(i);n.push(i.model)}}this._addDefaultH1Conversion(t);t.commands.add(\"heading\",new sv(t,n))}afterInit(){const t=this.editor;const e=t.commands.get(\"enter\");const n=t.config.get(\"heading.options\");if(e){this.listenTo(e,\"afterExecute\",(e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;const s=n.some(t=>o.is(t.model));if(s&&!o.is(av)&&o.childCount===0){i.writer.rename(o,av)}})}}_addDefaultH1Conversion(t){t.conversion.for(\"upcast\").elementToElement({model:\"heading1\",view:\"h1\",converterPriority:or.get(\"low\")+1})}}class lv{constructor(t,e){if(e){qc(this,e)}if(t){this.set(t)}}}yr(lv,Kc);function dv(t){const e=t.t;const n={Paragraph:e(\"Paragraph\"),\"Heading 1\":e(\"Heading 1\"),\"Heading 2\":e(\"Heading 2\"),\"Heading 3\":e(\"Heading 3\"),\"Heading 4\":e(\"Heading 4\"),\"Heading 5\":e(\"Heading 5\"),\"Heading 6\":e(\"Heading 6\")};return t.config.get(\"heading.options\").map(t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t})}var uv=n(12);class hv extends Dw{init(){const t=this.editor;const e=t.t;const n=dv(t);const i=e(\"Choose heading\");const o=e(\"Heading\");t.ui.componentFactory.add(\"heading\",e=>{const s={};const r=new xr;const a=t.commands.get(\"heading\");const c=t.commands.get(\"paragraph\");const l=[a];for(const t of n){const e={type:\"button\",model:new lv({label:t.title,class:t.class,withText:true})};if(t.model===\"paragraph\"){e.model.bind(\"isOn\").to(c,\"value\");e.model.set(\"commandName\",\"paragraph\");l.push(c)}else{e.model.bind(\"isOn\").to(a,\"value\",e=>e===t.model);e.model.set({commandName:\"heading\",commandValue:t.model})}r.add(e);s[t.model]=t.title}const d=bw(e);_w(d,r);d.buttonView.set({isOn:false,withText:true,tooltip:o});d.extendTemplate({attributes:{class:[\"ck-heading-dropdown\"]}});d.bind(\"isEnabled\").toMany(l,\"isEnabled\",(...t)=>t.some(t=>t));d.buttonView.bind(\"label\").to(a,\"value\",c,\"value\",(t,e)=>{const n=t||e&&\"paragraph\";return s[n]?s[n]:i});this.listenTo(d,\"execute\",e=>{t.execute(e.source.commandName,e.source.commandValue?{value:e.source.commandValue}:undefined);t.editing.view.focus()});return d})}}class fv extends Dw{static get requires(){return[cv,hv]}static get pluginName(){return\"Heading\"}}class gv extends Yd{observe(t){this.listenTo(t,\"load\",(t,e)=>{const n=e.target;if(n.tagName==\"IMG\"){this._fireEvents(e)}},{useCapture:true})}_fireEvents(t){if(this.isEnabled){this.document.fire(\"layoutChanged\");this.document.fire(\"imageLoaded\",t)}}}class mv{constructor(){this._stack=[]}add(t,e){const n=this._stack;const i=n[0];this._insertDescriptor(t);const o=n[0];if(i!==o&&!pv(i,o)){this.fire(\"change:top\",{oldDescriptor:i,newDescriptor:o,writer:e})}}remove(t,e){const n=this._stack;const i=n[0];this._removeDescriptor(t);const o=n[0];if(i!==o&&!pv(i,o)){this.fire(\"change:top\",{oldDescriptor:i,newDescriptor:o,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex(e=>e.id===t.id);if(pv(t,e[n])){return}if(n>-1){e.splice(n,1)}let i=0;while(e[i]&&bv(e[i],t)){i++}e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex(e=>e.id===t);if(n>-1){e.splice(n,1)}}}yr(mv,dr);function pv(t,e){return t&&e&&t.priority==e.priority&&wv(t.classes)==wv(e.classes)}function bv(t,e){if(t.priority>e.priority){return true}else if(t.priority<e.priority){return false}return wv(t.classes)>wv(e.classes)}function wv(t){return Array.isArray(t)?t.sort().join(\",\"):t}var _v=n(48);const kv=Nb(\"px\");const vv=Nd.document.body;class yv extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"position\",\"arrow_nw\");this.set(\"isVisible\",false);this.set(\"withArrow\",true);this.set(\"class\");this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-panel\",e.to(\"position\",t=>`ck-balloon-panel_${t}`),e.if(\"isVisible\",\"ck-balloon-panel_visible\"),e.if(\"withArrow\",\"ck-balloon-panel_with-arrow\"),e.to(\"class\")],style:{top:e.to(\"top\",kv),left:e.to(\"left\",kv)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=yv.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast],limiter:vv,fitInViewport:true},t);const i=yv._getOptimalPosition(n);const o=parseInt(i.left);const s=parseInt(i.top);const r=i.name;Object.assign(this,{top:s,left:o,position:r})}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,\"change:isVisible\",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,\"change:isVisible\",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=xv(t.target);const n=t.limiter?xv(t.limiter):vv;this.listenTo(Nd.document,\"scroll\",(i,o)=>{const s=o.target;const r=e&&s.contains(e);const a=n&&s.contains(n);if(r||a||!e||!n){this.attachTo(t)}},{useCapture:true});this.listenTo(Nd.window,\"resize\",()=>{this.attachTo(t)})}_stopPinning(){this.stopListening(Nd.document,\"scroll\");this.stopListening(Nd.window,\"resize\")}}function xv(t){if(Gs(t)){return t}if(wh(t)){return t.commonAncestorContainer}if(typeof t==\"function\"){return xv(t())}return null}yv.arrowHorizontalOffset=25;yv.arrowVerticalOffset=10;yv._getOptimalPosition=$b;yv.defaultPositions={northWestArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.left-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northWestArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.left-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northWestArrowSouth:(t,e)=>({top:Av(t,e),left:t.left-e.width/2,name:\"arrow_s\"}),northWestArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.left-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northWestArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.left-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),northArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northArrowSouth:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_s\"}),northArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),northEastArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.right-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northEastArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.right-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northEastArrowSouth:(t,e)=>({top:Av(t,e),left:t.right-e.width/2,name:\"arrow_s\"}),northEastArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.right-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northEastArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.right-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),southWestArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.left-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southWestArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.left-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southWestArrowNorth:(t,e)=>({top:Tv(t,e),left:t.left-e.width/2,name:\"arrow_n\"}),southWestArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.left-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southWestArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.left-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"}),southArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southArrowNorth:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_n\"}),southArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"}),southEastArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.right-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southEastArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.right-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southEastArrowNorth:(t,e)=>({top:Tv(t,e),left:t.right-e.width/2,name:\"arrow_n\"}),southEastArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.right-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southEastArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.right-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"})};function Av(t,e){return t.top-e.height-yv.arrowVerticalOffset}function Tv(t){return t.bottom+yv.arrowVerticalOffset}var Cv='<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4 0v1H1v3H0V.5A.5.5 0 0 1 .5 0H4zm8 0h3.5a.5.5 0 0 1 .5.5V4h-1V1h-3V0zM4 16H.5a.5.5 0 0 1-.5-.5V12h1v3h3v1zm8 0v-1h3v-3h1v3.5a.5.5 0 0 1-.5.5H12z\"/><path fill-opacity=\".256\" d=\"M1 1h14v14H1z\"/><g class=\"ck-icon__selected-indicator\"><path d=\"M7 0h2v1H7V0zM0 7h1v2H0V7zm15 0h1v2h-1V7zm-8 8h2v1H7v-1z\"/><path fill-opacity=\".254\" d=\"M1 1h14v14H1z\"/></g></svg>';const Sv=\"ck-widget\";const Pv=\"ck-widget_selected\";function Ev(t){if(!t.is(\"element\")){return false}return!!t.getCustomProperty(\"widget\")}function Mv(t,e,n={}){e.setAttribute(\"contenteditable\",\"false\",t);e.addClass(Sv,t);e.setCustomProperty(\"widget\",true,t);t.getFillerOffset=Vv;if(n.label){Nv(t,n.label,e)}if(n.hasSelectionHandle){jv(t,e)}Iv(t,e,(t,e,n)=>n.addClass(i(e.classes),t),(t,e,n)=>n.removeClass(i(e.classes),t));return t;function i(t){return Array.isArray(t)?t:[t]}}function Iv(t,e,n,i){const o=new mv;o.on(\"change:top\",(e,o)=>{if(o.oldDescriptor){i(t,o.oldDescriptor,o.writer)}if(o.newDescriptor){n(t,o.newDescriptor,o.writer)}});e.setCustomProperty(\"addHighlight\",(t,e,n)=>o.add(e,n),t);e.setCustomProperty(\"removeHighlight\",(t,e,n)=>o.remove(e,n),t)}function Nv(t,e,n){n.setCustomProperty(\"widgetLabel\",e,t)}function Ov(t){const e=t.getCustomProperty(\"widgetLabel\");if(!e){return\"\"}return typeof e==\"function\"?e():e}function Rv(t,e){e.addClass([\"ck-editor__editable\",\"ck-editor__nested-editable\"],t);e.setAttribute(\"contenteditable\",t.isReadOnly?\"false\":\"true\",t);t.on(\"change:isReadOnly\",(n,i,o)=>{e.setAttribute(\"contenteditable\",o?\"false\":\"true\",t)});t.on(\"change:isFocused\",(n,i,o)=>{if(o){e.addClass(\"ck-editor__nested-editable_focused\",t)}else{e.removeClass(\"ck-editor__nested-editable_focused\",t)}});return t}function Dv(t,e){const n=t.getSelectedElement();if(n&&e.schema.isBlock(n)){return e.createPositionAfter(n)}const i=t.getSelectedBlocks().next().value;if(i){if(i.isEmpty){return e.createPositionAt(i,0)}const n=e.createPositionAfter(i);if(t.focus.isTouching(n)){return n}return e.createPositionBefore(i)}return t.focus}function Lv(t,e){return(n,i)=>{const{mapper:o,viewPosition:s}=i;const r=o.findMappedViewAncestor(s);if(!e(r)){return}const a=o.toModelElement(r);i.modelPosition=t.createPositionAt(a,s.isAtStart?\"before\":\"after\")}}function zv(t,e){const n=new vh(Nd.window);const i=n.getIntersection(t);const o=e.height+yv.arrowVerticalOffset;if(t.top-o>n.top||t.bottom+o<n.bottom){return null}const s=i||t;const r=s.left+s.width/2-e.width/2;return{top:Math.max(t.top,0)+yv.arrowVerticalOffset,left:r,name:\"arrow_n\"}}function Vv(){return null}function jv(t,e){const n=e.createUIElement(\"div\",{class:\"ck ck-widget__selection-handle\"},(function(t){const e=this.toDomElement(t);const n=new ew;n.set(\"content\",Cv);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass([\"ck-widget_with-selection-handle\"],t)}function Bv(t,e,n){e.setCustomProperty(\"image\",true,t);return Mv(t,e,{label:i});function i(){const e=$v(t);const i=e.getAttribute(\"alt\");return i?`${i} ${n}`:n}}function Fv(t){return!!t.getCustomProperty(\"image\")&&Ev(t)}function Hv(t){const e=t.getSelectedElement();if(e&&Fv(e)){return e}return null}function Uv(t){return!!t&&t.is(\"image\")}function Wv(t,e,n={}){const i=t.createElement(\"image\",n);const o=Dv(e.document.selection,e);e.insertContent(i,o);if(i.parent){t.setSelection(i,\"on\")}}function qv(t){const e=t.schema;const n=t.document.selection;return Yv(n,e,t)&&!Gv(n,e)&&Qv(n)}function $v(t){return Array.from(t.getChildren()).find(t=>t.is(\"img\"))}function Yv(t,e,n){const i=Kv(t,n);return e.checkChild(i,\"image\")}function Gv(t,e){const n=t.getSelectedElement();return n&&e.isObject(n)}function Qv(t){return[...t.focus.getAncestors()].every(t=>!t.is(\"image\"))}function Kv(t,e){const n=Dv(t,e);const i=n.parent;if(i.isEmpty&&!i.is(\"$root\")){return i.parent}return i}function Jv(){return e=>{e.on(\"element:figure\",t)};function t(t,e,n){if(!n.consumable.test(e.viewItem,{name:true,classes:\"image\"})){return}const i=$v(e.viewItem);if(!i||!i.hasAttribute(\"src\")||!n.consumable.test(i,{name:true})){return}const o=n.convertItem(i,e.modelCursor);const s=jw(o.modelRange.getItems());if(!s){return}n.convertChildren(e.viewItem,n.writer.createPositionAt(s,0));e.modelRange=o.modelRange;e.modelCursor=o.modelCursor}}function Zv(){return e=>{e.on(\"attribute:srcset:image\",t)};function t(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);const s=$v(o);if(e.attributeNewValue===null){const t=e.attributeOldValue;if(t.data){i.removeAttribute(\"srcset\",s);i.removeAttribute(\"sizes\",s);if(t.width){i.removeAttribute(\"width\",s)}}}else{const t=e.attributeNewValue;if(t.data){i.setAttribute(\"srcset\",t.data,s);i.setAttribute(\"sizes\",\"100vw\",s);if(t.width){i.setAttribute(\"width\",t.width,s)}}}}}function Xv(t){return n=>{n.on(`attribute:${t}:image`,e)};function e(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);const s=$v(o);if(e.attributeNewValue!==null){i.setAttribute(e.attributeKey,e.attributeNewValue,s)}else{i.removeAttribute(e.attributeKey,s)}}}class ty extends zw{refresh(){this.isEnabled=qv(this.editor.model)}execute(t){const e=this.editor.model;e.change(n=>{const i=Array.isArray(t.source)?t.source:[t.source];for(const t of i){Wv(n,e,{src:t})}})}}class ey extends Dw{static get pluginName(){return\"ImageEditing\"}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;t.editing.view.addObserver(gv);e.register(\"image\",{isObject:true,isBlock:true,allowWhere:\"$block\",allowAttributes:[\"alt\",\"src\",\"srcset\"]});i.for(\"dataDowncast\").elementToElement({model:\"image\",view:(t,e)=>ny(e)});i.for(\"editingDowncast\").elementToElement({model:\"image\",view:(t,e)=>Bv(ny(e),e,n(\"image widget\"))});i.for(\"downcast\").add(Xv(\"src\")).add(Xv(\"alt\")).add(Zv());i.for(\"upcast\").elementToElement({view:{name:\"img\",attributes:{src:true}},model:(t,e)=>e.createElement(\"image\",{src:t.getAttribute(\"src\")})}).attributeToAttribute({view:{name:\"img\",key:\"alt\"},model:\"alt\"}).attributeToAttribute({view:{name:\"img\",key:\"srcset\"},model:{key:\"srcset\",value:t=>{const e={data:t.getAttribute(\"srcset\")};if(t.hasAttribute(\"width\")){e.width=t.getAttribute(\"width\")}return e}}}).add(Jv());t.commands.add(\"imageInsert\",new ty(t))}}function ny(t){const e=t.createEmptyElement(\"img\");const n=t.createContainerElement(\"figure\",{class:\"image\"});t.insert(t.createPositionAt(n,0),e);return n}class iy extends Qu{constructor(t){super(t);this.domEventType=\"mousedown\"}onDomEvent(t){this.fire(t.type,t)}}function oy(t,e,n){return t&&Ev(t)&&!n.isInline(e)}function sy(t){return t.closest(\".ck-widget__type-around__button\")}function ry(t){return t.classList.contains(\"ck-widget__type-around__button_before\")?\"before\":\"after\"}function ay(t,e){const n=t.closest(\".ck-widget\");return e.mapDomToView(n)}function cy(t){const e=[];if(ly(t)||uy(t)){e.push(\"before\")}if(dy(t)||hy(t)){e.push(\"after\")}return e}function ly(t){return!t.previousSibling}function dy(t){return!t.nextSibling}function uy(t){return t.previousSibling&&Ev(t.previousSibling)}function hy(t){return t.nextSibling&&Ev(t.nextSibling)}var fy='<svg viewBox=\"0 0 10 8\" xmlns=\"http://www.w3.org/2000/svg\"><polyline points=\"8.05541992 0.263427734 8.05541992 4.23461914 1.28417969 4.23461914\" transform=\"translate(1,0)\"></polyline><line x1=\"0\" y1=\"4.21581031\" x2=\"2\" y2=\"2.17810059\" transform=\"translate(1, 0)\"></line><line x1=\"0\" y1=\"6.21581031\" x2=\"2\" y2=\"4.17810059\" transform=\"translate(2, 5.196955) scale(1, -1) translate(-1, -5.196955)\"></line></svg>\\n';var gy=n(50);const my=[\"before\",\"after\"];const py=(new DOMParser).parseFromString(fy,\"image/svg+xml\").firstChild;class by extends Dw{static get requires(){return[nv]}static get pluginName(){return\"WidgetTypeAround\"}constructor(t){super(t);this._widgetsWithTypeAroundUI=new Set}destroy(){this._widgetsWithTypeAroundUI.clear()}init(){this._enableTypeAroundUIInjection();this._enableDetectionOfTypeAroundWidgets();this._enableInsertingParagraphsOnButtonClick()}_insertParagraph(t,e){const n=this.editor;const i=n.editing.view;const o=n.editing.mapper.toModelElement(t);let s;if(e===\"before\"){s=n.model.createPositionBefore(o)}else{s=n.model.createPositionAfter(o)}n.execute(\"insertParagraph\",{position:s});i.focus();i.scrollToTheSelection()}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const i={before:n(\"Insert paragraph before block\"),after:n(\"Insert paragraph after block\")};t.editing.downcastDispatcher.on(\"insert\",(t,n,o)=>{const s=o.mapper.toViewElement(n.item);if(oy(s,n.item,e)){wy(o.writer,i,s);this._widgetsWithTypeAroundUI.add(s)}},{priority:\"low\"})}_enableDetectionOfTypeAroundWidgets(){const t=this.editor;const e=t.editing.view;function n(t){return`ck-widget_can-type-around_${t}`}e.document.registerPostFixer(t=>{for(const e of this._widgetsWithTypeAroundUI){if(!e.isAttached()){this._widgetsWithTypeAroundUI.delete(e)}else{const i=cy(e);t.removeClass(my.map(n),e);t.addClass(i.map(n),e)}}})}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;e.document.on(\"mousedown\",(t,n)=>{const i=sy(n.domTarget);if(!i){return}const o=ry(i);const s=ay(i,e.domConverter);this._insertParagraph(s,o);n.preventDefault();t.stop()})}}function wy(t,e,n){const i=t.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__type-around\"},(function(t){const n=this.toDomElement(t);_y(n,e);return n}));t.insert(t.createPositionAt(n,\"end\"),i)}function _y(t,e){for(const n of my){const i=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__button\",`ck-widget__type-around__button_${n}`],title:e[n]},children:[t.ownerDocument.importNode(py,true)]});t.appendChild(i.render())}}var ky=n(52);class vy extends Dw{static get pluginName(){return\"Widget\"}static get requires(){return[by]}init(){const t=this.editor.editing.view;const e=t.document;this._previouslySelected=new Set;this.editor.editing.downcastDispatcher.on(\"selection\",(t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer;const o=i.document.selection;const s=o.getSelectedElement();let r=null;for(const t of o.getRanges()){for(const e of t){const t=e.item;if(Ev(t)&&!Ay(t,r)){i.addClass(Pv,t);this._previouslySelected.add(t);r=t;if(t==s){i.setSelection(o.getRanges(),{fake:true,label:Ov(s)})}}}}},{priority:\"low\"});t.addObserver(iy);this.listenTo(e,\"mousedown\",(...t)=>this._onMousedown(...t));this.listenTo(e,\"keydown\",(...t)=>this._onKeydown(...t),{priority:\"high\"});this.listenTo(e,\"delete\",(t,e)=>{if(this._handleDelete(e.direction==\"forward\")){e.preventDefault();t.stop()}},{priority:\"high\"})}_onMousedown(t,e){const n=this.editor;const i=n.editing.view;const o=i.document;let s=e.target;if(xy(s)){if(Cl.isSafari&&e.domEvent.detail>=3){const t=n.editing.mapper;const i=t.toModelElement(s);this.editor.model.change(t=>{e.preventDefault();t.setSelection(i,\"in\")})}return}if(!Ev(s)){s=s.findAncestor(Ev);if(!s){return}}e.preventDefault();if(!o.isFocused){i.focus()}const r=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(r)}_onKeydown(t,e){const n=e.keyCode;const i=this.editor.locale.contentLanguageDirection===\"ltr\";const o=n==Rl.arrowdown||n==Rl[i?\"arrowright\":\"arrowleft\"];let s=false;if(yy(n)){s=this._handleArrowKeys(o)}else if(n===Rl.enter){s=this._handleEnterKey(e.shiftKey)}if(s){e.preventDefault();t.stop()}}_handleDelete(t){if(this.editor.isReadOnly){return}const e=this.editor.model.document;const n=e.selection;if(!n.isCollapsed){return}const i=this._getObjectElementNextToSelection(t);if(i){this.editor.model.change(t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(i)});return true}}_handleArrowKeys(t){const e=this.editor.model;const n=e.schema;const i=e.document;const o=i.selection;const s=o.getSelectedElement();if(s&&n.isObject(s)){const i=t?o.getLastPosition():o.getFirstPosition();const s=n.getNearestSelectionRange(i,t?\"forward\":\"backward\");if(s){e.change(t=>{t.setSelection(s)})}return true}if(!o.isCollapsed){return}const r=this._getObjectElementNextToSelection(t);if(!!r&&n.isObject(r)){this._setSelectionOverElement(r);return true}}_handleEnterKey(t){const e=this.editor.model;const n=e.document.selection;const i=n.getSelectedElement();if(Ty(i,e.schema)){e.change(n=>{let o=n.createPositionAt(i,t?\"before\":\"after\");const s=n.createElement(\"paragraph\");if(e.schema.isBlock(i.parent)){const t=e.schema.findAllowedParent(o,s);o=n.split(o,t).position}n.insert(s,o);n.setSelection(s,\"in\")});return true}}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=e.createSelection(i);e.modifySelection(o,{direction:t?\"forward\":\"backward\"});const s=t?o.focus.nodeBefore:o.focus.nodeAfter;if(!!s&&n.isObject(s)){return s}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(Pv,e)}this._previouslySelected.clear()}}function yy(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}function xy(t){while(t){if(t.is(\"editableElement\")&&!t.is(\"rootElement\")){return true}if(Ev(t)){return false}t=t.parent}return false}function Ay(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function Ty(t,e){return t&&e.isObject(t)&&!e.isInline(t)}class Cy extends zw{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(Uv(t)&&t.hasAttribute(\"alt\")){this.value=t.getAttribute(\"alt\")}else{this.value=false}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();e.change(e=>{e.setAttribute(\"alt\",t.newValue,n)})}}class Sy extends Dw{static get pluginName(){return\"ImageTextAlternativeEditing\"}init(){this.editor.commands.add(\"imageTextAlternative\",new Cy(this.editor))}}var Py=n(54);class Ey extends _b{constructor(t,e){super(t);const n=`ck-labeled-field-view-${nr()}`;const i=`ck-labeled-field-view-status-${nr()}`;this.fieldView=e(this,n,i);this.set(\"label\");this.set(\"isEnabled\",true);this.set(\"errorText\",null);this.set(\"infoText\",null);this.set(\"class\");this.labelView=this._createLabelView(n);this.statusView=this._createStatusView(i);this.bind(\"_statusText\").to(this,\"errorText\",this,\"infoText\",(t,e)=>t||e);const o=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view\",o.to(\"class\"),o.if(\"isEnabled\",\"ck-disabled\",t=>!t)]},children:[this.labelView,this.fieldView,this.statusView]})}_createLabelView(t){const e=new Pb(this.locale);e.for=t;e.bind(\"text\").to(this,\"label\");return e}_createStatusView(t){const e=new _b(this.locale);const n=this.bindTemplate;e.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__status\",n.if(\"errorText\",\"ck-labeled-field-view__status_error\"),n.if(\"_statusText\",\"ck-hidden\",t=>!t)],id:t,role:n.if(\"errorText\",\"alert\")},children:[{text:n.to(\"_statusText\")}]});return e}focus(){this.fieldView.focus()}}var My=n(56);class Iy extends _b{constructor(t){super(t);this.set(\"value\");this.set(\"id\");this.set(\"placeholder\");this.set(\"isReadOnly\",false);this.set(\"hasError\",false);this.set(\"ariaDescribedById\");const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{type:\"text\",class:[\"ck\",\"ck-input\",\"ck-input-text\",e.if(\"hasError\",\"ck-error\")],id:e.to(\"id\"),placeholder:e.to(\"placeholder\"),readonly:e.to(\"isReadOnly\"),\"aria-invalid\":e.if(\"hasError\",true),\"aria-describedby\":e.to(\"ariaDescribedById\")},on:{input:e.to(\"input\")}})}render(){super.render();const t=t=>{this.element.value=!t&&t!==0?\"\":t};t(this.value);this.on(\"change:value\",(e,n,i)=>{t(i)})}select(){this.element.select()}focus(){this.element.focus()}}function Ny(t,e,n){const i=new Iy(t.locale);i.set({id:e,ariaDescribedById:n});i.bind(\"isReadOnly\").to(t,\"isEnabled\",t=>!t);i.bind(\"hasError\").to(t,\"errorText\",t=>!!t);i.on(\"input\",()=>{t.errorText=null});return i}function Oy(t,e,n){const i=bw(t.locale);i.set({id:e,ariaDescribedById:n});i.bind(\"isEnabled\").to(t);return i}function Ry({view:t}){t.listenTo(t.element,\"submit\",(e,n)=>{n.preventDefault();t.fire(\"submit\")},{useCapture:true})}var Dy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.972 16.615a.997.997 0 0 1-.744-.292l-4.596-4.596a1 1 0 1 1 1.414-1.414l3.926 3.926 9.937-9.937a1 1 0 0 1 1.414 1.415L7.717 16.323a.997.997 0 0 1-.745.292z\"/></svg>';var Ly='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.591 10.177l4.243 4.242a1 1 0 0 1-1.415 1.415l-4.242-4.243-4.243 4.243a1 1 0 0 1-1.414-1.415l4.243-4.242L4.52 5.934A1 1 0 0 1 5.934 4.52l4.243 4.243 4.242-4.243a1 1 0 1 1 1.415 1.414l-4.243 4.243z\"/></svg>';var zy=n(58);class Vy extends _b{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(e(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-text-alternative-form\"],tabindex:\"-1\"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render();this.keystrokes.listenTo(this.element);Ry({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)})}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}_createLabeledInputView(){const t=this.locale.t;const e=new Ey(this.locale,Ny);e.label=t(\"Text alternative\");e.fieldView.placeholder=t(\"Text alternative\");return e}}var jy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.463 5.187a.888.888 0 1 1 1.254 1.255L9.16 10l3.557 3.557a.888.888 0 1 1-1.254 1.255L7.26 10.61a.888.888 0 0 1 .16-1.382l4.043-4.042z\"/></svg>';var By='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.537 14.813a.888.888 0 1 1-1.254-1.255L10.84 10 7.283 6.442a.888.888 0 1 1 1.254-1.255L12.74 9.39a.888.888 0 0 1-.16 1.382l-4.043 4.042z\"/></svg>';var Fy=n(60);var Hy=n(62);const Uy=Nb(\"px\");class Wy extends Dw{static get pluginName(){return\"ContextualBalloon\"}constructor(t){super(t);this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set(\"visibleView\",null);this.view=new yv(t.locale);t.ui.view.body.add(this.view);t.ui.focusTracker.add(this.view.element);this._viewToStack=new Map;this._idToStack=new Map;this.set(\"_numberOfStacks\",0);this.set(\"_singleViewMode\",false);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this.hasView(t.view)){throw new rr[\"b\"](\"contextualballoon-add-view-exist: Cannot add configuration of the same view twice.\",[this,t])}const e=t.stackId||\"main\";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new rr[\"b\"](\"contextualballoon-remove-view-not-exist: Cannot remove the configuration of a non-existent view.\",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new rr[\"b\"](\"contextualballoon-showstack-stack-not-exist: Cannot show a stack that does not exist.\",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find(e=>e[1]===t);return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new qy(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind(\"isNavigationVisible\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",(t,e)=>!e&&t>1);t.on(\"change:isNavigationVisible\",()=>this.updatePosition(),{priority:\"low\"});t.bind(\"counter\").to(this,\"visibleView\",this,\"_numberOfStacks\",(t,n)=>{if(n<2){return\"\"}const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e(\"%0 of %1\",[i,n])});t.buttonNextView.on(\"execute\",()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()});t.buttonPrevView.on(\"execute\",()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()});return t}_createFakePanelsView(){const t=new $y(this.editor.locale,this.view);t.bind(\"numberOfPanels\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",(t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0});t.listenTo(this.view,\"change:top\",()=>t.updatePosition());t.listenTo(this.view,\"change:left\",()=>t.updatePosition());this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e=\"\",withArrow:n=true,singleViewMode:i=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(i){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t&&!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}return t}}class qy extends _b{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set(\"isNavigationVisible\",true);this.focusTracker=new Sp;this.buttonPrevView=this._createButtonView(e(\"Previous\"),jy);this.buttonNextView=this._createButtonView(e(\"Next\"),By);this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-rotator\"],\"z-index\":\"-1\"},children:[{tag:\"div\",attributes:{class:[\"ck-balloon-rotator__navigation\",n.to(\"isNavigationVisible\",t=>t?\"\":\"ck-hidden\")]},children:[this.buttonPrevView,{tag:\"span\",attributes:{class:[\"ck-balloon-rotator__counter\"]},children:[{text:n.to(\"counter\")}]},this.buttonNextView]},{tag:\"div\",attributes:{class:\"ck-balloon-rotator__content\"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new sw(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class $y extends _b{constructor(t,e){super(t);const n=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"height\",0);this.set(\"width\",0);this.set(\"numberOfPanels\",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:\"div\",attributes:{class:[\"ck-fake-panel\",n.to(\"numberOfPanels\",t=>t?\"\":\"ck-hidden\")],style:{top:n.to(\"top\",Uy),left:n.to(\"left\",Uy),width:n.to(\"width\",Uy),height:n.to(\"height\",Uy)}},children:this.content});this.on(\"change:numberOfPanels\",(t,e,n,i)=>{if(n>i){this._addPanels(n-i)}else{this._removePanels(i-n)}this.updatePosition()})}_addPanels(t){while(t--){const t=new _b;t.setTemplate({tag:\"div\"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:i}=new vh(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var Yy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.085 6.22L2.943 4.078a.75.75 0 1 1 1.06-1.06l2.592 2.59A11.094 11.094 0 0 1 10 5.068c4.738 0 8.578 3.101 8.578 5.083 0 1.197-1.401 2.803-3.555 3.887l1.714 1.713a.75.75 0 0 1-.09 1.138.488.488 0 0 1-.15.084.75.75 0 0 1-.821-.16L6.17 7.304c-.258.11-.51.233-.757.365l6.239 6.24-.006.005.78.78c-.388.094-.78.166-1.174.215l-1.11-1.11h.011L4.55 8.197a7.2 7.2 0 0 0-.665.514l-.112.098 4.897 4.897-.005.006 1.276 1.276a10.164 10.164 0 0 1-1.477-.117l-.479-.479-.009.009-4.863-4.863-.022.031a2.563 2.563 0 0 0-.124.2c-.043.077-.08.158-.108.241a.534.534 0 0 0-.028.133.29.29 0 0 0 .008.072.927.927 0 0 0 .082.226c.067.133.145.26.234.379l3.242 3.365.025.01.59.623c-3.265-.918-5.59-3.155-5.59-4.668 0-1.194 1.448-2.838 3.663-3.93zm7.07.531a4.632 4.632 0 0 1 1.108 5.992l.345.344.046-.018a9.313 9.313 0 0 0 2-1.112c.256-.187.5-.392.727-.613.137-.134.27-.277.392-.431.072-.091.141-.185.203-.286.057-.093.107-.19.148-.292a.72.72 0 0 0 .036-.12.29.29 0 0 0 .008-.072.492.492 0 0 0-.028-.133.999.999 0 0 0-.036-.096 2.165 2.165 0 0 0-.071-.145 2.917 2.917 0 0 0-.125-.2 3.592 3.592 0 0 0-.263-.335 5.444 5.444 0 0 0-.53-.523 7.955 7.955 0 0 0-1.054-.768 9.766 9.766 0 0 0-1.879-.891c-.337-.118-.68-.219-1.027-.301zm-2.85.21l-.069.002a.508.508 0 0 0-.254.097.496.496 0 0 0-.104.679.498.498 0 0 0 .326.199l.045.005c.091.003.181.003.272.012a2.45 2.45 0 0 1 2.017 1.513c.024.061.043.125.069.185a.494.494 0 0 0 .45.287h.008a.496.496 0 0 0 .35-.158.482.482 0 0 0 .13-.335.638.638 0 0 0-.048-.219 3.379 3.379 0 0 0-.36-.723 3.438 3.438 0 0 0-2.791-1.543l-.028-.001h-.013z\"/></svg>';function Gy(t){const e=t.plugins.get(\"ContextualBalloon\");if(Hv(t.editing.view.document.selection)){const n=Qy(t);e.updatePosition(n)}}function Qy(t){const e=t.editing.view;const n=yv.defaultPositions;return{target:e.domConverter.viewToDom(e.document.selection.getSelectedElement()),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast]}}class Ky extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"ImageTextAlternativeUI\"}init(){this._createButton();this._createForm()}destroy(){super.destroy();this._form.destroy()}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"imageTextAlternative\",n=>{const i=t.commands.get(\"imageTextAlternative\");const o=new sw(n);o.set({label:e(\"Change image text alternative\"),icon:Yy,tooltip:true});o.bind(\"isEnabled\").to(i,\"isEnabled\");this.listenTo(o,\"execute\",()=>{this._showForm()});return o})}_createForm(){const t=this.editor;const e=t.editing.view;const n=e.document;this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this._form=new Vy(t.locale);this._form.render();this.listenTo(this._form,\"submit\",()=>{t.execute(\"imageTextAlternative\",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)});this.listenTo(this._form,\"cancel\",()=>{this._hideForm(true)});this._form.keystrokes.set(\"Esc\",(t,e)=>{this._hideForm(true);e()});this.listenTo(t.ui,\"update\",()=>{if(!Hv(n.selection)){this._hideForm(true)}else if(this._isVisible){Gy(t)}});gw({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}const t=this.editor;const e=t.commands.get(\"imageTextAlternative\");const n=this._form.labeledInput;if(!this._isInBalloon){this._balloon.add({view:this._form,position:Qy(t)})}n.fieldView.value=n.fieldView.element.value=e.value||\"\";this._form.labeledInput.fieldView.select()}_hideForm(t){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class Jy extends Dw{static get requires(){return[Sy,Ky]}static get pluginName(){return\"ImageTextAlternative\"}}var Zy=n(64);class Xy extends Dw{static get requires(){return[ey,vy,Jy]}static get pluginName(){return\"Image\"}}function tx(t,e){return n=>{const i=n.createEditableElement(\"figcaption\");n.setCustomProperty(\"imageCaption\",true,i);Op({view:t,element:i,text:e});return Rv(i,n)}}function ex(t){return!!t.getCustomProperty(\"imageCaption\")}function nx(t){for(const e of t.getChildren()){if(!!e&&e.is(\"caption\")){return e}}return null}function ix(t){const e=t.parent;if(t.name==\"figcaption\"&&e&&e.name==\"figure\"&&e.hasClass(\"image\")){return{name:true}}return null}class ox extends Dw{static get pluginName(){return\"ImageCaptionEditing\"}init(){const t=this.editor;const e=t.editing.view;const n=t.model.schema;const i=t.data;const o=t.editing;const s=t.t;n.register(\"caption\",{allowIn:\"image\",allowContentOf:\"$block\",isLimit:true});t.model.document.registerPostFixer(t=>this._insertMissingModelCaptionElement(t));t.conversion.for(\"upcast\").elementToElement({view:ix,model:\"caption\"});const r=t=>t.createContainerElement(\"figcaption\");i.downcastDispatcher.on(\"insert:caption\",sx(r,false));const a=tx(e,s(\"Enter image caption\"));o.downcastDispatcher.on(\"insert:caption\",sx(a));o.downcastDispatcher.on(\"insert\",this._fixCaptionVisibility(t=>t.item),{priority:\"high\"});o.downcastDispatcher.on(\"remove\",this._fixCaptionVisibility(t=>t.position.parent),{priority:\"high\"});e.document.registerPostFixer(t=>this._updateCaptionVisibility(t))}_updateCaptionVisibility(t){const e=this.editor.editing.mapper;const n=this._lastSelectedCaption;let i;const o=this.editor.model.document.selection;const s=o.getSelectedElement();if(s&&s.is(\"image\")){const t=nx(s);i=e.toViewElement(t)}const r=o.getFirstPosition();const a=ax(r.parent);if(a){i=e.toViewElement(a)}if(i){if(n){if(n===i){return lx(i,t)}else{cx(n,t);this._lastSelectedCaption=i;return lx(i,t)}}else{this._lastSelectedCaption=i;return lx(i,t)}}else{if(n){const e=cx(n,t);this._lastSelectedCaption=null;return e}else{return false}}}_fixCaptionVisibility(t){return(e,n,i)=>{const o=t(n);const s=ax(o);const r=this.editor.editing.mapper;const a=i.writer;if(s){const t=r.toViewElement(s);if(t){if(s.childCount){a.removeClass(\"ck-hidden\",t)}else{a.addClass(\"ck-hidden\",t)}}}}}_insertMissingModelCaptionElement(t){const e=this.editor.model;const n=e.document.differ.getChanges();const i=[];for(const t of n){if(t.type==\"insert\"&&t.name!=\"$text\"){const n=t.position.nodeAfter;if(n.is(\"image\")&&!nx(n)){i.push(n)}if(!n.is(\"image\")&&n.childCount){for(const t of e.createRangeIn(n).getItems()){if(t.is(\"image\")&&!nx(t)){i.push(t)}}}}}for(const e of i){t.appendElement(\"caption\",e)}return!!i.length}}function sx(t,e=true){return(n,i,o)=>{const s=i.item;if(!s.childCount&&!e){return}if(Uv(s.parent)){if(!o.consumable.consume(i.item,\"insert\")){return}const e=o.mapper.toViewElement(i.range.start.parent);const n=t(o.writer);const r=o.writer;if(!s.childCount){r.addClass(\"ck-hidden\",n)}rx(n,i.item,e,o)}}}function rx(t,e,n,i){const o=i.writer.createPositionAt(n,\"end\");i.writer.insert(o,t);i.mapper.bindElements(e,t)}function ax(t){const e=t.getAncestors({includeSelf:true});const n=e.find(t=>t.name==\"caption\");if(n&&n.parent&&n.parent.name==\"image\"){return n}return null}function cx(t,e){if(!t.childCount&&!t.hasClass(\"ck-hidden\")){e.addClass(\"ck-hidden\",t);return true}return false}function lx(t,e){if(t.hasClass(\"ck-hidden\")){e.removeClass(\"ck-hidden\",t);return true}return false}var dx=n(66);class ux extends Dw{static get requires(){return[ox]}static get pluginName(){return\"ImageCaption\"}}class hx{constructor(t){this.set(\"activeHandlePosition\",null);this.set(\"proposedWidthPercents\",null);this.set(\"proposedWidth\",null);this.set(\"proposedHeight\",null);this.set(\"proposedHandleHostWidth\",null);this.set(\"proposedHandleHostHeight\",null);this._options=t;this._referenceCoordinates=null}begin(t,e,n){const i=new vh(e);this.activeHandlePosition=px(t);this._referenceCoordinates=gx(e,bx(this.activeHandlePosition));this.originalWidth=i.width;this.originalHeight=i.height;this.aspectRatio=i.width/i.height;const o=n.style.width;if(o&&o.match(/^\\d+\\.?\\d*%$/)){this.originalWidthPercents=parseFloat(o)}else{this.originalWidthPercents=fx(n,i)}}update(t){this.proposedWidth=t.width;this.proposedHeight=t.height;this.proposedWidthPercents=t.widthPercents;this.proposedHandleHostWidth=t.handleHostWidth;this.proposedHandleHostHeight=t.handleHostHeight}}yr(hx,Kc);function fx(t,e){const n=t.parentElement;const i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);return e.width/i*100}function gx(t,e){const n=new vh(t);const i=e.split(\"-\");const o={x:i[1]==\"right\"?n.right:n.left,y:i[0]==\"bottom\"?n.bottom:n.top};o.x+=t.ownerDocument.defaultView.scrollX;o.y+=t.ownerDocument.defaultView.scrollY;return o}function mx(t){return`ck-widget__resizer__handle-${t}`}function px(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){if(t.classList.contains(mx(n))){return n}}}function bx(t){const e=t.split(\"-\");const n={top:\"bottom\",bottom:\"top\",left:\"right\",right:\"left\"};return`${n[e[0]]}-${n[e[1]]}`}class wx{constructor(t){this._options=t;this._domResizerWrapper=null;this._viewResizerWrapper=null;this.set(\"isEnabled\",true);this.decorate(\"begin\");this.decorate(\"cancel\");this.decorate(\"commit\");this.decorate(\"updateSize\");this.on(\"commit\",t=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}},{priority:\"high\"})}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change(n=>{const i=n.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__resizer\"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);t._domResizerWrapper=n;t.on(\"change:isEnabled\",(t,e,i)=>{n.style.display=i?\"\":\"none\"});n.style.display=t.isEnabled?\"\":\"none\";return n}));n.insert(n.createPositionAt(e,\"end\"),i);n.addClass(\"ck-widget_with-resizer\",e);this._viewResizerWrapper=i})}begin(t){this.state=new hx(this._options);this._sizeUI.bindToState(this._options,this.state);this._initialViewWidth=this._options.viewElement.getStyle(\"width\");this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);const n=this._options.editor.editing.view;n.change(t=>{const n=this._options.unit||\"%\";const i=(n===\"%\"?e.widthPercents:e.width)+n;t.setStyle(\"width\",i,this._options.viewElement)});const i=this._getHandleHost();const o=new vh(i);e.handleHostWidth=Math.round(o.width);e.handleHostHeight=Math.round(o.height);const s=new vh(i);e.width=Math.round(s.width);e.height=Math.round(s.height);this.redraw(o);this.state.update(e)}commit(){const t=this._options.unit||\"%\";const e=(t===\"%\"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup();this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(n(e)){this._options.editor.editing.view.change(n=>{const i=e.parentElement;const o=this._getHandleHost();const s=t||new vh(o);n.setStyle(\"width\",s.width+\"px\",this._viewResizerWrapper);n.setStyle(\"height\",s.height+\"px\",this._viewResizerWrapper);const r={left:o.offsetLeft,top:o.offsetTop,height:o.offsetHeight,width:o.offsetWidth};if(!i.isSameNode(o)){n.setStyle(\"left\",r.left+\"px\",this._viewResizerWrapper);n.setStyle(\"top\",r.top+\"px\",this._viewResizerWrapper);n.setStyle(\"height\",r.height+\"px\",this._viewResizerWrapper);n.setStyle(\"width\",r.width+\"px\",this._viewResizerWrapper)}})}function n(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains(\"ck-widget__resizer__handle\")}_cleanup(){this._sizeUI.dismiss();this._sizeUI.isVisible=false;const t=this._options.editor.editing.view;t.change(t=>{t.setStyle(\"width\",this._initialViewWidth,this._options.viewElement)})}_proposeNewSize(t){const e=this.state;const n=vx(t);const i=this._options.isCentered?this._options.isCentered(this):true;const o={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(i&&e.activeHandlePosition.endsWith(\"-right\")){o.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(i){o.x*=2}const s={width:Math.abs(e.originalWidth+o.x),height:Math.abs(e.originalHeight+o.y)};s.dominant=s.width/e.aspectRatio>s.height?\"width\":\"height\";s.max=s[s.dominant];const r={width:s.width,height:s.height};if(s.dominant==\"width\"){r.height=r.width/e.aspectRatio}else{r.width=r.height*e.aspectRatio}return{width:Math.round(r.width),height:Math.round(r.height),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*r.width*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}_appendHandles(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){t.appendChild(new $p({tag:\"div\",attributes:{class:`ck-widget__resizer__handle ${kx(n)}`}}).render())}}_appendSizeUI(t){const e=new _x;e.render();this._sizeUI=e;t.appendChild(e.element)}}yr(wx,Kc);class _x extends _b{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-size-view\",t.to(\"activeHandlePosition\",t=>t?`ck-orientation-${t}`:\"\")],style:{display:t.if(\"isVisible\",\"none\",t=>!t)}},children:[{text:t.to(\"label\")}]})}bindToState(t,e){this.bind(\"isVisible\").to(e,\"proposedWidth\",e,\"proposedHeight\",(t,e)=>t!==null&&e!==null);this.bind(\"label\").to(e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",e,\"proposedWidthPercents\",(e,n,i)=>{if(t.unit===\"px\"){return`${e}×${n}`}else{return`${i}%`}});this.bind(\"activeHandlePosition\").to(e)}dismiss(){this.unbind();this.isVisible=false}}function kx(t){return`ck-widget__resizer__handle-${t}`}function vx(t){return{x:t.pageX,y:t.pageY}}var yx=\"Expected a function\";function xx(t,e,n){var i=true,o=true;if(typeof t!=\"function\"){throw new TypeError(yx)}if(ct(n)){i=\"leading\"in n?!!n.leading:i;o=\"trailing\"in n?!!n.trailing:o}return uh(t,e,{leading:i,maxWait:e,trailing:o})}var Ax=xx;var Tx=n(68);class Cx extends Dw{static get pluginName(){return\"WidgetResize\"}init(){this.set(\"_visibleResizer\",null);this.set(\"_activeResizer\",null);this._resizers=new Map;const t=Nd.window.document;this.editor.model.schema.setAttributeProperties(\"width\",{isFormatting:true});this._observer=Object.create(Wd);this._observer.listenTo(t,\"mousedown\",this._mouseDownListener.bind(this));this._observer.listenTo(t,\"mousemove\",this._mouseMoveListener.bind(this));this._observer.listenTo(t,\"mouseup\",this._mouseUpListener.bind(this));const e=()=>{if(this._visibleResizer){this._visibleResizer.redraw()}};const n=Ax(e,200);this.on(\"change:_visibleResizer\",e);this.editor.ui.on(\"update\",n);this._observer.listenTo(Nd.window,\"resize\",n);const i=this.editor.editing.view.document.selection;i.on(\"change\",()=>{const t=i.getSelectedElement();this._visibleResizer=this._getResizerByViewElement(t)||null})}destroy(){this._observer.stopListening();for(const t of this._resizers.values()){t.destroy()}}attachTo(t){const e=new wx(t);const n=this.editor.plugins;e.attach();if(n.has(\"WidgetToolbarRepository\")){const t=n.get(\"WidgetToolbarRepository\");e.on(\"begin\",()=>{t.forceDisabled(\"resize\")},{priority:\"lowest\"});e.on(\"cancel\",()=>{t.clearForceDisabled(\"resize\")},{priority:\"highest\"});e.on(\"commit\",()=>{t.clearForceDisabled(\"resize\")},{priority:\"highest\"})}this._resizers.set(t.viewElement,e);return e}_getResizerByHandle(t){for(const e of this._resizers.values()){if(e.containsHandle(t)){return e}}}_getResizerByViewElement(t){return this._resizers.get(t)}_mouseDownListener(t,e){if(!wx.isResizeHandle(e.target)){return}const n=e.target;this._activeResizer=this._getResizerByHandle(n);if(this._activeResizer){this._activeResizer.begin(n)}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}yr(Cx,Kc);class Sx extends zw{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(!t||!t.hasAttribute(\"width\")){this.value=null}else{this.value={width:t.getAttribute(\"width\"),height:null}}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();e.change(e=>{e.setAttribute(\"width\",t.width,n)})}}var Px=n(70);class Ex extends Dw{static get requires(){return[Cx]}static get pluginName(){return\"ImageResize\"}init(){const t=this.editor;const e=new Sx(t);this._registerSchema();this._registerConverters();t.commands.add(\"imageResize\",e);t.editing.downcastDispatcher.on(\"insert:image\",(n,i,o)=>{const s=o.mapper.toViewElement(i.item);const r=t.plugins.get(Cx).attachTo({unit:t.config.get(\"image.resizeUnit\")||\"%\",modelElement:i.item,viewElement:s,editor:t,getHandleHost(t){return t.querySelector(\"img\")},getResizeHost(t){return t},isCentered(){const t=i.item.getAttribute(\"imageStyle\");return!t||t==\"full\"||t==\"alignCenter\"},onCommit(e){t.execute(\"imageResize\",{width:e})}});r.on(\"updateSize\",()=>{if(!s.hasClass(\"image_resized\")){t.editing.view.change(t=>{t.addClass(\"image_resized\",s)})}});r.bind(\"isEnabled\").to(e)},{priority:\"low\"})}_registerSchema(){this.editor.model.schema.extend(\"image\",{allowAttributes:\"width\"})}_registerConverters(){const t=this.editor;t.conversion.for(\"downcast\").add(t=>t.on(\"attribute:width:image\",(t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){i.setStyle(\"width\",e.attributeNewValue,o);i.addClass(\"image_resized\",o)}else{i.removeStyle(\"width\",o);i.removeClass(\"image_resized\",o)}}));t.conversion.for(\"upcast\").attributeToAttribute({view:{name:\"figure\",styles:{width:/.+/}},model:{key:\"width\",value:t=>t.getStyle(\"width\")}})}}class Mx extends zw{constructor(t,e){super(t);this.defaultStyle=false;this.styles=e.reduce((t,e)=>{t[e.name]=e;if(e.isDefault){this.defaultStyle=e.name}return t},{})}refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(!t){this.value=false}else if(t.hasAttribute(\"imageStyle\")){const e=t.getAttribute(\"imageStyle\");this.value=this.styles[e]?e:false}else{this.value=this.defaultStyle}}execute(t){const e=t.value;const n=this.editor.model;const i=n.document.selection.getSelectedElement();n.change(t=>{if(this.styles[e].isDefault){t.removeAttribute(\"imageStyle\",i)}else{t.setAttribute(\"imageStyle\",e,i)}})}}function Ix(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=Ox(n.attributeNewValue,t);const s=Ox(n.attributeOldValue,t);const r=i.mapper.toViewElement(n.item);const a=i.writer;if(s){a.removeClass(s.className,r)}if(o){a.addClass(o.className,r)}}}function Nx(t){const e=t.filter(t=>!t.isDefault);return(t,n,i)=>{if(!n.modelRange){return}const o=n.viewItem;const s=jw(n.modelRange.getItems());if(!i.schema.checkAttribute(s,\"imageStyle\")){return}for(const t of e){if(i.consumable.consume(o,{classes:t.className})){i.writer.setAttribute(\"imageStyle\",t.name,s)}}}}function Ox(t,e){for(const n of e){if(n.name===t){return n}}}var Rx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm2.5 3V12h11V7.5h-11zM4.061 6H15.94c.586 0 1.061.407 1.061.91v5.68c0 .503-.475.91-1.061.91H4.06c-.585 0-1.06-.407-1.06-.91V6.91C3 6.406 3.475 6 4.061 6zM2 16.5V15h16v1.5z\"/></svg>';var Dx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" clip-rule=\"evenodd\" stroke-linejoin=\"round\" stroke-miterlimit=\"1.414\"><path d=\"M18 4.5V3H2v1.5h16zm0 3V6h-5.674v1.5H18zm0 3V9h-5.674v1.5H18zm0 3V12h-5.674v1.5H18zm-8.5-6V12h-6V7.5h6zm.818-1.5H2.682C2.305 6 2 6.407 2 6.91v5.68c0 .503.305.91.682.91h7.636c.377 0 .682-.407.682-.91V6.91c0-.503-.305-.91-.682-.91zM18 16.5V15H2v1.5h16z\"/></svg>';var Lx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm4.5 3V12h7V7.5h-7zM5.758 6h8.484c.419 0 .758.407.758.91v5.681c0 .502-.34.909-.758.909H5.758c-.419 0-.758-.407-.758-.91V6.91c0-.503.34-.91.758-.91zM2 16.5V15h16v1.5z\"/></svg>';var zx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm0 3V6h5.674v1.5zm0 3V9h5.674v1.5zm0 3V12h5.674v1.5zm8.5-6V12h6V7.5h-6zM9.682 6h7.636c.377 0 .682.407.682.91v5.68c0 .503-.305.91-.682.91H9.682c-.377 0-.682-.407-.682-.91V6.91c0-.503.305-.91.682-.91zM2 16.5V15h16v1.5z\"/></svg>';const Vx={full:{name:\"full\",title:\"Full size image\",icon:Rx,isDefault:true},side:{name:\"side\",title:\"Side image\",icon:zx,className:\"image-style-side\"},alignLeft:{name:\"alignLeft\",title:\"Left aligned image\",icon:Dx,className:\"image-style-align-left\"},alignCenter:{name:\"alignCenter\",title:\"Centered image\",icon:Lx,className:\"image-style-align-center\"},alignRight:{name:\"alignRight\",title:\"Right aligned image\",icon:zx,className:\"image-style-align-right\"}};const jx={full:Rx,left:Dx,right:zx,center:Lx};function Bx(t=[]){return t.map(Fx)}function Fx(t){if(typeof t==\"string\"){const e=t;if(Vx[e]){t=Object.assign({},Vx[e])}else{console.warn(Object(rr[\"a\"])(\"image-style-not-found: There is no such image style of given name.\"),{name:e});t={name:e}}}else if(Vx[t.name]){const e=Vx[t.name];const n=Object.assign({},t);for(const i in e){if(!t.hasOwnProperty(i)){n[i]=e[i]}}t=n}if(typeof t.icon==\"string\"&&jx[t.icon]){t.icon=jx[t.icon]}return t}class Hx extends Dw{static get pluginName(){return\"ImageStyleEditing\"}init(){const t=this.editor;const e=t.model.schema;const n=t.data;const i=t.editing;t.config.define(\"image.styles\",[\"full\",\"side\"]);const o=Bx(t.config.get(\"image.styles\"));e.extend(\"image\",{allowAttributes:\"imageStyle\"});const s=Ix(o);i.downcastDispatcher.on(\"attribute:imageStyle:image\",s);n.downcastDispatcher.on(\"attribute:imageStyle:image\",s);n.upcastDispatcher.on(\"element:figure\",Nx(o),{priority:\"low\"});t.commands.add(\"imageStyle\",new Mx(t,o))}}var Ux=n(72);class Wx extends Dw{static get pluginName(){return\"ImageStyleUI\"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{\"Full size image\":t(\"Full size image\"),\"Side image\":t(\"Side image\"),\"Left aligned image\":t(\"Left aligned image\"),\"Centered image\":t(\"Centered image\"),\"Right aligned image\":t(\"Right aligned image\")}}init(){const t=this.editor;const e=t.config.get(\"image.styles\");const n=qx(Bx(e),this.localizedDefaultStylesTitles);for(const t of n){this._createButton(t)}}_createButton(t){const e=this.editor;const n=`imageStyle:${t.name}`;e.ui.componentFactory.add(n,n=>{const i=e.commands.get(\"imageStyle\");const o=new sw(n);o.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});o.bind(\"isEnabled\").to(i,\"isEnabled\");o.bind(\"isOn\").to(i,\"value\",e=>e===t.name);this.listenTo(o,\"execute\",()=>{e.execute(\"imageStyle\",{value:t.name});e.editing.view.focus()});return o})}}function qx(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}class $x extends Dw{static get requires(){return[Hx,Wx]}static get pluginName(){return\"ImageStyle\"}}class Yx extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"WidgetToolbarRepository\"}init(){const t=this.editor;if(t.plugins.has(\"BalloonToolbar\")){const e=t.plugins.get(\"BalloonToolbar\");this.listenTo(e,\"show\",e=>{if(Kx(t.editing.view.document.selection)){e.stop()}},{priority:\"high\"})}this._toolbarDefinitions=new Map;this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this.on(\"change:isEnabled\",()=>{this._updateToolbarsVisibility()});this.listenTo(t.ui,\"update\",()=>{this._updateToolbarsVisibility()});this.listenTo(t.ui.focusTracker,\"change:isFocused\",()=>{this._updateToolbarsVisibility()},{priority:\"low\"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:o=\"ck-toolbar-container\"}){const s=this.editor;const r=s.t;const a=new Cw(s.locale);a.ariaLabel=e||r(\"Widget toolbar\");if(this._toolbarDefinitions.has(t)){throw new rr[\"b\"](\"widget-toolbar-duplicated: Toolbar with the given id was already added.\",this,{toolbarId:t})}a.fillFromConfig(n,s.ui.componentFactory);this._toolbarDefinitions.set(t,{view:a,getRelatedElement:i,balloonClassName:o})}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const i of this._toolbarDefinitions.values()){const o=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!o){if(this._isToolbarInBalloon(i)){this._hideToolbar(i)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(i)){this._hideToolbar(i)}}else{const s=o.getAncestors().length;if(s>t){t=s;e=o;n=i}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,\"change:visibleView\")}_showToolbar(t,e){if(this._isToolbarVisible(t)){Gx(this.editor,e)}else if(!this._isToolbarInBalloon(t)){this._balloon.add({view:t.view,position:Qx(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,\"change:visibleView\",()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);Gx(this.editor,e)}}})}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Gx(t,e){const n=t.plugins.get(\"ContextualBalloon\");const i=Qx(t,e);n.updatePosition(i)}function Qx(t,e){const n=t.editing.view;const i=yv.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,zv]}}function Kx(t){const e=t.getSelectedElement();return!!(e&&Ev(e))}class Jx extends Dw{static get requires(){return[Yx]}static get pluginName(){return\"ImageToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(Yx);n.register(\"image\",{ariaLabel:e(\"Image toolbar\"),items:t.config.get(\"image.toolbar\")||[],getRelatedElement:Hv})}}class Zx extends _b{constructor(t){super(t);this.buttonView=new sw(t);this._fileInputView=new Xx(t);this._fileInputView.bind(\"acceptedType\").to(this);this._fileInputView.bind(\"allowMultipleFiles\").to(this);this._fileInputView.delegate(\"done\").to(this);this.setTemplate({tag:\"span\",attributes:{class:\"ck-file-dialog-button\"},children:[this.buttonView,this._fileInputView]});this.buttonView.on(\"execute\",()=>{this._fileInputView.open()})}focus(){this.buttonView.focus()}}class Xx extends _b{constructor(t){super(t);this.set(\"acceptedType\");this.set(\"allowMultipleFiles\",false);const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{class:[\"ck-hidden\"],type:\"file\",tabindex:\"-1\",accept:e.to(\"acceptedType\"),multiple:e.to(\"allowMultipleFiles\")},on:{change:e.to(()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire(\"done\",this.element.files)}this.element.value=\"\"})}})}open(){this.element.click()}}var tA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.91 10.54c.26-.23.64-.21.88.03l3.36 3.14 2.23-2.06a.64.64 0 0 1 .87 0l2.52 2.97V4.5H3.2v10.12l3.71-4.08zm10.27-7.51c.6 0 1.09.47 1.09 1.05v11.84c0 .59-.49 1.06-1.09 1.06H2.79c-.6 0-1.09-.47-1.09-1.06V4.08c0-.58.49-1.05 1.1-1.05h14.38zm-5.22 5.56a1.96 1.96 0 1 1 3.4-1.96 1.96 1.96 0 0 1-3.4 1.96z\"/></svg>';function eA(t){const e=t.map(t=>t.replace(\"+\",\"\\\\+\"));return new RegExp(`^image\\\\/(${e.join(\"|\")})$`)}function nA(t){return new Promise((e,n)=>{const i=t.getAttribute(\"src\");fetch(i).then(t=>t.blob()).then(t=>{const n=oA(t,i);const o=n.replace(\"image/\",\"\");const s=`image.${o}`;const r=new File([t],s,{type:n});e(r)}).catch(n)})}function iA(t){if(!t.is(\"element\",\"img\")||!t.getAttribute(\"src\")){return false}return t.getAttribute(\"src\").match(/^data:image\\/\\w+;base64,/g)||t.getAttribute(\"src\").match(/^blob:/g)}function oA(t,e){if(t.type){return t.type}else if(e.match(/data:(image\\/\\w+);base64/)){return e.match(/data:(image\\/\\w+);base64/)[1].toLowerCase()}else{return\"image/jpeg\"}}class sA extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"imageUpload\",n=>{const i=new Zx(n);const o=t.commands.get(\"imageUpload\");const s=t.config.get(\"image.upload.types\");const r=eA(s);i.set({acceptedType:s.map(t=>`image/${t}`).join(\",\"),allowMultipleFiles:true});i.buttonView.set({label:e(\"Insert image\"),icon:tA,tooltip:true});i.buttonView.bind(\"isEnabled\").to(o);i.on(\"done\",(e,n)=>{const i=Array.from(n).filter(t=>r.test(t.type));if(i.length){t.execute(\"imageUpload\",{file:i})}});return i})}}var rA='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 700 250\"><rect rx=\"4\"/></svg>';var aA=n(74);var cA=n(76);var lA=n(78);class dA extends Dw{constructor(t){super(t);this.placeholder=\"data:image/svg+xml;utf8,\"+encodeURIComponent(rA)}init(){const t=this.editor;t.editing.downcastDispatcher.on(\"attribute:uploadStatus:image\",(...t)=>this.uploadStatusChange(...t))}uploadStatusChange(t,e,n){const i=this.editor;const o=e.item;const s=o.getAttribute(\"uploadId\");if(!n.consumable.consume(e.item,t.name)){return}const r=i.plugins.get(u_);const a=s?e.attributeNewValue:null;const c=this.placeholder;const l=i.editing.mapper.toViewElement(o);const d=n.writer;if(a==\"reading\"){uA(l,d);fA(c,l,d);return}if(a==\"uploading\"){const t=r.loaders.get(s);uA(l,d);if(!t){fA(c,l,d)}else{gA(l,d);mA(l,d,t,i.editing.view);yA(l,d,t)}return}if(a==\"complete\"&&r.loaders.get(s)){bA(l,d,i.editing.view)}pA(l,d);gA(l,d);hA(l,d)}}function uA(t,e){if(!t.hasClass(\"ck-appear\")){e.addClass(\"ck-appear\",t)}}function hA(t,e){e.removeClass(\"ck-appear\",t)}function fA(t,e,n){if(!e.hasClass(\"ck-image-upload-placeholder\")){n.addClass(\"ck-image-upload-placeholder\",e)}const i=$v(e);if(i.getAttribute(\"src\")!==t){n.setAttribute(\"src\",t,i)}if(!kA(e,\"placeholder\")){n.insert(n.createPositionAfter(i),_A(n))}}function gA(t,e){if(t.hasClass(\"ck-image-upload-placeholder\")){e.removeClass(\"ck-image-upload-placeholder\",t)}vA(t,e,\"placeholder\")}function mA(t,e,n,i){const o=wA(e);e.insert(e.createPositionAt(t,\"end\"),o);n.on(\"change:uploadedPercent\",(t,e,n)=>{i.change(t=>{t.setStyle(\"width\",n+\"%\",o)})})}function pA(t,e){vA(t,e,\"progressBar\")}function bA(t,e,n){const i=e.createUIElement(\"div\",{class:\"ck-image-upload-complete-icon\"});e.insert(e.createPositionAt(t,\"end\"),i);setTimeout(()=>{n.change(t=>t.remove(t.createRangeOn(i)))},3e3)}function wA(t){const e=t.createUIElement(\"div\",{class:\"ck-progress-bar\"});t.setCustomProperty(\"progressBar\",true,e);return e}function _A(t){const e=t.createUIElement(\"div\",{class:\"ck-upload-placeholder-loader\"});t.setCustomProperty(\"placeholder\",true,e);return e}function kA(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function vA(t,e,n){const i=kA(t,n);if(i){e.remove(e.createRangeOn(i))}}function yA(t,e,n){if(n.data){const i=$v(t);e.setAttribute(\"src\",n.data,i)}}class xA extends c_{static get pluginName(){return\"Notification\"}init(){this.on(\"show:warning\",(t,e)=>{window.alert(e.message)},{priority:\"lowest\"})}showSuccess(t,e={}){this._showNotification({message:t,type:\"success\",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:\"info\",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:\"warning\",namespace:e.namespace,title:e.title})}_showNotification(t){const e=`show:${t.type}`+(t.namespace?`:${t.namespace}`:\"\");this.fire(e,{message:t.message,type:t.type,title:t.title||\"\"})}}class AA{constructor(t){this.document=t}createDocumentFragment(t){return new Wl(this.document,t)}createElement(t,e,n){return new Vc(this.document,t,e,n)}createText(t){return new Br(this.document,t)}clone(t,e=false){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;if(e){return this.removeChildren(e.getChildIndex(t),1,e)}return[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);this.removeChildren(i,1,n);this.insertChild(i,e,n);return true}return false}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t);this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Vc(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(R(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}}class TA extends zw{refresh(){this.isEnabled=qv(this.editor.model)}execute(t){const e=this.editor;const n=e.model;const i=e.plugins.get(u_);n.change(e=>{const o=Array.isArray(t.file)?t.file:[t.file];for(const t of o){CA(e,n,i,t)}})}}function CA(t,e,n,i){const o=n.createLoader(i);if(!o){return}Wv(t,e,{uploadId:o.id})}class SA extends Dw{static get requires(){return[u_,xA,$_]}static get pluginName(){return\"ImageUploadEditing\"}constructor(t){super(t);t.config.define(\"image\",{upload:{types:[\"jpeg\",\"png\",\"gif\",\"bmp\",\"webp\",\"tiff\"]}})}init(){const t=this.editor;const e=t.model.document;const n=t.model.schema;const i=t.conversion;const o=t.plugins.get(u_);const s=eA(t.config.get(\"image.upload.types\"));n.extend(\"image\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]});t.commands.add(\"imageUpload\",new TA(t));i.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"uploadId\"},model:\"uploadId\"});this.listenTo(t.editing.view.document,\"clipboardInput\",(e,n)=>{if(PA(n.dataTransfer)){return}const i=Array.from(n.dataTransfer.files).filter(t=>{if(!t){return false}return s.test(t.type)});const o=n.targetRanges.map(e=>t.editing.mapper.toModelRange(e));t.model.change(n=>{n.setSelection(o);if(i.length){e.stop();t.model.enqueueChange(\"default\",()=>{t.execute(\"imageUpload\",{file:i})})}})});this.listenTo(t.plugins.get($_),\"inputTransformation\",(e,n)=>{const i=Array.from(t.editing.view.createRangeIn(n.content)).filter(t=>iA(t.item)&&!t.item.getAttribute(\"uploadProcessed\")).map(t=>({promise:nA(t.item),imageElement:t.item}));if(!i.length){return}const s=new AA(t.editing.view.document);for(const t of i){s.setAttribute(\"uploadProcessed\",true,t.imageElement);const e=o.createLoader(t.promise);if(e){s.setAttribute(\"src\",\"\",t.imageElement);s.setAttribute(\"uploadId\",e.id,t.imageElement)}}});t.editing.view.document.on(\"dragover\",(t,e)=>{e.preventDefault()});e.on(\"change\",()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true});for(const e of n){if(e.type==\"insert\"&&e.name!=\"$text\"){const n=e.position.nodeAfter;const i=e.position.root.rootName==\"$graveyard\";for(const e of EA(t,n)){const t=e.getAttribute(\"uploadId\");if(!t){continue}const n=o.loaders.get(t);if(!n){continue}if(i){n.abort()}else if(n.status==\"idle\"){this._readAndUpload(n,e)}}}}})}_readAndUpload(t,e){const n=this.editor;const i=n.model;const o=n.locale.t;const s=n.plugins.get(u_);const r=n.plugins.get(xA);i.enqueueChange(\"transparent\",t=>{t.setAttribute(\"uploadStatus\",\"reading\",e)});return t.read().then(()=>{const o=t.upload();if(Cl.isSafari){const t=n.editing.mapper.toViewElement(e);const i=$v(t);n.editing.view.once(\"render\",()=>{if(!i.parent){return}const t=n.editing.view.domConverter.mapViewToDom(i.parent);if(!t){return}const e=t.style.display;t.style.display=\"none\";t._ckHack=t.offsetHeight;t.style.display=e})}i.enqueueChange(\"transparent\",t=>{t.setAttribute(\"uploadStatus\",\"uploading\",e)});return o}).then(t=>{i.enqueueChange(\"transparent\",n=>{n.setAttributes({uploadStatus:\"complete\",src:t.default},e);this._parseAndSetSrcsetAttributeOnImage(t,e,n)});a()}).catch(n=>{if(t.status!==\"error\"&&t.status!==\"aborted\"){throw n}if(t.status==\"error\"&&n){r.showWarning(n,{title:o(\"Upload failed\"),namespace:\"upload\"})}a();i.enqueueChange(\"transparent\",t=>{t.remove(e)})});function a(){i.enqueueChange(\"transparent\",t=>{t.removeAttribute(\"uploadId\",e);t.removeAttribute(\"uploadStatus\",e)});s.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const o=Object.keys(t).filter(t=>{const e=parseInt(t,10);if(!isNaN(e)){i=Math.max(i,e);return true}}).map(e=>`${t[e]} ${e}w`).join(\", \");if(o!=\"\"){n.setAttribute(\"srcset\",{data:o,width:i},e)}}}function PA(t){return Array.from(t.types).includes(\"text/html\")&&t.getData(\"text/html\")!==\"\"}function EA(t,e){return Array.from(t.model.createRangeOn(e)).filter(t=>t.item.is(\"image\")).map(t=>t.item)}class MA extends Dw{static get pluginName(){return\"ImageUpload\"}static get requires(){return[SA,sA,dA]}}class IA extends zw{constructor(t){super(t);this._childCommands=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();e.execute(t)}registerChildCommand(t){this._childCommands.push(t);t.on(\"change:isEnabled\",()=>this._checkEnabled());this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){return this._childCommands.find(t=>t.isEnabled)}}class NA extends Dw{static get pluginName(){return\"IndentEditing\"}init(){const t=this.editor;t.commands.add(\"indent\",new IA(t));t.commands.add(\"outdent\",new IA(t))}}var OA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95L5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z\"/></svg>';var RA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z\"/></svg>';class DA extends Dw{static get pluginName(){return\"IndentUI\"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection==\"ltr\"?OA:RA;const o=e.uiLanguageDirection==\"ltr\"?RA:OA;this._defineButton(\"indent\",n(\"Increase indent\"),i);this._defineButton(\"outdent\",n(\"Decrease indent\"),o)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,o=>{const s=i.commands.get(t);const r=new sw(o);r.set({label:e,icon:n,tooltip:true});r.bind(\"isOn\",\"isEnabled\").to(s,\"value\",\"isEnabled\");this.listenTo(r,\"execute\",()=>{i.execute(t);i.editing.view.focus()});return r})}}class LA extends Dw{static get pluginName(){return\"Indent\"}static get requires(){return[NA,DA]}}const zA=\"italic\";class VA extends Dw{static get pluginName(){return\"ItalicEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:zA});t.model.schema.setAttributeProperties(zA,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:zA,view:\"i\",upcastAlso:[\"em\",{styles:{\"font-style\":\"italic\"}}]});t.commands.add(zA,new A_(t,zA));t.keystrokes.set(\"CTRL+I\",zA)}}var jA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.586 14.633l.021.004c-.036.335.095.655.393.962.082.083.173.15.274.201h1.474a.6.6 0 1 1 0 1.2H5.304a.6.6 0 0 1 0-1.2h1.15c.474-.07.809-.182 1.005-.334.157-.122.291-.32.404-.597l2.416-9.55a1.053 1.053 0 0 0-.281-.823 1.12 1.12 0 0 0-.442-.296H8.15a.6.6 0 0 1 0-1.2h6.443a.6.6 0 1 1 0 1.2h-1.195c-.376.056-.65.155-.823.296-.215.175-.423.439-.623.79l-2.366 9.347z\"/></svg>';const BA=\"italic\";class FA extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(BA,n=>{const i=t.commands.get(BA);const o=new sw(n);o.set({label:e(\"Italic\"),icon:jA,keystroke:\"CTRL+I\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(BA);t.editing.view.focus()});return o})}}class HA extends Dw{static get requires(){return[VA,FA]}static get pluginName(){return\"Italic\"}}function UA(t,e,n){return n.createRange(WA(t,e,true,n),WA(t,e,false,n))}function WA(t,e,n,i){let o=t.textNode||(n?t.nodeBefore:t.nodeAfter);let s=null;while(o&&o.getAttribute(\"linkHref\")==e){s=o;o=n?o.previousSibling:o.nextSibling}return s?i.createPositionAt(s,n?\"before\":\"after\"):t}class qA extends zw{constructor(t){super(t);this.manualDecorators=new xr}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document;this.value=e.selection.getAttribute(\"linkHref\");for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}this.isEnabled=t.schema.checkAttributeInSelection(e.selection,\"linkHref\")}execute(t,e={}){const n=this.editor.model;const i=n.document.selection;const o=[];const s=[];for(const t in e){if(e[t]){o.push(t)}else{s.push(t)}}n.change(e=>{if(i.isCollapsed){const r=i.getFirstPosition();if(i.hasAttribute(\"linkHref\")){const a=UA(r,i.getAttribute(\"linkHref\"),n);e.setAttribute(\"linkHref\",t,a);o.forEach(t=>{e.setAttribute(t,true,a)});s.forEach(t=>{e.removeAttribute(t,a)});e.setSelection(a)}else if(t!==\"\"){const s=Ur(i.getAttributes());s.set(\"linkHref\",t);o.forEach(t=>{s.set(t,true)});const a=e.createText(t,s);n.insertContent(a,r);e.setSelection(e.createRangeOn(a))}}else{const r=n.schema.getValidRanges(i.getRanges(),\"linkHref\");for(const n of r){e.setAttribute(\"linkHref\",t,n);o.forEach(t=>{e.setAttribute(t,true,n)});s.forEach(t=>{e.removeAttribute(t,n)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model.document;return e.selection.getAttribute(t)}}class $A extends zw{refresh(){this.isEnabled=this.editor.model.document.selection.hasAttribute(\"linkHref\")}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const i=t.commands.get(\"link\");e.change(t=>{const o=n.isCollapsed?[UA(n.getFirstPosition(),n.getAttribute(\"linkHref\"),e)]:n.getRanges();for(const e of o){t.removeAttribute(\"linkHref\",e);if(i){for(const n of i.manualDecorators){t.removeAttribute(n.id,e)}}}})}}function YA(t,e,n){var i=t.length;n=n===undefined?i:n;return!e&&n>=i?t:Na(t,e,n)}var GA=YA;var QA=\"\\\\ud800-\\\\udfff\",KA=\"\\\\u0300-\\\\u036f\",JA=\"\\\\ufe20-\\\\ufe2f\",ZA=\"\\\\u20d0-\\\\u20ff\",XA=KA+JA+ZA,tT=\"\\\\ufe0e\\\\ufe0f\";var eT=\"\\\\u200d\";var nT=RegExp(\"[\"+eT+QA+XA+tT+\"]\");function iT(t){return nT.test(t)}var oT=iT;function sT(t){return t.split(\"\")}var rT=sT;var aT=\"\\\\ud800-\\\\udfff\",cT=\"\\\\u0300-\\\\u036f\",lT=\"\\\\ufe20-\\\\ufe2f\",dT=\"\\\\u20d0-\\\\u20ff\",uT=cT+lT+dT,hT=\"\\\\ufe0e\\\\ufe0f\";var fT=\"[\"+aT+\"]\",gT=\"[\"+uT+\"]\",mT=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",pT=\"(?:\"+gT+\"|\"+mT+\")\",bT=\"[^\"+aT+\"]\",wT=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",_T=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",kT=\"\\\\u200d\";var vT=pT+\"?\",yT=\"[\"+hT+\"]?\",xT=\"(?:\"+kT+\"(?:\"+[bT,wT,_T].join(\"|\")+\")\"+yT+vT+\")*\",AT=yT+vT+xT,TT=\"(?:\"+[bT+gT+\"?\",gT,wT,_T,fT].join(\"|\")+\")\";var CT=RegExp(mT+\"(?=\"+mT+\")|\"+TT+AT,\"g\");function ST(t){return t.match(CT)||[]}var PT=ST;function ET(t){return oT(t)?PT(t):rT(t)}var MT=ET;function IT(t){return function(e){e=va(e);var n=oT(e)?MT(e):undefined;var i=n?n[0]:e.charAt(0);var o=n?GA(n,1).join(\"\"):e.slice(1);return i[t]()+o}}var NT=IT;var OT=NT(\"toUpperCase\");var RT=OT;const DT=/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g;const LT=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;function zT(t){return t.is(\"attributeElement\")&&!!t.getCustomProperty(\"link\")}function VT(t,e){const n=e.createAttributeElement(\"a\",{href:t},{priority:5});e.setCustomProperty(\"link\",true,n);return n}function jT(t){t=String(t);return BT(t)?t:\"#\"}function BT(t){const e=t.replace(DT,\"\");return e.match(LT)}function FT(t,e){const n={\"Open in a new tab\":t(\"Open in a new tab\"),Downloadable:t(\"Downloadable\")};e.forEach(t=>{if(t.label&&n[t.label]){t.label=n[t.label]}return t});return e}function HT(t){const e=[];if(t){for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${RT(n)}`});e.push(t)}}return e}class UT{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach(t=>this._definitions.add(t))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on(\"attribute:linkHref\",(t,e,n)=>{if(!n.consumable.test(e.item,\"attribute:linkHref\")){return}const i=n.writer;const o=i.document.selection;for(const t of this._definitions){const s=i.createAttributeElement(\"a\",t.attributes,{priority:5});i.setCustomProperty(\"link\",true,s);if(t.callback(e.attributeNewValue)){if(e.item.is(\"selection\")){i.wrap(o.getFirstRange(),s)}else{i.wrap(n.mapper.toViewRange(e.range),s)}}else{i.unwrap(n.mapper.toViewRange(e.range),s)}}},{priority:\"high\"})}}}class WT{constructor({id:t,label:e,attributes:n,defaultValue:i}){this.id=t;this.set(\"value\");this.defaultValue=i;this.label=e;this.attributes=n}}yr(WT,Kc);function qT({view:t,model:e,emitter:n,attribute:i,locale:o}){const s=new $T(e,n,i);const r=e.document.selection;n.listenTo(t.document,\"keydown\",(t,e)=>{if(!r.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==Rl.arrowright;const i=e.keyCode==Rl.arrowleft;if(!n&&!i){return}const a=r.getFirstPosition();const c=o.contentLanguageDirection;let l;if(c===\"ltr\"&&n||c===\"rtl\"&&i){l=s.handleForwardMovement(a,e)}else{l=s.handleBackwardMovement(a,e)}if(l){t.stop()}},{priority:or.get(\"high\")+1})}class $T{constructor(t,e,n){this.model=t;this.attribute=n;this._modelSelection=t.document.selection;this._overrideUid=null;this._isNextGravityRestorationSkipped=false;e.listenTo(this._modelSelection,\"change:range\",(t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&YT(this._modelSelection.getFirstPosition(),n)){return}this._restoreGravity()})}handleForwardMovement(t,e){const n=this.attribute;if(this._isGravityOverridden){return}if(t.isAtStart&&this._hasSelectionAttribute){return}if(KT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._removeSelectionAttribute();return true}if(GT(t,n)){this._preventCaretMovement(e);this._overrideGravity();return true}if(QT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._overrideGravity();return true}}handleBackwardMovement(t,e){const n=this.attribute;if(this._isGravityOverridden){if(KT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._restoreGravity();this._removeSelectionAttribute();return true}else{this._preventCaretMovement(e);this._restoreGravity();if(t.isAtStart){this._removeSelectionAttribute()}return true}}else{if(KT(t,n)&&!this._hasSelectionAttribute){this._preventCaretMovement(e);this._setSelectionAttributeFromTheNodeBefore(t);return true}if(t.isAtEnd&&QT(t,n)){if(this._hasSelectionAttribute){if(JT(t,n)){this._skipNextAutomaticGravityRestoration();this._overrideGravity()}return}else{this._preventCaretMovement(e);this._setSelectionAttributeFromTheNodeBefore(t);return true}}if(t.isAtStart){if(this._hasSelectionAttribute){this._removeSelectionAttribute();this._preventCaretMovement(e);return true}return}if(JT(t,n)){this._skipNextAutomaticGravityRestoration();this._overrideGravity()}}}get _isGravityOverridden(){return!!this._overrideUid}get _hasSelectionAttribute(){return this._modelSelection.hasAttribute(this.attribute)}_overrideGravity(){this._overrideUid=this.model.change(t=>t.overrideSelectionGravity())}_restoreGravity(){this.model.change(t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null})}_preventCaretMovement(t){t.preventDefault()}_removeSelectionAttribute(){this.model.change(t=>{t.removeSelectionAttribute(this.attribute)})}_setSelectionAttributeFromTheNodeBefore(t){const e=this.attribute;this.model.change(n=>{n.setSelectionAttribute(this.attribute,t.nodeBefore.getAttribute(e))})}_skipNextAutomaticGravityRestoration(){this._isNextGravityRestorationSkipped=true}}function YT(t,e){return GT(t,e)||QT(t,e)}function GT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;return s&&(!o||n.getAttribute(e)!==i.getAttribute(e))}function QT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;return o&&(!s||n.getAttribute(e)!==i.getAttribute(e))}function KT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;if(!s||!o){return}return i.getAttribute(e)!==n.getAttribute(e)}function JT(t,e){return YT(t.getShiftedBy(-1),e)}var ZT=n(80);const XT=\"ck-link_selected\";const tC=\"automatic\";const eC=\"manual\";const nC=/^(https?:)?\\/\\//;class iC extends Dw{static get pluginName(){return\"LinkEditing\"}constructor(t){super(t);t.config.define(\"link\",{addTargetToExternalLinks:false})}init(){const t=this.editor;const e=t.locale;t.model.schema.extend(\"$text\",{allowAttributes:\"linkHref\"});t.conversion.for(\"dataDowncast\").attributeToElement({model:\"linkHref\",view:VT});t.conversion.for(\"editingDowncast\").attributeToElement({model:\"linkHref\",view:(t,e)=>VT(jT(t),e)});t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:{href:true}},model:{key:\"linkHref\",value:t=>t.getAttribute(\"href\")}});t.commands.add(\"link\",new qA(t));t.commands.add(\"unlink\",new $A(t));const n=FT(t.t,HT(t.config.get(\"link.decorators\")));this._enableAutomaticDecorators(n.filter(t=>t.mode===tC));this._enableManualDecorators(n.filter(t=>t.mode===eC));qT({view:t.editing.view,model:t.model,emitter:this,attribute:\"linkHref\",locale:e});this._setupLinkHighlight();this._enableInsertContentSelectionAttributesFixer()}_enableAutomaticDecorators(t){const e=this.editor;const n=new UT;if(e.config.get(\"link.addTargetToExternalLinks\")){n.add({id:\"linkIsExternal\",mode:tC,callback:t=>nC.test(t),attributes:{target:\"_blank\",rel:\"noopener noreferrer\"}})}n.add(t);if(n.length){e.conversion.for(\"downcast\").add(n.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get(\"link\");const i=n.manualDecorators;t.forEach(t=>{e.model.schema.extend(\"$text\",{allowAttributes:t.id});i.add(new WT(t));e.conversion.for(\"downcast\").attributeToElement({model:t.id,view:(e,n)=>{if(e){const e=i.get(t.id).attributes;const o=n.createAttributeElement(\"a\",e,{priority:5});n.setCustomProperty(\"link\",true,o);return o}}});e.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:i.get(t.id).attributes},model:{key:t.id}})})}_setupLinkHighlight(){const t=this.editor;const e=t.editing.view;const n=new Set;e.document.registerPostFixer(e=>{const i=t.model.document.selection;let o=false;if(i.hasAttribute(\"linkHref\")){const s=UA(i.getFirstPosition(),i.getAttribute(\"linkHref\"),t.model);const r=t.editing.mapper.toViewRange(s);for(const t of r.getItems()){if(t.is(\"a\")&&!t.hasClass(XT)){e.addClass(XT,t);n.add(t);o=true}}}return o});t.conversion.for(\"editingDowncast\").add(t=>{t.on(\"insert\",i,{priority:\"highest\"});t.on(\"remove\",i,{priority:\"highest\"});t.on(\"attribute\",i,{priority:\"highest\"});t.on(\"selection\",i,{priority:\"highest\"});function i(){e.change(t=>{for(const e of n.values()){t.removeClass(XT,e);n.delete(e)}})}})}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;e.on(\"insertContent\",()=>{const t=n.anchor.nodeBefore;const i=n.anchor.nodeAfter;if(!n.hasAttribute(\"linkHref\")){return}if(!t){return}if(!t.hasAttribute(\"linkHref\")){return}if(i&&i.hasAttribute(\"linkHref\")){return}e.change(t=>{[...e.document.selection.getAttributeKeys()].filter(t=>t.startsWith(\"link\")).forEach(e=>t.removeSelectionAttribute(e))})},{priority:\"low\"})}}class oC extends Qu{constructor(t){super(t);this.domEventType=\"click\"}onDomEvent(t){this.fire(t.type,t)}}var sC=n(82);class rC extends _b{constructor(t,e){super(t);const n=t.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(n(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});const i=[\"ck\",\"ck-link-form\"];if(e.manualDecorators.length){i.push(\"ck-link-form_layout-vertical\")}this.setTemplate({tag:\"form\",attributes:{class:i,tabindex:\"-1\"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>{t[e.name]=e.isOn;return t},{})}render(){super.render();Ry({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new Ey(this.locale,Ny);e.label=t(\"Link URL\");e.fieldView.placeholder=\"https://example.com\";return e}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new fw(this.locale);i.set({name:n.id,label:n.label,withText:true});i.bind(\"isOn\").toMany([n,t],\"value\",(t,e)=>e===undefined&&t===undefined?n.defaultValue:t);i.on(\"execute\",()=>{n.set(\"value\",!i.isOn)});e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new _b;t.setTemplate({tag:\"ul\",children:this._manualDecoratorSwitches.map(t=>({tag:\"li\",children:[t],attributes:{class:[\"ck\",\"ck-list__item\"]}})),attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var aC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.077 15l.991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184zm4.919 10.562l-1.414 1.414a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.061-1.06l1.414 1.414 1.414-1.415a.75.75 0 0 1 1.061 1.061l-1.414 1.414 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414z\"/></svg>';var cC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.3 17.37l-.061.088a1.518 1.518 0 0 1-.934.535l-4.178.663-.806-4.153a1.495 1.495 0 0 1 .187-1.058l.056-.086L8.77 2.639c.958-1.351 2.803-1.076 4.296-.03 1.497 1.047 2.387 2.693 1.433 4.055L7.3 17.37zM9.14 4.728l-5.545 8.346 3.277 2.294 5.544-8.346L9.14 4.728zM6.07 16.512l-3.276-2.295.53 2.73 2.746-.435zM9.994 3.506L13.271 5.8c.316-.452-.16-1.333-1.065-1.966-.905-.634-1.895-.78-2.212-.328zM8 18.5L9.375 17H19v1.5H8z\"/></svg>';var lC=n(84);class dC extends _b{constructor(t){super(t);const e=t.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(e(\"Unlink\"),aC,\"unlink\");this.editButtonView=this._createButton(e(\"Edit link\"),cC,\"edit\");this.set(\"href\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-link-actions\"],tabindex:\"-1\"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new sw(this.locale);i.set({label:t,icon:e,tooltip:true});i.delegate(\"execute\").to(this,n);return i}_createPreviewButton(){const t=new sw(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n(\"Open link in new tab\")});t.extendTemplate({attributes:{class:[\"ck\",\"ck-link-actions__preview\"],href:e.to(\"href\",t=>t&&jT(t)),target:\"_blank\",rel:\"noopener noreferrer\"}});t.bind(\"label\").to(this,\"href\",t=>t||n(\"This link has no URL\"));t.bind(\"isEnabled\").to(this,\"href\",t=>!!t);t.template.tag=\"a\";t.template.eventListeners={};return t}}var uC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.077 15l.991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z\"/></svg>';const hC=\"Ctrl+K\";class fC extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"LinkUI\"}init(){const t=this.editor;t.editing.view.addObserver(oC);this.actionsView=this._createActionsView();this.formView=this._createFormView();this._balloon=t.plugins.get(Wy);this._createToolbarLinkButton();this._enableUserBalloonInteractions()}destroy(){super.destroy();this.formView.destroy()}_createActionsView(){const t=this.editor;const e=new dC(t.locale);const n=t.commands.get(\"link\");const i=t.commands.get(\"unlink\");e.bind(\"href\").to(n,\"value\");e.editButtonView.bind(\"isEnabled\").to(n);e.unlinkButtonView.bind(\"isEnabled\").to(i);this.listenTo(e,\"edit\",()=>{this._addFormView()});this.listenTo(e,\"unlink\",()=>{t.execute(\"unlink\");this._hideUI()});e.keystrokes.set(\"Esc\",(t,e)=>{this._hideUI();e()});e.keystrokes.set(hC,(t,e)=>{this._addFormView();e()});return e}_createFormView(){const t=this.editor;const e=t.commands.get(\"link\");const n=new rC(t.locale,e);n.urlInputView.fieldView.bind(\"value\").to(e,\"value\");n.urlInputView.bind(\"isReadOnly\").to(e,\"isEnabled\",t=>!t);n.saveButtonView.bind(\"isEnabled\").to(e);this.listenTo(n,\"submit\",()=>{t.execute(\"link\",n.urlInputView.fieldView.element.value,n.getDecoratorSwitchesState());this._closeFormView()});this.listenTo(n,\"cancel\",()=>{this._closeFormView()});n.keystrokes.set(\"Esc\",(t,e)=>{this._closeFormView();e()});return n}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get(\"link\");const n=t.t;t.keystrokes.set(hC,(t,e)=>{e();this._showUI(true)});t.ui.componentFactory.add(\"link\",t=>{const i=new sw(t);i.isEnabled=true;i.label=n(\"Link\");i.icon=uC;i.keystroke=hC;i.tooltip=true;i.isToggleable=true;i.bind(\"isEnabled\").to(e,\"isEnabled\");i.bind(\"isOn\").to(e,\"value\",t=>!!t);this.listenTo(i,\"execute\",()=>this._showUI(true));return i})}_enableUserBalloonInteractions(){const t=this.editor.editing.view.document;this.listenTo(t,\"click\",()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}});this.editor.keystrokes.set(\"Tab\",(t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}},{priority:\"high\"});this.editor.keystrokes.set(\"Esc\",(t,e)=>{if(this._isUIVisible){this._hideUI();e()}});gw({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get(\"link\");this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.urlInputView.fieldView.element.value=e.value||\"\"}_closeFormView(){const t=this.editor.commands.get(\"link\");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this._balloon.remove(this.formView);this.editor.editing.view.focus()}}_showUI(t=false){if(!this._getSelectedLinkElement()){this._addActionsView();if(t){this._balloon.showStack(\"main\")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack(\"main\")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,\"update\");this.stopListening(this._balloon,\"change:visibleView\");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView)}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let i=s();const o=()=>{const t=this._getSelectedLinkElement();const e=s();if(n&&!t||!n&&e!==i){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;i=e};function s(){return e.selection.focus.getAncestors().reverse().find(t=>t.is(\"element\"))}this.listenTo(t.ui,\"update\",o);this.listenTo(this._balloon,\"change:visibleView\",o)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=t.document;const n=this._getSelectedLinkElement();const i=n?t.domConverter.mapViewToDom(n):t.domConverter.viewRangeToDom(e.selection.getFirstRange());return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;if(e.isCollapsed){return gC(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const i=gC(n.start);const o=gC(n.end);if(!i||i!=o){return null}if(t.createRangeIn(i).getTrimmed().isEqual(n)){return i}else{return null}}}}function gC(t){return t.getAncestors().find(t=>zT(t))}class mC extends Dw{static get requires(){return[iC,fC]}static get pluginName(){return\"Link\"}}class pC extends zw{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;const n=Array.from(e.selection.getSelectedBlocks()).filter(e=>wC(e,t.schema));const i=this.value===true;t.change(t=>{if(i){let e=n[n.length-1].nextSibling;let i=Number.POSITIVE_INFINITY;let o=[];while(e&&e.name==\"listItem\"&&e.getAttribute(\"listIndent\")!==0){const t=e.getAttribute(\"listIndent\");if(t<i){i=t}const n=t-i;o.push({element:e,listIndent:n});e=e.nextSibling}o=o.reverse();for(const e of o){t.setAttribute(\"listIndent\",e.listIndent,e.element)}}if(!i){let t=Number.POSITIVE_INFINITY;for(const e of n){if(e.is(\"listItem\")&&e.getAttribute(\"listIndent\")<t){t=e.getAttribute(\"listIndent\")}}t=t===0?1:t;bC(n,true,t);bC(n,false,t)}for(const e of n.reverse()){if(i&&e.name==\"listItem\"){t.rename(e,\"paragraph\")}else if(!i&&e.name!=\"listItem\"){t.setAttributes({listType:this.type,listIndent:0},e);t.rename(e,\"listItem\")}else if(!i&&e.name==\"listItem\"&&e.getAttribute(\"listType\")!=this.type){t.setAttribute(\"listType\",this.type,e)}}})}_getValue(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());return!!t&&t.is(\"listItem\")&&t.getAttribute(\"listType\")==this.type}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=jw(t.getSelectedBlocks());if(!n){return false}return wC(n,e)}}function bC(t,e,n){const i=e?t[0]:t[t.length-1];if(i.is(\"listItem\")){let o=i[e?\"previousSibling\":\"nextSibling\"];let s=i.getAttribute(\"listIndent\");while(o&&o.is(\"listItem\")&&o.getAttribute(\"listIndent\")>=n){if(s>o.getAttribute(\"listIndent\")){s=o.getAttribute(\"listIndent\")}if(o.getAttribute(\"listIndent\")==s){t[e?\"unshift\":\"push\"](o)}o=o[e?\"previousSibling\":\"nextSibling\"]}}}function wC(t,e){return e.checkChild(t.parent,\"listItem\")&&!e.isObject(t)}class _C extends zw{constructor(t,e){super(t);this._indentBy=e==\"forward\"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change(t=>{const e=n[n.length-1];let i=e.nextSibling;while(i&&i.name==\"listItem\"&&i.getAttribute(\"listIndent\")>e.getAttribute(\"listIndent\")){n.push(i);i=i.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute(\"listIndent\")+this._indentBy;if(n<0){t.rename(e,\"paragraph\")}else{t.setAttribute(\"listIndent\",n,e)}}})}_checkEnabled(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is(\"listItem\")){return false}if(this._indentBy>0){const e=t.getAttribute(\"listIndent\");const n=t.getAttribute(\"listType\");let i=t.previousSibling;while(i&&i.is(\"listItem\")&&i.getAttribute(\"listIndent\")>=e){if(i.getAttribute(\"listIndent\")==e){return i.getAttribute(\"listType\")==n}i=i.previousSibling}return false}return true}}function kC(t){const e=t.createContainerElement(\"li\");e.getFillerOffset=SC;return e}function vC(t,e){const n=e.mapper;const i=e.writer;const o=t.getAttribute(\"listType\")==\"numbered\"?\"ol\":\"ul\";const s=kC(i);const r=i.createContainerElement(o,null);i.insert(i.createPositionAt(r,0),s);n.bindElements(t,s);return s}function yC(t,e,n,i){const o=e.parent;const s=n.mapper;const r=n.writer;let a=s.toViewPosition(i.createPositionBefore(t));const c=TC(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute(\"listIndent\")});const l=t.previousSibling;if(c&&c.getAttribute(\"listIndent\")==t.getAttribute(\"listIndent\")){const t=s.toViewElement(c);a=r.breakContainer(r.createPositionAfter(t))}else{if(l&&l.name==\"listItem\"){a=s.toViewPosition(i.createPositionAt(l,\"end\"))}else{a=s.toViewPosition(i.createPositionBefore(t))}}a=AC(a);r.insert(a,o);if(l&&l.name==\"listItem\"){const t=s.toViewElement(l);const n=r.createRange(r.createPositionAt(t,0),a);const i=n.getWalker({ignoreElementEnd:true});for(const t of i){if(t.item.is(\"li\")){const n=r.breakContainer(r.createPositionBefore(t.item));const o=t.item.parent;const s=r.createPositionAt(e,\"end\");xC(r,s.nodeBefore,s.nodeAfter);r.move(r.createRangeOn(o),s);i.position=n}}}else{const n=o.nextSibling;if(n&&(n.is(\"ul\")||n.is(\"ol\"))){let i=null;for(const e of n.getChildren()){const n=s.toModelElement(e);if(n&&n.getAttribute(\"listIndent\")>t.getAttribute(\"listIndent\")){i=e}else{break}}if(i){r.breakContainer(r.createPositionAfter(i));r.move(r.createRangeOn(i.parent),r.createPositionAt(e,\"end\"))}}}xC(r,o,o.nextSibling);xC(r,o.previousSibling,o)}function xC(t,e,n){if(!e||!n||e.name!=\"ul\"&&e.name!=\"ol\"){return null}if(e.name!=n.name||e.getAttribute(\"class\")!==n.getAttribute(\"class\")){return null}return t.mergeContainers(t.createPositionAfter(e))}function AC(t){return t.getLastMatchingPosition(t=>t.item.is(\"uiElement\"))}function TC(t,e){const n=!!e.sameIndent;const i=!!e.smallerIndent;const o=e.listIndent;let s=t;while(s&&s.name==\"listItem\"){const t=s.getAttribute(\"listIndent\");if(n&&o==t||i&&o>t){return s}s=s.previousSibling}return null}function CC(t,e,n,i){t.ui.componentFactory.add(e,o=>{const s=t.commands.get(e);const r=new sw(o);r.set({label:n,icon:i,tooltip:true,isToggleable:true});r.bind(\"isOn\",\"isEnabled\").to(s,\"value\",\"isEnabled\");r.on(\"execute\",()=>{t.execute(e);t.editing.view.focus()});return r})}function SC(){const t=!this.isEmpty&&(this.getChild(0).name==\"ul\"||this.getChild(0).name==\"ol\");if(this.isEmpty||t){return 0}return Uc.call(this)}function PC(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,\"insert\")||!o.test(n.item,\"attribute:listType\")||!o.test(n.item,\"attribute:listIndent\")){return}o.consume(n.item,\"insert\");o.consume(n.item,\"attribute:listType\");o.consume(n.item,\"attribute:listIndent\");const s=n.item;const r=vC(s,i);yC(s,r,i,t)}}function EC(t){return(e,n,i)=>{const o=i.mapper.toViewPosition(n.position).getLastMatchingPosition(t=>!t.item.is(\"li\"));const s=o.nodeAfter;const r=i.writer;r.breakContainer(r.createPositionBefore(s));r.breakContainer(r.createPositionAfter(s));const a=s.parent;const c=a.previousSibling;const l=r.createRangeOn(a);const d=r.remove(l);if(c&&c.nextSibling){xC(r,c,c.nextSibling)}const u=i.mapper.toModelElement(s);WC(u.getAttribute(\"listIndent\")+1,n.position,l.start,s,i,t);for(const t of r.createRangeIn(d).getItems()){i.mapper.unbindViewElement(t)}e.stop()}}function MC(t,e,n){if(!n.consumable.consume(e.item,\"attribute:listType\")){return}const i=n.mapper.toViewElement(e.item);const o=n.writer;o.breakContainer(o.createPositionBefore(i));o.breakContainer(o.createPositionAfter(i));const s=i.parent;const r=e.attributeNewValue==\"numbered\"?\"ol\":\"ul\";o.rename(r,s)}function IC(t,e,n){const i=n.mapper.toViewElement(e.item);const o=i.parent;const s=n.writer;xC(s,o,o.nextSibling);xC(s,o.previousSibling,o);for(const t of e.item.getChildren()){n.consumable.consume(t,\"insert\")}}function NC(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,\"attribute:listIndent\")){return}const o=i.mapper.toViewElement(n.item);const s=i.writer;s.breakContainer(s.createPositionBefore(o));s.breakContainer(s.createPositionAfter(o));const r=o.parent;const a=r.previousSibling;const c=s.createRangeOn(r);s.remove(c);if(a&&a.nextSibling){xC(s,a,a.nextSibling)}WC(n.attributeOldValue+1,n.range.start,c.start,o,i,t);yC(n.item,o,i,t);for(const t of n.item.getChildren()){i.consumable.consume(t,\"insert\")}}}function OC(t,e,n){if(e.item.name!=\"listItem\"){let t=n.mapper.toViewPosition(e.range.start);const i=n.writer;const o=[];while(t.parent.name==\"ul\"||t.parent.name==\"ol\"){t=i.breakContainer(t);if(t.parent.name!=\"li\"){break}const e=t;const n=i.createPositionAt(t.parent,\"end\");if(!e.isEqual(n)){const t=i.remove(i.createRange(e,n));o.push(t)}t=i.createPositionAfter(t.parent)}if(o.length>0){for(let e=0;e<o.length;e++){const n=t.nodeBefore;const s=i.insert(t,o[e]);t=s.end;if(e>0){const e=xC(i,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}xC(i,t.nodeBefore,t.nodeAfter)}}}function RC(t,e,n){const i=n.mapper.toViewPosition(e.position);const o=i.nodeBefore;const s=i.nodeAfter;xC(n.writer,o,s)}function DC(t,e,n){if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const i=t.createElement(\"listItem\");const o=$C(e.viewItem);t.setAttribute(\"listIndent\",o,i);const s=e.viewItem.parent&&e.viewItem.parent.name==\"ol\"?\"numbered\":\"bulleted\";t.setAttribute(\"listType\",s,i);const r=n.splitToAllowedParent(i,e.modelCursor);if(!r){return}t.insert(i,r.position);const a=HC(i,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,a);if(r.cursorParent){e.modelCursor=t.createPositionAt(r.cursorParent,0)}else{e.modelCursor=e.modelRange.end}}}function LC(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is(\"li\")||qC(e));if(t){e._remove()}}}}function zC(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;let i=true;for(const e of t){if(n&&!qC(e)){e._remove()}if(e.is(\"text\")){if(i){e._data=e.data.replace(/^\\s+/,\"\")}if(!e.nextSibling||qC(e.nextSibling)){e._data=e.data.replace(/\\s+$/,\"\")}}else if(qC(e)){n=true}i=false}}}function VC(t){return(e,n)=>{if(n.isPhantom){return}const i=n.modelPosition.nodeBefore;if(i&&i.is(\"listItem\")){const e=n.mapper.toViewElement(i);const o=e.getAncestors().find(qC);const s=t.createPositionAt(e,0).getWalker();for(const t of s){if(t.type==\"elementStart\"&&t.item.is(\"li\")){n.viewPosition=t.previousPosition;break}else if(t.type==\"elementEnd\"&&t.item==o){n.viewPosition=t.nextPosition;break}}}}}function jC(t){return(e,n)=>{const i=n.viewPosition;const o=i.parent;const s=n.mapper;if(o.name==\"ul\"||o.name==\"ol\"){if(!i.isAtEnd){const e=s.toModelElement(i.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=s.toModelElement(i.nodeBefore);const o=s.getModelLength(i.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(o)}e.stop()}else if(o.name==\"li\"&&i.nodeBefore&&(i.nodeBefore.name==\"ul\"||i.nodeBefore.name==\"ol\")){const r=s.toModelElement(o);let a=1;let c=i.nodeBefore;while(c&&qC(c)){a+=s.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(r).getShiftedBy(a);e.stop()}}}function BC(t,e){const n=t.document.differ.getChanges();const i=new Map;let o=false;for(const i of n){if(i.type==\"insert\"&&i.name==\"listItem\"){s(i.position)}else if(i.type==\"insert\"&&i.name!=\"listItem\"){if(i.name!=\"$text\"){const n=i.position.nodeAfter;if(n.hasAttribute(\"listIndent\")){e.removeAttribute(\"listIndent\",n);o=true}if(n.hasAttribute(\"listType\")){e.removeAttribute(\"listType\",n);o=true}for(const e of Array.from(t.createRangeIn(n)).filter(t=>t.item.is(\"listItem\"))){s(e.previousPosition)}}const n=i.position.getShiftedBy(i.length);s(n)}else if(i.type==\"remove\"&&i.name==\"listItem\"){s(i.position)}else if(i.type==\"attribute\"&&i.attributeKey==\"listIndent\"){s(i.range.start)}else if(i.type==\"attribute\"&&i.attributeKey==\"listType\"){s(i.range.start)}}for(const t of i.values()){r(t);a(t)}return o;function s(t){const e=t.nodeBefore;if(!e||!e.is(\"listItem\")){const e=t.nodeAfter;if(e&&e.is(\"listItem\")){i.set(e,e)}}else{let t=e;if(i.has(t)){return}for(let e=t.previousSibling;e&&e.is(\"listItem\");e=t.previousSibling){t=e;if(i.has(t)){return}}i.set(e,t)}}function r(t){let n=0;let i=null;while(t&&t.is(\"listItem\")){const s=t.getAttribute(\"listIndent\");if(s>n){let r;if(i===null){i=s-n;r=n}else{if(i>s){i=s}r=s-i}e.setAttribute(\"listIndent\",r,t);o=true}else{i=null;n=t.getAttribute(\"listIndent\")+1}t=t.nextSibling}}function a(t){let n=[];let i=null;while(t&&t.is(\"listItem\")){const s=t.getAttribute(\"listIndent\");if(i&&i.getAttribute(\"listIndent\")>s){n=n.slice(0,s+1)}if(s!=0){if(n[s]){const i=n[s];if(t.getAttribute(\"listType\")!=i){e.setAttribute(\"listType\",i,t);o=true}}else{n[s]=t.getAttribute(\"listType\")}}i=t;t=t.nextSibling}}}function FC(t,[e,n]){let i=e.is(\"documentFragment\")?e.getChild(0):e;let o;if(!n){o=this.document.selection}else{o=this.createSelection(n)}if(i&&i.is(\"listItem\")){const t=o.getFirstPosition();let e=null;if(t.parent.is(\"listItem\")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is(\"listItem\")){e=t.nodeBefore}if(e){const t=e.getAttribute(\"listIndent\");if(t>0){while(i&&i.is(\"listItem\")){i._setAttribute(\"listIndent\",i.getAttribute(\"listIndent\")+t);i=i.nextSibling}}}}}function HC(t,e,n){const{writer:i,schema:o}=n;let s=i.createPositionAfter(t);for(const r of e){if(r.name==\"ul\"||r.name==\"ol\"){s=n.convertItem(r,s).modelCursor}else{const e=n.convertItem(r,i.createPositionAt(t,\"end\"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is(\"element\")&&!o.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is(\"listItem\")){t=e.modelCursor.parent}else{t=UC(e.modelCursor)}s=i.createPositionAfter(t)}}}return s}function UC(t){const e=new Uh({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is(\"listItem\"));return n.value.item}function WC(t,e,n,i,o,s){const r=TC(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t,foo:\"b\"});const a=o.mapper;const c=o.writer;const l=r?r.getAttribute(\"listIndent\"):null;let d;if(!r){d=n}else if(l==t){const t=a.toViewElement(r).parent;d=c.createPositionAfter(t)}else{const t=s.createPositionAt(r,\"end\");d=a.toViewPosition(t)}d=AC(d);for(const t of[...i.getChildren()]){if(qC(t)){d=c.move(c.createRangeOn(t),d).end;xC(c,t,t.nextSibling);xC(c,t.previousSibling,t)}}}function qC(t){return t.is(\"ol\")||t.is(\"ul\")}function $C(t){let e=0;let n=t.parent;while(n){if(n.is(\"li\")){e++}else{const t=n.previousSibling;if(t&&t.is(\"li\")){e++}}n=n.parent}return e}class YC extends Dw{static get pluginName(){return\"ListEditing\"}static get requires(){return[nv]}init(){const t=this.editor;t.model.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributes:[\"listType\",\"listIndent\"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer(e=>BC(t.model,e));n.mapper.registerViewToModelLength(\"li\",GC);e.mapper.registerViewToModelLength(\"li\",GC);n.mapper.on(\"modelToViewPosition\",VC(n.view));n.mapper.on(\"viewToModelPosition\",jC(t.model));e.mapper.on(\"modelToViewPosition\",VC(n.view));t.conversion.for(\"editingDowncast\").add(e=>{e.on(\"insert\",OC,{priority:\"high\"});e.on(\"insert:listItem\",PC(t.model));e.on(\"attribute:listType:listItem\",MC,{priority:\"high\"});e.on(\"attribute:listType:listItem\",IC,{priority:\"low\"});e.on(\"attribute:listIndent:listItem\",NC(t.model));e.on(\"remove:listItem\",EC(t.model));e.on(\"remove\",RC,{priority:\"low\"})});t.conversion.for(\"dataDowncast\").add(e=>{e.on(\"insert\",OC,{priority:\"high\"});e.on(\"insert:listItem\",PC(t.model))});t.conversion.for(\"upcast\").add(t=>{t.on(\"element:ul\",LC,{priority:\"high\"});t.on(\"element:ol\",LC,{priority:\"high\"});t.on(\"element:li\",zC,{priority:\"high\"});t.on(\"element:li\",DC)});t.model.on(\"insertContent\",FC,{priority:\"high\"});t.commands.add(\"numberedList\",new pC(t,\"numbered\"));t.commands.add(\"bulletedList\",new pC(t,\"bulleted\"));t.commands.add(\"indentList\",new _C(t,\"forward\"));t.commands.add(\"outdentList\",new _C(t,\"backward\"));const i=n.view.document;this.listenTo(i,\"enter\",(t,e)=>{const n=this.editor.model.document;const i=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&i.name==\"listItem\"&&i.isEmpty){this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}});this.listenTo(i,\"delete\",(t,e)=>{if(e.direction!==\"backward\"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const i=n.getFirstPosition();if(!i.isAtStart){return}const o=i.parent;if(o.name!==\"listItem\"){return}const s=o.previousSibling&&o.previousSibling.name===\"listItem\";if(s){return}this.editor.execute(\"outdentList\");e.preventDefault();t.stop()},{priority:\"high\"});const o=t=>(e,n)=>{const i=this.editor.commands.get(t);if(i.isEnabled){this.editor.execute(t);n()}};t.keystrokes.set(\"Tab\",o(\"indentList\"));t.keystrokes.set(\"Shift+Tab\",o(\"outdentList\"))}afterInit(){const t=this.editor.commands;const e=t.get(\"indent\");const n=t.get(\"outdent\");if(e){e.registerChildCommand(t.get(\"indentList\"))}if(n){n.registerChildCommand(t.get(\"outdentList\"))}}}function GC(t){let e=1;for(const n of t.getChildren()){if(n.name==\"ul\"||n.name==\"ol\"){for(const t of n.getChildren()){e+=GC(t)}}}return e}var QC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM3.5 3v5H2V3.7H1v-1h2.5V3zM.343 17.857l2.59-3.257H2.92a.6.6 0 1 0-1.04 0H.302a2 2 0 1 1 3.995 0h-.001c-.048.405-.16.734-.333.988-.175.254-.59.692-1.244 1.312H4.3v1h-4l.043-.043zM7 14.75a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z\"/></svg>';var KC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0C1 4.784 1.777 4 2.75 4c.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75C1.784 7.5 1 6.723 1 5.75zm6 9c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0c0-.966.777-1.75 1.75-1.75.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75-.966 0-1.75-.777-1.75-1.75z\"/></svg>';class JC extends Dw{init(){const t=this.editor.t;CC(this.editor,\"numberedList\",t(\"Numbered List\"),QC);CC(this.editor,\"bulletedList\",t(\"Bulleted List\"),KC)}}class ZC extends Dw{static get requires(){return[YC,JC]}static get pluginName(){return\"List\"}}function XC(t,e){return t=>{t.on(\"attribute:url:media\",n)};function n(n,i,o){if(!o.consumable.consume(i.item,n.name)){return}const s=i.attributeNewValue;const r=o.writer;const a=o.mapper.toViewElement(i.item);const c=[...a.getChildren()].find(t=>t.getCustomProperty(\"media-content\"));r.remove(c);const l=t.getMediaViewElement(r,s,e);r.insert(r.createPositionAt(a,0),l)}}function tS(t,e,n){e.setCustomProperty(\"media\",true,t);return Mv(t,e,{label:n})}function eS(t){const e=t.getSelectedElement();if(e&&nS(e)){return e}return null}function nS(t){return!!t.getCustomProperty(\"media\")&&Ev(t)}function iS(t,e,n,i){const o=t.createContainerElement(\"figure\",{class:\"media\"});o.getFillerOffset=rS;t.insert(t.createPositionAt(o,0),e.getMediaViewElement(t,n,i));return o}function oS(t){const e=t.getSelectedElement();if(e&&e.is(\"media\")){return e}return null}function sS(t,e,n){t.change(i=>{const o=i.createElement(\"media\",{url:e});t.insertContent(o,n);i.setSelection(o,\"on\")})}function rS(){return null}class aS extends zw{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const i=e.getFirstPosition();const o=oS(e);let s=i.parent;if(s!=s.root){s=s.parent}this.value=o?o.getAttribute(\"url\"):null;this.isEnabled=n.checkChild(s,\"media\")}execute(t){const e=this.editor.model;const n=e.document.selection;const i=oS(n);if(i){e.change(e=>{e.setAttribute(\"url\",t,i)})}else{const i=Dv(n,e);sS(e,t,i)}}}var cS='<svg viewBox=\"0 0 64 42\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M47.426 17V3.713L63.102 0v19.389h-.001l.001.272c0 1.595-2.032 3.43-4.538 4.098-2.506.668-4.538-.083-4.538-1.678 0-1.594 2.032-3.43 4.538-4.098.914-.244 2.032-.565 2.888-.603V4.516L49.076 7.447v9.556A1.014 1.014 0 0 0 49 17h-1.574zM29.5 17h-8.343a7.073 7.073 0 1 0-4.657 4.06v3.781H3.3a2.803 2.803 0 0 1-2.8-2.804V8.63a2.803 2.803 0 0 1 2.8-2.805h4.082L8.58 2.768A1.994 1.994 0 0 1 10.435 1.5h8.985c.773 0 1.477.448 1.805 1.149l1.488 3.177H26.7c1.546 0 2.8 1.256 2.8 2.805V17zm-11.637 0H17.5a1 1 0 0 0-1 1v.05A4.244 4.244 0 1 1 17.863 17zm29.684 2c.97 0 .953-.048.953.889v20.743c0 .953.016.905-.953.905H19.453c-.97 0-.953.048-.953-.905V19.89c0-.937-.016-.889.97-.889h28.077zm-4.701 19.338V22.183H24.154v16.155h18.692zM20.6 21.375v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616V37.53H20.6zm24.233-16.155v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615V37.53h-1.615zM29.485 25.283a.4.4 0 0 1 .593-.35l9.05 4.977a.4.4 0 0 1 0 .701l-9.05 4.978a.4.4 0 0 1-.593-.35v-9.956z\"/></svg>';const lS=\"0 0 64 42\";class dS{constructor(t,e){const n=e.providers;const i=e.extraProviders||[];const o=new Set(e.removeProviders);const s=n.concat(i).filter(t=>{const e=t.name;if(!e){console.warn(Object(rr[\"a\"])(\"media-embed-no-provider-name: The configured media provider has no name and cannot be used.\"),{provider:t});return false}return!o.has(e)});this.locale=t;this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new uS(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;let i=e.url;if(!Array.isArray(i)){i=[i]}for(const e of i){const i=this._getUrlMatches(t,e);if(i){return new uS(this.locale,t,i,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let i=t.replace(/^https?:\\/\\//,\"\");n=i.match(e);if(n){return n}i=i.replace(/^www\\./,\"\");n=i.match(e);if(n){return n}return null}}class uS{constructor(t,e,n,i){this.url=this._getValidUrl(e);this._t=t.t;this._match=n;this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n[\"data-oembed-url\"]=this.url}if(e.renderForEditingView){n.class=\"ck-media__wrapper\"}const o=this._getPreviewHtml(e);i=t.createUIElement(\"div\",n,(function(t){const e=this.toDomElement(t);e.innerHTML=o;return e}))}else{if(this.url){n.url=this.url}i=t.createEmptyElement(\"oembed\",n)}t.setCustomProperty(\"media-content\",true,i);return i}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return\"\"}}_getPlaceholderHtml(){const t=new iw;const e=new ew;t.text=this._t(\"Open media in new tab\");e.content=cS;e.viewBox=lS;const n=new $p({tag:\"div\",attributes:{class:\"ck ck-reset_all ck-media__placeholder\"},children:[{tag:\"div\",attributes:{class:\"ck-media__placeholder__icon\"},children:[e]},{tag:\"a\",attributes:{class:\"ck-media__placeholder__url\",target:\"_blank\",rel:\"noopener noreferrer\",href:this.url},children:[{tag:\"span\",attributes:{class:\"ck-media__placeholder__url__text\"},children:[this.url]},t]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return\"https://\"+t}}var hS=n(86);class fS extends Dw{static get pluginName(){return\"MediaEmbedEditing\"}constructor(t){super(t);t.config.define(\"mediaEmbed\",{providers:[{name:\"dailymotion\",url:/^dailymotion\\.com\\/video\\/(\\w+)/,html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; \">'+`<iframe src=\"https://www.dailymotion.com/embed/video/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" width=\"480\" height=\"270\" allowfullscreen allow=\"autoplay\">'+\"</iframe>\"+\"</div>\"}},{name:\"spotify\",url:[/^open\\.spotify\\.com\\/(artist\\/\\w+)/,/^open\\.spotify\\.com\\/(album\\/\\w+)/,/^open\\.spotify\\.com\\/(track\\/\\w+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 126%;\">'+`<iframe src=\"https://open.spotify.com/embed/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" allowtransparency=\"true\" allow=\"encrypted-media\">'+\"</iframe>\"+\"</div>\"}},{name:\"youtube\",url:[/^(?:m\\.)?youtube\\.com\\/watch\\?v=([\\w-]+)/,/^(?:m\\.)?youtube\\.com\\/v\\/([\\w-]+)/,/^youtube\\.com\\/embed\\/([\\w-]+)/,/^youtu\\.be\\/([\\w-]+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;\">'+`<iframe src=\"https://www.youtube.com/embed/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen>'+\"</iframe>\"+\"</div>\"}},{name:\"vimeo\",url:[/^vimeo\\.com\\/(\\d+)/,/^vimeo\\.com\\/[^/]+\\/[^/]+\\/video\\/(\\d+)/,/^vimeo\\.com\\/album\\/[^/]+\\/video\\/(\\d+)/,/^vimeo\\.com\\/channels\\/[^/]+\\/(\\d+)/,/^vimeo\\.com\\/groups\\/[^/]+\\/videos\\/(\\d+)/,/^vimeo\\.com\\/ondemand\\/[^/]+\\/(\\d+)/,/^player\\.vimeo\\.com\\/video\\/(\\d+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;\">'+`<iframe src=\"https://player.vimeo.com/video/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen>'+\"</iframe>\"+\"</div>\"}},{name:\"instagram\",url:/^instagram\\.com\\/p\\/(\\w+)/},{name:\"twitter\",url:/^twitter\\.com/},{name:\"googleMaps\",url:/^google\\.com\\/maps/},{name:\"flickr\",url:/^flickr\\.com/},{name:\"facebook\",url:/^facebook\\.com/}]});this.registry=new dS(t.locale,t.config.get(\"mediaEmbed\"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;const o=t.config.get(\"mediaEmbed.previewsInData\");const s=this.registry;t.commands.add(\"mediaEmbed\",new aS(t));e.register(\"media\",{isObject:true,isBlock:true,allowWhere:\"$block\",allowAttributes:[\"url\"]});i.for(\"dataDowncast\").elementToElement({model:\"media\",view:(t,e)=>{const n=t.getAttribute(\"url\");return iS(e,s,n,{renderMediaPreview:n&&o})}});i.for(\"dataDowncast\").add(XC(s,{renderMediaPreview:o}));i.for(\"editingDowncast\").elementToElement({model:\"media\",view:(t,e)=>{const i=t.getAttribute(\"url\");const o=iS(e,s,i,{renderForEditingView:true});return tS(o,e,n(\"media widget\"))}});i.for(\"editingDowncast\").add(XC(s,{renderForEditingView:true}));i.for(\"upcast\").elementToElement({view:{name:\"oembed\",attributes:{url:true}},model:(t,e)=>{const n=t.getAttribute(\"url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}}}).elementToElement({view:{name:\"div\",attributes:{\"data-oembed-url\":true}},model:(t,e)=>{const n=t.getAttribute(\"data-oembed-url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}}})}}const gS=/^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w\\-._~:/?#[\\]@!$&'()*+,;=]+$/;class mS extends Dw{static get requires(){return[$_,Jk]}static get pluginName(){return\"AutoMediaEmbed\"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;this.listenTo(t.plugins.get($_),\"inputTransformation\",()=>{const t=e.selection.getFirstRange();const n=Dm.fromPosition(t.start);n.stickiness=\"toPrevious\";const i=Dm.fromPosition(t.end);i.stickiness=\"toNext\";e.once(\"change:data\",()=>{this._embedMediaBetweenPositions(n,i);n.detach();i.detach()},{priority:\"high\"})});t.commands.get(\"undo\").on(\"execute\",()=>{if(this._timeoutId){Nd.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}},{priority:\"high\"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const i=n.plugins.get(fS).registry;const o=new cf(t,e);const s=o.getWalker({ignoreElementEnd:true});let r=\"\";for(const t of s){if(t.item.is(\"textProxy\")){r+=t.item.data}}r=r.trim();if(!r.match(gS)){o.detach();return}if(!i.hasMedia(r)){o.detach();return}const a=n.commands.get(\"mediaEmbed\");if(!a.isEnabled){o.detach();return}this._positionToInsert=Dm.fromPosition(t);this._timeoutId=Nd.window.setTimeout(()=>{n.model.change(t=>{this._timeoutId=null;t.remove(o);o.detach();let e;if(this._positionToInsert.root.rootName!==\"$graveyard\"){e=this._positionToInsert}sS(n.model,r,e);this._positionToInsert.detach();this._positionToInsert=null})},100)}}var pS=n(88);class bS extends _b{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(n(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this._validators=t;this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-media-form\"],tabindex:\"-1\"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render();Ry({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",e);this.keystrokes.set(\"arrowleft\",e);this.keystrokes.set(\"arrowup\",e);this.keystrokes.set(\"arrowdown\",e);this.listenTo(this.urlInputView.element,\"selectstart\",(t,e)=>{e.stopPropagation()},{priority:\"high\"})}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new Ey(this.locale,Ny);const n=e.fieldView;this._urlInputViewInfoDefault=t(\"Paste the media URL in the input.\");this._urlInputViewInfoTip=t(\"Tip: Paste the URL into the content to embed faster.\");e.label=t(\"Media URL\");e.infoText=this._urlInputViewInfoDefault;n.placeholder=\"https://example.com\";n.on(\"input\",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault});return e}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}}var wS='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path d=\"M18.68 3.03c.6 0 .59-.03.59.55v12.84c0 .59.01.56-.59.56H1.29c-.6 0-.59.03-.59-.56V3.58c0-.58-.01-.55.6-.55h17.38zM15.77 15V5H4.2v10h11.57zM2 4v1h1V4H2zm0 2v1h1V6H2zm0 2v1h1V8H2zm0 2v1h1v-1H2zm0 2v1h1v-1H2zm0 2v1h1v-1H2zM17 4v1h1V4h-1zm0 2v1h1V6h-1zm0 2v1h1V8h-1zm0 2v1h1v-1h-1zm0 2v1h1v-1h-1zm0 2v1h1v-1h-1zM7.5 7.177a.4.4 0 01.593-.351l5.133 2.824a.4.4 0 010 .7l-5.133 2.824a.4.4 0 01-.593-.35V7.176v.001z\"/></svg>\\n';class _S extends Dw{static get requires(){return[fS]}static get pluginName(){return\"MediaEmbedUI\"}init(){const t=this.editor;const e=t.commands.get(\"mediaEmbed\");const n=t.plugins.get(fS).registry;t.ui.componentFactory.add(\"mediaEmbed\",i=>{const o=bw(i);const s=new bS(kS(t.t,n),t.locale);this._setUpDropdown(o,s,e,t);this._setUpForm(o,s,e);return o})}_setUpDropdown(t,e,n){const i=this.editor;const o=i.t;const s=t.buttonView;t.bind(\"isEnabled\").to(n);t.panelView.children.add(e);s.set({label:o(\"Insert media\"),icon:wS,tooltip:true});s.on(\"open\",()=>{e.url=n.value||\"\";e.urlInputView.fieldView.select();e.focus()},{priority:\"low\"});t.on(\"submit\",()=>{if(e.isValid()){i.execute(\"mediaEmbed\",e.url);r()}});t.on(\"change:isOpen\",()=>e.resetFormStatus());t.on(\"cancel\",()=>r());function r(){i.editing.view.focus();t.isOpen=false}}_setUpForm(t,e,n){e.delegate(\"submit\",\"cancel\").to(t);e.urlInputView.bind(\"value\").to(n,\"value\");e.urlInputView.bind(\"isReadOnly\").to(n,\"isEnabled\",t=>!t);e.saveButtonView.bind(\"isEnabled\").to(n)}}function kS(t,e){return[e=>{if(!e.url.length){return t(\"The URL must not be empty.\")}},n=>{if(!e.hasMedia(n.url)){return t(\"This media URL is not supported.\")}}]}var vS=n(90);class yS extends Dw{static get requires(){return[fS,_S,mS,vy]}static get pluginName(){return\"MediaEmbed\"}}function xS(t,e){for(const n of t.getChildren()){if(n.is(\"b\")&&n.getStyle(\"font-weight\")===\"normal\"){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function AS(t,e){if(!t.childCount){return}const n=new AA(t.document);const i=CS(t,n);if(!i.length){return}let o=null;let s=1;i.forEach((t,r)=>{const a=NS(i[r-1],t);const c=a?null:i[r-1];const l=RS(c,t);if(a){o=null;s=1}if(!o||l!==0){const i=SS(t,e);if(!o){o=PS(i,t.element,n)}else if(t.indent>s){const t=o.getChild(o.childCount-1);const e=t.getChild(t.childCount-1);o=PS(i,e,n);s+=1}else if(t.indent<s){const e=s-t.indent;o=DS(o,e);s=parseInt(t.indent)}if(t.indent<=s){if(!o.is(i.type)){o=n.rename(i.type,o)}}}const d=ES(t.element,n);n.appendChild(d,o)})}function TS(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is(\"li\")){const n=t.getChild(0);if(n.is(\"p\")){e.unwrapElement(n)}}}}function CS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/^p|h\\d+$/,styles:{\"mso-list\":/.*/}});const o=[];for(const t of n){if(t.type===\"elementStart\"&&i.match(t.item)){const e=MS(t.item);o.push({element:t.item,id:e.id,order:e.order,indent:e.indent})}}return o}function SS(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\\\s*({[^}]*)`,\"gi\");const i=/mso-level-number-format:([^;]*);/gi;const o=n.exec(e);let s=\"decimal\";if(o&&o[1]){const t=i.exec(o[1]);if(t&&t[1]){s=t[1].trim()}}return{type:s!==\"bullet\"&&s!==\"image\"?\"ol\":\"ul\",style:s}}function PS(t,e,n){const i=e.parent;const o=n.createElement(t.type);const s=i.getChildIndex(e)+1;n.insertChild(s,o,i);return o}function ES(t,e){IS(t,e);return e.rename(\"li\",t)}function MS(t){const e={};const n=t.getStyle(\"mso-list\");if(n){const t=n.match(/(^|\\s+)l(\\d+)/i);const i=n.match(/\\s*lfo(\\d+)/i);const o=n.match(/\\s*level(\\d+)/i);if(t&&i&&o){e.id=t[2];e.order=i[1];e.indent=o[1]}}return e}function IS(t,e){const n=new Wr({name:\"span\",styles:{\"mso-list\":\"Ignore\"}});const i=e.createRangeIn(t);for(const t of i){if(t.type===\"elementStart\"&&n.match(t.item)){e.remove(t.item)}}}function NS(t,e){if(!t){return true}if(t.id!==e.id){return true}const n=e.element.previousSibling;if(!n){return true}return!OS(n)}function OS(t){return t.is(\"ol\")||t.is(\"ul\")}function RS(t,e){return t?e.indent-t.indent:e.indent-1}function DS(t,e){const n=t.getAncestors({parentFirst:true});let i=null;let o=0;for(const t of n){if(t.name===\"ul\"||t.name===\"ol\"){o++}if(o===e){i=t;break}}return i}const LS=/id=(\"|')docs-internal-guid-[-0-9a-f]+(\"|')/i;class zS{constructor(t){this.document=t}isActive(t){return LS.test(t)}execute(t){const e=new AA(this.document);xS(t.content,e);TS(t.content,e)}}function VS(t){return BS(BS(t)).replace(/(<span\\s+style=['\"]mso-spacerun:yes['\"]>[\\s]*?)[\\r\\n]+(\\s*<\\/span>)/g,\"$1$2\").replace(/<span\\s+style=['\"]mso-spacerun:yes['\"]><\\/span>/g,\"\").replace(/ <\\//g,\" </\").replace(/ <o:p><\\/o:p>/g,\" <o:p></o:p>\").replace(/<o:p>(&nbsp;|\\u00A0)<\\/o:p>/g,\"\").replace(/>(\\s*[\\r\\n]\\s*)</g,\"><\")}function jS(t){t.querySelectorAll(\"span[style*=spacerun]\").forEach(t=>{const e=t.innerText.length||0;t.innerHTML=Array(e+1).join(\"  \").substr(0,e)})}function BS(t){return t.replace(/<span(?: class=\"Apple-converted-space\"|)>(\\s+)<\\/span>/g,(t,e)=>e.length===1?\" \":Array(e.length+1).join(\"  \").substr(0,e.length))}function FS(t,e){const n=new DOMParser;t=t.replace(/<!--\\[if gte vml 1]>/g,\"\");const i=VS(WS(t));const o=n.parseFromString(i,\"text/html\");jS(o);const s=o.body.innerHTML;const r=HS(o,e);const a=US(o);return{body:r,bodyString:s,styles:a.styles,stylesString:a.stylesString}}function HS(t,e){const n=new bl(e);const i=new zd(n,{blockFillerMode:\"nbsp\"});const o=t.createDocumentFragment();const s=t.body.childNodes;while(s.length>0){o.appendChild(s[0])}return i.domToView(o)}function US(t){const e=[];const n=[];const i=Array.from(t.getElementsByTagName(\"style\"));for(const t of i){if(t.sheet&&t.sheet.cssRules&&t.sheet.cssRules.length){e.push(t.sheet);n.push(t.innerHTML)}}return{styles:e,stylesString:n.join(\" \")}}function WS(t){const e=/<\\/body>(.*?)(<\\/html>|$)/;const n=t.match(e);if(n&&n[1]){t=t.slice(0,n.index)+t.slice(n.index).replace(n[1],\"\")}return t}function qS(t,e){if(!t.childCount){return}const n=new AA;const i=YS(t,n);GS(i,t,n);QS(t,n);const o=KS(t,n);if(o.length){ZS(o,JS(e),n)}}function $S(t){return btoa(t.match(/\\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(\"\"))}function YS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/v:(.+)/});const o=[];for(const t of n){const e=t.item;const n=e.previousSibling&&e.previousSibling.name||null;if(i.match(e)&&e.getAttribute(\"o:gfxdata\")&&n!==\"v:shapetype\"){o.push(t.item.getAttribute(\"id\"))}}return o}function GS(t,e,n){const i=n.createRangeIn(e);const o=new Wr({name:\"img\"});const s=[];for(const e of i){if(o.match(e.item)){const n=e.item;const i=n.getAttribute(\"v:shapes\")?n.getAttribute(\"v:shapes\").split(\" \"):[];if(i.length&&i.every(e=>t.indexOf(e)>-1)){s.push(n)}else if(!n.getAttribute(\"src\")){s.push(n)}}}for(const t of s){n.remove(t)}}function QS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/v:(.+)/});const o=[];for(const t of n){if(i.match(t.item)){o.push(t.item)}}for(const t of o){e.remove(t)}}function KS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:\"img\"});const o=[];for(const t of n){if(i.match(t.item)){if(t.item.getAttribute(\"src\").startsWith(\"file://\")){o.push(t.item)}}}return o}function JS(t){if(!t){return[]}const e=/{\\\\pict[\\s\\S]+?\\\\bliptag-?\\d+(\\\\blipupi-?\\d+)?({\\\\\\*\\\\blipuid\\s?[\\da-fA-F]+)?[\\s}]*?/;const n=new RegExp(\"(?:(\"+e.source+\"))([\\\\da-fA-F\\\\s]+)\\\\}\",\"g\");const i=t.match(n);const o=[];if(i){for(const t of i){let n=false;if(t.includes(\"\\\\pngblip\")){n=\"image/png\"}else if(t.includes(\"\\\\jpegblip\")){n=\"image/jpeg\"}if(n){o.push({hex:t.replace(e,\"\").replace(/[^\\da-fA-F]/g,\"\"),type:n})}}}return o}function ZS(t,e,n){if(t.length===e.length){for(let i=0;i<t.length;i++){const o=`data:${e[i].type};base64,${$S(e[i].hex)}`;n.setAttribute(\"src\",o,t[i])}}}const XS=/<meta\\s*name=\"?generator\"?\\s*content=\"?microsoft\\s*word\\s*\\d+\"?\\/?>/i;const tP=/xmlns:o=\"urn:schemas-microsoft-com/i;class eP{constructor(t){this.document=t}isActive(t){return XS.test(t)||tP.test(t)}execute(t){const{body:e,stylesString:n}=FS(t.dataTransfer.getData(\"text/html\"),this.document.stylesProcessor);AS(e,n);qS(e,t.dataTransfer.getData(\"text/rtf\"));t.content=e}}class nP extends Dw{static get pluginName(){return\"PasteFromOffice\"}static get requires(){return[$_]}init(){const t=this.editor;const e=t.editing.view.document;const n=[];n.push(new eP(e));n.push(new zS(e));t.plugins.get(\"Clipboard\").on(\"inputTransformation\",(t,e)=>{if(e.isTransformedWithPasteFromOffice){return}const i=e.dataTransfer.getData(\"text/html\");const o=n.find(t=>t.isActive(i));if(o){o.execute(e);e.isTransformedWithPasteFromOffice=true}},{priority:\"high\"})}}var iP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.69 14.915c.053.052.173.083.36.093a.366.366 0 0 1 .345.485l-.003.01a.738.738 0 0 1-.697.497h-2.67a.374.374 0 0 1-.353-.496l.013-.038a.681.681 0 0 1 .644-.458c.197-.012.325-.043.386-.093a.28.28 0 0 0 .072-.11L9.592 4.5H6.269c-.359-.017-.609.013-.75.09-.142.078-.289.265-.442.563-.192.29-.516.464-.864.464H4.17a.43.43 0 0 1-.407-.569L4.46 3h13.08l-.62 2.043a.81.81 0 0 1-.775.574h-.114a.486.486 0 0 1-.486-.486c.001-.284-.054-.464-.167-.54-.112-.076-.367-.106-.766-.091h-3.28l-2.68 10.257c-.006.074.007.127.038.158zM3 17h8a.5.5 0 1 1 0 1H3a.5.5 0 1 1 0-1zm11.299 1.17a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.06-1.06l1.415 1.414 1.414-1.415a.75.75 0 1 1 1.06 1.06l-1.413 1.415 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414-1.414 1.414z\"/></svg>';const oP=\"removeFormat\";class sP extends Dw{static get pluginName(){return\"RemoveFormatUI\"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(oP,n=>{const i=t.commands.get(oP);const o=new sw(n);o.set({label:e(\"Remove Format\"),icon:iP,tooltip:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(oP);t.editing.view.focus()});return o})}}class rP extends zw{refresh(){const t=this.editor.model;this.isEnabled=!!jw(this._getFormattingItems(t.document.selection,t.schema))}execute(){const t=this.editor.model;const e=t.schema;t.change(n=>{for(const i of this._getFormattingItems(t.document.selection,e)){if(i.is(\"selection\")){for(const t of this._getFormattingAttributes(i,e)){n.removeSelectionAttribute(t)}}else{const t=n.createRangeOn(i);for(const o of this._getFormattingAttributes(i,e)){n.removeAttribute(o,t)}}}})}*_getFormattingItems(t,e){const n=t=>!!jw(this._getFormattingAttributes(t,e));for(const e of t.getRanges()){for(const t of e.getItems()){if(n(t)){yield t}}}if(n(t)){yield t}}*_getFormattingAttributes(t,e){for(const[n]of t.getAttributes()){const t=e.getAttributeProperties(n);if(t&&t.isFormatting){yield n}}}}class aP extends Dw{static get pluginName(){return\"RemoveFormatEditing\"}init(){const t=this.editor;t.commands.add(\"removeFormat\",new rP(t))}}class cP extends Dw{static get requires(){return[aP,sP]}static get pluginName(){return\"RemoveFormat\"}}const lP=\"strikethrough\";class dP extends Dw{static get pluginName(){return\"StrikethroughEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:lP});t.model.schema.setAttributeProperties(lP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:lP,view:\"s\",upcastAlso:[\"del\",\"strike\",{styles:{\"text-decoration\":\"line-through\"}}]});t.commands.add(lP,new A_(t,lP));t.keystrokes.set(\"CTRL+SHIFT+X\",\"strikethrough\")}}var uP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 16.4c-.8-.4-1.5-.9-2.2-1.5a.6.6 0 0 1-.2-.5l.3-.6h1c1 1.2 2.1 1.7 3.7 1.7 1 0 1.8-.3 2.3-.6.6-.4.6-1.2.6-1.3.2-1.2-.9-2.1-.9-2.1h2.1c.3.7.4 1.2.4 1.7v.8l-.6 1.2c-.6.8-1.1 1-1.6 1.2a6 6 0 0 1-2.4.6c-1 0-1.8-.3-2.5-.6zM6.8 9L6 8.3c-.4-.5-.5-.8-.5-1.6 0-.7.1-1.3.5-1.8.4-.6 1-1 1.6-1.3a6.3 6.3 0 0 1 4.7 0 4 4 0 0 1 1.7 1l.3.7c0 .1.2.4-.2.7-.4.2-.9.1-1 0a3 3 0 0 0-1.2-1c-.4-.2-1-.3-2-.4-.7 0-1.4.2-2 .6-.8.6-1 .8-1 1.5 0 .8.5 1 1.2 1.5.6.4 1.1.7 1.9 1H6.8z\"/><path d=\"M3 10.5V9h14v1.5z\"/></svg>';const hP=\"strikethrough\";class fP extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(hP,n=>{const i=t.commands.get(hP);const o=new sw(n);o.set({label:e(\"Strikethrough\"),icon:uP,keystroke:\"CTRL+SHIFT+X\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(hP);t.editing.view.focus()});return o})}}class gP extends Dw{static get requires(){return[dP,fP]}static get pluginName(){return\"Strikethrough\"}}const mP=\"subscript\";class pP extends Dw{static get pluginName(){return\"SubscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:mP});t.model.schema.setAttributeProperties(mP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:mP,view:\"sub\",upcastAlso:[{styles:{\"vertical-align\":\"sub\"}}]});t.commands.add(mP,new A_(t,mP))}}var bP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.03 10.349l3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82zm8.147 7.829h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309z\"/></svg>';const wP=\"subscript\";class _P extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(wP,n=>{const i=t.commands.get(wP);const o=new sw(n);o.set({label:e(\"Subscript\"),icon:bP,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(wP);t.editing.view.focus()});return o})}}class kP extends Dw{static get requires(){return[pP,_P]}static get pluginName(){return\"Subscript\"}}const vP=\"superscript\";class yP extends Dw{static get pluginName(){return\"SuperscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:vP});t.model.schema.setAttributeProperties(vP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:vP,view:\"sup\",upcastAlso:[{styles:{\"vertical-align\":\"super\"}}]});t.commands.add(vP,new A_(t,vP))}}var xP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.677 8.678h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309zM7.03 10.349l3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82z\"/></svg>';const AP=\"superscript\";class TP extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(AP,n=>{const i=t.commands.get(AP);const o=new sw(n);o.set({label:e(\"Superscript\"),icon:xP,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(AP);t.editing.view.focus()});return o})}}class CP extends Dw{static get requires(){return[yP,TP]}static get pluginName(){return\"Superscript\"}}function SP(t,e){let n=e.parent;while(n){if(n.name===t){return n}n=n.parent}}function PP(t,e,n,i,o=1){if(e>o){i.setAttribute(t,e,n)}else{i.removeAttribute(t,n)}}function EP(t,e,n={}){const i=t.createElement(\"tableCell\",n);t.insertElement(\"paragraph\",i);t.insert(i,e)}function MP(t){if(!t||!ct(t)){return t}const{top:e,right:n,bottom:i,left:o}=t;if(e==n&&n==i&&i==o){return e}}function IP(t,e){const n=parseFloat(t);if(Number.isNaN(n)){return t}if(String(n)!==String(t)){return t}return`${n}${e}`}function NP(t,e){const n=e.parent.parent;const i=parseInt(n.getAttribute(\"headingColumns\")||0);const{column:o}=t.getCellLocation(e);return!!i&&o<i}function OP(){return t=>{t.on(\"element:table\",(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:true})){return}const{rows:o,headingRows:s,headingColumns:r}=LP(i);const a={};if(r){a.headingColumns=r}if(s){a.headingRows=s}const c=n.writer.createElement(\"table\",a);const l=n.splitToAllowedParent(c,e.modelCursor);if(!l){return}n.writer.insert(c,l.position);n.consumable.consume(i,{name:true});o.forEach(t=>n.convertItem(t,n.writer.createPositionAt(c,\"end\")));if(c.isEmpty){const t=n.writer.createElement(\"tableRow\");n.writer.insert(t,n.writer.createPositionAt(c,\"end\"));EP(n.writer,n.writer.createPositionAt(t,\"end\"))}e.modelRange=n.writer.createRange(n.writer.createPositionBefore(c),n.writer.createPositionAfter(c));if(l.cursorParent){e.modelCursor=n.writer.createPositionAt(l.cursorParent,0)}else{e.modelCursor=e.modelRange.end}})}}function RP(){return t=>{t.on(\"element:tr\",(t,e)=>{if(e.viewItem.isEmpty){t.stop()}},{priority:\"high\"})}}function DP(t){return e=>{e.on(`element:${t}`,(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:true})){return}const o=n.writer.createElement(\"tableCell\");const s=n.splitToAllowedParent(o,e.modelCursor);if(!s){return}n.writer.insert(o,s.position);n.consumable.consume(i,{name:true});const r=n.writer.createPositionAt(o,0);n.convertChildren(i,r);if(!o.childCount){n.writer.insertElement(\"paragraph\",r)}e.modelRange=n.writer.createRange(n.writer.createPositionBefore(o),n.writer.createPositionAfter(o));e.modelCursor=e.modelRange.end})}}function LP(t){const e={headingRows:0,headingColumns:0};const n=[];const i=[];let o;for(const s of Array.from(t.getChildren())){if(s.name===\"tbody\"||s.name===\"thead\"||s.name===\"tfoot\"){if(s.name===\"thead\"&&!o){o=s}const t=Array.from(s.getChildren()).filter(t=>t.is(\"element\",\"tr\"));for(const s of t){if(s.parent.name===\"thead\"&&s.parent===o){e.headingRows++;n.push(s)}else{i.push(s);const t=zP(s,e,o);if(t>e.headingColumns){e.headingColumns=t}}}}}e.rows=[...n,...i];return e}function zP(t){let e=0;let n=0;const i=Array.from(t.getChildren()).filter(t=>t.name===\"th\"||t.name===\"td\");while(n<i.length&&i[n].name===\"th\"){const t=i[n];const o=parseInt(t.getAttribute(\"colspan\")||1);e=e+o;n++}return e}class VP{constructor(t,e={}){this.table=t;this.startRow=e.startRow||0;this.endRow=typeof e.endRow==\"number\"?e.endRow:undefined;this.includeSpanned=!!e.includeSpanned;this.column=typeof e.column==\"number\"?e.column:undefined;this._skipRows=new Set;this._row=0;this._column=0;this._cellIndex=0;this._spannedCells=new Map;this._nextCellAtColumn=-1}[Symbol.iterator](){return this}next(){const t=this.table.getChild(this._row);if(!t||this._isOverEndRow()){return{done:true}}let e,n,i;if(this._isSpanned(this._row,this._column)){e=this._getSpanned(this._row,this._column);n=!this.includeSpanned||this._shouldSkipRow()||this._shouldSkipColumn();i=this._formatOutValue(e,this._column,true)}else{e=t.getChild(this._cellIndex);if(!e){this._row++;this._column=0;this._cellIndex=0;this._nextCellAtColumn=-1;return this.next()}const o=parseInt(e.getAttribute(\"colspan\")||1);const s=parseInt(e.getAttribute(\"rowspan\")||1);if(o>1||s>1){this._recordSpans(this._row,this._column,s,o,e)}this._nextCellAtColumn=this._column+o;n=this._shouldSkipRow()||this._shouldSkipColumn();i=this._formatOutValue(e,this._column,false,s,o)}this._column++;if(this._column==this._nextCellAtColumn){this._cellIndex++}return n?this.next():i}skipRow(t){this._skipRows.add(t)}_isOverEndRow(){return this.endRow!==undefined&&this._row>this.endRow}_formatOutValue(t,e,n,i=1,o=1){return{done:false,value:{cell:t,row:this._row,column:e,isSpanned:n,rowspan:i,colspan:o,cellIndex:this._cellIndex}}}_shouldSkipRow(){const t=this._row<this.startRow;const e=this._skipRows.has(this._row);return t||e}_shouldSkipColumn(){if(this.column===undefined){return false}return this.column!=this._column}_isSpanned(t,e){if(!this._spannedCells.has(t)){return false}const n=this._spannedCells.get(t);return n.has(e)}_getSpanned(t,e){return this._spannedCells.get(t).get(e)}_recordSpans(t,e,n,i,o){for(let n=e+1;n<=e+i-1;n++){this._markSpannedCell(t,n,o)}for(let s=t+1;s<t+n;s++){for(let t=e;t<=e+i-1;t++){this._markSpannedCell(s,t,o)}}}_markSpannedCell(t,e,n){if(!this._spannedCells.has(t)){this._spannedCells.set(t,new Map)}const i=this._spannedCells.get(t);i.set(e,n)}}function jP(t,e){e.setCustomProperty(\"table\",true,t);return Mv(t,e,{hasSelectionHandle:true})}function BP(t){return!!t.getCustomProperty(\"table\")&&Ev(t)}function FP(t){const e=t.getSelectedElement();if(e&&BP(e)){return e}return null}function HP(t){const e=SP(\"table\",t.getFirstPosition());if(e&&BP(e.parent)){return e.parent}return null}function UP(t){const e=[];for(const n of tE(t.getRanges())){const t=n.getContainedElement();if(t&&t.is(\"tableCell\")){e.push(t)}}return e}function WP(t){const e=[];for(const n of t.getRanges()){const t=SP(\"tableCell\",n.start);if(t){e.push(t)}}return e}function qP(t){const e=UP(t);if(e.length){return e}return WP(t)}function $P(t){const e=t.map(t=>t.parent.index);return XP(e)}function YP(t){const e=SP(\"table\",t[0]);const n=[...new VP(e)];const i=n.filter(e=>t.includes(e.cell)).map(t=>t.column);return XP(i)}function GP(t,e){if(t.length<2||!iE(t)){return false}const n=new Set;const i=new Set;let o=0;for(const s of t){const{row:t,column:r}=e.getCellLocation(s);const a=parseInt(s.getAttribute(\"rowspan\")||1);const c=parseInt(s.getAttribute(\"colspan\")||1);n.add(t);i.add(r);if(a>1){n.add(t+a-1)}if(c>1){i.add(r+c-1)}o+=a*c}const s=nE(n,i);return s==o}function QP(t,e,n=0){const i=[];const o=new VP(t,{startRow:n,endRow:e-1});for(const t of o){const{row:n,rowspan:o}=t;const s=n+o-1;if(n<e&&e<=s){i.push(t)}}return i}function KP(t,e,n){const i=t.parent;const o=i.parent;const s=i.index;const r=parseInt(t.getAttribute(\"rowspan\"));const a=e-s;const c={};const l=r-a;if(l>1){c.rowspan=l}const d=parseInt(t.getAttribute(\"colspan\")||1);if(d>1){c.colspan=d}const u=s;const h=u+a;const f=[...new VP(o,{startRow:u,endRow:h,includeSpanned:true})];let g;for(const{row:e,column:i,cell:s,cellIndex:r}of f){if(s===t&&g===undefined){g=i}if(g!==undefined&&g===i&&e===h){const t=o.getChild(e);const i=n.createPositionAt(t,r);EP(n,i,c)}}PP(\"rowspan\",a,t,n)}function JP(t,e){const n=[];const i=new VP(t);for(const t of i){const{column:i,colspan:o}=t;const s=i+o-1;if(i<e&&e<=s){n.push(t)}}return n}function ZP(t,e,n,i){const o=parseInt(t.getAttribute(\"colspan\"));const s=n-e;const r={};const a=o-s;if(a>1){r.colspan=a}const c=parseInt(t.getAttribute(\"rowspan\")||1);if(c>1){r.rowspan=c}EP(i,i.createPositionAfter(t),r);PP(\"colspan\",s,t,i)}function XP(t){const e=t.sort((t,e)=>t-e);const n=e[0];const i=e[e.length-1];return{first:n,last:i}}function tE(t){return Array.from(t).sort(eE)}function eE(t,e){const n=t.start;const i=e.start;return n.isBefore(i)?-1:1}function nE(t,e){const n=Array.from(t.values());const i=Array.from(e.values());const o=Math.max(...n);const s=Math.min(...n);const r=Math.max(...i);const a=Math.min(...i);return(o-s+1)*(r-a+1)}function iE(t){const e=SP(\"table\",t[0]);const n=$P(t);const i=parseInt(e.getAttribute(\"headingRows\")||0);if(!oE(n,i)){return false}const o=parseInt(e.getAttribute(\"headingColumns\")||0);const s=YP(t);return oE(s,o)}function oE({first:t,last:e},n){const i=t<n;const o=e<n;return i===o}function sE(t={}){return e=>e.on(\"insert:table\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}i.consumable.consume(o,\"attribute:headingRows:table\");i.consumable.consume(o,\"attribute:headingColumns:table\");const s=t&&t.asWidget;const r=i.writer.createContainerElement(\"figure\",{class:\"table\"});const a=i.writer.createContainerElement(\"table\");i.writer.insert(i.writer.createPositionAt(r,0),a);let c;if(s){c=jP(r,i.writer)}const l=new VP(o);const d={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};const u=new Map;for(const e of l){const{row:n,cell:s}=e;const r=bE(pE(n,d),a,i);const c=o.getChild(n);const l=u.get(n)||gE(c,n,r,i);u.set(n,l);i.consumable.consume(s,\"insert\");const h=i.writer.createPositionAt(l,\"end\");fE(e,d,h,i,t)}const h=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(o,s?c:r);i.writer.insert(h,s?c:r)})}function rE(t={}){return e=>e.on(\"insert:tableRow\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}const s=o.parent;const r=i.mapper.toViewElement(s);const a=yE(r);const c=s.getChildIndex(o);const l=new VP(s,{startRow:c,endRow:c});const d={headingRows:s.getAttribute(\"headingRows\")||0,headingColumns:s.getAttribute(\"headingColumns\")||0};const u=new Map;for(const e of l){const n=bE(pE(c,d),a,i);const s=u.get(c)||gE(o,c,n,i);u.set(c,s);i.consumable.consume(e.cell,\"insert\");const r=i.writer.createPositionAt(s,\"end\");fE(e,d,r,i,t)}})}function aE(t={}){return e=>e.on(\"insert:tableCell\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}const s=o.parent;const r=s.parent;const a=r.getChildIndex(s);const c=new VP(r,{startRow:a,endRow:a});const l={headingRows:r.getAttribute(\"headingRows\")||0,headingColumns:r.getAttribute(\"headingColumns\")||0};for(const e of c){if(e.cell===o){const n=i.mapper.toViewElement(s);const r=i.writer.createPositionAt(n,s.getChildIndex(o));fE(e,l,r,i,t);return}}})}function cE(t={}){const e=!!t.asWidget;return t=>t.on(\"attribute:headingRows:table\",(t,n,i)=>{const o=n.item;if(!i.consumable.consume(n.item,t.name)){return}const s=i.mapper.toViewElement(o);const r=yE(s);const a=n.attributeOldValue;const c=n.attributeNewValue;if(c>a){const t=Array.from(o.getChildren()).filter(({index:t})=>l(t,a-1,c));const n=bE(\"thead\",r,i);vE(t,n,i,\"end\");for(const n of t){for(const t of n.getChildren()){uE(t,\"th\",i,e)}}}else{const t=Array.from(o.getChildren()).filter(({index:t})=>l(t,c-1,a)).reverse();const n=bE(\"tbody\",r,i);vE(t,n,i,0);const s=new VP(o,{startRow:c?c-1:c,endRow:a-1});const d={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};for(const t of s){hE(t,d,i,e)}}kE(\"thead\",r,i);kE(\"tbody\",r,i);function l(t,e,n){return t>e&&t<n}})}function lE(t={}){const e=!!t.asWidget;return t=>t.on(\"attribute:headingColumns:table\",(t,n,i)=>{const o=n.item;if(!i.consumable.consume(n.item,t.name)){return}const s={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};const r=n.attributeOldValue;const a=n.attributeNewValue;const c=(r>a?r:a)-1;for(const t of new VP(o)){if(t.column>c){continue}hE(t,s,i,e)}})}function dE(){return t=>t.on(\"remove:tableRow\",(t,e,n)=>{t.stop();const i=n.writer;const o=n.mapper;const s=o.toViewPosition(e.position).getLastMatchingPosition(t=>!t.item.is(\"tr\"));const r=s.nodeAfter;const a=r.parent;const c=a.parent;const l=i.createRangeOn(r);const d=i.remove(l);for(const t of i.createRangeIn(d).getItems()){o.unbindViewElement(t)}kE(\"thead\",c,n);kE(\"tbody\",c,n)},{priority:\"higher\"})}function uE(t,e,n,i){const o=n.writer;const s=n.mapper.toViewElement(t);if(!s){return}let r;if(i){const t=o.createEditableElement(e,s.getAttributes());r=Rv(t,o);o.insert(o.createPositionAfter(s),r);o.move(o.createRangeIn(s),o.createPositionAt(r,0));o.remove(o.createRangeOn(s))}else{r=o.rename(e,s)}n.mapper.unbindViewElement(s);n.mapper.bindElements(t,r)}function hE(t,e,n,i){const{cell:o}=t;const s=mE(t,e);const r=n.mapper.toViewElement(o);if(r&&r.name!==s){uE(o,s,n,i)}}function fE(t,e,n,i,o){const s=o&&o.asWidget;const r=mE(t,e);const a=s?Rv(i.writer.createEditableElement(r),i.writer):i.writer.createContainerElement(r);const c=t.cell;const l=c.getChild(0);const d=c.childCount===1&&l.name===\"paragraph\";i.writer.insert(n,a);if(d&&!xE(l)){const t=c.getChild(0);const e=i.writer.createPositionAt(a,\"end\");i.consumable.consume(t,\"insert\");if(o.asWidget){const n=i.writer.createContainerElement(\"span\",{style:\"display:inline-block\"});i.mapper.bindElements(t,n);i.writer.insert(e,n);i.mapper.bindElements(c,a)}else{i.mapper.bindElements(c,a);i.mapper.bindElements(t,a)}}else{i.mapper.bindElements(c,a)}}function gE(t,e,n,i){i.consumable.consume(t,\"insert\");const o=i.writer.createContainerElement(\"tr\");i.mapper.bindElements(t,o);const s=t.parent.getAttribute(\"headingRows\")||0;const r=s>0&&e>=s?e-s:e;const a=i.writer.createPositionAt(n,r);i.writer.insert(a,o);return o}function mE(t,e){const{row:n,column:i}=t;const{headingColumns:o,headingRows:s}=e;const r=s&&s>n;if(r){return\"th\"}const a=o&&o>i;return a?\"th\":\"td\"}function pE(t,e){return t<e.headingRows?\"thead\":\"tbody\"}function bE(t,e,n){const i=wE(t,e);return i?i:_E(t,e,n)}function wE(t,e){for(const n of e.getChildren()){if(n.name==t){return n}}}function _E(t,e,n){const i=n.writer.createContainerElement(t);const o=n.writer.createPositionAt(e,t==\"tbody\"?\"end\":0);n.writer.insert(o,i);return i}function kE(t,e,n){const i=wE(t,e);if(i&&i.childCount===0){n.writer.remove(n.writer.createRangeOn(i))}}function vE(t,e,n,i){for(const o of t){const t=n.mapper.toViewElement(o);if(t){n.writer.move(n.writer.createRangeOn(t),n.writer.createPositionAt(e,i))}}}function yE(t){for(const e of t.getChildren()){if(e.name===\"table\"){return e}}}function xE(t){return!![...t.getAttributeKeys()].length}class AE extends zw{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const i=TE(e.getFirstPosition());this.isEnabled=n.checkChild(i,\"table\")}execute(t={}){const e=this.editor.model;const n=e.document.selection;const i=this.editor.plugins.get(\"TableUtils\");const o=parseInt(t.rows)||2;const s=parseInt(t.columns)||2;const r=Dv(n,e);e.change(t=>{const n=i.createTable(t,o,s);e.insertContent(n,r);t.setSelection(t.createPositionAt(n.getNodeByPath([0,0,0]),0))})}}function TE(t){const e=t.parent;return e===e.root?e:e.parent}class CE extends zw{constructor(t,e={}){super(t);this.order=e.order||\"below\"}refresh(){const t=this.editor.model.document.selection;const e=SP(\"table\",t.getFirstPosition());this.isEnabled=!!e}execute(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get(\"TableUtils\");const i=this.order===\"above\";const o=qP(e);const s=$P(o);const r=i?s.first:s.last;const a=SP(\"table\",o[0]);n.insertRows(a,{at:i?r:r+1,copyStructureFromAbove:!i})}}class SE extends zw{constructor(t,e={}){super(t);this.order=e.order||\"right\"}refresh(){const t=this.editor.model.document.selection;const e=SP(\"table\",t.getFirstPosition());this.isEnabled=!!e}execute(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get(\"TableUtils\");const i=this.order===\"left\";const o=qP(e);const s=YP(o);const r=i?s.first:s.last;const a=SP(\"table\",o[0]);n.insertColumns(a,{columns:1,at:i?r:r+1})}}class PE extends zw{constructor(t,e={}){super(t);this.direction=e.direction||\"horizontally\"}refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length===1}execute(){const t=qP(this.editor.model.document.selection)[0];const e=this.direction===\"horizontally\";const n=this.editor.plugins.get(\"TableUtils\");if(e){n.splitCellHorizontally(t,2)}else{n.splitCellVertically(t,2)}}}class EE extends zw{constructor(t,e){super(t);this.direction=e.direction;this.isHorizontal=this.direction==\"right\"||this.direction==\"left\"}refresh(){const t=this._getMergeableCell();this.value=t;this.isEnabled=!!t}execute(){const t=this.editor.model;const e=t.document;const n=WP(e.selection)[0];const i=this.value;const o=this.direction;t.change(t=>{const e=o==\"right\"||o==\"down\";const s=e?n:i;const r=e?i:n;const a=r.parent;NE(r,s,t);const c=this.isHorizontal?\"colspan\":\"rowspan\";const l=parseInt(n.getAttribute(c)||1);const d=parseInt(i.getAttribute(c)||1);t.setAttribute(c,l+d,s);t.setSelection(t.createRangeIn(s));if(!a.childCount){const e=this.editor.plugins.get(\"TableUtils\");const n=SP(\"table\",a);e.removeRows(n,{at:a.index,batch:t.batch})}})}_getMergeableCell(){const t=this.editor.model;const e=t.document;const n=WP(e.selection)[0];if(!n){return}const i=this.editor.plugins.get(\"TableUtils\");const o=this.isHorizontal?ME(n,this.direction,i):IE(n,this.direction);if(!o){return}const s=this.isHorizontal?\"rowspan\":\"colspan\";const r=parseInt(n.getAttribute(s)||1);const a=parseInt(o.getAttribute(s)||1);if(a===r){return o}}}function ME(t,e,n){const i=t.parent;const o=i.parent;const s=e==\"right\"?t.nextSibling:t.previousSibling;const r=(o.getAttribute(\"headingColumns\")||0)>0;if(!s){return}const a=e==\"right\"?t:s;const c=e==\"right\"?s:t;const{column:l}=n.getCellLocation(a);const{column:d}=n.getCellLocation(c);const u=parseInt(a.getAttribute(\"colspan\")||1);const h=NP(n,a,o);const f=NP(n,c,o);if(r&&h!=f){return}const g=l+u===d;return g?s:undefined}function IE(t,e){const n=t.parent;const i=n.parent;const o=i.getChildIndex(n);if(e==\"down\"&&o===i.childCount-1||e==\"up\"&&o===0){return}const s=parseInt(t.getAttribute(\"rowspan\")||1);const r=i.getAttribute(\"headingRows\")||0;const a=e==\"down\"&&o+s===r;const c=e==\"up\"&&o===r;if(r&&(a||c)){return}const l=parseInt(t.getAttribute(\"rowspan\")||1);const d=e==\"down\"?o+l:o;const u=[...new VP(i,{endRow:d})];const h=u.find(e=>e.cell===t);const f=h.column;const g=u.find(({row:t,rowspan:n,column:i})=>{if(i!==f){return false}if(e==\"down\"){return t===d}else{return d===t+n}});return g&&g.cell}function NE(t,e,n){if(!OE(t)){if(OE(e)){n.remove(n.createRangeIn(e))}n.move(n.createRangeIn(t),n.createPositionAt(e,\"end\"))}n.remove(t)}function OE(t){return t.childCount==1&&t.getChild(0).is(\"paragraph\")&&t.getChild(0).isEmpty}class RE extends zw{refresh(){const t=qP(this.editor.model.document.selection);const e=t[0];if(e){const n=SP(\"table\",e);const i=this.editor.plugins.get(\"TableUtils\").getRows(n);const o=i-1;const s=$P(t);const r=s.first===0&&s.last===o;this.isEnabled=!r}else{this.isEnabled=false}}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=$P(e);const i=e[0];const o=SP(\"table\",i);const s=this.editor.plugins.get(\"TableUtils\").getCellLocation(i).column;const r=t.createBatch();t.enqueueChange(r,t=>{t.setSelection(t.createSelection(o,\"on\"));const e=n.last-n.first+1;this.editor.plugins.get(\"TableUtils\").removeRows(o,{at:n.first,rows:e,batch:r})});t.enqueueChange(r,t=>{const e=DE(o,n.first,s);t.setSelection(t.createPositionAt(e,0))})}}function DE(t,e,n){const i=t.getChild(e)||t.getChild(t.childCount-1);let o=i.getChild(0);let s=0;for(const t of i.getChildren()){if(s>n){return o}o=t;s+=parseInt(t.getAttribute(\"colspan\")||1)}return o}class LE extends zw{refresh(){const t=qP(this.editor.model.document.selection);const e=t[0];if(e){const n=SP(\"table\",e);const i=this.editor.plugins.get(\"TableUtils\").getColumns(n);const{first:o,last:s}=YP(t);this.isEnabled=s-o<i-1}else{this.isEnabled=false}}execute(){const[t,e]=VE(this.editor.model.document.selection);const n=t.parent.parent;const i=[...new VP(n)];const o={first:i.find(e=>e.cell===t).column,last:i.find(t=>t.cell===e).column};const s=zE(i,t,e,o);this.editor.model.change(t=>{const e=o.last-o.first+1;this.editor.plugins.get(\"TableUtils\").removeColumns(n,{at:o.first,columns:e});t.setSelection(t.createPositionAt(s,0))})}}function zE(t,e,n,i){const o=parseInt(n.getAttribute(\"colspan\")||1);if(o>1){return n}else if(e.previousSibling||n.nextSibling){return n.nextSibling||e.previousSibling}else{if(i.first){return t.reverse().find(({column:t})=>t<i.first).cell}else{return t.reverse().find(({column:t})=>t>i.last).cell}}}function VE(t){const e=qP(t);const n=e[0];const i=e.pop();const o=[n,i];return n.isBefore(i)?o:o.reverse()}class jE extends zw{refresh(){const t=this.editor.model;const e=qP(t.document.selection);const n=e.length>0;this.isEnabled=n;this.value=n&&e.every(t=>this._isInHeading(t,t.parent.parent))}execute(t={}){if(t.forceValue===this.value){return}const e=this.editor.model;const n=qP(e.document.selection);const i=SP(\"table\",n[0]);const{first:o,last:s}=$P(n);const r=this.value?o:s+1;const a=i.getAttribute(\"headingRows\")||0;e.change(t=>{if(r){const e=r>a?a:0;const n=QP(i,r,e);for(const{cell:e}of n){KP(e,r,t)}}PP(\"headingRows\",r,i,t,0)})}_isInHeading(t,e){const n=parseInt(e.getAttribute(\"headingRows\")||0);return!!n&&t.parent.index<n}}class BE extends zw{refresh(){const t=this.editor.model;const e=qP(t.document.selection);const n=this.editor.plugins.get(\"TableUtils\");const i=e.length>0;this.isEnabled=i;this.value=i&&e.every(t=>NP(n,t))}execute(t={}){if(t.forceValue===this.value){return}const e=this.editor.model;const n=qP(e.document.selection);const i=SP(\"table\",n[0]);const{first:o,last:s}=YP(n);const r=this.value?o:s+1;e.change(t=>{if(r){const e=JP(i,r);for(const{cell:n,column:i}of e){ZP(n,i,r,t)}}PP(\"headingColumns\",r,i,t,0)})}}class FE extends Dw{static get pluginName(){return\"TableUtils\"}getCellLocation(t){const e=t.parent;const n=e.parent;const i=n.getChildIndex(e);const o=new VP(n,{startRow:i,endRow:i});for(const{cell:e,row:n,column:i}of o){if(e===t){return{row:n,column:i}}}}createTable(t,e,n){const i=t.createElement(\"table\");HE(t,i,0,e,n);return i}insertRows(t,e={}){const n=this.editor.model;const i=e.at||0;const o=e.rows||1;const s=e.copyStructureFromAbove!==undefined;const r=e.copyStructureFromAbove?i-1:i;const a=this.getRows(t);const c=this.getColumns(t);n.change(e=>{const n=t.getAttribute(\"headingRows\")||0;if(n>i){e.setAttribute(\"headingRows\",n+o,t)}if(!s&&(i===0||i===a)){HE(e,t,i,o,c);return}const l=s?Math.max(i,r):i;const d=new VP(t,{endRow:l});const u=new Array(c).fill(1);for(const{row:t,column:n,rowspan:a,colspan:c,cell:l}of d){const d=t+a-1;const h=t<i&&i<=d;const f=t<=r&&r<=d;if(h){e.setAttribute(\"rowspan\",a+o,l);u[n]=-c}else if(s&&f){u[n]=c}}for(let n=0;n<o;n++){const n=e.createElement(\"tableRow\");e.insert(n,t,i);for(let t=0;t<u.length;t++){const i=u[t];const o=e.createPositionAt(n,\"end\");if(i>0){EP(e,o,i>1?{colspan:i}:null)}t+=Math.abs(i)-1}}})}insertColumns(t,e={}){const n=this.editor.model;const i=e.at||0;const o=e.columns||1;n.change(e=>{const n=t.getAttribute(\"headingColumns\");if(i<n){e.setAttribute(\"headingColumns\",n+o,t)}const s=this.getColumns(t);if(i===0||s===i){for(const n of t.getChildren()){UE(o,e,e.createPositionAt(n,i?\"end\":0))}return}const r=new VP(t,{column:i,includeSpanned:true});for(const{row:n,cell:s,cellIndex:a}of r){const c=parseInt(s.getAttribute(\"rowspan\")||1);const l=parseInt(s.getAttribute(\"colspan\")||1);if(a!==i&&l>1){e.setAttribute(\"colspan\",l+o,s);r.skipRow(n);if(c>1){for(let t=n+1;t<n+c;t++){r.skipRow(t)}}}else{const i=e.createPositionAt(t.getChild(n),a);UE(o,e,i)}}})}removeRows(t,e){const n=this.editor.model;const i=e.rows||1;const o=e.at;const s=o+i-1;const r=e.batch||\"default\";n.enqueueChange(r,e=>{const{cellsToMove:i,cellsToTrim:a}=YE(t,o,s);if(i.size){const n=s+1;GE(t,n,i,e)}for(let n=s;n>=o;n--){e.remove(t.getChild(n))}for(const{rowspan:t,cell:n}of a){PP(\"rowspan\",t,n,e)}$E(t,o,s,n,r)})}removeColumns(t,e){const n=this.editor.model;const i=e.at;const o=e.columns||1;const s=e.at+o-1;n.change(e=>{qE(t,{first:i,last:s},e);const n=[];for(let o=s;o>=i;o--){for(const{cell:i,column:s,colspan:r}of[...new VP(t)]){if(s<=o&&r>1&&s+r>o){PP(\"colspan\",r-1,i,e)}else if(s===o){const t=i.parent;e.remove(i);if(!t.childCount){n.push(t.index)}}}}n.reverse().forEach(n=>this.removeRows(t,{at:n,batch:e.batch}))})}splitCellVertically(t,e=2){const n=this.editor.model;const i=t.parent;const o=i.parent;const s=parseInt(t.getAttribute(\"rowspan\")||1);const r=parseInt(t.getAttribute(\"colspan\")||1);n.change(n=>{if(r>1){const{newCellsSpan:i,updatedSpan:o}=WE(r,e);PP(\"colspan\",o,t,n);const a={};if(i>1){a.colspan=i}if(s>1){a.rowspan=s}const c=r>e?e-1:r-1;UE(c,n,n.createPositionAfter(t),a)}if(r<e){const i=e-r;const a=[...new VP(o)];const{column:c}=a.find(({cell:e})=>e===t);const l=a.filter(({cell:e,colspan:n,column:i})=>{const o=e!==t&&i===c;const s=i<c&&i+n>c;return o||s});for(const{cell:t,colspan:e}of l){n.setAttribute(\"colspan\",e+i,t)}const d={};if(s>1){d.rowspan=s}UE(i,n,n.createPositionAfter(t),d);const u=o.getAttribute(\"headingColumns\")||0;if(u>c){PP(\"headingColumns\",u+i,o,n)}}})}splitCellHorizontally(t,e=2){const n=this.editor.model;const i=t.parent;const o=i.parent;const s=o.getChildIndex(i);const r=parseInt(t.getAttribute(\"rowspan\")||1);const a=parseInt(t.getAttribute(\"colspan\")||1);n.change(n=>{if(r>1){const i=[...new VP(o,{startRow:s,endRow:s+r-1,includeSpanned:true})];const{newCellsSpan:c,updatedSpan:l}=WE(r,e);PP(\"rowspan\",l,t,n);const{column:d}=i.find(({cell:e})=>e===t);const u={};if(c>1){u.rowspan=c}if(a>1){u.colspan=a}for(const{column:t,row:e,cellIndex:r}of i){const i=e>=s+l;const a=t===d;const h=(e+s+l)%c===0;if(i&&a&&h){const t=n.createPositionAt(o.getChild(e),r);UE(1,n,t,u)}}}if(r<e){const i=e-r;const c=[...new VP(o,{startRow:0,endRow:s})];for(const{cell:e,rowspan:o,row:r}of c){if(e!==t&&r+o>s){const t=o+i;n.setAttribute(\"rowspan\",t,e)}}const l={};if(a>1){l.colspan=a}HE(n,o,s+1,i,1,l);const d=o.getAttribute(\"headingRows\")||0;if(d>s){PP(\"headingRows\",d+i,o,n)}}})}getColumns(t){const e=t.getChild(0);return[...e.getChildren()].reduce((t,e)=>{const n=parseInt(e.getAttribute(\"colspan\")||1);return t+n},0)}getRows(t){return t.childCount}}function HE(t,e,n,i,o,s={}){for(let r=0;r<i;r++){const i=t.createElement(\"tableRow\");t.insert(i,e,n);UE(o,t,t.createPositionAt(i,\"end\"),s)}}function UE(t,e,n,i={}){for(let o=0;o<t;o++){EP(e,n,i)}}function WE(t,e){if(t<e){return{newCellsSpan:1,updatedSpan:1}}const n=Math.floor(t/e);const i=t-n*e+n;return{newCellsSpan:n,updatedSpan:i}}function qE(t,e,n){const i=t.getAttribute(\"headingColumns\")||0;if(i&&e.first<i){const o=Math.min(i-1,e.last)-e.first+1;n.setAttribute(\"headingColumns\",i-o,t)}}function $E(t,e,n,i,o){i.enqueueChange(o,i=>{const o=t.getAttribute(\"headingRows\")||0;if(e<o){const s=n<o?o-(n-e+1):e;PP(\"headingRows\",s,t,i,0)}})}function YE(t,e,n){const i=new Map;const o=[];for(const{row:s,column:r,rowspan:a,cell:c}of new VP(t,{endRow:n})){const t=s+a-1;const l=s>=e&&s<=n&&t>n;if(l){const t=n-s+1;const e=a-t;i.set(r,{cell:c,rowspan:e})}const d=s<e&&t>=e;if(d){let i;if(t>=n){i=n-e+1}else{i=t-e+1}o.push({cell:c,rowspan:a-i})}}return{cellsToMove:i,cellsToTrim:o}}function GE(t,e,n,i){const o=new VP(t,{includeSpanned:true,startRow:e,endRow:e});const s=[...o];const r=t.getChild(e);let a;for(const{column:t,cell:e,isSpanned:o}of s){if(n.has(t)){const{cell:e,rowspan:o}=n.get(t);const s=a?i.createPositionAfter(a):i.createPositionAt(r,0);i.move(i.createRangeOn(e),s);PP(\"rowspan\",o,e,i);a=e}else if(!o){a=e}}}class QE extends zw{refresh(){const t=UP(this.editor.model.document.selection);this.isEnabled=GP(t,this.editor.plugins.get(FE))}execute(){const t=this.editor.model;const e=this.editor.plugins.get(FE);t.change(n=>{const i=UP(t.document.selection);const o=i.shift();n.setSelection(o,0);const{mergeWidth:s,mergeHeight:r}=ZE(o,i,e);PP(\"colspan\",s,o,n);PP(\"rowspan\",r,o,n);const a=[];for(const t of i){const e=t.parent;KE(t,o,n);if(!e.childCount){a.push(e.index)}}if(a.length){const t=SP(\"table\",o);a.reverse().forEach(i=>e.removeRows(t,{at:i,batch:n.batch}))}n.setSelection(o,\"in\")})}}function KE(t,e,n){if(!JE(t)){if(JE(e)){n.remove(n.createRangeIn(e))}n.move(n.createRangeIn(t),n.createPositionAt(e,\"end\"))}n.remove(t)}function JE(t){return t.childCount==1&&t.getChild(0).is(\"paragraph\")&&t.getChild(0).isEmpty}function ZE(t,e,n){let i=0;let o=0;for(const t of e){const{row:e,column:s}=n.getCellLocation(t);i=XE(t,s,i,\"colspan\");o=XE(t,e,o,\"rowspan\")}const{row:s,column:r}=n.getCellLocation(t);const a=i-r;const c=o-s;return{mergeWidth:a,mergeHeight:c}}function XE(t,e,n,i){const o=parseInt(t.getAttribute(i)||1);return Math.max(n,e+o)}class tM extends zw{refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=$P(e);const i=SP(\"table\",e[0]);const o=[];for(let e=n.first;e<=n.last;e++){for(const n of i.getChild(e).getChildren()){o.push(t.createRangeOn(n))}}t.change(t=>{t.setSelection(o)})}}class eM extends zw{refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=e[0];const i=e.pop();const o=this.editor.plugins.get(\"TableUtils\");const s=o.getCellLocation(n);const r=o.getCellLocation(i);const a=Math.min(s.column,r.column);const c=Math.max(s.column,r.column);const l=[];for(const e of new VP(SP(\"table\",n))){if(e.column>=a&&e.column<=c){l.push(t.createRangeOn(e.cell))}}t.change(t=>{t.setSelection(l)})}}function nM(t){t.document.registerPostFixer(e=>iM(e,t))}function iM(t,e){const n=e.document.differ.getChanges();let i=false;const o=new Set;for(const e of n){let n;if(e.name==\"table\"&&e.type==\"insert\"){n=e.position.nodeAfter}if(e.name==\"tableRow\"||e.name==\"tableCell\"){n=SP(\"table\",e.position)}if(cM(e)){n=SP(\"table\",e.range.start)}if(n&&!o.has(n)){i=oM(n,t)||i;i=sM(n,t)||i;o.add(n)}}return i}function oM(t,e){let n=false;const i=rM(t);if(i.length){n=true;for(const t of i){PP(\"rowspan\",t.rowspan,t.cell,e,1)}}return n}function sM(t,e){let n=false;const i=aM(t);const o=[];for(const[t,e]of i.entries()){if(!e){o.push(t)}}if(o.length){n=true;for(const n of o.reverse()){e.remove(t.getChild(n));i.splice(n,1)}}const s=i[0];const r=i.every(t=>t===s);if(!r){const o=i.reduce((t,e)=>e>t?e:t,0);for(const[s,r]of i.entries()){const i=o-r;if(i){for(let n=0;n<i;n++){EP(e,e.createPositionAt(t.getChild(s),\"end\"))}n=true}}}return n}function rM(t){const e=parseInt(t.getAttribute(\"headingRows\")||0);const n=t.childCount;const i=[];for(const{row:o,rowspan:s,cell:r}of new VP(t)){if(s<2){continue}const t=o<e;const a=t?e:n;if(o+s>a){const t=a-o;i.push({cell:r,rowspan:t})}}return i}function aM(t){const e=new Array(t.childCount).fill(0);for(const{row:n}of new VP(t,{includeSpanned:true})){e[n]++}return e}function cM(t){const e=t.type===\"attribute\";const n=t.attributeKey;return e&&(n===\"headingRows\"||n===\"colspan\"||n===\"rowspan\")}function lM(t){t.document.registerPostFixer(e=>dM(e,t))}function dM(t,e){const n=e.document.differ.getChanges();let i=false;for(const e of n){if(e.type==\"insert\"&&e.name==\"table\"){i=uM(e.position.nodeAfter,t)||i}if(e.type==\"insert\"&&e.name==\"tableRow\"){i=hM(e.position.nodeAfter,t)||i}if(e.type==\"insert\"&&e.name==\"tableCell\"){i=fM(e.position.nodeAfter,t)||i}if(gM(e)){i=fM(e.position.parent,t)||i}}return i}function uM(t,e){let n=false;for(const i of t.getChildren()){n=hM(i,e)||n}return n}function hM(t,e){let n=false;for(const i of t.getChildren()){n=fM(i,e)||n}return n}function fM(t,e){if(t.childCount==0){e.insertElement(\"paragraph\",t);return true}const n=Array.from(t.getChildren()).filter(t=>t.is(\"text\"));for(const t of n){e.wrap(e.createRangeOn(t),\"paragraph\")}return!!n.length}function gM(t){if(!t.position||!t.position.parent.is(\"tableCell\")){return false}return t.type==\"insert\"&&t.name==\"$text\"||t.type==\"remove\"}function mM(t){t.document.registerPostFixer(()=>pM(t))}function pM(t){const e=t.document.differ;const n=new Set;let i=0;for(const t of e.getChanges()){const e=t.type==\"insert\"||t.type==\"remove\"?t.position.parent:t.range.start.parent;if(!e.is(\"tableCell\")){continue}if(t.type==\"insert\"){i++}if(bM(e,t.type,i)){n.add(e)}}if(n.size){for(const t of n.values()){e.refreshItem(t)}return true}return false}function bM(t,e,n){const i=Array.from(t.getChildren()).some(t=>t.is(\"paragraph\"));if(!i){return false}if(e==\"attribute\"){const e=Array.from(t.getChild(0).getAttributeKeys()).length;return t.childCount===1&&e<2}return t.childCount<=(e==\"insert\"?n+1:1)}var wM=n(92);class _M extends Dw{static get pluginName(){return\"TableEditing\"}init(){const t=this.editor;const e=t.model;const n=e.schema;const i=t.conversion;n.register(\"table\",{allowWhere:\"$block\",allowAttributes:[\"headingRows\",\"headingColumns\"],isLimit:true,isObject:true,isBlock:true});n.register(\"tableRow\",{allowIn:\"table\",isLimit:true});n.register(\"tableCell\",{allowIn:\"tableRow\",allowAttributes:[\"colspan\",\"rowspan\"],isObject:true});n.extend(\"$block\",{allowIn:\"tableCell\"});n.addChildCheck((t,e)=>{if(e.name==\"table\"&&Array.from(t.getNames()).includes(\"table\")){return false}});i.for(\"upcast\").add(OP());i.for(\"editingDowncast\").add(sE({asWidget:true}));i.for(\"dataDowncast\").add(sE());i.for(\"upcast\").elementToElement({model:\"tableRow\",view:\"tr\"});i.for(\"upcast\").add(RP());i.for(\"editingDowncast\").add(rE({asWidget:true}));i.for(\"dataDowncast\").add(rE());i.for(\"downcast\").add(dE());i.for(\"upcast\").add(DP(\"td\"));i.for(\"upcast\").add(DP(\"th\"));i.for(\"editingDowncast\").add(aE({asWidget:true}));i.for(\"dataDowncast\").add(aE());i.attributeToAttribute({model:\"colspan\",view:\"colspan\"});i.attributeToAttribute({model:\"rowspan\",view:\"rowspan\"});i.for(\"editingDowncast\").add(lE({asWidget:true}));i.for(\"dataDowncast\").add(lE());i.for(\"editingDowncast\").add(cE({asWidget:true}));i.for(\"dataDowncast\").add(cE());t.commands.add(\"insertTable\",new AE(t));t.commands.add(\"insertTableRowAbove\",new CE(t,{order:\"above\"}));t.commands.add(\"insertTableRowBelow\",new CE(t,{order:\"below\"}));t.commands.add(\"insertTableColumnLeft\",new SE(t,{order:\"left\"}));t.commands.add(\"insertTableColumnRight\",new SE(t,{order:\"right\"}));t.commands.add(\"removeTableRow\",new RE(t));t.commands.add(\"removeTableColumn\",new LE(t));t.commands.add(\"splitTableCellVertically\",new PE(t,{direction:\"vertically\"}));t.commands.add(\"splitTableCellHorizontally\",new PE(t,{direction:\"horizontally\"}));t.commands.add(\"mergeTableCells\",new QE(t));t.commands.add(\"mergeTableCellRight\",new EE(t,{direction:\"right\"}));t.commands.add(\"mergeTableCellLeft\",new EE(t,{direction:\"left\"}));t.commands.add(\"mergeTableCellDown\",new EE(t,{direction:\"down\"}));t.commands.add(\"mergeTableCellUp\",new EE(t,{direction:\"up\"}));t.commands.add(\"setTableColumnHeader\",new BE(t));t.commands.add(\"setTableRowHeader\",new jE(t));t.commands.add(\"selectTableRow\",new tM(t));t.commands.add(\"selectTableColumn\",new eM(t));nM(e);mM(e);lM(e)}static get requires(){return[FE]}}var kM=n(94);class vM extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"icon\");this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isToggleable\",false);this.set(\"isVisible\",true);this.set(\"keystroke\");this.set(\"label\");this.set(\"tabindex\",-1);this.set(\"tooltip\");this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.children=this.createCollection();this.actionView=this._createActionView();this.arrowView=this._createArrowView();this.keystrokes=new gp;this.focusTracker=new Sp;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-splitbutton\",e.if(\"isVisible\",\"ck-hidden\",t=>!t),this.arrowView.bindTemplate.if(\"isOn\",\"ck-splitbutton_open\")]},children:this.children})}render(){super.render();this.children.add(this.actionView);this.children.add(this.arrowView);this.focusTracker.add(this.actionView.element);this.focusTracker.add(this.arrowView.element);this.keystrokes.listenTo(this.element);this.keystrokes.set(\"arrowright\",(t,e)=>{if(this.focusTracker.focusedElement===this.actionView.element){this.arrowView.focus();e()}});this.keystrokes.set(\"arrowleft\",(t,e)=>{if(this.focusTracker.focusedElement===this.arrowView.element){this.actionView.focus();e()}})}focus(){this.actionView.focus()}_createActionView(){const t=new sw;t.bind(\"icon\",\"isEnabled\",\"isOn\",\"isToggleable\",\"keystroke\",\"label\",\"tabindex\",\"tooltip\",\"tooltipPosition\",\"type\",\"withText\").to(this);t.extendTemplate({attributes:{class:\"ck-splitbutton__action\"}});t.delegate(\"execute\").to(this);return t}_createArrowView(){const t=new sw;const e=t.bindTemplate;t.icon=rw;t.extendTemplate({attributes:{class:\"ck-splitbutton__arrow\",\"aria-haspopup\":true,\"aria-expanded\":e.to(\"isOn\",t=>String(t))}});t.bind(\"isEnabled\").to(this);t.delegate(\"execute\").to(this,\"open\");return t}}var yM=n(96);class xM extends _b{constructor(t){super(t);const e=this.bindTemplate;this.items=this._createGridCollection();this.set(\"rows\",0);this.set(\"columns\",0);this.bind(\"label\").to(this,\"columns\",this,\"rows\",(t,e)=>`${e} × ${t}`);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\"]},children:[{tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown__grid\"]},on:{\"mouseover@.ck-insert-table-dropdown-grid-box\":e.to(\"boxover\")},children:this.items},{tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown__label\"]},children:[{text:e.to(\"label\")}]}],on:{mousedown:e.to(t=>{t.preventDefault()}),click:e.to(()=>{this.fire(\"execute\")})}});this.on(\"boxover\",(t,e)=>{const{row:n,column:i}=e.target.dataset;this.set({rows:parseInt(n),columns:parseInt(i)})});this.on(\"change:columns\",()=>{this._highlightGridBoxes()});this.on(\"change:rows\",()=>{this._highlightGridBoxes()})}focus(){}focusLast(){}_highlightGridBoxes(){const t=this.rows;const e=this.columns;this.items.map((n,i)=>{const o=Math.floor(i/10);const s=i%10;const r=o<t&&s<e;n.set(\"isOn\",r)})}_createGridCollection(){const t=[];for(let e=0;e<100;e++){const n=Math.floor(e/10);const i=e%10;t.push(new AM(this.locale,n+1,i+1))}return this.createCollection(t)}}class AM extends _b{constructor(t,e,n){super(t);const i=this.bindTemplate;this.set(\"isOn\",false);this.setTemplate({tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown-grid-box\",i.if(\"isOn\",\"ck-on\")],\"data-row\":e,\"data-column\":n}})}}var TM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 6v3h4V6H3zm0 4v3h4v-3H3zm0 4v3h4v-3H3zm5 3h4v-3H8v3zm5 0h4v-3h-4v3zm4-4v-3h-4v3h4zm0-4V6h-4v3h4zm1.5 8a1.5 1.5 0 0 1-1.5 1.5H3A1.5 1.5 0 0 1 1.5 17V4c.222-.863 1.068-1.5 2-1.5h13c.932 0 1.778.637 2 1.5v13zM12 13v-3H8v3h4zm0-4V6H8v3h4z\"/></svg>';var CM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M18 7v1H2V7h16zm0 5v1H2v-1h16z\" opacity=\".6\"/><path d=\"M14 1v18a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1zm-2 1H8v4h4V2zm0 6H8v4h4V8zm0 6H8v4h4v-4z\"/></svg>';var SM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M7 2h1v16H7V2zm5 0h1v16h-1V2z\" opacity=\".6\"/><path d=\"M1 6h18a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm1 2v4h4V8H2zm6 0v4h4V8H8zm6 0v4h4V8h-4z\"/></svg>';var PM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M7 2h1v16H7V2zm5 0h1v7h-1V2zm6 5v1H2V7h16zM8 12v1H2v-1h6z\" opacity=\".6\"/><path d=\"M7 7h12a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1zm1 2v9h10V9H8z\"/></svg>';class EM extends Dw{init(){const t=this.editor;const e=this.editor.t;const n=t.locale.contentLanguageDirection;const i=n===\"ltr\";t.ui.componentFactory.add(\"insertTable\",n=>{const i=t.commands.get(\"insertTable\");const o=bw(n);o.bind(\"isEnabled\").to(i);o.buttonView.set({icon:TM,label:e(\"Insert table\"),tooltip:true});let s;o.on(\"change:isOpen\",()=>{if(s){return}s=new xM(n);o.panelView.children.add(s);s.delegate(\"execute\").to(o);o.buttonView.on(\"open\",()=>{s.rows=0;s.columns=0});o.on(\"execute\",()=>{t.execute(\"insertTable\",{rows:s.rows,columns:s.columns});t.editing.view.focus()})});return o});t.ui.componentFactory.add(\"tableColumn\",t=>{const n=[{type:\"switchbutton\",model:{commandName:\"setTableColumnHeader\",label:e(\"Header column\"),bindIsOn:true}},{type:\"separator\"},{type:\"button\",model:{commandName:i?\"insertTableColumnLeft\":\"insertTableColumnRight\",label:e(\"Insert column left\")}},{type:\"button\",model:{commandName:i?\"insertTableColumnRight\":\"insertTableColumnLeft\",label:e(\"Insert column right\")}},{type:\"button\",model:{commandName:\"removeTableColumn\",label:e(\"Delete column\")}},{type:\"button\",model:{commandName:\"selectTableColumn\",label:e(\"Select column\")}}];return this._prepareDropdown(e(\"Column\"),CM,n,t)});t.ui.componentFactory.add(\"tableRow\",t=>{const n=[{type:\"switchbutton\",model:{commandName:\"setTableRowHeader\",label:e(\"Header row\"),bindIsOn:true}},{type:\"separator\"},{type:\"button\",model:{commandName:\"insertTableRowAbove\",label:e(\"Insert row above\")}},{type:\"button\",model:{commandName:\"insertTableRowBelow\",label:e(\"Insert row below\")}},{type:\"button\",model:{commandName:\"removeTableRow\",label:e(\"Delete row\")}},{type:\"button\",model:{commandName:\"selectTableRow\",label:e(\"Select row\")}}];return this._prepareDropdown(e(\"Row\"),SM,n,t)});t.ui.componentFactory.add(\"mergeTableCells\",t=>{const n=[{type:\"button\",model:{commandName:\"mergeTableCellUp\",label:e(\"Merge cell up\")}},{type:\"button\",model:{commandName:i?\"mergeTableCellRight\":\"mergeTableCellLeft\",label:e(\"Merge cell right\")}},{type:\"button\",model:{commandName:\"mergeTableCellDown\",label:e(\"Merge cell down\")}},{type:\"button\",model:{commandName:i?\"mergeTableCellLeft\":\"mergeTableCellRight\",label:e(\"Merge cell left\")}},{type:\"separator\"},{type:\"button\",model:{commandName:\"splitTableCellVertically\",label:e(\"Split cell vertically\")}},{type:\"button\",model:{commandName:\"splitTableCellHorizontally\",label:e(\"Split cell horizontally\")}}];return this._prepareMergeSplitButtonDropdown(e(\"Merge cells\"),PM,n,t)})}_prepareDropdown(t,e,n,i){const o=this.editor;const s=bw(i);const r=this._fillDropdownWithListOptions(s,n);s.buttonView.set({label:t,icon:e,tooltip:true});s.bind(\"isEnabled\").toMany(r,\"isEnabled\",(...t)=>t.some(t=>t));this.listenTo(s,\"execute\",t=>{o.execute(t.source.commandName);o.editing.view.focus()});return s}_prepareMergeSplitButtonDropdown(t,e,n,i){const o=this.editor;const s=bw(i,vM);const r=\"mergeTableCells\";this._fillDropdownWithListOptions(s,n);s.buttonView.set({label:t,icon:e,tooltip:true,isEnabled:true});this.listenTo(s.buttonView,\"execute\",()=>{o.execute(r);o.editing.view.focus()});this.listenTo(s,\"execute\",t=>{o.execute(t.source.commandName);o.editing.view.focus()});return s}_fillDropdownWithListOptions(t,e){const n=this.editor;const i=[];const o=new xr;for(const t of e){MM(t,n,i,o)}_w(t,o,n.ui.componentFactory);return i}}function MM(t,e,n,i){const o=t.model=new lv(t.model);const{commandName:s,bindIsOn:r}=t.model;if(t.type===\"button\"||t.type===\"switchbutton\"){const t=e.commands.get(s);n.push(t);o.set({commandName:s});o.bind(\"isEnabled\").to(t);if(r){o.bind(\"isOn\").to(t,\"value\")}}o.set({withText:true});i.add(t)}class IM extends Qu{constructor(t){super(t);this.domEventType=[\"mousemove\",\"mouseup\",\"mouseleave\"]}onDomEvent(t){this.fire(t.type,t)}}function NM(t,e,n,i){const{startRow:o,startColumn:s,endRow:r,endColumn:a}=e;const c=n.createElement(\"table\");const l=r-o+1;for(let t=0;t<l;t++){n.insertElement(\"tableRow\",c,\"end\")}const d=[...new VP(t,{startRow:o,endRow:r,includeSpanned:true})];for(const{row:t,column:e,cell:l,isSpanned:u}of d){if(e<s||e>a){continue}const d=t-o;const h=c.getChild(d);if(u){const{row:t,column:e}=i.getCellLocation(l);if(t<o||e<s){EP(n,n.createPositionAt(h,\"end\"))}}else{const i=l._clone(true);n.append(i,h);OM(i,t,e,r,a,n)}}RM(c,t,o,s,n);return c}function OM(t,e,n,i,o,s){const r=parseInt(t.getAttribute(\"colspan\")||1);const a=parseInt(t.getAttribute(\"rowspan\")||1);const c=n+r-1;if(c>o){const e=o-n+1;PP(\"colspan\",e,t,s,1)}const l=e+a-1;if(l>i){const n=i-e+1;PP(\"rowspan\",n,t,s,1)}}function RM(t,e,n,i,o){const s=parseInt(e.getAttribute(\"headingRows\")||0);if(s>0){const e=s-n;PP(\"headingRows\",e,t,o,0)}const r=parseInt(e.getAttribute(\"headingColumns\")||0);if(r>0){const e=r-i;PP(\"headingColumns\",e,t,o,0)}}var DM=n(98);class LM extends Dw{static get pluginName(){return\"TableSelection\"}static get requires(){return[FE]}init(){const t=this.editor;const e=t.model;this.listenTo(e,\"deleteContent\",(t,e)=>this._handleDeleteContent(t,e),{priority:\"high\"});t.editing.view.addObserver(IM);this._defineSelectionConverter();this._enableShiftClickSelection();this._enableMouseDragSelection();this._enablePluginDisabling()}getSelectedTableCells(){const t=this.editor.model.document.selection;const e=UP(t);if(e.length==0){return null}return e}getSelectionAsFragment(){const t=this.getSelectedTableCells();if(!t){return null}return this.editor.model.change(e=>{const n=e.createDocumentFragment();const{first:i,last:o}=YP(t);const{first:s,last:r}=$P(t);const a=SP(\"table\",t[0]);const c={startRow:s,startColumn:i,endRow:r,endColumn:o};const l=NM(a,c,e,this.editor.plugins.get(\"TableUtils\"));e.insert(l,n,0);return n})}setCellSelection(t,e){const n=this._getCellsToSelect(t,e);this.editor.model.change(t=>{t.setSelection(n.cells.map(e=>t.createRangeOn(e)),{backward:n.backward})})}getFocusCell(){const t=this.editor.model.document.selection;const e=[...t.getRanges()].pop();const n=e.getContainedElement();if(n&&n.is(\"tableCell\")){return n}return null}getAnchorCell(){const t=this.editor.model.document.selection;const e=jw(t.getRanges());const n=e.getContainedElement();if(n&&n.is(\"tableCell\")){return n}return null}_defineSelectionConverter(){const t=this.editor;const e=new Set;t.conversion.for(\"editingDowncast\").add(t=>t.on(\"selection\",(t,i,o)=>{const s=o.writer;n(s);const r=this.getSelectedTableCells();if(!r){return}for(const t of r){const n=o.mapper.toViewElement(t);s.addClass(\"ck-editor__editable_selected\",n);e.add(n)}const a=o.mapper.toViewElement(r[r.length-1]);s.setSelection(a,0)},{priority:\"lowest\"}));function n(t){for(const n of e){t.removeClass(\"ck-editor__editable_selected\",n)}e.clear()}}_enableShiftClickSelection(){const t=this.editor;let e=false;this.listenTo(t.editing.view.document,\"mousedown\",(n,i)=>{if(!this.isEnabled){return}if(!i.domEvent.shiftKey){return}const o=this.getAnchorCell()||WP(t.model.document.selection)[0];if(!o){return}const s=this._getModelTableCellFromDomEvent(i);if(s&&zM(o,s)){e=true;this.setCellSelection(o,s);i.preventDefault()}});this.listenTo(t.editing.view.document,\"mouseup\",()=>{e=false});this.listenTo(t.editing.view.document,\"selectionChange\",t=>{if(e){t.stop()}},{priority:\"highest\"})}_enableMouseDragSelection(){const t=this.editor;let e,n;let i=false;let o=false;this.listenTo(t.editing.view.document,\"mousedown\",(t,n)=>{if(!this.isEnabled){return}if(n.domEvent.shiftKey||n.domEvent.ctrlKey||n.domEvent.altKey){return}e=this._getModelTableCellFromDomEvent(n)});this.listenTo(t.editing.view.document,\"mousemove\",(t,s)=>{if(!s.domEvent.buttons){return}if(!e){return}const r=this._getModelTableCellFromDomEvent(s);if(r&&zM(e,r)){n=r;if(!i&&n!=e){i=true}}if(!i){return}o=true;this.setCellSelection(e,n);s.preventDefault()});this.listenTo(t.editing.view.document,\"mouseup\",()=>{i=false;o=false;e=null;n=null});this.listenTo(t.editing.view.document,\"selectionChange\",t=>{if(o){t.stop()}},{priority:\"highest\"})}_enablePluginDisabling(){const t=this.editor;this.on(\"change:isEnabled\",()=>{if(!this.isEnabled){const e=this.getSelectedTableCells();if(!e){return}t.model.change(n=>{const i=n.createPositionAt(e[0],0);const o=t.model.schema.getNearestSelectionRange(i);n.setSelection(o)})}})}_handleDeleteContent(t,e){const[n,i]=e;const o=this.editor.model;const s=!i||i.direction==\"backward\";const r=UP(n);if(!r.length){return}t.stop();o.change(t=>{const e=r[s?r.length-1:0];o.change(t=>{for(const e of r){o.deleteContent(t.createSelection(e,\"in\"))}});const i=o.schema.getNearestSelectionRange(t.createPositionAt(e,0));if(n.is(\"documentSelection\")){t.setSelection(i)}else{n.setTo(i)}})}_getModelTableCellFromDomEvent(t){const e=t.target;const n=this.editor.editing.view.createPositionAt(e,0);const i=this.editor.editing.mapper.toModelPosition(n);const o=i.parent;if(o.is(\"tableCell\")){return o}return SP(\"tableCell\",o)}_getCellsToSelect(t,e){const n=this.editor.plugins.get(\"TableUtils\");const i=n.getCellLocation(t);const o=n.getCellLocation(e);const s=Math.min(i.row,o.row);const r=Math.max(i.row,o.row);const a=Math.min(i.column,o.column);const c=Math.max(i.column,o.column);const l=new Array(r-s+1).fill(null).map(()=>[]);for(const e of new VP(SP(\"table\",t),{startRow:s,endRow:r})){if(e.column>=a&&e.column<=c){l[e.row-s].push(e.cell)}}const d=o.row<i.row;const u=o.column<i.column;if(d){l.reverse()}if(u){l.forEach(t=>t.reverse())}return{cells:l.flat(),backward:d||u}}}function zM(t,e){return t.parent.parent==e.parent.parent}class VM extends Dw{static get pluginName(){return\"TableClipboard\"}static get requires(){return[LM,FE]}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,\"copy\",(t,e)=>this._onCopyCut(t,e));this.listenTo(e,\"cut\",(t,e)=>this._onCopyCut(t,e));this.listenTo(t.model,\"insertContent\",(t,e)=>this._onInsertContent(t,...e),{priority:\"high\"})}_onCopyCut(t,e){const n=this.editor.plugins.get(LM);if(!n.getSelectedTableCells()){return}if(t.name==\"cut\"&&this.editor.isReadOnly){return}e.preventDefault();t.stop();const i=this.editor.data;const o=this.editor.editing.view.document;const s=i.toView(n.getSelectionAsFragment());o.fire(\"clipboardOutput\",{dataTransfer:e.dataTransfer,content:s,method:t.name})}_onInsertContent(t,e,n){if(n&&!n.is(\"documentSelection\")){return}const i=this.editor.model;const o=this.editor.plugins.get(FE);const s=qP(i.document.selection);if(!s.length){return}let r=FM(e);if(!r){return}t.stop();i.change(t=>{const e=YP(s);const n=$P(s);let{first:i,last:a}=e;let{first:c,last:l}=n;const d=o.getRows(r);const u=o.getColumns(r);const h=SP(\"table\",s[0]);const f=s.length===1;if(f){l+=d-1;a+=u-1;BM(h,l+1,a+1,t,o)}if(f||!GP(s,o)){const e={firstRow:c,lastRow:l,firstColumn:i,lastColumn:a};UM(h,e,t)}else{l=YM(h,n,e);a=GM(h,n,e)}const g=l-c+1;const m=a-i+1;const p={startRow:0,startColumn:0,endRow:Math.min(g-1,d-1),endColumn:Math.min(m-1,u-1)};r=NM(r,p,t,o);const b={width:u,height:d};const w={firstColumnOfSelection:i,firstRowOfSelection:c,lastColumnOfSelection:a,lastRowOfSelection:l};jM(r,b,h,w,t)})}}function jM(t,e,n,i,o){const{firstColumnOfSelection:s,lastColumnOfSelection:r,firstRowOfSelection:a,lastRowOfSelection:c}=i;const{width:l,height:d}=e;const u=HM(t,l,d);const h=[...new VP(n,{startRow:a,endRow:c,includeSpanned:true})];const f=[];let g;for(const{row:t,column:e,cell:i,isSpanned:m}of h){if(e===0){g=null}if(e<s||e>r){if(!m){g=i}continue}if(!m){o.remove(i)}const h=t-a;const p=e-s;const b=u[h%d][p%l];if(!b){continue}const w=b._clone(true);OM(w,t,e,c,r,o);let _;if(!g){_=o.createPositionAt(n.getChild(t),0)}else{_=o.createPositionAfter(g)}o.insert(w,_);f.push(w);g=w}o.setSelection(f.map(t=>o.createRangeOn(t)))}function BM(t,e,n,i,o){const s=o.getColumns(t);const r=o.getRows(t);if(n>s){o.insertColumns(t,{batch:i.batch,at:s,columns:n-s})}if(e>r){o.insertRows(t,{batch:i.batch,at:r,rows:e-r})}}function FM(t){if(t.is(\"table\")){return t}if(t.childCount!=1||!t.getChild(0).is(\"table\")){return null}return t.getChild(0)}function HM(t,e,n){const i=new Array(n).fill(null).map(()=>new Array(e).fill(null));for(const{column:e,row:n,cell:o}of new VP(t)){i[n][e]=o}return i}function UM(t,e,n){const{firstRow:i,lastRow:o,firstColumn:s,lastColumn:r}=e;const a={first:i,last:o};const c={first:s,last:r};qM(t,s,a,n);qM(t,r+1,a,n);WM(t,i,c,n);WM(t,o+1,c,n,i)}function WM(t,e,n,i,o=0){if(e<1){return}const s=QP(t,e,o);const r=s.filter(({column:t,colspan:e})=>$M(t,e,n));for(const{cell:t}of r){KP(t,e,i)}}function qM(t,e,n,i){if(e<1){return}const o=JP(t,e);const s=o.filter(({row:t,rowspan:e})=>$M(t,e,n));for(const{cell:t,column:n}of s){ZP(t,n,e,i)}}function $M(t,e,n){const i=t+e-1;const{first:o,last:s}=n;const r=t>=o&&t<=s;const a=t<o&&i>=o;return r||a}function YM(t,e,n){const i=new VP(t,{startRow:e.last,endRow:e.last});const o=Array.from(i).filter(({column:t})=>n.first<=t&&t<=n.last);const s=o.every(({rowspan:t})=>t===1);if(s){return e.last}const r=o[0].rowspan-1;return e.last+r}function GM(t,e,n){const i=Array.from(new VP(t,{startRow:e.first,endRow:e.last,column:n.last}));const o=i.every(({colspan:t})=>t===1);if(o){return n.last}const s=i[0].colspan-1;return n.last+s}class QM extends Dw{static get pluginName(){return\"TableNavigation\"}static get requires(){return[LM]}init(){const t=this.editor.editing.view;const e=t.document;this.editor.keystrokes.set(\"Tab\",(...t)=>this._handleTabOnSelectedTable(...t),{priority:\"low\"});this.editor.keystrokes.set(\"Tab\",this._getTabHandler(true),{priority:\"low\"});this.editor.keystrokes.set(\"Shift+Tab\",this._getTabHandler(false),{priority:\"low\"});this.listenTo(e,\"keydown\",(...t)=>this._onKeydown(...t),{priority:or.get(\"high\")+1})}_handleTabOnSelectedTable(t,e){const n=this.editor;const i=n.model.document.selection;if(!i.isCollapsed&&i.rangeCount===1&&i.getFirstRange().isFlat){const t=i.getSelectedElement();if(!t||!t.is(\"table\")){return}e();n.model.change(e=>{e.setSelection(e.createRangeIn(t.getChild(0).getChild(0)))})}}_getTabHandler(t){const e=this.editor;return(n,i)=>{const o=e.model.document.selection;const s=WP(o)[0];if(!s){return}i();const r=s.parent;const a=r.parent;const c=a.getChildIndex(r);const l=r.getChildIndex(s);const d=l===0;if(!t&&d&&c===0){return}const u=l===r.childCount-1;const h=c===a.childCount-1;if(t&&h&&u){e.execute(\"insertTableRowBelow\");if(c===a.childCount-1){return}}let f;if(t&&u){const t=a.getChild(c+1);f=t.getChild(0)}else if(!t&&d){const t=a.getChild(c-1);f=t.getChild(t.childCount-1)}else{f=r.getChild(l+(t?1:-1))}e.model.change(t=>{t.setSelection(t.createRangeIn(f))})}}_onKeydown(t,e){const n=e.keyCode;if(!KM(n)){return}const i=JM(n,this.editor.locale.contentLanguageDirection);const o=this._handleArrowKeys(i,e.shiftKey);if(o){e.preventDefault();e.stopPropagation();t.stop()}}_handleArrowKeys(t,e){const n=this.editor.model;const i=n.document.selection;const o=[\"right\",\"down\"].includes(t);const s=UP(i);if(s.length){let n;if(e){n=this.editor.plugins.get(\"TableSelection\").getFocusCell()}else{n=o?s[s.length-1]:s[0]}this._navigateFromCellInDirection(n,t,e);return true}const r=SP(\"tableCell\",i.focus);if(!r){return false}const a=n.createRangeIn(r);if(this._isSelectionAtCellEdge(i,o)){this._navigateFromCellInDirection(r,t,e);return true}const c=i.getSelectedElement();if(c&&n.schema.isObject(c)){return false}if(this._isObjectElementNextToSelection(i,o)){return false}const l=this._findTextRangeFromSelection(a,i,o);if(!l){this._navigateFromCellInDirection(r,t,e);return true}if([\"left\",\"right\"].includes(t)){return false}if(this._isSingleLineRange(l,o)){n.change(t=>{const s=o?a.end:a.start;if(e){const e=n.createSelection(i.anchor);e.setFocus(s);t.setSelection(e)}else{t.setSelection(s)}});return true}}_isSelectionAtCellEdge(t,e){const n=this.editor.model;const i=this.editor.model.schema;const o=e?t.getLastPosition():t.getFirstPosition();if(!i.getLimitElement(o).is(\"tableCell\")){return false}const s=n.createSelection(o);n.modifySelection(s,{direction:e?\"forward\":\"backward\"});return o.isEqual(s.focus)}_isObjectElementNextToSelection(t,e){const n=this.editor.model;const i=n.schema;const o=n.createSelection(t);n.modifySelection(o,{direction:e?\"forward\":\"backward\"});const s=e?o.focus.nodeBefore:o.focus.nodeAfter;return s&&i.isObject(s)}_findTextRangeFromSelection(t,e,n){const i=this.editor.model;if(n){const n=e.getLastPosition();const o=this._getNearestVisibleTextPosition(t,\"backward\");if(o&&n.isBefore(o)){return i.createRange(n,o)}return null}else{const n=e.getFirstPosition();const o=this._getNearestVisibleTextPosition(t,\"forward\");if(o&&n.isAfter(o)){return i.createRange(o,n)}return null}}_getNearestVisibleTextPosition(t,e){const n=this.editor.model.schema;const i=this.editor.editing.mapper;for(const{nextPosition:o,item:s}of t.getWalker({direction:e})){if(n.checkChild(o,\"$text\")){const t=i.toViewElement(s);if(t&&!t.hasClass(\"ck-hidden\")){return o}}}}_isSingleLineRange(t,e){const n=this.editor.model;const i=this.editor.editing;const o=i.view.domConverter;if(e){const e=n.createSelection(t.start);n.modifySelection(e);if(!e.focus.isAtEnd&&!t.start.isEqual(e.focus)){t=n.createRange(e.focus,t.end)}}const s=i.mapper.toViewRange(t);const r=o.viewRangeToDom(s);const a=vh.getDomRangeRects(r);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}_navigateFromCellInDirection(t,e,n=false){const i=this.editor.model;const o=SP(\"table\",t);const s=[...new VP(o,{includeSpanned:true})];const{row:r,column:a}=s[s.length-1];const c=s.find(({cell:e})=>e==t);let{row:l,column:d}=c;switch(e){case\"left\":d--;break;case\"up\":l--;break;case\"right\":d+=c.colspan;break;case\"down\":l+=c.rowspan;break}const u=l<0||l>r;const h=d<0&&l<=0;const f=d>a&&l>=r;if(u||h||f){i.change(t=>{t.setSelection(t.createRangeOn(o))});return}if(d<0){d=n?0:a;l--}else if(d>a){d=n?a:0;l++}const g=s.find(t=>t.row==l&&t.column==d).cell;const m=[\"right\",\"down\"].includes(e);if(n){const e=this.editor.plugins.get(\"TableSelection\");const n=e.getAnchorCell()||t;e.setCellSelection(n,g)}else{const t=i.createPositionAt(g,m?0:\"end\");i.change(e=>{e.setSelection(t)})}}}function KM(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}function JM(t,e){const n=e===\"ltr\";switch(t){case Rl.arrowleft:return n?\"left\":\"right\";case Rl.arrowright:return n?\"right\":\"left\";case Rl.arrowup:return\"up\";case Rl.arrowdown:return\"down\"}}var ZM=n(100);class XM extends Dw{static get requires(){return[_M,EM,LM,VM,QM,vy]}static get pluginName(){return\"Table\"}}class tI extends Dw{static get requires(){return[Yx]}static get pluginName(){return\"TableToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(Yx);const i=t.config.get(\"table.contentToolbar\");const o=t.config.get(\"table.tableToolbar\");if(i){n.register(\"tableContent\",{ariaLabel:e(\"Table toolbar\"),items:i,getRelatedElement:HP})}if(o){n.register(\"table\",{ariaLabel:e(\"Table toolbar\"),items:o,getRelatedElement:FP})}}}class eI{constructor(t,e){this.model=t;this.testCallback=e;this.hasMatch=false;this.set(\"isEnabled\",true);this.on(\"change:isEnabled\",()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}});this._startListening()}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,\"change:range\",(t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire(\"unmatched\");this.hasMatch=false}return}this._evaluateTextBeforeSelection(\"selection\")});this.listenTo(e,\"change:data\",(t,e)=>{if(e.type==\"transparent\"){return}this._evaluateTextBeforeSelection(\"data\",{batch:e})})}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const i=n.document;const o=i.selection;const s=n.createRange(n.createPositionAt(o.focus.parent,0),o.focus);const{text:r,range:a}=i_(s,n);const c=this.testCallback(r);if(!c&&this.hasMatch){this.fire(\"unmatched\")}this.hasMatch=!!c;if(c){const n=Object.assign(e,{text:r,range:a});if(typeof c==\"object\"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}yr(eI,Kc);var nI=/[\\\\^$.*+?()[\\]{}|]/g,iI=RegExp(nI.source);function oI(t){t=va(t);return t&&iI.test(t)?t.replace(nI,\"\\\\$&\"):t}var sI=oI;const rI={copyright:{from:\"(c)\",to:\"©\"},registeredTrademark:{from:\"(r)\",to:\"®\"},trademark:{from:\"(tm)\",to:\"™\"},oneHalf:{from:\"1/2\",to:\"½\"},oneThird:{from:\"1/3\",to:\"⅓\"},twoThirds:{from:\"2/3\",to:\"⅔\"},oneForth:{from:\"1/4\",to:\"¼\"},threeQuarters:{from:\"3/4\",to:\"¾\"},lessThanOrEqual:{from:\"<=\",to:\"≤\"},greaterThanOrEqual:{from:\">=\",to:\"≥\"},notEqual:{from:\"!=\",to:\"≠\"},arrowLeft:{from:\"<-\",to:\"←\"},arrowRight:{from:\"->\",to:\"→\"},horizontalEllipsis:{from:\"...\",to:\"…\"},enDash:{from:/(^| )(--)( )$/,to:[null,\"–\",null]},emDash:{from:/(^| )(---)( )$/,to:[null,\"—\",null]},quotesPrimary:{from:fI('\"'),to:[null,\"“\",null,\"”\"]},quotesSecondary:{from:fI(\"'\"),to:[null,\"‘\",null,\"’\"]},quotesPrimaryEnGb:{from:fI(\"'\"),to:[null,\"‘\",null,\"’\"]},quotesSecondaryEnGb:{from:fI('\"'),to:[null,\"“\",null,\"”\"]},quotesPrimaryPl:{from:fI('\"'),to:[null,\"„\",null,\"”\"]},quotesSecondaryPl:{from:fI(\"'\"),to:[null,\"‚\",null,\"’\"]}};const aI={symbols:[\"copyright\",\"registeredTrademark\",\"trademark\"],mathematical:[\"oneHalf\",\"oneThird\",\"twoThirds\",\"oneForth\",\"threeQuarters\",\"lessThanOrEqual\",\"greaterThanOrEqual\",\"notEqual\",\"arrowLeft\",\"arrowRight\"],typography:[\"horizontalEllipsis\",\"enDash\",\"emDash\"],quotes:[\"quotesPrimary\",\"quotesSecondary\"]};const cI=[\"symbols\",\"mathematical\",\"typography\",\"quotes\"];class lI extends Dw{static get pluginName(){return\"TextTransformation\"}constructor(t){super(t);t.config.define(\"typing\",{transformations:{include:cI}})}init(){const t=this.editor.model;const e=t.document.selection;e.on(\"change:range\",()=>{this.isEnabled=!e.anchor.parent.is(\"codeBlock\")});this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get(\"Input\");const i=gI(t.config.get(\"typing.transformations\"));const o=t=>{for(const e of i){const n=e.from;const i=n.test(t);if(i){return{normalizedTransformation:e}}}};const s=(t,i)=>{if(!n.isInput(i.batch)){return}const{from:o,to:s}=i.normalizedTransformation;const r=o.exec(i.text);const a=s(r.slice(1));const c=i.range;let l=r.index;e.enqueueChange(t=>{for(let n=1;n<r.length;n++){const i=r[n];const o=a[n-1];if(o==null){l+=i.length;continue}const s=c.start.getShiftedBy(l);const d=e.createRange(s,s.getShiftedBy(i.length));const u=hI(s);e.insertContent(t.createText(o,u),d);l+=o.length}})};const r=new eI(t.model,o);r.on(\"matched:data\",s);r.bind(\"isEnabled\").to(this)}}function dI(t){if(typeof t==\"string\"){return new RegExp(`(${sI(t)})$`)}return t}function uI(t){if(typeof t==\"string\"){return()=>[t]}else if(t instanceof Array){return()=>t}return t}function hI(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function fI(t){return new RegExp(`(^|\\\\s)(${t})([^${t}]*)(${t})$`)}function gI(t){const e=t.extra||[];const n=t.remove||[];const i=t=>!n.includes(t);const o=t.include.concat(e).filter(i);return mI(o).filter(i).map(t=>rI[t]||t).map(t=>({from:dI(t.from),to:uI(t.to)}))}function mI(t){const e=new Set;for(const n of t){if(aI[n]){for(const t of aI[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}class pI extends Ow{}pI.builtinPlugins=[e_,r_,f_,x_,M_,z_,Zk,fv,Xy,ux,Ex,$x,Jx,MA,LA,HA,mC,ZC,yS,nv,nP,cP,gP,kP,CP,XM,tI,lI];var bI=e[\"default\"]=pI}])[\"default\"]}));\n//# sourceMappingURL=ckeditor.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nclass InvalidDateTimeError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid DateTime: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nclass InvalidIntervalError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Interval: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nclass InvalidDurationError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Duration: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nclass ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nclass InvalidUnitError extends LuxonError {\n  constructor(unit) {\n    super(`Invalid unit ${unit}`);\n  }\n}\n\n/**\n * @private\n */\nclass InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nclass ZoneIsAbstractError extends LuxonError {\n  constructor() {\n    super(\"Zone is an abstract class\");\n  }\n}\n\n/**\n * @private\n */\n\nconst n = \"numeric\",\n  s = \"short\",\n  l = \"long\";\nconst DATE_SHORT = {\n  year: n,\n  month: n,\n  day: n\n};\nconst DATE_MED = {\n  year: n,\n  month: s,\n  day: n\n};\nconst DATE_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s\n};\nconst DATE_FULL = {\n  year: n,\n  month: l,\n  day: n\n};\nconst DATE_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l\n};\nconst TIME_SIMPLE = {\n  hour: n,\n  minute: n\n};\nconst TIME_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n\n};\nconst TIME_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s\n};\nconst TIME_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l\n};\nconst TIME_24_SIMPLE = {\n  hour: n,\n  minute: n,\n  hourCycle: \"h23\"\n};\nconst TIME_24_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\"\n};\nconst TIME_24_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: s\n};\nconst TIME_24_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: l\n};\nconst DATETIME_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n\n};\nconst DATETIME_SHORT_WITH_SECONDS = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n\n};\nconst DATETIME_MED = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n\n};\nconst DATETIME_MED_WITH_SECONDS = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n\n};\nconst DATETIME_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n  hour: n,\n  minute: n\n};\nconst DATETIME_FULL = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  timeZoneName: s\n};\nconst DATETIME_FULL_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s\n};\nconst DATETIME_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  timeZoneName: l\n};\nconst DATETIME_HUGE_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l\n};\n\n/**\n * @interface\n */\nclass Zone {\n  /**\n   * The type of zone\n   * @abstract\n   * @type {string}\n   */\n  get type() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * The name of this zone.\n   * @abstract\n   * @type {string}\n   */\n  get name() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * The IANA name of this zone.\n   * Defaults to `name` if not overwritten by a subclass.\n   * @abstract\n   * @type {string}\n   */\n  get ianaName() {\n    return this.name;\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year.\n   * @abstract\n   * @type {boolean}\n   */\n  get isUniversal() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's common name (such as EST) at the specified timestamp\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the name\n   * @param {Object} opts - Options to affect the format\n   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n   * @param {string} opts.locale - What locale to return the offset name in.\n   * @return {string}\n   */\n  offsetName(ts, opts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to compute the offset\n   * @return {number}\n   */\n  offset(ts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone\n   * @abstract\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is valid.\n   * @abstract\n   * @type {boolean}\n   */\n  get isValid() {\n    throw new ZoneIsAbstractError();\n  }\n}\n\nlet singleton$1 = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nclass SystemZone extends Zone {\n  /**\n   * Get a singleton instance of the local zone\n   * @return {SystemZone}\n   */\n  static get instance() {\n    if (singleton$1 === null) {\n      singleton$1 = new SystemZone();\n    }\n    return singleton$1;\n  }\n\n  /** @override **/\n  get type() {\n    return \"system\";\n  }\n\n  /** @override **/\n  get name() {\n    return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName(ts, {\n    format,\n    locale\n  }) {\n    return parseZoneInfo(ts, format, locale);\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/\n  offset(ts) {\n    return -new Date(ts).getTimezoneOffset();\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"system\";\n  }\n\n  /** @override **/\n  get isValid() {\n    return true;\n  }\n}\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n  if (!dtfCache[zone]) {\n    dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n      hour12: false,\n      timeZone: zone,\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\",\n      era: \"short\"\n    });\n  }\n  return dtfCache[zone];\n}\nconst typeToPos = {\n  year: 0,\n  month: 1,\n  day: 2,\n  era: 3,\n  hour: 4,\n  minute: 5,\n  second: 6\n};\nfunction hackyOffset(dtf, date) {\n  const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n    parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n    [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;\n  return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\nfunction partsOffset(dtf, date) {\n  const formatted = dtf.formatToParts(date);\n  const filled = [];\n  for (let i = 0; i < formatted.length; i++) {\n    const {\n      type,\n      value\n    } = formatted[i];\n    const pos = typeToPos[type];\n    if (type === \"era\") {\n      filled[pos] = value;\n    } else if (!isUndefined(pos)) {\n      filled[pos] = parseInt(value, 10);\n    }\n  }\n  return filled;\n}\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nclass IANAZone extends Zone {\n  /**\n   * @param {string} name - Zone name\n   * @return {IANAZone}\n   */\n  static create(name) {\n    if (!ianaZoneCache[name]) {\n      ianaZoneCache[name] = new IANAZone(name);\n    }\n    return ianaZoneCache[name];\n  }\n\n  /**\n   * Reset local caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCache() {\n    ianaZoneCache = {};\n    dtfCache = {};\n  }\n\n  /**\n   * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n   * @param {string} s - The string to check validity on\n   * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n   * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n   * @deprecated For backward compatibility, this forwards to isValidZone, better use `isValidZone()` directly instead.\n   * @return {boolean}\n   */\n  static isValidSpecifier(s) {\n    return this.isValidZone(s);\n  }\n\n  /**\n   * Returns whether the provided string identifies a real zone\n   * @param {string} zone - The string to check\n   * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n   * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n   * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n   * @return {boolean}\n   */\n  static isValidZone(zone) {\n    if (!zone) {\n      return false;\n    }\n    try {\n      new Intl.DateTimeFormat(\"en-US\", {\n        timeZone: zone\n      }).format();\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n  constructor(name) {\n    super();\n    /** @private **/\n    this.zoneName = name;\n    /** @private **/\n    this.valid = IANAZone.isValidZone(name);\n  }\n\n  /**\n   * The type of zone. `iana` for all instances of `IANAZone`.\n   * @override\n   * @type {string}\n   */\n  get type() {\n    return \"iana\";\n  }\n\n  /**\n   * The name of this zone (i.e. the IANA zone name).\n   * @override\n   * @type {string}\n   */\n  get name() {\n    return this.zoneName;\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year:\n   * Always returns false for all IANA zones.\n   * @override\n   * @type {boolean}\n   */\n  get isUniversal() {\n    return false;\n  }\n\n  /**\n   * Returns the offset's common name (such as EST) at the specified timestamp\n   * @override\n   * @param {number} ts - Epoch milliseconds for which to get the name\n   * @param {Object} opts - Options to affect the format\n   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n   * @param {string} opts.locale - What locale to return the offset name in.\n   * @return {string}\n   */\n  offsetName(ts, {\n    format,\n    locale\n  }) {\n    return parseZoneInfo(ts, format, locale, this.name);\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @override\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   * @override\n   * @param {number} ts - Epoch milliseconds for which to compute the offset\n   * @return {number}\n   */\n  offset(ts) {\n    const date = new Date(ts);\n    if (isNaN(date)) return NaN;\n    const dtf = makeDTF(this.name);\n    let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date);\n    if (adOrBc === \"BC\") {\n      year = -Math.abs(year) + 1;\n    }\n\n    // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n    const adjustedHour = hour === 24 ? 0 : hour;\n    const asUTC = objToLocalTS({\n      year,\n      month,\n      day,\n      hour: adjustedHour,\n      minute,\n      second,\n      millisecond: 0\n    });\n    let asTS = +date;\n    const over = asTS % 1000;\n    asTS -= over >= 0 ? over : 1000 + over;\n    return (asUTC - asTS) / (60 * 1000);\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone\n   * @override\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    return otherZone.type === \"iana\" && otherZone.name === this.name;\n  }\n\n  /**\n   * Return whether this Zone is valid.\n   * @override\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.valid;\n  }\n}\n\n// todo - remap caching\n\nlet intlLFCache = {};\nfunction getCachedLF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlLFCache[key];\n  if (!dtf) {\n    dtf = new Intl.ListFormat(locString, opts);\n    intlLFCache[key] = dtf;\n  }\n  return dtf;\n}\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlDTCache[key];\n  if (!dtf) {\n    dtf = new Intl.DateTimeFormat(locString, opts);\n    intlDTCache[key] = dtf;\n  }\n  return dtf;\n}\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let inf = intlNumCache[key];\n  if (!inf) {\n    inf = new Intl.NumberFormat(locString, opts);\n    intlNumCache[key] = inf;\n  }\n  return inf;\n}\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n  const {\n    base,\n    ...cacheKeyOpts\n  } = opts; // exclude `base` from the options\n  const key = JSON.stringify([locString, cacheKeyOpts]);\n  let inf = intlRelCache[key];\n  if (!inf) {\n    inf = new Intl.RelativeTimeFormat(locString, opts);\n    intlRelCache[key] = inf;\n  }\n  return inf;\n}\nlet sysLocaleCache = null;\nfunction systemLocale() {\n  if (sysLocaleCache) {\n    return sysLocaleCache;\n  } else {\n    sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n    return sysLocaleCache;\n  }\n}\nlet weekInfoCache = {};\nfunction getCachedWeekInfo(locString) {\n  let data = weekInfoCache[locString];\n  if (!data) {\n    const locale = new Intl.Locale(locString);\n    // browsers currently implement this as a property, but spec says it should be a getter function\n    data = \"getWeekInfo\" in locale ? locale.getWeekInfo() : locale.weekInfo;\n    weekInfoCache[locString] = data;\n  }\n  return data;\n}\nfunction parseLocaleString(localeStr) {\n  // I really want to avoid writing a BCP 47 parser\n  // see, e.g. https://github.com/wooorm/bcp-47\n  // Instead, we'll do this:\n\n  // a) if the string has no -u extensions, just leave it alone\n  // b) if it does, use Intl to resolve everything\n  // c) if Intl fails, try again without the -u\n\n  // private subtags and unicode subtags have ordering requirements,\n  // and we're not properly parsing this, so just strip out the\n  // private ones if they exist.\n  const xIndex = localeStr.indexOf(\"-x-\");\n  if (xIndex !== -1) {\n    localeStr = localeStr.substring(0, xIndex);\n  }\n  const uIndex = localeStr.indexOf(\"-u-\");\n  if (uIndex === -1) {\n    return [localeStr];\n  } else {\n    let options;\n    let selectedStr;\n    try {\n      options = getCachedDTF(localeStr).resolvedOptions();\n      selectedStr = localeStr;\n    } catch (e) {\n      const smaller = localeStr.substring(0, uIndex);\n      options = getCachedDTF(smaller).resolvedOptions();\n      selectedStr = smaller;\n    }\n    const {\n      numberingSystem,\n      calendar\n    } = options;\n    return [selectedStr, numberingSystem, calendar];\n  }\n}\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n  if (outputCalendar || numberingSystem) {\n    if (!localeStr.includes(\"-u-\")) {\n      localeStr += \"-u\";\n    }\n    if (outputCalendar) {\n      localeStr += `-ca-${outputCalendar}`;\n    }\n    if (numberingSystem) {\n      localeStr += `-nu-${numberingSystem}`;\n    }\n    return localeStr;\n  } else {\n    return localeStr;\n  }\n}\nfunction mapMonths(f) {\n  const ms = [];\n  for (let i = 1; i <= 12; i++) {\n    const dt = DateTime.utc(2009, i, 1);\n    ms.push(f(dt));\n  }\n  return ms;\n}\nfunction mapWeekdays(f) {\n  const ms = [];\n  for (let i = 1; i <= 7; i++) {\n    const dt = DateTime.utc(2016, 11, 13 + i);\n    ms.push(f(dt));\n  }\n  return ms;\n}\nfunction listStuff(loc, length, englishFn, intlFn) {\n  const mode = loc.listingMode();\n  if (mode === \"error\") {\n    return null;\n  } else if (mode === \"en\") {\n    return englishFn(length);\n  } else {\n    return intlFn(length);\n  }\n}\nfunction supportsFastNumbers(loc) {\n  if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n    return false;\n  } else {\n    return loc.numberingSystem === \"latn\" || !loc.locale || loc.locale.startsWith(\"en\") || new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\";\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n  constructor(intl, forceSimple, opts) {\n    this.padTo = opts.padTo || 0;\n    this.floor = opts.floor || false;\n    const {\n      padTo,\n      floor,\n      ...otherOpts\n    } = opts;\n    if (!forceSimple || Object.keys(otherOpts).length > 0) {\n      const intlOpts = {\n        useGrouping: false,\n        ...opts\n      };\n      if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n      this.inf = getCachedINF(intl, intlOpts);\n    }\n  }\n  format(i) {\n    if (this.inf) {\n      const fixed = this.floor ? Math.floor(i) : i;\n      return this.inf.format(fixed);\n    } else {\n      // to match the browser's numberformatter defaults\n      const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n      return padStart(fixed, this.padTo);\n    }\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n  constructor(dt, intl, opts) {\n    this.opts = opts;\n    this.originalZone = undefined;\n    let z = undefined;\n    if (this.opts.timeZone) {\n      // Don't apply any workarounds if a timeZone is explicitly provided in opts\n      this.dt = dt;\n    } else if (dt.zone.type === \"fixed\") {\n      // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n      // That is why fixed-offset TZ is set to that unless it is:\n      // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n      // 2. Unsupported by the browser:\n      //    - some do not support Etc/\n      //    - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n      const gmtOffset = -1 * (dt.offset / 60);\n      const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n      if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n        z = offsetZ;\n        this.dt = dt;\n      } else {\n        // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n        // we manually apply the offset and substitute the zone as needed.\n        z = \"UTC\";\n        this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({\n          minutes: dt.offset\n        });\n        this.originalZone = dt.zone;\n      }\n    } else if (dt.zone.type === \"system\") {\n      this.dt = dt;\n    } else if (dt.zone.type === \"iana\") {\n      this.dt = dt;\n      z = dt.zone.name;\n    } else {\n      // Custom zones can have any offset / offsetName so we just manually\n      // apply the offset and substitute the zone as needed.\n      z = \"UTC\";\n      this.dt = dt.setZone(\"UTC\").plus({\n        minutes: dt.offset\n      });\n      this.originalZone = dt.zone;\n    }\n    const intlOpts = {\n      ...this.opts\n    };\n    intlOpts.timeZone = intlOpts.timeZone || z;\n    this.dtf = getCachedDTF(intl, intlOpts);\n  }\n  format() {\n    if (this.originalZone) {\n      // If we have to substitute in the actual zone name, we have to use\n      // formatToParts so that the timezone can be replaced.\n      return this.formatToParts().map(({\n        value\n      }) => value).join(\"\");\n    }\n    return this.dtf.format(this.dt.toJSDate());\n  }\n  formatToParts() {\n    const parts = this.dtf.formatToParts(this.dt.toJSDate());\n    if (this.originalZone) {\n      return parts.map(part => {\n        if (part.type === \"timeZoneName\") {\n          const offsetName = this.originalZone.offsetName(this.dt.ts, {\n            locale: this.dt.locale,\n            format: this.opts.timeZoneName\n          });\n          return {\n            ...part,\n            value: offsetName\n          };\n        } else {\n          return part;\n        }\n      });\n    }\n    return parts;\n  }\n  resolvedOptions() {\n    return this.dtf.resolvedOptions();\n  }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n  constructor(intl, isEnglish, opts) {\n    this.opts = {\n      style: \"long\",\n      ...opts\n    };\n    if (!isEnglish && hasRelative()) {\n      this.rtf = getCachedRTF(intl, opts);\n    }\n  }\n  format(count, unit) {\n    if (this.rtf) {\n      return this.rtf.format(count, unit);\n    } else {\n      return formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n    }\n  }\n  formatToParts(count, unit) {\n    if (this.rtf) {\n      return this.rtf.formatToParts(count, unit);\n    } else {\n      return [];\n    }\n  }\n}\nconst fallbackWeekSettings = {\n  firstDay: 1,\n  minimalDays: 4,\n  weekend: [6, 7]\n};\n\n/**\n * @private\n */\n\nclass Locale {\n  static fromOpts(opts) {\n    return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.weekSettings, opts.defaultToEN);\n  }\n  static create(locale, numberingSystem, outputCalendar, weekSettings, defaultToEN = false) {\n    const specifiedLocale = locale || Settings.defaultLocale;\n    // the system locale is useful for human-readable strings but annoying for parsing/formatting known formats\n    const localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n    const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n    const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n    const weekSettingsR = validateWeekSettings(weekSettings) || Settings.defaultWeekSettings;\n    return new Locale(localeR, numberingSystemR, outputCalendarR, weekSettingsR, specifiedLocale);\n  }\n  static resetCache() {\n    sysLocaleCache = null;\n    intlDTCache = {};\n    intlNumCache = {};\n    intlRelCache = {};\n  }\n  static fromObject({\n    locale,\n    numberingSystem,\n    outputCalendar,\n    weekSettings\n  } = {}) {\n    return Locale.create(locale, numberingSystem, outputCalendar, weekSettings);\n  }\n  constructor(locale, numbering, outputCalendar, weekSettings, specifiedLocale) {\n    const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n    this.locale = parsedLocale;\n    this.numberingSystem = numbering || parsedNumberingSystem || null;\n    this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n    this.weekSettings = weekSettings;\n    this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n    this.weekdaysCache = {\n      format: {},\n      standalone: {}\n    };\n    this.monthsCache = {\n      format: {},\n      standalone: {}\n    };\n    this.meridiemCache = null;\n    this.eraCache = {};\n    this.specifiedLocale = specifiedLocale;\n    this.fastNumbersCached = null;\n  }\n  get fastNumbers() {\n    if (this.fastNumbersCached == null) {\n      this.fastNumbersCached = supportsFastNumbers(this);\n    }\n    return this.fastNumbersCached;\n  }\n  listingMode() {\n    const isActuallyEn = this.isEnglish();\n    const hasNoWeirdness = (this.numberingSystem === null || this.numberingSystem === \"latn\") && (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n    return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n  }\n  clone(alts) {\n    if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n      return this;\n    } else {\n      return Locale.create(alts.locale || this.specifiedLocale, alts.numberingSystem || this.numberingSystem, alts.outputCalendar || this.outputCalendar, validateWeekSettings(alts.weekSettings) || this.weekSettings, alts.defaultToEN || false);\n    }\n  }\n  redefaultToEN(alts = {}) {\n    return this.clone({\n      ...alts,\n      defaultToEN: true\n    });\n  }\n  redefaultToSystem(alts = {}) {\n    return this.clone({\n      ...alts,\n      defaultToEN: false\n    });\n  }\n  months(length, format = false) {\n    return listStuff(this, length, months, () => {\n      const intl = format ? {\n          month: length,\n          day: \"numeric\"\n        } : {\n          month: length\n        },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.monthsCache[formatStr][length]) {\n        this.monthsCache[formatStr][length] = mapMonths(dt => this.extract(dt, intl, \"month\"));\n      }\n      return this.monthsCache[formatStr][length];\n    });\n  }\n  weekdays(length, format = false) {\n    return listStuff(this, length, weekdays, () => {\n      const intl = format ? {\n          weekday: length,\n          year: \"numeric\",\n          month: \"long\",\n          day: \"numeric\"\n        } : {\n          weekday: length\n        },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.weekdaysCache[formatStr][length]) {\n        this.weekdaysCache[formatStr][length] = mapWeekdays(dt => this.extract(dt, intl, \"weekday\"));\n      }\n      return this.weekdaysCache[formatStr][length];\n    });\n  }\n  meridiems() {\n    return listStuff(this, undefined, () => meridiems, () => {\n      // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n      // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n      if (!this.meridiemCache) {\n        const intl = {\n          hour: \"numeric\",\n          hourCycle: \"h12\"\n        };\n        this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(dt => this.extract(dt, intl, \"dayperiod\"));\n      }\n      return this.meridiemCache;\n    });\n  }\n  eras(length) {\n    return listStuff(this, length, eras, () => {\n      const intl = {\n        era: length\n      };\n\n      // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n      // to definitely enumerate them.\n      if (!this.eraCache[length]) {\n        this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map(dt => this.extract(dt, intl, \"era\"));\n      }\n      return this.eraCache[length];\n    });\n  }\n  extract(dt, intlOpts, field) {\n    const df = this.dtFormatter(dt, intlOpts),\n      results = df.formatToParts(),\n      matching = results.find(m => m.type.toLowerCase() === field);\n    return matching ? matching.value : null;\n  }\n  numberFormatter(opts = {}) {\n    // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n    // (in contrast, the rest of the condition is used heavily)\n    return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n  }\n  dtFormatter(dt, intlOpts = {}) {\n    return new PolyDateFormatter(dt, this.intl, intlOpts);\n  }\n  relFormatter(opts = {}) {\n    return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n  }\n  listFormatter(opts = {}) {\n    return getCachedLF(this.intl, opts);\n  }\n  isEnglish() {\n    return this.locale === \"en\" || this.locale.toLowerCase() === \"en-us\" || new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\");\n  }\n  getWeekSettings() {\n    if (this.weekSettings) {\n      return this.weekSettings;\n    } else if (!hasLocaleWeekInfo()) {\n      return fallbackWeekSettings;\n    } else {\n      return getCachedWeekInfo(this.locale);\n    }\n  }\n  getStartOfWeek() {\n    return this.getWeekSettings().firstDay;\n  }\n  getMinDaysInFirstWeek() {\n    return this.getWeekSettings().minimalDays;\n  }\n  getWeekendDays() {\n    return this.getWeekSettings().weekend;\n  }\n  equals(other) {\n    return this.locale === other.locale && this.numberingSystem === other.numberingSystem && this.outputCalendar === other.outputCalendar;\n  }\n  toString() {\n    return `Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`;\n  }\n}\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nclass FixedOffsetZone extends Zone {\n  /**\n   * Get a singleton instance of UTC\n   * @return {FixedOffsetZone}\n   */\n  static get utcInstance() {\n    if (singleton === null) {\n      singleton = new FixedOffsetZone(0);\n    }\n    return singleton;\n  }\n\n  /**\n   * Get an instance with a specified offset\n   * @param {number} offset - The offset in minutes\n   * @return {FixedOffsetZone}\n   */\n  static instance(offset) {\n    return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n  }\n\n  /**\n   * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n   * @param {string} s - The offset string to parse\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n   * @return {FixedOffsetZone}\n   */\n  static parseSpecifier(s) {\n    if (s) {\n      const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n      if (r) {\n        return new FixedOffsetZone(signedOffset(r[1], r[2]));\n      }\n    }\n    return null;\n  }\n  constructor(offset) {\n    super();\n    /** @private **/\n    this.fixed = offset;\n  }\n\n  /**\n   * The type of zone. `fixed` for all instances of `FixedOffsetZone`.\n   * @override\n   * @type {string}\n   */\n  get type() {\n    return \"fixed\";\n  }\n\n  /**\n   * The name of this zone.\n   * All fixed zones' names always start with \"UTC\" (plus optional offset)\n   * @override\n   * @type {string}\n   */\n  get name() {\n    return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n  }\n\n  /**\n   * The IANA name of this zone, i.e. `Etc/UTC` or `Etc/GMT+/-nn`\n   *\n   * @override\n   * @type {string}\n   */\n  get ianaName() {\n    if (this.fixed === 0) {\n      return \"Etc/UTC\";\n    } else {\n      return `Etc/GMT${formatOffset(-this.fixed, \"narrow\")}`;\n    }\n  }\n\n  /**\n   * Returns the offset's common name at the specified timestamp.\n   *\n   * For fixed offset zones this equals to the zone name.\n   * @override\n   */\n  offsetName() {\n    return this.name;\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @override\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    return formatOffset(this.fixed, format);\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year:\n   * Always returns true for all fixed offset zones.\n   * @override\n   * @type {boolean}\n   */\n  get isUniversal() {\n    return true;\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   *\n   * For fixed offset zones, this is constant and does not depend on a timestamp.\n   * @override\n   * @return {number}\n   */\n  offset() {\n    return this.fixed;\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone (i.e. also fixed and same offset)\n   * @override\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n  }\n\n  /**\n   * Return whether this Zone is valid:\n   * All fixed offset zones are valid.\n   * @override\n   * @type {boolean}\n   */\n  get isValid() {\n    return true;\n  }\n}\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nclass InvalidZone extends Zone {\n  constructor(zoneName) {\n    super();\n    /**  @private */\n    this.zoneName = zoneName;\n  }\n\n  /** @override **/\n  get type() {\n    return \"invalid\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.zoneName;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName() {\n    return null;\n  }\n\n  /** @override **/\n  formatOffset() {\n    return \"\";\n  }\n\n  /** @override **/\n  offset() {\n    return NaN;\n  }\n\n  /** @override **/\n  equals() {\n    return false;\n  }\n\n  /** @override **/\n  get isValid() {\n    return false;\n  }\n}\n\n/**\n * @private\n */\nfunction normalizeZone(input, defaultZone) {\n  if (isUndefined(input) || input === null) {\n    return defaultZone;\n  } else if (input instanceof Zone) {\n    return input;\n  } else if (isString(input)) {\n    const lowered = input.toLowerCase();\n    if (lowered === \"default\") return defaultZone;else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n  } else if (isNumber(input)) {\n    return FixedOffsetZone.instance(input);\n  } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n    // This is dumb, but the instanceof check above doesn't seem to really work\n    // so we're duck checking it\n    return input;\n  } else {\n    return new InvalidZone(input);\n  }\n}\n\nconst numberingSystems = {\n  arab: \"[\\u0660-\\u0669]\",\n  arabext: \"[\\u06F0-\\u06F9]\",\n  bali: \"[\\u1B50-\\u1B59]\",\n  beng: \"[\\u09E6-\\u09EF]\",\n  deva: \"[\\u0966-\\u096F]\",\n  fullwide: \"[\\uFF10-\\uFF19]\",\n  gujr: \"[\\u0AE6-\\u0AEF]\",\n  hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n  khmr: \"[\\u17E0-\\u17E9]\",\n  knda: \"[\\u0CE6-\\u0CEF]\",\n  laoo: \"[\\u0ED0-\\u0ED9]\",\n  limb: \"[\\u1946-\\u194F]\",\n  mlym: \"[\\u0D66-\\u0D6F]\",\n  mong: \"[\\u1810-\\u1819]\",\n  mymr: \"[\\u1040-\\u1049]\",\n  orya: \"[\\u0B66-\\u0B6F]\",\n  tamldec: \"[\\u0BE6-\\u0BEF]\",\n  telu: \"[\\u0C66-\\u0C6F]\",\n  thai: \"[\\u0E50-\\u0E59]\",\n  tibt: \"[\\u0F20-\\u0F29]\",\n  latn: \"\\\\d\"\n};\nconst numberingSystemsUTF16 = {\n  arab: [1632, 1641],\n  arabext: [1776, 1785],\n  bali: [6992, 7001],\n  beng: [2534, 2543],\n  deva: [2406, 2415],\n  fullwide: [65296, 65303],\n  gujr: [2790, 2799],\n  khmr: [6112, 6121],\n  knda: [3302, 3311],\n  laoo: [3792, 3801],\n  limb: [6470, 6479],\n  mlym: [3430, 3439],\n  mong: [6160, 6169],\n  mymr: [4160, 4169],\n  orya: [2918, 2927],\n  tamldec: [3046, 3055],\n  telu: [3174, 3183],\n  thai: [3664, 3673],\n  tibt: [3872, 3881]\n};\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\nfunction parseDigits(str) {\n  let value = parseInt(str, 10);\n  if (isNaN(value)) {\n    value = \"\";\n    for (let i = 0; i < str.length; i++) {\n      const code = str.charCodeAt(i);\n      if (str[i].search(numberingSystems.hanidec) !== -1) {\n        value += hanidecChars.indexOf(str[i]);\n      } else {\n        for (const key in numberingSystemsUTF16) {\n          const [min, max] = numberingSystemsUTF16[key];\n          if (code >= min && code <= max) {\n            value += code - min;\n          }\n        }\n      }\n    }\n    return parseInt(value, 10);\n  } else {\n    return value;\n  }\n}\n\n// cache of {numberingSystem: {append: regex}}\nlet digitRegexCache = {};\nfunction resetDigitRegexCache() {\n  digitRegexCache = {};\n}\nfunction digitRegex({\n  numberingSystem\n}, append = \"\") {\n  const ns = numberingSystem || \"latn\";\n  if (!digitRegexCache[ns]) {\n    digitRegexCache[ns] = {};\n  }\n  if (!digitRegexCache[ns][append]) {\n    digitRegexCache[ns][append] = new RegExp(`${numberingSystems[ns]}${append}`);\n  }\n  return digitRegexCache[ns][append];\n}\n\nlet now = () => Date.now(),\n  defaultZone = \"system\",\n  defaultLocale = null,\n  defaultNumberingSystem = null,\n  defaultOutputCalendar = null,\n  twoDigitCutoffYear = 60,\n  throwOnInvalid,\n  defaultWeekSettings = null;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nclass Settings {\n  /**\n   * Get the callback for returning the current timestamp.\n   * @type {function}\n   */\n  static get now() {\n    return now;\n  }\n\n  /**\n   * Set the callback for returning the current timestamp.\n   * The function should return a number, which will be interpreted as an Epoch millisecond count\n   * @type {function}\n   * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n   * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n   */\n  static set now(n) {\n    now = n;\n  }\n\n  /**\n   * Set the default time zone to create DateTimes in. Does not affect existing instances.\n   * Use the value \"system\" to reset this value to the system's time zone.\n   * @type {string}\n   */\n  static set defaultZone(zone) {\n    defaultZone = zone;\n  }\n\n  /**\n   * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n   * The default value is the system's time zone (the one set on the machine that runs this code).\n   * @type {Zone}\n   */\n  static get defaultZone() {\n    return normalizeZone(defaultZone, SystemZone.instance);\n  }\n\n  /**\n   * Get the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultLocale() {\n    return defaultLocale;\n  }\n\n  /**\n   * Set the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultLocale(locale) {\n    defaultLocale = locale;\n  }\n\n  /**\n   * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultNumberingSystem() {\n    return defaultNumberingSystem;\n  }\n\n  /**\n   * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultNumberingSystem(numberingSystem) {\n    defaultNumberingSystem = numberingSystem;\n  }\n\n  /**\n   * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultOutputCalendar() {\n    return defaultOutputCalendar;\n  }\n\n  /**\n   * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultOutputCalendar(outputCalendar) {\n    defaultOutputCalendar = outputCalendar;\n  }\n\n  /**\n   * @typedef {Object} WeekSettings\n   * @property {number} firstDay\n   * @property {number} minimalDays\n   * @property {number[]} weekend\n   */\n\n  /**\n   * @return {WeekSettings|null}\n   */\n  static get defaultWeekSettings() {\n    return defaultWeekSettings;\n  }\n\n  /**\n   * Allows overriding the default locale week settings, i.e. the start of the week, the weekend and\n   * how many days are required in the first week of a year.\n   * Does not affect existing instances.\n   *\n   * @param {WeekSettings|null} weekSettings\n   */\n  static set defaultWeekSettings(weekSettings) {\n    defaultWeekSettings = validateWeekSettings(weekSettings);\n  }\n\n  /**\n   * Get the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n   * @type {number}\n   */\n  static get twoDigitCutoffYear() {\n    return twoDigitCutoffYear;\n  }\n\n  /**\n   * Set the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n   * @type {number}\n   * @example Settings.twoDigitCutoffYear = 0 // all 'yy' are interpreted as 20th century\n   * @example Settings.twoDigitCutoffYear = 99 // all 'yy' are interpreted as 21st century\n   * @example Settings.twoDigitCutoffYear = 50 // '49' -> 2049; '50' -> 1950\n   * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n   * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n   */\n  static set twoDigitCutoffYear(cutoffYear) {\n    twoDigitCutoffYear = cutoffYear % 100;\n  }\n\n  /**\n   * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static get throwOnInvalid() {\n    return throwOnInvalid;\n  }\n\n  /**\n   * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static set throwOnInvalid(t) {\n    throwOnInvalid = t;\n  }\n\n  /**\n   * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCaches() {\n    Locale.resetCache();\n    IANAZone.resetCache();\n    DateTime.resetCache();\n    resetDigitRegexCache();\n  }\n}\n\nclass Invalid {\n  constructor(reason, explanation) {\n    this.reason = reason;\n    this.explanation = explanation;\n  }\n  toMessage() {\n    if (this.explanation) {\n      return `${this.reason}: ${this.explanation}`;\n    } else {\n      return this.reason;\n    }\n  }\n}\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n  leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\nfunction unitOutOfRange(unit, value) {\n  return new Invalid(\"unit out of range\", `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`);\n}\nfunction dayOfWeek(year, month, day) {\n  const d = new Date(Date.UTC(year, month - 1, day));\n  if (year < 100 && year >= 0) {\n    d.setUTCFullYear(d.getUTCFullYear() - 1900);\n  }\n  const js = d.getUTCDay();\n  return js === 0 ? 7 : js;\n}\nfunction computeOrdinal(year, month, day) {\n  return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\nfunction uncomputeOrdinal(year, ordinal) {\n  const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n    month0 = table.findIndex(i => i < ordinal),\n    day = ordinal - table[month0];\n  return {\n    month: month0 + 1,\n    day\n  };\n}\nfunction isoWeekdayToLocal(isoWeekday, startOfWeek) {\n  return (isoWeekday - startOfWeek + 7) % 7 + 1;\n}\n\n/**\n * @private\n */\n\nfunction gregorianToWeek(gregObj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n  const {\n      year,\n      month,\n      day\n    } = gregObj,\n    ordinal = computeOrdinal(year, month, day),\n    weekday = isoWeekdayToLocal(dayOfWeek(year, month, day), startOfWeek);\n  let weekNumber = Math.floor((ordinal - weekday + 14 - minDaysInFirstWeek) / 7),\n    weekYear;\n  if (weekNumber < 1) {\n    weekYear = year - 1;\n    weekNumber = weeksInWeekYear(weekYear, minDaysInFirstWeek, startOfWeek);\n  } else if (weekNumber > weeksInWeekYear(year, minDaysInFirstWeek, startOfWeek)) {\n    weekYear = year + 1;\n    weekNumber = 1;\n  } else {\n    weekYear = year;\n  }\n  return {\n    weekYear,\n    weekNumber,\n    weekday,\n    ...timeObject(gregObj)\n  };\n}\nfunction weekToGregorian(weekData, minDaysInFirstWeek = 4, startOfWeek = 1) {\n  const {\n      weekYear,\n      weekNumber,\n      weekday\n    } = weekData,\n    weekdayOfJan4 = isoWeekdayToLocal(dayOfWeek(weekYear, 1, minDaysInFirstWeek), startOfWeek),\n    yearInDays = daysInYear(weekYear);\n  let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 7 + minDaysInFirstWeek,\n    year;\n  if (ordinal < 1) {\n    year = weekYear - 1;\n    ordinal += daysInYear(year);\n  } else if (ordinal > yearInDays) {\n    year = weekYear + 1;\n    ordinal -= daysInYear(weekYear);\n  } else {\n    year = weekYear;\n  }\n  const {\n    month,\n    day\n  } = uncomputeOrdinal(year, ordinal);\n  return {\n    year,\n    month,\n    day,\n    ...timeObject(weekData)\n  };\n}\nfunction gregorianToOrdinal(gregData) {\n  const {\n    year,\n    month,\n    day\n  } = gregData;\n  const ordinal = computeOrdinal(year, month, day);\n  return {\n    year,\n    ordinal,\n    ...timeObject(gregData)\n  };\n}\nfunction ordinalToGregorian(ordinalData) {\n  const {\n    year,\n    ordinal\n  } = ordinalData;\n  const {\n    month,\n    day\n  } = uncomputeOrdinal(year, ordinal);\n  return {\n    year,\n    month,\n    day,\n    ...timeObject(ordinalData)\n  };\n}\n\n/**\n * Check if local week units like localWeekday are used in obj.\n * If so, validates that they are not mixed with ISO week units and then copies them to the normal week unit properties.\n * Modifies obj in-place!\n * @param obj the object values\n */\nfunction usesLocalWeekValues(obj, loc) {\n  const hasLocaleWeekData = !isUndefined(obj.localWeekday) || !isUndefined(obj.localWeekNumber) || !isUndefined(obj.localWeekYear);\n  if (hasLocaleWeekData) {\n    const hasIsoWeekData = !isUndefined(obj.weekday) || !isUndefined(obj.weekNumber) || !isUndefined(obj.weekYear);\n    if (hasIsoWeekData) {\n      throw new ConflictingSpecificationError(\"Cannot mix locale-based week fields with ISO-based week fields\");\n    }\n    if (!isUndefined(obj.localWeekday)) obj.weekday = obj.localWeekday;\n    if (!isUndefined(obj.localWeekNumber)) obj.weekNumber = obj.localWeekNumber;\n    if (!isUndefined(obj.localWeekYear)) obj.weekYear = obj.localWeekYear;\n    delete obj.localWeekday;\n    delete obj.localWeekNumber;\n    delete obj.localWeekYear;\n    return {\n      minDaysInFirstWeek: loc.getMinDaysInFirstWeek(),\n      startOfWeek: loc.getStartOfWeek()\n    };\n  } else {\n    return {\n      minDaysInFirstWeek: 4,\n      startOfWeek: 1\n    };\n  }\n}\nfunction hasInvalidWeekData(obj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n  const validYear = isInteger(obj.weekYear),\n    validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear, minDaysInFirstWeek, startOfWeek)),\n    validWeekday = integerBetween(obj.weekday, 1, 7);\n  if (!validYear) {\n    return unitOutOfRange(\"weekYear\", obj.weekYear);\n  } else if (!validWeek) {\n    return unitOutOfRange(\"week\", obj.weekNumber);\n  } else if (!validWeekday) {\n    return unitOutOfRange(\"weekday\", obj.weekday);\n  } else return false;\n}\nfunction hasInvalidOrdinalData(obj) {\n  const validYear = isInteger(obj.year),\n    validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validOrdinal) {\n    return unitOutOfRange(\"ordinal\", obj.ordinal);\n  } else return false;\n}\nfunction hasInvalidGregorianData(obj) {\n  const validYear = isInteger(obj.year),\n    validMonth = integerBetween(obj.month, 1, 12),\n    validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validMonth) {\n    return unitOutOfRange(\"month\", obj.month);\n  } else if (!validDay) {\n    return unitOutOfRange(\"day\", obj.day);\n  } else return false;\n}\nfunction hasInvalidTimeData(obj) {\n  const {\n    hour,\n    minute,\n    second,\n    millisecond\n  } = obj;\n  const validHour = integerBetween(hour, 0, 23) || hour === 24 && minute === 0 && second === 0 && millisecond === 0,\n    validMinute = integerBetween(minute, 0, 59),\n    validSecond = integerBetween(second, 0, 59),\n    validMillisecond = integerBetween(millisecond, 0, 999);\n  if (!validHour) {\n    return unitOutOfRange(\"hour\", hour);\n  } else if (!validMinute) {\n    return unitOutOfRange(\"minute\", minute);\n  } else if (!validSecond) {\n    return unitOutOfRange(\"second\", second);\n  } else if (!validMillisecond) {\n    return unitOutOfRange(\"millisecond\", millisecond);\n  } else return false;\n}\n\n/*\n  This is just a junk drawer, containing anything used across multiple classes.\n  Because Luxon is small(ish), this should stay small and we won't worry about splitting\n  it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\n/**\n * @private\n */\n\n// TYPES\n\nfunction isUndefined(o) {\n  return typeof o === \"undefined\";\n}\nfunction isNumber(o) {\n  return typeof o === \"number\";\n}\nfunction isInteger(o) {\n  return typeof o === \"number\" && o % 1 === 0;\n}\nfunction isString(o) {\n  return typeof o === \"string\";\n}\nfunction isDate(o) {\n  return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nfunction hasRelative() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n  } catch (e) {\n    return false;\n  }\n}\nfunction hasLocaleWeekInfo() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.Locale && (\"weekInfo\" in Intl.Locale.prototype || \"getWeekInfo\" in Intl.Locale.prototype);\n  } catch (e) {\n    return false;\n  }\n}\n\n// OBJECTS AND ARRAYS\n\nfunction maybeArray(thing) {\n  return Array.isArray(thing) ? thing : [thing];\n}\nfunction bestBy(arr, by, compare) {\n  if (arr.length === 0) {\n    return undefined;\n  }\n  return arr.reduce((best, next) => {\n    const pair = [by(next), next];\n    if (!best) {\n      return pair;\n    } else if (compare(best[0], pair[0]) === best[0]) {\n      return best;\n    } else {\n      return pair;\n    }\n  }, null)[1];\n}\nfunction pick(obj, keys) {\n  return keys.reduce((a, k) => {\n    a[k] = obj[k];\n    return a;\n  }, {});\n}\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\nfunction validateWeekSettings(settings) {\n  if (settings == null) {\n    return null;\n  } else if (typeof settings !== \"object\") {\n    throw new InvalidArgumentError(\"Week settings must be an object\");\n  } else {\n    if (!integerBetween(settings.firstDay, 1, 7) || !integerBetween(settings.minimalDays, 1, 7) || !Array.isArray(settings.weekend) || settings.weekend.some(v => !integerBetween(v, 1, 7))) {\n      throw new InvalidArgumentError(\"Invalid week settings\");\n    }\n    return {\n      firstDay: settings.firstDay,\n      minimalDays: settings.minimalDays,\n      weekend: Array.from(settings.weekend)\n    };\n  }\n}\n\n// NUMBERS AND STRINGS\n\nfunction integerBetween(thing, bottom, top) {\n  return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nfunction floorMod(x, n) {\n  return x - n * Math.floor(x / n);\n}\nfunction padStart(input, n = 2) {\n  const isNeg = input < 0;\n  let padded;\n  if (isNeg) {\n    padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n  } else {\n    padded = (\"\" + input).padStart(n, \"0\");\n  }\n  return padded;\n}\nfunction parseInteger(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseInt(string, 10);\n  }\n}\nfunction parseFloating(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseFloat(string);\n  }\n}\nfunction parseMillis(fraction) {\n  // Return undefined (instead of 0) in these cases, where fraction is not set\n  if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n    return undefined;\n  } else {\n    const f = parseFloat(\"0.\" + fraction) * 1000;\n    return Math.floor(f);\n  }\n}\nfunction roundTo(number, digits, towardZero = false) {\n  const factor = 10 ** digits,\n    rounder = towardZero ? Math.trunc : Math.round;\n  return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nfunction isLeapYear(year) {\n  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\nfunction daysInYear(year) {\n  return isLeapYear(year) ? 366 : 365;\n}\nfunction daysInMonth(year, month) {\n  const modMonth = floorMod(month - 1, 12) + 1,\n    modYear = year + (month - modMonth) / 12;\n  if (modMonth === 2) {\n    return isLeapYear(modYear) ? 29 : 28;\n  } else {\n    return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n  }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nfunction objToLocalTS(obj) {\n  let d = Date.UTC(obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, obj.millisecond);\n\n  // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n  if (obj.year < 100 && obj.year >= 0) {\n    d = new Date(d);\n    // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n    // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n    // the calculations done by Date.UTC are using year 2000 - which is incorrect\n    d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n  }\n  return +d;\n}\n\n// adapted from moment.js: https://github.com/moment/moment/blob/000ac1800e620f770f4eb31b5ae908f6167b0ab2/src/lib/units/week-calendar-utils.js\nfunction firstWeekOffset(year, minDaysInFirstWeek, startOfWeek) {\n  const fwdlw = isoWeekdayToLocal(dayOfWeek(year, 1, minDaysInFirstWeek), startOfWeek);\n  return -fwdlw + minDaysInFirstWeek - 1;\n}\nfunction weeksInWeekYear(weekYear, minDaysInFirstWeek = 4, startOfWeek = 1) {\n  const weekOffset = firstWeekOffset(weekYear, minDaysInFirstWeek, startOfWeek);\n  const weekOffsetNext = firstWeekOffset(weekYear + 1, minDaysInFirstWeek, startOfWeek);\n  return (daysInYear(weekYear) - weekOffset + weekOffsetNext) / 7;\n}\nfunction untruncateYear(year) {\n  if (year > 99) {\n    return year;\n  } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nfunction parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n  const date = new Date(ts),\n    intlOpts = {\n      hourCycle: \"h23\",\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\"\n    };\n  if (timeZone) {\n    intlOpts.timeZone = timeZone;\n  }\n  const modified = {\n    timeZoneName: offsetFormat,\n    ...intlOpts\n  };\n  const parsed = new Intl.DateTimeFormat(locale, modified).formatToParts(date).find(m => m.type.toLowerCase() === \"timezonename\");\n  return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nfunction signedOffset(offHourStr, offMinuteStr) {\n  let offHour = parseInt(offHourStr, 10);\n\n  // don't || this because we want to preserve -0\n  if (Number.isNaN(offHour)) {\n    offHour = 0;\n  }\n  const offMin = parseInt(offMinuteStr, 10) || 0,\n    offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n  return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nfunction asNumber(value) {\n  const numericValue = Number(value);\n  if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue)) throw new InvalidArgumentError(`Invalid unit value ${value}`);\n  return numericValue;\n}\nfunction normalizeObject(obj, normalizer) {\n  const normalized = {};\n  for (const u in obj) {\n    if (hasOwnProperty(obj, u)) {\n      const v = obj[u];\n      if (v === undefined || v === null) continue;\n      normalized[normalizer(u)] = asNumber(v);\n    }\n  }\n  return normalized;\n}\n\n/**\n * Returns the offset's value as a string\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\nfunction formatOffset(offset, format) {\n  const hours = Math.trunc(Math.abs(offset / 60)),\n    minutes = Math.trunc(Math.abs(offset % 60)),\n    sign = offset >= 0 ? \"+\" : \"-\";\n  switch (format) {\n    case \"short\":\n      return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n    case \"narrow\":\n      return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n    case \"techie\":\n      return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n    default:\n      throw new RangeError(`Value format ${format} is out of range for property format`);\n  }\n}\nfunction timeObject(obj) {\n  return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n\n/**\n * @private\n */\n\nconst monthsLong = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\nconst monthsShort = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nconst monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\nfunction months(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...monthsNarrow];\n    case \"short\":\n      return [...monthsShort];\n    case \"long\":\n      return [...monthsLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n    case \"2-digit\":\n      return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n    default:\n      return null;\n  }\n}\nconst weekdaysLong = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\nconst weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\nconst weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\nfunction weekdays(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...weekdaysNarrow];\n    case \"short\":\n      return [...weekdaysShort];\n    case \"long\":\n      return [...weekdaysLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n    default:\n      return null;\n  }\n}\nconst meridiems = [\"AM\", \"PM\"];\nconst erasLong = [\"Before Christ\", \"Anno Domini\"];\nconst erasShort = [\"BC\", \"AD\"];\nconst erasNarrow = [\"B\", \"A\"];\nfunction eras(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...erasNarrow];\n    case \"short\":\n      return [...erasShort];\n    case \"long\":\n      return [...erasLong];\n    default:\n      return null;\n  }\n}\nfunction meridiemForDateTime(dt) {\n  return meridiems[dt.hour < 12 ? 0 : 1];\n}\nfunction weekdayForDateTime(dt, length) {\n  return weekdays(length)[dt.weekday - 1];\n}\nfunction monthForDateTime(dt, length) {\n  return months(length)[dt.month - 1];\n}\nfunction eraForDateTime(dt, length) {\n  return eras(length)[dt.year < 0 ? 0 : 1];\n}\nfunction formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n  const units = {\n    years: [\"year\", \"yr.\"],\n    quarters: [\"quarter\", \"qtr.\"],\n    months: [\"month\", \"mo.\"],\n    weeks: [\"week\", \"wk.\"],\n    days: [\"day\", \"day\", \"days\"],\n    hours: [\"hour\", \"hr.\"],\n    minutes: [\"minute\", \"min.\"],\n    seconds: [\"second\", \"sec.\"]\n  };\n  const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n  if (numeric === \"auto\" && lastable) {\n    const isDay = unit === \"days\";\n    switch (count) {\n      case 1:\n        return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n      case -1:\n        return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n      case 0:\n        return isDay ? \"today\" : `this ${units[unit][0]}`;\n    }\n  }\n\n  const isInPast = Object.is(count, -0) || count < 0,\n    fmtValue = Math.abs(count),\n    singular = fmtValue === 1,\n    lilUnits = units[unit],\n    fmtUnit = narrow ? singular ? lilUnits[1] : lilUnits[2] || lilUnits[1] : singular ? units[unit][0] : unit;\n  return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nfunction stringifyTokens(splits, tokenToString) {\n  let s = \"\";\n  for (const token of splits) {\n    if (token.literal) {\n      s += token.val;\n    } else {\n      s += tokenToString(token.val);\n    }\n  }\n  return s;\n}\nconst macroTokenToFormatOpts = {\n  D: DATE_SHORT,\n  DD: DATE_MED,\n  DDD: DATE_FULL,\n  DDDD: DATE_HUGE,\n  t: TIME_SIMPLE,\n  tt: TIME_WITH_SECONDS,\n  ttt: TIME_WITH_SHORT_OFFSET,\n  tttt: TIME_WITH_LONG_OFFSET,\n  T: TIME_24_SIMPLE,\n  TT: TIME_24_WITH_SECONDS,\n  TTT: TIME_24_WITH_SHORT_OFFSET,\n  TTTT: TIME_24_WITH_LONG_OFFSET,\n  f: DATETIME_SHORT,\n  ff: DATETIME_MED,\n  fff: DATETIME_FULL,\n  ffff: DATETIME_HUGE,\n  F: DATETIME_SHORT_WITH_SECONDS,\n  FF: DATETIME_MED_WITH_SECONDS,\n  FFF: DATETIME_FULL_WITH_SECONDS,\n  FFFF: DATETIME_HUGE_WITH_SECONDS\n};\n\n/**\n * @private\n */\n\nclass Formatter {\n  static create(locale, opts = {}) {\n    return new Formatter(locale, opts);\n  }\n  static parseFormat(fmt) {\n    // white-space is always considered a literal in user-provided formats\n    // the \" \" token has a special meaning (see unitForToken)\n\n    let current = null,\n      currentFull = \"\",\n      bracketed = false;\n    const splits = [];\n    for (let i = 0; i < fmt.length; i++) {\n      const c = fmt.charAt(i);\n      if (c === \"'\") {\n        if (currentFull.length > 0) {\n          splits.push({\n            literal: bracketed || /^\\s+$/.test(currentFull),\n            val: currentFull\n          });\n        }\n        current = null;\n        currentFull = \"\";\n        bracketed = !bracketed;\n      } else if (bracketed) {\n        currentFull += c;\n      } else if (c === current) {\n        currentFull += c;\n      } else {\n        if (currentFull.length > 0) {\n          splits.push({\n            literal: /^\\s+$/.test(currentFull),\n            val: currentFull\n          });\n        }\n        currentFull = c;\n        current = c;\n      }\n    }\n    if (currentFull.length > 0) {\n      splits.push({\n        literal: bracketed || /^\\s+$/.test(currentFull),\n        val: currentFull\n      });\n    }\n    return splits;\n  }\n  static macroTokenToFormatOpts(token) {\n    return macroTokenToFormatOpts[token];\n  }\n  constructor(locale, formatOpts) {\n    this.opts = formatOpts;\n    this.loc = locale;\n    this.systemLoc = null;\n  }\n  formatWithSystemDefault(dt, opts) {\n    if (this.systemLoc === null) {\n      this.systemLoc = this.loc.redefaultToSystem();\n    }\n    const df = this.systemLoc.dtFormatter(dt, {\n      ...this.opts,\n      ...opts\n    });\n    return df.format();\n  }\n  dtFormatter(dt, opts = {}) {\n    return this.loc.dtFormatter(dt, {\n      ...this.opts,\n      ...opts\n    });\n  }\n  formatDateTime(dt, opts) {\n    return this.dtFormatter(dt, opts).format();\n  }\n  formatDateTimeParts(dt, opts) {\n    return this.dtFormatter(dt, opts).formatToParts();\n  }\n  formatInterval(interval, opts) {\n    const df = this.dtFormatter(interval.start, opts);\n    return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n  }\n  resolvedOptions(dt, opts) {\n    return this.dtFormatter(dt, opts).resolvedOptions();\n  }\n  num(n, p = 0) {\n    // we get some perf out of doing this here, annoyingly\n    if (this.opts.forceSimple) {\n      return padStart(n, p);\n    }\n    const opts = {\n      ...this.opts\n    };\n    if (p > 0) {\n      opts.padTo = p;\n    }\n    return this.loc.numberFormatter(opts).format(n);\n  }\n  formatDateTimeFromString(dt, fmt) {\n    const knownEnglish = this.loc.listingMode() === \"en\",\n      useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n      string = (opts, extract) => this.loc.extract(dt, opts, extract),\n      formatOffset = opts => {\n        if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n          return \"Z\";\n        }\n        return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n      },\n      meridiem = () => knownEnglish ? meridiemForDateTime(dt) : string({\n        hour: \"numeric\",\n        hourCycle: \"h12\"\n      }, \"dayperiod\"),\n      month = (length, standalone) => knownEnglish ? monthForDateTime(dt, length) : string(standalone ? {\n        month: length\n      } : {\n        month: length,\n        day: \"numeric\"\n      }, \"month\"),\n      weekday = (length, standalone) => knownEnglish ? weekdayForDateTime(dt, length) : string(standalone ? {\n        weekday: length\n      } : {\n        weekday: length,\n        month: \"long\",\n        day: \"numeric\"\n      }, \"weekday\"),\n      maybeMacro = token => {\n        const formatOpts = Formatter.macroTokenToFormatOpts(token);\n        if (formatOpts) {\n          return this.formatWithSystemDefault(dt, formatOpts);\n        } else {\n          return token;\n        }\n      },\n      era = length => knownEnglish ? eraForDateTime(dt, length) : string({\n        era: length\n      }, \"era\"),\n      tokenToString = token => {\n        // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n        switch (token) {\n          // ms\n          case \"S\":\n            return this.num(dt.millisecond);\n          case \"u\":\n          // falls through\n          case \"SSS\":\n            return this.num(dt.millisecond, 3);\n          // seconds\n          case \"s\":\n            return this.num(dt.second);\n          case \"ss\":\n            return this.num(dt.second, 2);\n          // fractional seconds\n          case \"uu\":\n            return this.num(Math.floor(dt.millisecond / 10), 2);\n          case \"uuu\":\n            return this.num(Math.floor(dt.millisecond / 100));\n          // minutes\n          case \"m\":\n            return this.num(dt.minute);\n          case \"mm\":\n            return this.num(dt.minute, 2);\n          // hours\n          case \"h\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n          case \"hh\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n          case \"H\":\n            return this.num(dt.hour);\n          case \"HH\":\n            return this.num(dt.hour, 2);\n          // offset\n          case \"Z\":\n            // like +6\n            return formatOffset({\n              format: \"narrow\",\n              allowZ: this.opts.allowZ\n            });\n          case \"ZZ\":\n            // like +06:00\n            return formatOffset({\n              format: \"short\",\n              allowZ: this.opts.allowZ\n            });\n          case \"ZZZ\":\n            // like +0600\n            return formatOffset({\n              format: \"techie\",\n              allowZ: this.opts.allowZ\n            });\n          case \"ZZZZ\":\n            // like EST\n            return dt.zone.offsetName(dt.ts, {\n              format: \"short\",\n              locale: this.loc.locale\n            });\n          case \"ZZZZZ\":\n            // like Eastern Standard Time\n            return dt.zone.offsetName(dt.ts, {\n              format: \"long\",\n              locale: this.loc.locale\n            });\n          // zone\n          case \"z\":\n            // like America/New_York\n            return dt.zoneName;\n          // meridiems\n          case \"a\":\n            return meridiem();\n          // dates\n          case \"d\":\n            return useDateTimeFormatter ? string({\n              day: \"numeric\"\n            }, \"day\") : this.num(dt.day);\n          case \"dd\":\n            return useDateTimeFormatter ? string({\n              day: \"2-digit\"\n            }, \"day\") : this.num(dt.day, 2);\n          // weekdays - standalone\n          case \"c\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"ccc\":\n            // like 'Tues'\n            return weekday(\"short\", true);\n          case \"cccc\":\n            // like 'Tuesday'\n            return weekday(\"long\", true);\n          case \"ccccc\":\n            // like 'T'\n            return weekday(\"narrow\", true);\n          // weekdays - format\n          case \"E\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"EEE\":\n            // like 'Tues'\n            return weekday(\"short\", false);\n          case \"EEEE\":\n            // like 'Tuesday'\n            return weekday(\"long\", false);\n          case \"EEEEE\":\n            // like 'T'\n            return weekday(\"narrow\", false);\n          // months - standalone\n          case \"L\":\n            // like 1\n            return useDateTimeFormatter ? string({\n              month: \"numeric\",\n              day: \"numeric\"\n            }, \"month\") : this.num(dt.month);\n          case \"LL\":\n            // like 01, doesn't seem to work\n            return useDateTimeFormatter ? string({\n              month: \"2-digit\",\n              day: \"numeric\"\n            }, \"month\") : this.num(dt.month, 2);\n          case \"LLL\":\n            // like Jan\n            return month(\"short\", true);\n          case \"LLLL\":\n            // like January\n            return month(\"long\", true);\n          case \"LLLLL\":\n            // like J\n            return month(\"narrow\", true);\n          // months - format\n          case \"M\":\n            // like 1\n            return useDateTimeFormatter ? string({\n              month: \"numeric\"\n            }, \"month\") : this.num(dt.month);\n          case \"MM\":\n            // like 01\n            return useDateTimeFormatter ? string({\n              month: \"2-digit\"\n            }, \"month\") : this.num(dt.month, 2);\n          case \"MMM\":\n            // like Jan\n            return month(\"short\", false);\n          case \"MMMM\":\n            // like January\n            return month(\"long\", false);\n          case \"MMMMM\":\n            // like J\n            return month(\"narrow\", false);\n          // years\n          case \"y\":\n            // like 2014\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : this.num(dt.year);\n          case \"yy\":\n            // like 14\n            return useDateTimeFormatter ? string({\n              year: \"2-digit\"\n            }, \"year\") : this.num(dt.year.toString().slice(-2), 2);\n          case \"yyyy\":\n            // like 0012\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : this.num(dt.year, 4);\n          case \"yyyyyy\":\n            // like 000012\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : this.num(dt.year, 6);\n          // eras\n          case \"G\":\n            // like AD\n            return era(\"short\");\n          case \"GG\":\n            // like Anno Domini\n            return era(\"long\");\n          case \"GGGGG\":\n            return era(\"narrow\");\n          case \"kk\":\n            return this.num(dt.weekYear.toString().slice(-2), 2);\n          case \"kkkk\":\n            return this.num(dt.weekYear, 4);\n          case \"W\":\n            return this.num(dt.weekNumber);\n          case \"WW\":\n            return this.num(dt.weekNumber, 2);\n          case \"n\":\n            return this.num(dt.localWeekNumber);\n          case \"nn\":\n            return this.num(dt.localWeekNumber, 2);\n          case \"ii\":\n            return this.num(dt.localWeekYear.toString().slice(-2), 2);\n          case \"iiii\":\n            return this.num(dt.localWeekYear, 4);\n          case \"o\":\n            return this.num(dt.ordinal);\n          case \"ooo\":\n            return this.num(dt.ordinal, 3);\n          case \"q\":\n            // like 1\n            return this.num(dt.quarter);\n          case \"qq\":\n            // like 01\n            return this.num(dt.quarter, 2);\n          case \"X\":\n            return this.num(Math.floor(dt.ts / 1000));\n          case \"x\":\n            return this.num(dt.ts);\n          default:\n            return maybeMacro(token);\n        }\n      };\n    return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n  }\n  formatDurationFromString(dur, fmt) {\n    const tokenToField = token => {\n        switch (token[0]) {\n          case \"S\":\n            return \"millisecond\";\n          case \"s\":\n            return \"second\";\n          case \"m\":\n            return \"minute\";\n          case \"h\":\n            return \"hour\";\n          case \"d\":\n            return \"day\";\n          case \"w\":\n            return \"week\";\n          case \"M\":\n            return \"month\";\n          case \"y\":\n            return \"year\";\n          default:\n            return null;\n        }\n      },\n      tokenToString = lildur => token => {\n        const mapped = tokenToField(token);\n        if (mapped) {\n          return this.num(lildur.get(mapped), token.length);\n        } else {\n          return token;\n        }\n      },\n      tokens = Formatter.parseFormat(fmt),\n      realTokens = tokens.reduce((found, {\n        literal,\n        val\n      }) => literal ? found : found.concat(val), []),\n      collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter(t => t));\n    return stringifyTokens(tokens, tokenToString(collapsed));\n  }\n}\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nconst ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\nfunction combineRegexes(...regexes) {\n  const full = regexes.reduce((f, r) => f + r.source, \"\");\n  return RegExp(`^${full}$`);\n}\nfunction combineExtractors(...extractors) {\n  return m => extractors.reduce(([mergedVals, mergedZone, cursor], ex) => {\n    const [val, zone, next] = ex(m, cursor);\n    return [{\n      ...mergedVals,\n      ...val\n    }, zone || mergedZone, next];\n  }, [{}, null, 1]).slice(0, 2);\n}\nfunction parse(s, ...patterns) {\n  if (s == null) {\n    return [null, null];\n  }\n  for (const [regex, extractor] of patterns) {\n    const m = regex.exec(s);\n    if (m) {\n      return extractor(m);\n    }\n  }\n  return [null, null];\n}\nfunction simpleParse(...keys) {\n  return (match, cursor) => {\n    const ret = {};\n    let i;\n    for (i = 0; i < keys.length; i++) {\n      ret[keys[i]] = parseInteger(match[cursor + i]);\n    }\n    return [ret, null, cursor + i];\n  };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nconst isoExtendedZone = `(?:${offsetRegex.source}?(?:\\\\[(${ianaRegex.source})\\\\])?)?`;\nconst isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nconst isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);\nconst isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);\nconst isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nconst isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nconst isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nconst extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nconst extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nconst sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nconst sqlTimeRegex = RegExp(`${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`);\nconst sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\nfunction int(match, pos, fallback) {\n  const m = match[pos];\n  return isUndefined(m) ? fallback : parseInteger(m);\n}\nfunction extractISOYmd(match, cursor) {\n  const item = {\n    year: int(match, cursor),\n    month: int(match, cursor + 1, 1),\n    day: int(match, cursor + 2, 1)\n  };\n  return [item, null, cursor + 3];\n}\nfunction extractISOTime(match, cursor) {\n  const item = {\n    hours: int(match, cursor, 0),\n    minutes: int(match, cursor + 1, 0),\n    seconds: int(match, cursor + 2, 0),\n    milliseconds: parseMillis(match[cursor + 3])\n  };\n  return [item, null, cursor + 4];\n}\nfunction extractISOOffset(match, cursor) {\n  const local = !match[cursor] && !match[cursor + 1],\n    fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n    zone = local ? null : FixedOffsetZone.instance(fullOffset);\n  return [{}, zone, cursor + 3];\n}\nfunction extractIANAZone(match, cursor) {\n  const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n  return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration = /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\nfunction extractISODuration(match) {\n  const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] = match;\n  const hasNegativePrefix = s[0] === \"-\";\n  const negativeSeconds = secondStr && secondStr[0] === \"-\";\n  const maybeNegate = (num, force = false) => num !== undefined && (force || num && hasNegativePrefix) ? -num : num;\n  return [{\n    years: maybeNegate(parseFloating(yearStr)),\n    months: maybeNegate(parseFloating(monthStr)),\n    weeks: maybeNegate(parseFloating(weekStr)),\n    days: maybeNegate(parseFloating(dayStr)),\n    hours: maybeNegate(parseFloating(hourStr)),\n    minutes: maybeNegate(parseFloating(minuteStr)),\n    seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n    milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds)\n  }];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n  GMT: 0,\n  EDT: -4 * 60,\n  EST: -5 * 60,\n  CDT: -5 * 60,\n  CST: -6 * 60,\n  MDT: -6 * 60,\n  MST: -7 * 60,\n  PDT: -7 * 60,\n  PST: -8 * 60\n};\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n  const result = {\n    year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n    month: monthsShort.indexOf(monthStr) + 1,\n    day: parseInteger(dayStr),\n    hour: parseInteger(hourStr),\n    minute: parseInteger(minuteStr)\n  };\n  if (secondStr) result.second = parseInteger(secondStr);\n  if (weekdayStr) {\n    result.weekday = weekdayStr.length > 3 ? weekdaysLong.indexOf(weekdayStr) + 1 : weekdaysShort.indexOf(weekdayStr) + 1;\n  }\n  return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\nfunction extractRFC2822(match) {\n  const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr, obsOffset, milOffset, offHourStr, offMinuteStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  let offset;\n  if (obsOffset) {\n    offset = obsOffsets[obsOffset];\n  } else if (milOffset) {\n    offset = 0;\n  } else {\n    offset = signedOffset(offHourStr, offMinuteStr);\n  }\n  return [result, new FixedOffsetZone(offset)];\n}\nfunction preprocessRFC2822(s) {\n  // Remove comments and folding whitespace and replace multiple-spaces with a single space\n  return s.replace(/\\([^()]*\\)|[\\n\\t]/g, \" \").replace(/(\\s\\s+)/g, \" \").trim();\n}\n\n// http date\n\nconst rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  rfc850 = /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\nfunction extractRFC1123Or850(match) {\n  const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\nfunction extractASCII(match) {\n  const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\nconst extractISOYmdTimeAndOffset = combineExtractors(extractISOYmd, extractISOTime, extractISOOffset, extractIANAZone);\nconst extractISOWeekTimeAndOffset = combineExtractors(extractISOWeekData, extractISOTime, extractISOOffset, extractIANAZone);\nconst extractISOOrdinalDateAndTime = combineExtractors(extractISOOrdinalData, extractISOTime, extractISOOffset, extractIANAZone);\nconst extractISOTimeAndOffset = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone);\n\n/*\n * @private\n */\n\nfunction parseISODate(s) {\n  return parse(s, [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset], [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime], [isoTimeCombinedRegex, extractISOTimeAndOffset]);\n}\nfunction parseRFC2822Date(s) {\n  return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\nfunction parseHTTPDate(s) {\n  return parse(s, [rfc1123, extractRFC1123Or850], [rfc850, extractRFC1123Or850], [ascii, extractASCII]);\n}\nfunction parseISODuration(s) {\n  return parse(s, [isoDuration, extractISODuration]);\n}\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\nfunction parseISOTimeOnly(s) {\n  return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone);\nfunction parseSQL(s) {\n  return parse(s, [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]);\n}\n\nconst INVALID$2 = \"Invalid Duration\";\n\n// unit conversion constants\nconst lowOrderMatrix = {\n    weeks: {\n      days: 7,\n      hours: 7 * 24,\n      minutes: 7 * 24 * 60,\n      seconds: 7 * 24 * 60 * 60,\n      milliseconds: 7 * 24 * 60 * 60 * 1000\n    },\n    days: {\n      hours: 24,\n      minutes: 24 * 60,\n      seconds: 24 * 60 * 60,\n      milliseconds: 24 * 60 * 60 * 1000\n    },\n    hours: {\n      minutes: 60,\n      seconds: 60 * 60,\n      milliseconds: 60 * 60 * 1000\n    },\n    minutes: {\n      seconds: 60,\n      milliseconds: 60 * 1000\n    },\n    seconds: {\n      milliseconds: 1000\n    }\n  },\n  casualMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: 52,\n      days: 365,\n      hours: 365 * 24,\n      minutes: 365 * 24 * 60,\n      seconds: 365 * 24 * 60 * 60,\n      milliseconds: 365 * 24 * 60 * 60 * 1000\n    },\n    quarters: {\n      months: 3,\n      weeks: 13,\n      days: 91,\n      hours: 91 * 24,\n      minutes: 91 * 24 * 60,\n      seconds: 91 * 24 * 60 * 60,\n      milliseconds: 91 * 24 * 60 * 60 * 1000\n    },\n    months: {\n      weeks: 4,\n      days: 30,\n      hours: 30 * 24,\n      minutes: 30 * 24 * 60,\n      seconds: 30 * 24 * 60 * 60,\n      milliseconds: 30 * 24 * 60 * 60 * 1000\n    },\n    ...lowOrderMatrix\n  },\n  daysInYearAccurate = 146097.0 / 400,\n  daysInMonthAccurate = 146097.0 / 4800,\n  accurateMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: daysInYearAccurate / 7,\n      days: daysInYearAccurate,\n      hours: daysInYearAccurate * 24,\n      minutes: daysInYearAccurate * 24 * 60,\n      seconds: daysInYearAccurate * 24 * 60 * 60,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000\n    },\n    quarters: {\n      months: 3,\n      weeks: daysInYearAccurate / 28,\n      days: daysInYearAccurate / 4,\n      hours: daysInYearAccurate * 24 / 4,\n      minutes: daysInYearAccurate * 24 * 60 / 4,\n      seconds: daysInYearAccurate * 24 * 60 * 60 / 4,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000 / 4\n    },\n    months: {\n      weeks: daysInMonthAccurate / 7,\n      days: daysInMonthAccurate,\n      hours: daysInMonthAccurate * 24,\n      minutes: daysInMonthAccurate * 24 * 60,\n      seconds: daysInMonthAccurate * 24 * 60 * 60,\n      milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000\n    },\n    ...lowOrderMatrix\n  };\n\n// units ordered by size\nconst orderedUnits$1 = [\"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\"];\nconst reverseUnits = orderedUnits$1.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone$1(dur, alts, clear = false) {\n  // deep merge for vals\n  const conf = {\n    values: clear ? alts.values : {\n      ...dur.values,\n      ...(alts.values || {})\n    },\n    loc: dur.loc.clone(alts.loc),\n    conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n    matrix: alts.matrix || dur.matrix\n  };\n  return new Duration(conf);\n}\nfunction durationToMillis(matrix, vals) {\n  var _vals$milliseconds;\n  let sum = (_vals$milliseconds = vals.milliseconds) != null ? _vals$milliseconds : 0;\n  for (const unit of reverseUnits.slice(1)) {\n    if (vals[unit]) {\n      sum += vals[unit] * matrix[unit][\"milliseconds\"];\n    }\n  }\n  return sum;\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n  // the logic below assumes the overall value of the duration is positive\n  // if this is not the case, factor is used to make it so\n  const factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;\n  orderedUnits$1.reduceRight((previous, current) => {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        const previousVal = vals[previous] * factor;\n        const conv = matrix[current][previous];\n\n        // if (previousVal < 0):\n        // lower order unit is negative (e.g. { years: 2, days: -2 })\n        // normalize this by reducing the higher order unit by the appropriate amount\n        // and increasing the lower order unit\n        // this can never make the higher order unit negative, because this function only operates\n        // on positive durations, so the amount of time represented by the lower order unit cannot\n        // be larger than the higher order unit\n        // else:\n        // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })\n        // in this case we attempt to convert as much as possible from the lower order unit into\n        // the higher order one\n        //\n        // Math.floor takes care of both of these cases, rounding away from 0\n        // if previousVal < 0 it makes the absolute value larger\n        // if previousVal >= it makes the absolute value smaller\n        const rollUp = Math.floor(previousVal / conv);\n        vals[current] += rollUp * factor;\n        vals[previous] -= rollUp * conv * factor;\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n\n  // try to convert any decimals into smaller units if possible\n  // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }\n  orderedUnits$1.reduce((previous, current) => {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        const fraction = vals[previous] % 1;\n        vals[previous] -= fraction;\n        vals[current] += fraction * matrix[previous][current];\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n  const newVals = {};\n  for (const [key, value] of Object.entries(vals)) {\n    if (value !== 0) {\n      newVals[key] = value;\n    }\n  }\n  return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See  {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nclass Duration {\n  /**\n   * @private\n   */\n  constructor(config) {\n    const accurate = config.conversionAccuracy === \"longterm\" || false;\n    let matrix = accurate ? accurateMatrix : casualMatrix;\n    if (config.matrix) {\n      matrix = config.matrix;\n    }\n\n    /**\n     * @access private\n     */\n    this.values = config.values;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.matrix = matrix;\n    /**\n     * @access private\n     */\n    this.isLuxonDuration = true;\n  }\n\n  /**\n   * Create Duration from a number of milliseconds.\n   * @param {number} count of milliseconds\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  static fromMillis(count, opts) {\n    return Duration.fromObject({\n      milliseconds: count\n    }, opts);\n  }\n\n  /**\n   * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n   * If this object is empty then a zero milliseconds duration is returned.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.years\n   * @param {number} obj.quarters\n   * @param {number} obj.months\n   * @param {number} obj.weeks\n   * @param {number} obj.days\n   * @param {number} obj.hours\n   * @param {number} obj.minutes\n   * @param {number} obj.seconds\n   * @param {number} obj.milliseconds\n   * @param {Object} [opts=[]] - options for creating this Duration\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the custom conversion system to use\n   * @return {Duration}\n   */\n  static fromObject(obj, opts = {}) {\n    if (obj == null || typeof obj !== \"object\") {\n      throw new InvalidArgumentError(`Duration.fromObject: argument expected to be an object, got ${obj === null ? \"null\" : typeof obj}`);\n    }\n    return new Duration({\n      values: normalizeObject(obj, Duration.normalizeUnit),\n      loc: Locale.fromObject(opts),\n      conversionAccuracy: opts.conversionAccuracy,\n      matrix: opts.matrix\n    });\n  }\n\n  /**\n   * Create a Duration from DurationLike.\n   *\n   * @param {Object | number | Duration} durationLike\n   * One of:\n   * - object with keys like 'years' and 'hours'.\n   * - number representing milliseconds\n   * - Duration instance\n   * @return {Duration}\n   */\n  static fromDurationLike(durationLike) {\n    if (isNumber(durationLike)) {\n      return Duration.fromMillis(durationLike);\n    } else if (Duration.isDuration(durationLike)) {\n      return durationLike;\n    } else if (typeof durationLike === \"object\") {\n      return Duration.fromObject(durationLike);\n    } else {\n      throw new InvalidArgumentError(`Unknown duration argument ${durationLike} of type ${typeof durationLike}`);\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 duration string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the preset conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n   * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n   * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n   * @return {Duration}\n   */\n  static fromISO(text, opts) {\n    const [parsed] = parseISODuration(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 time string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n   * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @return {Duration}\n   */\n  static fromISOTime(text, opts) {\n    const [parsed] = parseISOTimeOnly(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create an invalid Duration.\n   * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Duration}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n    }\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDurationError(invalid);\n    } else {\n      return new Duration({\n        invalid\n      });\n    }\n  }\n\n  /**\n   * @private\n   */\n  static normalizeUnit(unit) {\n    const normalized = {\n      year: \"years\",\n      years: \"years\",\n      quarter: \"quarters\",\n      quarters: \"quarters\",\n      month: \"months\",\n      months: \"months\",\n      week: \"weeks\",\n      weeks: \"weeks\",\n      day: \"days\",\n      days: \"days\",\n      hour: \"hours\",\n      hours: \"hours\",\n      minute: \"minutes\",\n      minutes: \"minutes\",\n      second: \"seconds\",\n      seconds: \"seconds\",\n      millisecond: \"milliseconds\",\n      milliseconds: \"milliseconds\"\n    }[unit ? unit.toLowerCase() : unit];\n    if (!normalized) throw new InvalidUnitError(unit);\n    return normalized;\n  }\n\n  /**\n   * Check if an object is a Duration. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDuration(o) {\n    return o && o.isLuxonDuration || false;\n  }\n\n  /**\n   * Get  the locale of a Duration, such 'en-GB'\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n   * * `S` for milliseconds\n   * * `s` for seconds\n   * * `m` for minutes\n   * * `h` for hours\n   * * `d` for days\n   * * `w` for weeks\n   * * `M` for months\n   * * `y` for years\n   * Notes:\n   * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n   * * Tokens can be escaped by wrapping with single quotes.\n   * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - options\n   * @param {boolean} [opts.floor=true] - floor numerical values\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n    const fmtOpts = {\n      ...opts,\n      floor: opts.round !== false && opts.floor !== false\n    };\n    return this.isValid ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt) : INVALID$2;\n  }\n\n  /**\n   * Returns a string representation of a Duration with all units included.\n   * To modify its behavior, use `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options\n   * @param {Object} opts - Formatting options. Accepts the same keys as the options parameter of the native `Intl.NumberFormat` constructor, as well as `listStyle`.\n   * @param {string} [opts.listStyle='narrow'] - How to format the merged list. Corresponds to the `style` property of the options parameter of the native `Intl.ListFormat` constructor.\n   * @example\n   * ```js\n   * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n   * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n   * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n   * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n   * ```\n   */\n  toHuman(opts = {}) {\n    if (!this.isValid) return INVALID$2;\n    const l = orderedUnits$1.map(unit => {\n      const val = this.values[unit];\n      if (isUndefined(val)) {\n        return null;\n      }\n      return this.loc.numberFormatter({\n        style: \"unit\",\n        unitDisplay: \"long\",\n        ...opts,\n        unit: unit.slice(0, -1)\n      }).format(val);\n    }).filter(n => n);\n    return this.loc.listFormatter({\n      type: \"conjunction\",\n      style: opts.listStyle || \"narrow\",\n      ...opts\n    }).format(l);\n  }\n\n  /**\n   * Returns a JavaScript object with this Duration's values.\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n   * @return {Object}\n   */\n  toObject() {\n    if (!this.isValid) return {};\n    return {\n      ...this.values\n    };\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n   * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n   * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n   * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n   * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n   * @return {string}\n   */\n  toISO() {\n    // we could use the formatter, but this is an easier way to get the minimum string\n    if (!this.isValid) return null;\n    let s = \"P\";\n    if (this.years !== 0) s += this.years + \"Y\";\n    if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n    if (this.weeks !== 0) s += this.weeks + \"W\";\n    if (this.days !== 0) s += this.days + \"D\";\n    if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0) s += \"T\";\n    if (this.hours !== 0) s += this.hours + \"H\";\n    if (this.minutes !== 0) s += this.minutes + \"M\";\n    if (this.seconds !== 0 || this.milliseconds !== 0)\n      // this will handle \"floating point madness\" by removing extra decimal places\n      // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n      s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n    if (s === \"P\") s += \"T0S\";\n    return s;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n   * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n   * @return {string}\n   */\n  toISOTime(opts = {}) {\n    if (!this.isValid) return null;\n    const millis = this.toMillis();\n    if (millis < 0 || millis >= 86400000) return null;\n    opts = {\n      suppressMilliseconds: false,\n      suppressSeconds: false,\n      includePrefix: false,\n      format: \"extended\",\n      ...opts,\n      includeOffset: false\n    };\n    const dateTime = DateTime.fromMillis(millis, {\n      zone: \"UTC\"\n    });\n    return dateTime.toISOTime(opts);\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n   * @return {string}\n   */\n  toString() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a string representation of this Duration appropriate for the REPL.\n   * @return {string}\n   */\n  [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n    if (this.isValid) {\n      return `Duration { values: ${JSON.stringify(this.values)} }`;\n    } else {\n      return `Duration { Invalid, reason: ${this.invalidReason} }`;\n    }\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration.\n   * @return {number}\n   */\n  toMillis() {\n    if (!this.isValid) return NaN;\n    return durationToMillis(this.matrix, this.values);\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration),\n      result = {};\n    for (const k of orderedUnits$1) {\n      if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n        result[k] = dur.get(k) + this.get(k);\n      }\n    }\n    return clone$1(this, {\n      values: result\n    }, true);\n  }\n\n  /**\n   * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration);\n    return this.plus(dur.negate());\n  }\n\n  /**\n   * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n   * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n   * @return {Duration}\n   */\n  mapUnits(fn) {\n    if (!this.isValid) return this;\n    const result = {};\n    for (const k of Object.keys(this.values)) {\n      result[k] = asNumber(fn(this.values[k], k));\n    }\n    return clone$1(this, {\n      values: result\n    }, true);\n  }\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n   * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n   * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n   * @return {number}\n   */\n  get(unit) {\n    return this[Duration.normalizeUnit(unit)];\n  }\n\n  /**\n   * \"Set\" the values of specified units. Return a newly-constructed Duration.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dur.set({ years: 2017 })\n   * @example dur.set({ hours: 8, minutes: 30 })\n   * @return {Duration}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n    const mixed = {\n      ...this.values,\n      ...normalizeObject(values, Duration.normalizeUnit)\n    };\n    return clone$1(this, {\n      values: mixed\n    });\n  }\n\n  /**\n   * \"Set\" the locale and/or numberingSystem.  Returns a newly-constructed Duration.\n   * @example dur.reconfigure({ locale: 'en-GB' })\n   * @return {Duration}\n   */\n  reconfigure({\n    locale,\n    numberingSystem,\n    conversionAccuracy,\n    matrix\n  } = {}) {\n    const loc = this.loc.clone({\n      locale,\n      numberingSystem\n    });\n    const opts = {\n      loc,\n      matrix,\n      conversionAccuracy\n    };\n    return clone$1(this, opts);\n  }\n\n  /**\n   * Return the length of the duration in the specified unit.\n   * @param {string} unit - a unit such as 'minutes' or 'days'\n   * @example Duration.fromObject({years: 1}).as('days') //=> 365\n   * @example Duration.fromObject({years: 1}).as('months') //=> 12\n   * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n   * @return {number}\n   */\n  as(unit) {\n    return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n  }\n\n  /**\n   * Reduce this Duration to its canonical representation in its current units.\n   * Assuming the overall value of the Duration is positive, this means:\n   * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)\n   * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise\n   *   the overall value would be negative, see third example)\n   * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)\n   *\n   * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.\n   * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n   * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }\n   * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n   * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }\n   * @return {Duration}\n   */\n  normalize() {\n    if (!this.isValid) return this;\n    const vals = this.toObject();\n    normalizeValues(this.matrix, vals);\n    return clone$1(this, {\n      values: vals\n    }, true);\n  }\n\n  /**\n   * Rescale units to its largest representation\n   * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n   * @return {Duration}\n   */\n  rescale() {\n    if (!this.isValid) return this;\n    const vals = removeZeroes(this.normalize().shiftToAll().toObject());\n    return clone$1(this, {\n      values: vals\n    }, true);\n  }\n\n  /**\n   * Convert this Duration into its representation in a different set of units.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n   * @return {Duration}\n   */\n  shiftTo(...units) {\n    if (!this.isValid) return this;\n    if (units.length === 0) {\n      return this;\n    }\n    units = units.map(u => Duration.normalizeUnit(u));\n    const built = {},\n      accumulated = {},\n      vals = this.toObject();\n    let lastUnit;\n    for (const k of orderedUnits$1) {\n      if (units.indexOf(k) >= 0) {\n        lastUnit = k;\n        let own = 0;\n\n        // anything we haven't boiled down yet should get boiled to this unit\n        for (const ak in accumulated) {\n          own += this.matrix[ak][k] * accumulated[ak];\n          accumulated[ak] = 0;\n        }\n\n        // plus anything that's already in this unit\n        if (isNumber(vals[k])) {\n          own += vals[k];\n        }\n\n        // only keep the integer part for now in the hopes of putting any decimal part\n        // into a smaller unit later\n        const i = Math.trunc(own);\n        built[k] = i;\n        accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n        // otherwise, keep it in the wings to boil it later\n      } else if (isNumber(vals[k])) {\n        accumulated[k] = vals[k];\n      }\n    }\n\n    // anything leftover becomes the decimal for the last unit\n    // lastUnit must be defined since units is not empty\n    for (const key in accumulated) {\n      if (accumulated[key] !== 0) {\n        built[lastUnit] += key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n      }\n    }\n    normalizeValues(this.matrix, built);\n    return clone$1(this, {\n      values: built\n    }, true);\n  }\n\n  /**\n   * Shift this Duration to all available units.\n   * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n   * @return {Duration}\n   */\n  shiftToAll() {\n    if (!this.isValid) return this;\n    return this.shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\");\n  }\n\n  /**\n   * Return the negative of this Duration.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n   * @return {Duration}\n   */\n  negate() {\n    if (!this.isValid) return this;\n    const negated = {};\n    for (const k of Object.keys(this.values)) {\n      negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n    }\n    return clone$1(this, {\n      values: negated\n    }, true);\n  }\n\n  /**\n   * Get the years.\n   * @type {number}\n   */\n  get years() {\n    return this.isValid ? this.values.years || 0 : NaN;\n  }\n\n  /**\n   * Get the quarters.\n   * @type {number}\n   */\n  get quarters() {\n    return this.isValid ? this.values.quarters || 0 : NaN;\n  }\n\n  /**\n   * Get the months.\n   * @type {number}\n   */\n  get months() {\n    return this.isValid ? this.values.months || 0 : NaN;\n  }\n\n  /**\n   * Get the weeks\n   * @type {number}\n   */\n  get weeks() {\n    return this.isValid ? this.values.weeks || 0 : NaN;\n  }\n\n  /**\n   * Get the days.\n   * @type {number}\n   */\n  get days() {\n    return this.isValid ? this.values.days || 0 : NaN;\n  }\n\n  /**\n   * Get the hours.\n   * @type {number}\n   */\n  get hours() {\n    return this.isValid ? this.values.hours || 0 : NaN;\n  }\n\n  /**\n   * Get the minutes.\n   * @type {number}\n   */\n  get minutes() {\n    return this.isValid ? this.values.minutes || 0 : NaN;\n  }\n\n  /**\n   * Get the seconds.\n   * @return {number}\n   */\n  get seconds() {\n    return this.isValid ? this.values.seconds || 0 : NaN;\n  }\n\n  /**\n   * Get the milliseconds.\n   * @return {number}\n   */\n  get milliseconds() {\n    return this.isValid ? this.values.milliseconds || 0 : NaN;\n  }\n\n  /**\n   * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n   * on invalid DateTimes or Intervals.\n   * @return {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this Duration became invalid, or null if the Duration is valid\n   * @return {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Equality check\n   * Two Durations are equal iff they have the same units and the same values for each unit.\n   * @param {Duration} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n    if (!this.loc.equals(other.loc)) {\n      return false;\n    }\n    function eq(v1, v2) {\n      // Consider 0 and undefined as equal\n      if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n      return v1 === v2;\n    }\n    for (const u of orderedUnits$1) {\n      if (!eq(this.values[u], other.values[u])) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nconst INVALID$1 = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n  if (!start || !start.isValid) {\n    return Interval.invalid(\"missing or invalid start\");\n  } else if (!end || !end.isValid) {\n    return Interval.invalid(\"missing or invalid end\");\n  } else if (end < start) {\n    return Interval.invalid(\"end before start\", `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`);\n  } else {\n    return null;\n  }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nclass Interval {\n  /**\n   * @private\n   */\n  constructor(config) {\n    /**\n     * @access private\n     */\n    this.s = config.start;\n    /**\n     * @access private\n     */\n    this.e = config.end;\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.isLuxonInterval = true;\n  }\n\n  /**\n   * Create an invalid Interval.\n   * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Interval}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n    }\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidIntervalError(invalid);\n    } else {\n      return new Interval({\n        invalid\n      });\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n   * @param {DateTime|Date|Object} start\n   * @param {DateTime|Date|Object} end\n   * @return {Interval}\n   */\n  static fromDateTimes(start, end) {\n    const builtStart = friendlyDateTime(start),\n      builtEnd = friendlyDateTime(end);\n    const validateError = validateStartEnd(builtStart, builtEnd);\n    if (validateError == null) {\n      return new Interval({\n        start: builtStart,\n        end: builtEnd\n      });\n    } else {\n      return validateError;\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and a Duration to extend to.\n   * @param {DateTime|Date|Object} start\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static after(start, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(start);\n    return Interval.fromDateTimes(dt, dt.plus(dur));\n  }\n\n  /**\n   * Create an Interval from an end DateTime and a Duration to extend backwards to.\n   * @param {DateTime|Date|Object} end\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static before(end, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(end);\n    return Interval.fromDateTimes(dt.minus(dur), dt);\n  }\n\n  /**\n   * Create an Interval from an ISO 8601 string.\n   * Accepts `<start>/<end>`, `<start>/<duration>`, and `<duration>/<end>` formats.\n   * @param {string} text - the ISO string to parse\n   * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {Interval}\n   */\n  static fromISO(text, opts) {\n    const [s, e] = (text || \"\").split(\"/\", 2);\n    if (s && e) {\n      let start, startIsValid;\n      try {\n        start = DateTime.fromISO(s, opts);\n        startIsValid = start.isValid;\n      } catch (e) {\n        startIsValid = false;\n      }\n      let end, endIsValid;\n      try {\n        end = DateTime.fromISO(e, opts);\n        endIsValid = end.isValid;\n      } catch (e) {\n        endIsValid = false;\n      }\n      if (startIsValid && endIsValid) {\n        return Interval.fromDateTimes(start, end);\n      }\n      if (startIsValid) {\n        const dur = Duration.fromISO(e, opts);\n        if (dur.isValid) {\n          return Interval.after(start, dur);\n        }\n      } else if (endIsValid) {\n        const dur = Duration.fromISO(s, opts);\n        if (dur.isValid) {\n          return Interval.before(end, dur);\n        }\n      }\n    }\n    return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n  }\n\n  /**\n   * Check if an object is an Interval. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isInterval(o) {\n    return o && o.isLuxonInterval || false;\n  }\n\n  /**\n   * Returns the start of the Interval\n   * @type {DateTime}\n   */\n  get start() {\n    return this.isValid ? this.s : null;\n  }\n\n  /**\n   * Returns the end of the Interval\n   * @type {DateTime}\n   */\n  get end() {\n    return this.isValid ? this.e : null;\n  }\n\n  /**\n   * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalidReason === null;\n  }\n\n  /**\n   * Returns an error code if this Interval is invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Returns the length of the Interval in the specified unit.\n   * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n   * @return {number}\n   */\n  length(unit = \"milliseconds\") {\n    return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n  }\n\n  /**\n   * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n   * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n   * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n   * @param {string} [unit='milliseconds'] - the unit of time to count.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; this operation will always use the locale of the start DateTime\n   * @return {number}\n   */\n  count(unit = \"milliseconds\", opts) {\n    if (!this.isValid) return NaN;\n    const start = this.start.startOf(unit, opts);\n    let end;\n    if (opts != null && opts.useLocaleWeeks) {\n      end = this.end.reconfigure({\n        locale: start.locale\n      });\n    } else {\n      end = this.end;\n    }\n    end = end.startOf(unit, opts);\n    return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n  }\n\n  /**\n   * Returns whether this Interval's start and end are both in the same unit of time\n   * @param {string} unit - the unit of time to check sameness on\n   * @return {boolean}\n   */\n  hasSame(unit) {\n    return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end DateTimes.\n   * @return {boolean}\n   */\n  isEmpty() {\n    return this.s.valueOf() === this.e.valueOf();\n  }\n\n  /**\n   * Return whether this Interval's start is after the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isAfter(dateTime) {\n    if (!this.isValid) return false;\n    return this.s > dateTime;\n  }\n\n  /**\n   * Return whether this Interval's end is before the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isBefore(dateTime) {\n    if (!this.isValid) return false;\n    return this.e <= dateTime;\n  }\n\n  /**\n   * Return whether this Interval contains the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  contains(dateTime) {\n    if (!this.isValid) return false;\n    return this.s <= dateTime && this.e > dateTime;\n  }\n\n  /**\n   * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n   * @param {Object} values - the values to set\n   * @param {DateTime} values.start - the starting DateTime\n   * @param {DateTime} values.end - the ending DateTime\n   * @return {Interval}\n   */\n  set({\n    start,\n    end\n  } = {}) {\n    if (!this.isValid) return this;\n    return Interval.fromDateTimes(start || this.s, end || this.e);\n  }\n\n  /**\n   * Split this Interval at each of the specified DateTimes\n   * @param {...DateTime} dateTimes - the unit of time to count.\n   * @return {Array}\n   */\n  splitAt(...dateTimes) {\n    if (!this.isValid) return [];\n    const sorted = dateTimes.map(friendlyDateTime).filter(d => this.contains(d)).sort((a, b) => a.toMillis() - b.toMillis()),\n      results = [];\n    let {\n        s\n      } = this,\n      i = 0;\n    while (s < this.e) {\n      const added = sorted[i] || this.e,\n        next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      i += 1;\n    }\n    return results;\n  }\n\n  /**\n   * Split this Interval into smaller Intervals, each of the specified length.\n   * Left over time is grouped into a smaller interval\n   * @param {Duration|Object|number} duration - The length of each resulting interval.\n   * @return {Array}\n   */\n  splitBy(duration) {\n    const dur = Duration.fromDurationLike(duration);\n    if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n      return [];\n    }\n    let {\n        s\n      } = this,\n      idx = 1,\n      next;\n    const results = [];\n    while (s < this.e) {\n      const added = this.start.plus(dur.mapUnits(x => x * idx));\n      next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      idx += 1;\n    }\n    return results;\n  }\n\n  /**\n   * Split this Interval into the specified number of smaller intervals.\n   * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n   * @return {Array}\n   */\n  divideEqually(numberOfParts) {\n    if (!this.isValid) return [];\n    return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n  }\n\n  /**\n   * Return whether this Interval overlaps with the specified Interval\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  overlaps(other) {\n    return this.e > other.s && this.s < other.e;\n  }\n\n  /**\n   * Return whether this Interval's end is adjacent to the specified Interval's start.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsStart(other) {\n    if (!this.isValid) return false;\n    return +this.e === +other.s;\n  }\n\n  /**\n   * Return whether this Interval's start is adjacent to the specified Interval's end.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsEnd(other) {\n    if (!this.isValid) return false;\n    return +other.e === +this.s;\n  }\n\n  /**\n   * Returns true if this Interval fully contains the specified Interval, specifically if the intersect (of this Interval and the other Interval) is equal to the other Interval; false otherwise.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  engulfs(other) {\n    if (!this.isValid) return false;\n    return this.s <= other.s && this.e >= other.e;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end as the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n    return this.s.equals(other.s) && this.e.equals(other.e);\n  }\n\n  /**\n   * Return an Interval representing the intersection of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n   * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  intersection(other) {\n    if (!this.isValid) return this;\n    const s = this.s > other.s ? this.s : other.s,\n      e = this.e < other.e ? this.e : other.e;\n    if (s >= e) {\n      return null;\n    } else {\n      return Interval.fromDateTimes(s, e);\n    }\n  }\n\n  /**\n   * Return an Interval representing the union of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  union(other) {\n    if (!this.isValid) return this;\n    const s = this.s < other.s ? this.s : other.s,\n      e = this.e > other.e ? this.e : other.e;\n    return Interval.fromDateTimes(s, e);\n  }\n\n  /**\n   * Merge an array of Intervals into a equivalent minimal set of Intervals.\n   * Combines overlapping and adjacent Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static merge(intervals) {\n    const [found, final] = intervals.sort((a, b) => a.s - b.s).reduce(([sofar, current], item) => {\n      if (!current) {\n        return [sofar, item];\n      } else if (current.overlaps(item) || current.abutsStart(item)) {\n        return [sofar, current.union(item)];\n      } else {\n        return [sofar.concat([current]), item];\n      }\n    }, [[], null]);\n    if (final) {\n      found.push(final);\n    }\n    return found;\n  }\n\n  /**\n   * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static xor(intervals) {\n    let start = null,\n      currentCount = 0;\n    const results = [],\n      ends = intervals.map(i => [{\n        time: i.s,\n        type: \"s\"\n      }, {\n        time: i.e,\n        type: \"e\"\n      }]),\n      flattened = Array.prototype.concat(...ends),\n      arr = flattened.sort((a, b) => a.time - b.time);\n    for (const i of arr) {\n      currentCount += i.type === \"s\" ? 1 : -1;\n      if (currentCount === 1) {\n        start = i.time;\n      } else {\n        if (start && +start !== +i.time) {\n          results.push(Interval.fromDateTimes(start, i.time));\n        }\n        start = null;\n      }\n    }\n    return Interval.merge(results);\n  }\n\n  /**\n   * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n   * @param {...Interval} intervals\n   * @return {Array}\n   */\n  difference(...intervals) {\n    return Interval.xor([this].concat(intervals)).map(i => this.intersection(i)).filter(i => i && !i.isEmpty());\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for debugging.\n   * @return {string}\n   */\n  toString() {\n    if (!this.isValid) return INVALID$1;\n    return `[${this.s.toISO()} – ${this.e.toISO()})`;\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for the REPL.\n   * @return {string}\n   */\n  [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n    if (this.isValid) {\n      return `Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;\n    } else {\n      return `Interval { Invalid, reason: ${this.invalidReason} }`;\n    }\n  }\n\n  /**\n   * Returns a localized string representing this Interval. Accepts the same options as the\n   * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n   * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n   * is browser-specific, but in general it will return an appropriate representation of the\n   * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n   * specified.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n   * Intl.DateTimeFormat constructor options.\n   * @param {Object} opts - Options to override the configuration of the start DateTime.\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n   * @return {string}\n   */\n  toLocaleString(formatOpts = DATE_SHORT, opts = {}) {\n    return this.isValid ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this) : INVALID$1;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Interval.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISO(opts) {\n    if (!this.isValid) return INVALID$1;\n    return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of date of this Interval.\n   * The time components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {string}\n   */\n  toISODate() {\n    if (!this.isValid) return INVALID$1;\n    return `${this.s.toISODate()}/${this.e.toISODate()}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of time of this Interval.\n   * The date components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISOTime(opts) {\n    if (!this.isValid) return INVALID$1;\n    return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this Interval formatted according to the specified format\n   * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n   * formatting tool.\n   * @param {string} dateFormat - The format string. This string formats the start and end time.\n   * See {@link DateTime#toFormat} for details.\n   * @param {Object} opts - Options.\n   * @param {string} [opts.separator =  ' – '] - A separator to place between the start and end\n   * representations.\n   * @return {string}\n   */\n  toFormat(dateFormat, {\n    separator = \" – \"\n  } = {}) {\n    if (!this.isValid) return INVALID$1;\n    return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n  }\n\n  /**\n   * Return a Duration representing the time spanned by this interval.\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n   * @return {Duration}\n   */\n  toDuration(unit, opts) {\n    if (!this.isValid) {\n      return Duration.invalid(this.invalidReason);\n    }\n    return this.e.diff(this.s, unit, opts);\n  }\n\n  /**\n   * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n   * @param {function} mapFn\n   * @return {Interval}\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n   */\n  mapEndpoints(mapFn) {\n    return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n  }\n}\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nclass Info {\n  /**\n   * Return whether the specified zone contains a DST.\n   * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n   * @return {boolean}\n   */\n  static hasDST(zone = Settings.defaultZone) {\n    const proto = DateTime.now().setZone(zone).set({\n      month: 12\n    });\n    return !zone.isUniversal && proto.offset !== proto.set({\n      month: 6\n    }).offset;\n  }\n\n  /**\n   * Return whether the specified zone is a valid IANA specifier.\n   * @param {string} zone - Zone to check\n   * @return {boolean}\n   */\n  static isValidIANAZone(zone) {\n    return IANAZone.isValidZone(zone);\n  }\n\n  /**\n   * Converts the input into a {@link Zone} instance.\n   *\n   * * If `input` is already a Zone instance, it is returned unchanged.\n   * * If `input` is a string containing a valid time zone name, a Zone instance\n   *   with that name is returned.\n   * * If `input` is a string that doesn't refer to a known time zone, a Zone\n   *   instance with {@link Zone#isValid} == false is returned.\n   * * If `input is a number, a Zone instance with the specified fixed offset\n   *   in minutes is returned.\n   * * If `input` is `null` or `undefined`, the default zone is returned.\n   * @param {string|Zone|number} [input] - the value to be converted\n   * @return {Zone}\n   */\n  static normalizeZone(input) {\n    return normalizeZone(input, Settings.defaultZone);\n  }\n\n  /**\n   * Get the weekday on which the week starts according to the given locale.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number} the start of the week, 1 for Monday through 7 for Sunday\n   */\n  static getStartOfWeek({\n    locale = null,\n    locObj = null\n  } = {}) {\n    return (locObj || Locale.create(locale)).getStartOfWeek();\n  }\n\n  /**\n   * Get the minimum number of days necessary in a week before it is considered part of the next year according\n   * to the given locale.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number}\n   */\n  static getMinimumDaysInFirstWeek({\n    locale = null,\n    locObj = null\n  } = {}) {\n    return (locObj || Locale.create(locale)).getMinDaysInFirstWeek();\n  }\n\n  /**\n   * Get the weekdays, which are considered the weekend according to the given locale\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number[]} an array of weekdays, 1 for Monday through 7 for Sunday\n   */\n  static getWeekendWeekdays({\n    locale = null,\n    locObj = null\n  } = {}) {\n    // copy the array, because we cache it internally\n    return (locObj || Locale.create(locale)).getWeekendDays().slice();\n  }\n\n  /**\n   * Return an array of standalone month names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @example Info.months()[0] //=> 'January'\n   * @example Info.months('short')[0] //=> 'Jan'\n   * @example Info.months('numeric')[0] //=> '1'\n   * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n   * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n   * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n   * @return {Array}\n   */\n  static months(length = \"long\", {\n    locale = null,\n    numberingSystem = null,\n    locObj = null,\n    outputCalendar = \"gregory\"\n  } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n  }\n\n  /**\n   * Return an array of format month names.\n   * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n   * changes the string.\n   * See {@link Info#months}\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @return {Array}\n   */\n  static monthsFormat(length = \"long\", {\n    locale = null,\n    numberingSystem = null,\n    locObj = null,\n    outputCalendar = \"gregory\"\n  } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n  }\n\n  /**\n   * Return an array of standalone week names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @example Info.weekdays()[0] //=> 'Monday'\n   * @example Info.weekdays('short')[0] //=> 'Mon'\n   * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n   * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n   * @return {Array}\n   */\n  static weekdays(length = \"long\", {\n    locale = null,\n    numberingSystem = null,\n    locObj = null\n  } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n  }\n\n  /**\n   * Return an array of format week names.\n   * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n   * changes the string.\n   * See {@link Info#weekdays}\n   * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale=null] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @return {Array}\n   */\n  static weekdaysFormat(length = \"long\", {\n    locale = null,\n    numberingSystem = null,\n    locObj = null\n  } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n  }\n\n  /**\n   * Return an array of meridiems.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n   * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n   * @return {Array}\n   */\n  static meridiems({\n    locale = null\n  } = {}) {\n    return Locale.create(locale).meridiems();\n  }\n\n  /**\n   * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n   * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.eras() //=> [ 'BC', 'AD' ]\n   * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n   * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n   * @return {Array}\n   */\n  static eras(length = \"short\", {\n    locale = null\n  } = {}) {\n    return Locale.create(locale, null, \"gregory\").eras(length);\n  }\n\n  /**\n   * Return the set of available features in this environment.\n   * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n   * Keys:\n   * * `relative`: whether this environment supports relative time formatting\n   * * `localeWeek`: whether this environment supports different weekdays for the start of the week based on the locale\n   * @example Info.features() //=> { relative: false, localeWeek: true }\n   * @return {Object}\n   */\n  static features() {\n    return {\n      relative: hasRelative(),\n      localeWeek: hasLocaleWeekInfo()\n    };\n  }\n}\n\nfunction dayDiff(earlier, later) {\n  const utcDayStart = dt => dt.toUTC(0, {\n      keepLocalTime: true\n    }).startOf(\"day\").valueOf(),\n    ms = utcDayStart(later) - utcDayStart(earlier);\n  return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\nfunction highOrderDiffs(cursor, later, units) {\n  const differs = [[\"years\", (a, b) => b.year - a.year], [\"quarters\", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4], [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12], [\"weeks\", (a, b) => {\n    const days = dayDiff(a, b);\n    return (days - days % 7) / 7;\n  }], [\"days\", dayDiff]];\n  const results = {};\n  const earlier = cursor;\n  let lowestOrder, highWater;\n\n  /* This loop tries to diff using larger units first.\n     If we overshoot, we backtrack and try the next smaller unit.\n     \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n     as we use smaller and smaller units.\n     highWater keeps track of where we would be if we added one more of the smallest unit,\n     this is used later to potentially convert any difference smaller than the smallest higher order unit\n     into a fraction of that smallest higher order unit\n  */\n  for (const [unit, differ] of differs) {\n    if (units.indexOf(unit) >= 0) {\n      lowestOrder = unit;\n      results[unit] = differ(cursor, later);\n      highWater = earlier.plus(results);\n      if (highWater > later) {\n        // we overshot the end point, backtrack cursor by 1\n        results[unit]--;\n        cursor = earlier.plus(results);\n\n        // if we are still overshooting now, we need to backtrack again\n        // this happens in certain situations when diffing times in different zones,\n        // because this calculation ignores time zones\n        if (cursor > later) {\n          // keep the \"overshot by 1\" around as highWater\n          highWater = cursor;\n          // backtrack cursor by 1\n          results[unit]--;\n          cursor = earlier.plus(results);\n        }\n      } else {\n        cursor = highWater;\n      }\n    }\n  }\n  return [cursor, results, highWater, lowestOrder];\n}\nfunction diff (earlier, later, units, opts) {\n  let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n  const remainingMillis = later - cursor;\n  const lowerOrderUnits = units.filter(u => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0);\n  if (lowerOrderUnits.length === 0) {\n    if (highWater < later) {\n      highWater = cursor.plus({\n        [lowestOrder]: 1\n      });\n    }\n    if (highWater !== cursor) {\n      results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n    }\n  }\n  const duration = Duration.fromObject(results, opts);\n  if (lowerOrderUnits.length > 0) {\n    return Duration.fromMillis(remainingMillis, opts).shiftTo(...lowerOrderUnits).plus(duration);\n  } else {\n    return duration;\n  }\n}\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\nfunction intUnit(regex, post = i => i) {\n  return {\n    regex,\n    deser: ([s]) => post(parseDigits(s))\n  };\n}\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `[ ${NBSP}]`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\nfunction fixListRegex(s) {\n  // make dots optional and also make them literal\n  // make space and non breakable space characters interchangeable\n  return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\nfunction stripInsensitivities(s) {\n  return s.replace(/\\./g, \"\") // ignore dots that were made optional\n  .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n  .toLowerCase();\n}\nfunction oneOf(strings, startIndex) {\n  if (strings === null) {\n    return null;\n  } else {\n    return {\n      regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n      deser: ([s]) => strings.findIndex(i => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex\n    };\n  }\n}\nfunction offset(regex, groups) {\n  return {\n    regex,\n    deser: ([, h, m]) => signedOffset(h, m),\n    groups\n  };\n}\nfunction simple(regex) {\n  return {\n    regex,\n    deser: ([s]) => s\n  };\n}\nfunction escapeToken(value) {\n  return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n  const one = digitRegex(loc),\n    two = digitRegex(loc, \"{2}\"),\n    three = digitRegex(loc, \"{3}\"),\n    four = digitRegex(loc, \"{4}\"),\n    six = digitRegex(loc, \"{6}\"),\n    oneOrTwo = digitRegex(loc, \"{1,2}\"),\n    oneToThree = digitRegex(loc, \"{1,3}\"),\n    oneToSix = digitRegex(loc, \"{1,6}\"),\n    oneToNine = digitRegex(loc, \"{1,9}\"),\n    twoToFour = digitRegex(loc, \"{2,4}\"),\n    fourToSix = digitRegex(loc, \"{4,6}\"),\n    literal = t => ({\n      regex: RegExp(escapeToken(t.val)),\n      deser: ([s]) => s,\n      literal: true\n    }),\n    unitate = t => {\n      if (token.literal) {\n        return literal(t);\n      }\n      switch (t.val) {\n        // era\n        case \"G\":\n          return oneOf(loc.eras(\"short\"), 0);\n        case \"GG\":\n          return oneOf(loc.eras(\"long\"), 0);\n        // years\n        case \"y\":\n          return intUnit(oneToSix);\n        case \"yy\":\n          return intUnit(twoToFour, untruncateYear);\n        case \"yyyy\":\n          return intUnit(four);\n        case \"yyyyy\":\n          return intUnit(fourToSix);\n        case \"yyyyyy\":\n          return intUnit(six);\n        // months\n        case \"M\":\n          return intUnit(oneOrTwo);\n        case \"MM\":\n          return intUnit(two);\n        case \"MMM\":\n          return oneOf(loc.months(\"short\", true), 1);\n        case \"MMMM\":\n          return oneOf(loc.months(\"long\", true), 1);\n        case \"L\":\n          return intUnit(oneOrTwo);\n        case \"LL\":\n          return intUnit(two);\n        case \"LLL\":\n          return oneOf(loc.months(\"short\", false), 1);\n        case \"LLLL\":\n          return oneOf(loc.months(\"long\", false), 1);\n        // dates\n        case \"d\":\n          return intUnit(oneOrTwo);\n        case \"dd\":\n          return intUnit(two);\n        // ordinals\n        case \"o\":\n          return intUnit(oneToThree);\n        case \"ooo\":\n          return intUnit(three);\n        // time\n        case \"HH\":\n          return intUnit(two);\n        case \"H\":\n          return intUnit(oneOrTwo);\n        case \"hh\":\n          return intUnit(two);\n        case \"h\":\n          return intUnit(oneOrTwo);\n        case \"mm\":\n          return intUnit(two);\n        case \"m\":\n          return intUnit(oneOrTwo);\n        case \"q\":\n          return intUnit(oneOrTwo);\n        case \"qq\":\n          return intUnit(two);\n        case \"s\":\n          return intUnit(oneOrTwo);\n        case \"ss\":\n          return intUnit(two);\n        case \"S\":\n          return intUnit(oneToThree);\n        case \"SSS\":\n          return intUnit(three);\n        case \"u\":\n          return simple(oneToNine);\n        case \"uu\":\n          return simple(oneOrTwo);\n        case \"uuu\":\n          return intUnit(one);\n        // meridiem\n        case \"a\":\n          return oneOf(loc.meridiems(), 0);\n        // weekYear (k)\n        case \"kkkk\":\n          return intUnit(four);\n        case \"kk\":\n          return intUnit(twoToFour, untruncateYear);\n        // weekNumber (W)\n        case \"W\":\n          return intUnit(oneOrTwo);\n        case \"WW\":\n          return intUnit(two);\n        // weekdays\n        case \"E\":\n        case \"c\":\n          return intUnit(one);\n        case \"EEE\":\n          return oneOf(loc.weekdays(\"short\", false), 1);\n        case \"EEEE\":\n          return oneOf(loc.weekdays(\"long\", false), 1);\n        case \"ccc\":\n          return oneOf(loc.weekdays(\"short\", true), 1);\n        case \"cccc\":\n          return oneOf(loc.weekdays(\"long\", true), 1);\n        // offset/zone\n        case \"Z\":\n        case \"ZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n        case \"ZZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n        // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n        // because we don't have any way to figure out what they are\n        case \"z\":\n          return simple(/[a-z_+-/]{1,256}?/i);\n        // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n        // in this case we accept any non-newline white-space\n        case \" \":\n          return simple(/[^\\S\\n\\r]/);\n        default:\n          return literal(t);\n      }\n    };\n  const unit = unitate(token) || {\n    invalidReason: MISSING_FTP\n  };\n  unit.token = token;\n  return unit;\n}\nconst partTypeStyleToTokenVal = {\n  year: {\n    \"2-digit\": \"yy\",\n    numeric: \"yyyyy\"\n  },\n  month: {\n    numeric: \"M\",\n    \"2-digit\": \"MM\",\n    short: \"MMM\",\n    long: \"MMMM\"\n  },\n  day: {\n    numeric: \"d\",\n    \"2-digit\": \"dd\"\n  },\n  weekday: {\n    short: \"EEE\",\n    long: \"EEEE\"\n  },\n  dayperiod: \"a\",\n  dayPeriod: \"a\",\n  hour12: {\n    numeric: \"h\",\n    \"2-digit\": \"hh\"\n  },\n  hour24: {\n    numeric: \"H\",\n    \"2-digit\": \"HH\"\n  },\n  minute: {\n    numeric: \"m\",\n    \"2-digit\": \"mm\"\n  },\n  second: {\n    numeric: \"s\",\n    \"2-digit\": \"ss\"\n  },\n  timeZoneName: {\n    long: \"ZZZZZ\",\n    short: \"ZZZ\"\n  }\n};\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n  const {\n    type,\n    value\n  } = part;\n  if (type === \"literal\") {\n    const isSpace = /^\\s+$/.test(value);\n    return {\n      literal: !isSpace,\n      val: isSpace ? \" \" : value\n    };\n  }\n  const style = formatOpts[type];\n\n  // The user might have explicitly specified hour12 or hourCycle\n  // if so, respect their decision\n  // if not, refer back to the resolvedOpts, which are based on the locale\n  let actualType = type;\n  if (type === \"hour\") {\n    if (formatOpts.hour12 != null) {\n      actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n    } else if (formatOpts.hourCycle != null) {\n      if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n        actualType = \"hour12\";\n      } else {\n        actualType = \"hour24\";\n      }\n    } else {\n      // tokens only differentiate between 24 hours or not,\n      // so we do not need to check hourCycle here, which is less supported anyways\n      actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n    }\n  }\n  let val = partTypeStyleToTokenVal[actualType];\n  if (typeof val === \"object\") {\n    val = val[style];\n  }\n  if (val) {\n    return {\n      literal: false,\n      val\n    };\n  }\n  return undefined;\n}\nfunction buildRegex(units) {\n  const re = units.map(u => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n  return [`^${re}$`, units];\n}\nfunction match(input, regex, handlers) {\n  const matches = input.match(regex);\n  if (matches) {\n    const all = {};\n    let matchIndex = 1;\n    for (const i in handlers) {\n      if (hasOwnProperty(handlers, i)) {\n        const h = handlers[i],\n          groups = h.groups ? h.groups + 1 : 1;\n        if (!h.literal && h.token) {\n          all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n        }\n        matchIndex += groups;\n      }\n    }\n    return [matches, all];\n  } else {\n    return [matches, {}];\n  }\n}\nfunction dateTimeFromMatches(matches) {\n  const toField = token => {\n    switch (token) {\n      case \"S\":\n        return \"millisecond\";\n      case \"s\":\n        return \"second\";\n      case \"m\":\n        return \"minute\";\n      case \"h\":\n      case \"H\":\n        return \"hour\";\n      case \"d\":\n        return \"day\";\n      case \"o\":\n        return \"ordinal\";\n      case \"L\":\n      case \"M\":\n        return \"month\";\n      case \"y\":\n        return \"year\";\n      case \"E\":\n      case \"c\":\n        return \"weekday\";\n      case \"W\":\n        return \"weekNumber\";\n      case \"k\":\n        return \"weekYear\";\n      case \"q\":\n        return \"quarter\";\n      default:\n        return null;\n    }\n  };\n  let zone = null;\n  let specificOffset;\n  if (!isUndefined(matches.z)) {\n    zone = IANAZone.create(matches.z);\n  }\n  if (!isUndefined(matches.Z)) {\n    if (!zone) {\n      zone = new FixedOffsetZone(matches.Z);\n    }\n    specificOffset = matches.Z;\n  }\n  if (!isUndefined(matches.q)) {\n    matches.M = (matches.q - 1) * 3 + 1;\n  }\n  if (!isUndefined(matches.h)) {\n    if (matches.h < 12 && matches.a === 1) {\n      matches.h += 12;\n    } else if (matches.h === 12 && matches.a === 0) {\n      matches.h = 0;\n    }\n  }\n  if (matches.G === 0 && matches.y) {\n    matches.y = -matches.y;\n  }\n  if (!isUndefined(matches.u)) {\n    matches.S = parseMillis(matches.u);\n  }\n  const vals = Object.keys(matches).reduce((r, k) => {\n    const f = toField(k);\n    if (f) {\n      r[f] = matches[k];\n    }\n    return r;\n  }, {});\n  return [vals, zone, specificOffset];\n}\nlet dummyDateTimeCache = null;\nfunction getDummyDateTime() {\n  if (!dummyDateTimeCache) {\n    dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n  }\n  return dummyDateTimeCache;\n}\nfunction maybeExpandMacroToken(token, locale) {\n  if (token.literal) {\n    return token;\n  }\n  const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n  const tokens = formatOptsToTokens(formatOpts, locale);\n  if (tokens == null || tokens.includes(undefined)) {\n    return token;\n  }\n  return tokens;\n}\nfunction expandMacroTokens(tokens, locale) {\n  return Array.prototype.concat(...tokens.map(t => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nclass TokenParser {\n  constructor(locale, format) {\n    this.locale = locale;\n    this.format = format;\n    this.tokens = expandMacroTokens(Formatter.parseFormat(format), locale);\n    this.units = this.tokens.map(t => unitForToken(t, locale));\n    this.disqualifyingUnit = this.units.find(t => t.invalidReason);\n    if (!this.disqualifyingUnit) {\n      const [regexString, handlers] = buildRegex(this.units);\n      this.regex = RegExp(regexString, \"i\");\n      this.handlers = handlers;\n    }\n  }\n  explainFromTokens(input) {\n    if (!this.isValid) {\n      return {\n        input,\n        tokens: this.tokens,\n        invalidReason: this.invalidReason\n      };\n    } else {\n      const [rawMatches, matches] = match(input, this.regex, this.handlers),\n        [result, zone, specificOffset] = matches ? dateTimeFromMatches(matches) : [null, null, undefined];\n      if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n        throw new ConflictingSpecificationError(\"Can't include meridiem when specifying 24-hour format\");\n      }\n      return {\n        input,\n        tokens: this.tokens,\n        regex: this.regex,\n        rawMatches,\n        matches,\n        result,\n        zone,\n        specificOffset\n      };\n    }\n  }\n  get isValid() {\n    return !this.disqualifyingUnit;\n  }\n  get invalidReason() {\n    return this.disqualifyingUnit ? this.disqualifyingUnit.invalidReason : null;\n  }\n}\nfunction explainFromTokens(locale, input, format) {\n  const parser = new TokenParser(locale, format);\n  return parser.explainFromTokens(input);\n}\nfunction parseFromTokens(locale, input, format) {\n  const {\n    result,\n    zone,\n    specificOffset,\n    invalidReason\n  } = explainFromTokens(locale, input, format);\n  return [result, zone, specificOffset, invalidReason];\n}\nfunction formatOptsToTokens(formatOpts, locale) {\n  if (!formatOpts) {\n    return null;\n  }\n  const formatter = Formatter.create(locale, formatOpts);\n  const df = formatter.dtFormatter(getDummyDateTime());\n  const parts = df.formatToParts();\n  const resolvedOpts = df.resolvedOptions();\n  return parts.map(p => tokenForPart(p, formatOpts, resolvedOpts));\n}\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\nfunction unsupportedZone(zone) {\n  return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedWeekData(dt) {\n  if (dt.weekData === null) {\n    dt.weekData = gregorianToWeek(dt.c);\n  }\n  return dt.weekData;\n}\n\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedLocalWeekData(dt) {\n  if (dt.localWeekData === null) {\n    dt.localWeekData = gregorianToWeek(dt.c, dt.loc.getMinDaysInFirstWeek(), dt.loc.getStartOfWeek());\n  }\n  return dt.localWeekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n  const current = {\n    ts: inst.ts,\n    zone: inst.zone,\n    c: inst.c,\n    o: inst.o,\n    loc: inst.loc,\n    invalid: inst.invalid\n  };\n  return new DateTime({\n    ...current,\n    ...alts,\n    old: current\n  });\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n  // Our UTC time is just a guess because our offset is just a guess\n  let utcGuess = localTS - o * 60 * 1000;\n\n  // Test whether the zone matches the offset for this ts\n  const o2 = tz.offset(utcGuess);\n\n  // If so, offset didn't change and we're done\n  if (o === o2) {\n    return [utcGuess, o];\n  }\n\n  // If not, change the ts by the difference in the offset\n  utcGuess -= (o2 - o) * 60 * 1000;\n\n  // If that gives us the local time we want, we're done\n  const o3 = tz.offset(utcGuess);\n  if (o2 === o3) {\n    return [utcGuess, o2];\n  }\n\n  // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n  return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n  ts += offset * 60 * 1000;\n  const d = new Date(ts);\n  return {\n    year: d.getUTCFullYear(),\n    month: d.getUTCMonth() + 1,\n    day: d.getUTCDate(),\n    hour: d.getUTCHours(),\n    minute: d.getUTCMinutes(),\n    second: d.getUTCSeconds(),\n    millisecond: d.getUTCMilliseconds()\n  };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n  return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n  const oPre = inst.o,\n    year = inst.c.year + Math.trunc(dur.years),\n    month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n    c = {\n      ...inst.c,\n      year,\n      month,\n      day: Math.min(inst.c.day, daysInMonth(year, month)) + Math.trunc(dur.days) + Math.trunc(dur.weeks) * 7\n    },\n    millisToAdd = Duration.fromObject({\n      years: dur.years - Math.trunc(dur.years),\n      quarters: dur.quarters - Math.trunc(dur.quarters),\n      months: dur.months - Math.trunc(dur.months),\n      weeks: dur.weeks - Math.trunc(dur.weeks),\n      days: dur.days - Math.trunc(dur.days),\n      hours: dur.hours,\n      minutes: dur.minutes,\n      seconds: dur.seconds,\n      milliseconds: dur.milliseconds\n    }).as(\"milliseconds\"),\n    localTS = objToLocalTS(c);\n  let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n  if (millisToAdd !== 0) {\n    ts += millisToAdd;\n    // that could have changed the offset by going over a DST, but we want to keep the ts the same\n    o = inst.zone.offset(ts);\n  }\n  return {\n    ts,\n    o\n  };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n  const {\n    setZone,\n    zone\n  } = opts;\n  if (parsed && Object.keys(parsed).length !== 0 || parsedZone) {\n    const interpretationZone = parsedZone || zone,\n      inst = DateTime.fromObject(parsed, {\n        ...opts,\n        zone: interpretationZone,\n        specificOffset\n      });\n    return setZone ? inst : inst.setZone(zone);\n  } else {\n    return DateTime.invalid(new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`));\n  }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n  return dt.isValid ? Formatter.create(Locale.create(\"en-US\"), {\n    allowZ,\n    forceSimple: true\n  }).formatDateTimeFromString(dt, format) : null;\n}\nfunction toISODate(o, extended) {\n  const longFormat = o.c.year > 9999 || o.c.year < 0;\n  let c = \"\";\n  if (longFormat && o.c.year >= 0) c += \"+\";\n  c += padStart(o.c.year, longFormat ? 6 : 4);\n  if (extended) {\n    c += \"-\";\n    c += padStart(o.c.month);\n    c += \"-\";\n    c += padStart(o.c.day);\n  } else {\n    c += padStart(o.c.month);\n    c += padStart(o.c.day);\n  }\n  return c;\n}\nfunction toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone) {\n  let c = padStart(o.c.hour);\n  if (extended) {\n    c += \":\";\n    c += padStart(o.c.minute);\n    if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n      c += \":\";\n    }\n  } else {\n    c += padStart(o.c.minute);\n  }\n  if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n    c += padStart(o.c.second);\n    if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n      c += \".\";\n      c += padStart(o.c.millisecond, 3);\n    }\n  }\n  if (includeOffset) {\n    if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n      c += \"Z\";\n    } else if (o.o < 0) {\n      c += \"-\";\n      c += padStart(Math.trunc(-o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(-o.o % 60));\n    } else {\n      c += \"+\";\n      c += padStart(Math.trunc(o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(o.o % 60));\n    }\n  }\n  if (extendedZone) {\n    c += \"[\" + o.zone.ianaName + \"]\";\n  }\n  return c;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n    month: 1,\n    day: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  },\n  defaultWeekUnitValues = {\n    weekNumber: 1,\n    weekday: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  },\n  defaultOrdinalUnitValues = {\n    ordinal: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedWeekUnits = [\"weekYear\", \"weekNumber\", \"weekday\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n  const normalized = {\n    year: \"year\",\n    years: \"year\",\n    month: \"month\",\n    months: \"month\",\n    day: \"day\",\n    days: \"day\",\n    hour: \"hour\",\n    hours: \"hour\",\n    minute: \"minute\",\n    minutes: \"minute\",\n    quarter: \"quarter\",\n    quarters: \"quarter\",\n    second: \"second\",\n    seconds: \"second\",\n    millisecond: \"millisecond\",\n    milliseconds: \"millisecond\",\n    weekday: \"weekday\",\n    weekdays: \"weekday\",\n    weeknumber: \"weekNumber\",\n    weeksnumber: \"weekNumber\",\n    weeknumbers: \"weekNumber\",\n    weekyear: \"weekYear\",\n    weekyears: \"weekYear\",\n    ordinal: \"ordinal\"\n  }[unit.toLowerCase()];\n  if (!normalized) throw new InvalidUnitError(unit);\n  return normalized;\n}\nfunction normalizeUnitWithLocalWeeks(unit) {\n  switch (unit.toLowerCase()) {\n    case \"localweekday\":\n    case \"localweekdays\":\n      return \"localWeekday\";\n    case \"localweeknumber\":\n    case \"localweeknumbers\":\n      return \"localWeekNumber\";\n    case \"localweekyear\":\n    case \"localweekyears\":\n      return \"localWeekYear\";\n    default:\n      return normalizeUnit(unit);\n  }\n}\n\n// cache offsets for zones based on the current timestamp when this function is\n// first called. When we are handling a datetime from components like (year,\n// month, day, hour) in a time zone, we need a guess about what the timezone\n// offset is so that we can convert into a UTC timestamp. One way is to find the\n// offset of now in the zone. The actual date may have a different offset (for\n// example, if we handle a date in June while we're in December in a zone that\n// observes DST), but we can check and adjust that.\n//\n// When handling many dates, calculating the offset for now every time is\n// expensive. It's just a guess, so we can cache the offset to use even if we\n// are right on a time change boundary (we'll just correct in the other\n// direction). Using a timestamp from first read is a slight optimization for\n// handling dates close to the current date, since those dates will usually be\n// in the same offset (we could set the timestamp statically, instead). We use a\n// single timestamp for all zones to make things a bit more predictable.\n//\n// This is safe for quickDT (used by local() and utc()) because we don't fill in\n// higher-order units from tsNow (as we do in fromObject, this requires that\n// offset is calculated from tsNow).\nfunction guessOffsetForZone(zone) {\n  if (!zoneOffsetGuessCache[zone]) {\n    if (zoneOffsetTs === undefined) {\n      zoneOffsetTs = Settings.now();\n    }\n    zoneOffsetGuessCache[zone] = zone.offset(zoneOffsetTs);\n  }\n  return zoneOffsetGuessCache[zone];\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n  const zone = normalizeZone(opts.zone, Settings.defaultZone);\n  if (!zone.isValid) {\n    return DateTime.invalid(unsupportedZone(zone));\n  }\n  const loc = Locale.fromObject(opts);\n  let ts, o;\n\n  // assume we have the higher-order units\n  if (!isUndefined(obj.year)) {\n    for (const u of orderedUnits) {\n      if (isUndefined(obj[u])) {\n        obj[u] = defaultUnitValues[u];\n      }\n    }\n    const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n    const offsetProvis = guessOffsetForZone(zone);\n    [ts, o] = objToTS(obj, offsetProvis, zone);\n  } else {\n    ts = Settings.now();\n  }\n  return new DateTime({\n    ts,\n    zone,\n    loc,\n    o\n  });\n}\nfunction diffRelative(start, end, opts) {\n  const round = isUndefined(opts.round) ? true : opts.round,\n    format = (c, unit) => {\n      c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n      const formatter = end.loc.clone(opts).relFormatter(opts);\n      return formatter.format(c, unit);\n    },\n    differ = unit => {\n      if (opts.calendary) {\n        if (!end.hasSame(start, unit)) {\n          return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n        } else return 0;\n      } else {\n        return end.diff(start, unit).get(unit);\n      }\n    };\n  if (opts.unit) {\n    return format(differ(opts.unit), opts.unit);\n  }\n  for (const unit of opts.units) {\n    const count = differ(unit);\n    if (Math.abs(count) >= 1) {\n      return format(count, unit);\n    }\n  }\n  return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\nfunction lastOpts(argList) {\n  let opts = {},\n    args;\n  if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n    opts = argList[argList.length - 1];\n    args = Array.from(argList).slice(0, argList.length - 1);\n  } else {\n    args = Array.from(argList);\n  }\n  return [opts, args];\n}\n\n/**\n * Timestamp to use for cached zone offset guesses (exposed for test)\n */\nlet zoneOffsetTs;\n/**\n * Cache for zone offset guesses (exposed for test).\n *\n * This optimizes quickDT via guessOffsetForZone to avoid repeated calls of\n * zone.offset().\n */\nlet zoneOffsetGuessCache = {};\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nclass DateTime {\n  /**\n   * @access private\n   */\n  constructor(config) {\n    const zone = config.zone || Settings.defaultZone;\n    let invalid = config.invalid || (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) || (!zone.isValid ? unsupportedZone(zone) : null);\n    /**\n     * @access private\n     */\n    this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n    let c = null,\n      o = null;\n    if (!invalid) {\n      const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n      if (unchanged) {\n        [c, o] = [config.old.c, config.old.o];\n      } else {\n        // If an offset has been passed and we have not been called from\n        // clone(), we can trust it and avoid the offset calculation.\n        const ot = isNumber(config.o) && !config.old ? config.o : zone.offset(this.ts);\n        c = tsToObj(this.ts, ot);\n        invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n        c = invalid ? null : c;\n        o = invalid ? null : ot;\n      }\n    }\n\n    /**\n     * @access private\n     */\n    this._zone = zone;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.invalid = invalid;\n    /**\n     * @access private\n     */\n    this.weekData = null;\n    /**\n     * @access private\n     */\n    this.localWeekData = null;\n    /**\n     * @access private\n     */\n    this.c = c;\n    /**\n     * @access private\n     */\n    this.o = o;\n    /**\n     * @access private\n     */\n    this.isLuxonDateTime = true;\n  }\n\n  // CONSTRUCT\n\n  /**\n   * Create a DateTime for the current instant, in the system's time zone.\n   *\n   * Use Settings to override these default values if needed.\n   * @example DateTime.now().toISO() //~> now in the ISO format\n   * @return {DateTime}\n   */\n  static now() {\n    return new DateTime({});\n  }\n\n  /**\n   * Create a local DateTime\n   * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month, 1-indexed\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @example DateTime.local()                                  //~> now\n   * @example DateTime.local({ zone: \"America/New_York\" })      //~> now, in US east coast time\n   * @example DateTime.local(2017)                              //~> 2017-01-01T00:00:00\n   * @example DateTime.local(2017, 3)                           //~> 2017-03-01T00:00:00\n   * @example DateTime.local(2017, 3, 12, { locale: \"fr\" })     //~> 2017-03-12T00:00:00, with a French locale\n   * @example DateTime.local(2017, 3, 12, 5)                    //~> 2017-03-12T05:00:00\n   * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" })   //~> 2017-03-12T05:00:00, in UTC\n   * @example DateTime.local(2017, 3, 12, 5, 45)                //~> 2017-03-12T05:45:00\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10)            //~> 2017-03-12T05:45:10\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765)       //~> 2017-03-12T05:45:10.765\n   * @return {DateTime}\n   */\n  static local() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n    return quickDT({\n      year,\n      month,\n      day,\n      hour,\n      minute,\n      second,\n      millisecond\n    }, opts);\n  }\n\n  /**\n   * Create a DateTime in UTC\n   * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @param {string} [options.weekSettings] - the week settings to set on the resulting DateTime instance\n   * @example DateTime.utc()                                              //~> now\n   * @example DateTime.utc(2017)                                          //~> 2017-01-01T00:00:00Z\n   * @example DateTime.utc(2017, 3)                                       //~> 2017-03-01T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12)                                   //~> 2017-03-12T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5)                                //~> 2017-03-12T05:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45)                            //~> 2017-03-12T05:45:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" })          //~> 2017-03-12T05:45:00Z with a French locale\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10)                        //~> 2017-03-12T05:45:10Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n   * @return {DateTime}\n   */\n  static utc() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n    opts.zone = FixedOffsetZone.utcInstance;\n    return quickDT({\n      year,\n      month,\n      day,\n      hour,\n      minute,\n      second,\n      millisecond\n    }, opts);\n  }\n\n  /**\n   * Create a DateTime from a JavaScript Date object. Uses the default zone.\n   * @param {Date} date - a JavaScript Date object\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @return {DateTime}\n   */\n  static fromJSDate(date, options = {}) {\n    const ts = isDate(date) ? date.valueOf() : NaN;\n    if (Number.isNaN(ts)) {\n      return DateTime.invalid(\"invalid input\");\n    }\n    const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n    return new DateTime({\n      ts: ts,\n      zone: zoneToUse,\n      loc: Locale.fromObject(options)\n    });\n  }\n\n  /**\n   * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromMillis(milliseconds, options = {}) {\n    if (!isNumber(milliseconds)) {\n      throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`);\n    } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n      // this isn't perfect because we can still end up out of range because of additional shifting, but it's a start\n      return DateTime.invalid(\"Timestamp out of range\");\n    } else {\n      return new DateTime({\n        ts: milliseconds,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options)\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} seconds - a number of seconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromSeconds(seconds, options = {}) {\n    if (!isNumber(seconds)) {\n      throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n    } else {\n      return new DateTime({\n        ts: seconds * 1000,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options)\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.year - a year, such as 1987\n   * @param {number} obj.month - a month, 1-12\n   * @param {number} obj.day - a day of the month, 1-31, depending on the month\n   * @param {number} obj.ordinal - day of the year, 1-365 or 366\n   * @param {number} obj.weekYear - an ISO week year\n   * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n   * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n   * @param {number} obj.localWeekYear - a week year, according to the locale\n   * @param {number} obj.localWeekNumber - a week number, between 1 and 52 or 53, depending on the year, according to the locale\n   * @param {number} obj.localWeekday - a weekday, 1-7, where 1 is the first and 7 is the last day of the week, according to the locale\n   * @param {number} obj.hour - hour of the day, 0-23\n   * @param {number} obj.minute - minute of the hour, 0-59\n   * @param {number} obj.second - second of the minute, 0-59\n   * @param {number} obj.millisecond - millisecond of the second, 0-999\n   * @param {Object} opts - options for creating this DateTime\n   * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n   * @param {string} [opts.locale='system\\'s locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n   * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n   * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n   * @example DateTime.fromObject({ localWeekYear: 2022, localWeekNumber: 1, localWeekday: 1 }, { locale: \"en-US\" }).toISODate() //=> '2021-12-26'\n   * @return {DateTime}\n   */\n  static fromObject(obj, opts = {}) {\n    obj = obj || {};\n    const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n    const loc = Locale.fromObject(opts);\n    const normalized = normalizeObject(obj, normalizeUnitWithLocalWeeks);\n    const {\n      minDaysInFirstWeek,\n      startOfWeek\n    } = usesLocalWeekValues(normalized, loc);\n    const tsNow = Settings.now(),\n      offsetProvis = !isUndefined(opts.specificOffset) ? opts.specificOffset : zoneToUse.offset(tsNow),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n    // cases:\n    // just a weekday -> this week's instance of that weekday, no worries\n    // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n    // (gregorian month or day) + ordinal -> error\n    // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\"Can't mix weekYear/weekNumber units with year/month/day or ordinals\");\n    }\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n    const useWeekData = definiteWeekDef || normalized.weekday && !containsGregor;\n\n    // configure ourselves to deal with gregorian dates or week stuff\n    let units,\n      defaultValues,\n      objNow = tsToObj(tsNow, offsetProvis);\n    if (useWeekData) {\n      units = orderedWeekUnits;\n      defaultValues = defaultWeekUnitValues;\n      objNow = gregorianToWeek(objNow, minDaysInFirstWeek, startOfWeek);\n    } else if (containsOrdinal) {\n      units = orderedOrdinalUnits;\n      defaultValues = defaultOrdinalUnitValues;\n      objNow = gregorianToOrdinal(objNow);\n    } else {\n      units = orderedUnits;\n      defaultValues = defaultUnitValues;\n    }\n\n    // set default values for missing stuff\n    let foundFirst = false;\n    for (const u of units) {\n      const v = normalized[u];\n      if (!isUndefined(v)) {\n        foundFirst = true;\n      } else if (foundFirst) {\n        normalized[u] = defaultValues[u];\n      } else {\n        normalized[u] = objNow[u];\n      }\n    }\n\n    // make sure the values we have are in range\n    const higherOrderInvalid = useWeekData ? hasInvalidWeekData(normalized, minDaysInFirstWeek, startOfWeek) : containsOrdinal ? hasInvalidOrdinalData(normalized) : hasInvalidGregorianData(normalized),\n      invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    // compute the actual time\n    const gregorian = useWeekData ? weekToGregorian(normalized, minDaysInFirstWeek, startOfWeek) : containsOrdinal ? ordinalToGregorian(normalized) : normalized,\n      [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n      inst = new DateTime({\n        ts: tsFinal,\n        zone: zoneToUse,\n        o: offsetFinal,\n        loc\n      });\n\n    // gregorian data + weekday serves only to validate\n    if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n      return DateTime.invalid(\"mismatched weekday\", `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`);\n    }\n    if (!inst.isValid) {\n      return DateTime.invalid(inst.invalid);\n    }\n    return inst;\n  }\n\n  /**\n   * Create a DateTime from an ISO 8601 string\n   * @param {string} text - the ISO string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @param {string} [opts.weekSettings] - the week settings to set on the resulting DateTime instance\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n   * @example DateTime.fromISO('2016-W05-4')\n   * @return {DateTime}\n   */\n  static fromISO(text, opts = {}) {\n    const [vals, parsedZone] = parseISODate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n  }\n\n  /**\n   * Create a DateTime from an RFC 2822 string\n   * @param {string} text - the RFC 2822 string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n   * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n   * @return {DateTime}\n   */\n  static fromRFC2822(text, opts = {}) {\n    const [vals, parsedZone] = parseRFC2822Date(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n  }\n\n  /**\n   * Create a DateTime from an HTTP header date\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @param {string} text - the HTTP header date\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sun Nov  6 08:49:37 1994')\n   * @return {DateTime}\n   */\n  static fromHTTP(text, opts = {}) {\n    const [vals, parsedZone] = parseHTTPDate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n  }\n\n  /**\n   * Create a DateTime from an input string and format string.\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromFormat(text, fmt, opts = {}) {\n    if (isUndefined(text) || isUndefined(fmt)) {\n      throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n    }\n    const {\n        locale = null,\n        numberingSystem = null\n      } = opts,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true\n      }),\n      [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    } else {\n      return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);\n    }\n  }\n\n  /**\n   * @deprecated use fromFormat instead\n   */\n  static fromString(text, fmt, opts = {}) {\n    return DateTime.fromFormat(text, fmt, opts);\n  }\n\n  /**\n   * Create a DateTime from a SQL date, time, or datetime\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale\n   * @param {string} text - the string to parse\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @example DateTime.fromSQL('2017-05-15')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n   * @example DateTime.fromSQL('09:12:34.342')\n   * @return {DateTime}\n   */\n  static fromSQL(text, opts = {}) {\n    const [vals, parsedZone] = parseSQL(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n  }\n\n  /**\n   * Create an invalid DateTime.\n   * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {DateTime}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n    }\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDateTimeError(invalid);\n    } else {\n      return new DateTime({\n        invalid\n      });\n    }\n  }\n\n  /**\n   * Check if an object is an instance of DateTime. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDateTime(o) {\n    return o && o.isLuxonDateTime || false;\n  }\n\n  /**\n   * Produce the format string for a set of options\n   * @param formatOpts\n   * @param localeOpts\n   * @returns {string}\n   */\n  static parseFormatForOpts(formatOpts, localeOpts = {}) {\n    const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n    return !tokenList ? null : tokenList.map(t => t ? t.val : null).join(\"\");\n  }\n\n  /**\n   * Produce the the fully expanded format token for the locale\n   * Does NOT quote characters, so quoted tokens will not round trip correctly\n   * @param fmt\n   * @param localeOpts\n   * @returns {string}\n   */\n  static expandFormat(fmt, localeOpts = {}) {\n    const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n    return expanded.map(t => t.val).join(\"\");\n  }\n  static resetCache() {\n    zoneOffsetTs = undefined;\n    zoneOffsetGuessCache = {};\n  }\n\n  // INFO\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n   * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n   * @return {number}\n   */\n  get(unit) {\n    return this[unit];\n  }\n\n  /**\n   * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n   * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n   * * The DateTime was created by an operation on another invalid date\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get outputCalendar() {\n    return this.isValid ? this.loc.outputCalendar : null;\n  }\n\n  /**\n   * Get the time zone associated with this DateTime.\n   * @type {Zone}\n   */\n  get zone() {\n    return this._zone;\n  }\n\n  /**\n   * Get the name of the time zone.\n   * @type {string}\n   */\n  get zoneName() {\n    return this.isValid ? this.zone.name : null;\n  }\n\n  /**\n   * Get the year\n   * @example DateTime.local(2017, 5, 25).year //=> 2017\n   * @type {number}\n   */\n  get year() {\n    return this.isValid ? this.c.year : NaN;\n  }\n\n  /**\n   * Get the quarter\n   * @example DateTime.local(2017, 5, 25).quarter //=> 2\n   * @type {number}\n   */\n  get quarter() {\n    return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n  }\n\n  /**\n   * Get the month (1-12).\n   * @example DateTime.local(2017, 5, 25).month //=> 5\n   * @type {number}\n   */\n  get month() {\n    return this.isValid ? this.c.month : NaN;\n  }\n\n  /**\n   * Get the day of the month (1-30ish).\n   * @example DateTime.local(2017, 5, 25).day //=> 25\n   * @type {number}\n   */\n  get day() {\n    return this.isValid ? this.c.day : NaN;\n  }\n\n  /**\n   * Get the hour of the day (0-23).\n   * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n   * @type {number}\n   */\n  get hour() {\n    return this.isValid ? this.c.hour : NaN;\n  }\n\n  /**\n   * Get the minute of the hour (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n   * @type {number}\n   */\n  get minute() {\n    return this.isValid ? this.c.minute : NaN;\n  }\n\n  /**\n   * Get the second of the minute (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n   * @type {number}\n   */\n  get second() {\n    return this.isValid ? this.c.second : NaN;\n  }\n\n  /**\n   * Get the millisecond of the second (0-999).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n   * @type {number}\n   */\n  get millisecond() {\n    return this.isValid ? this.c.millisecond : NaN;\n  }\n\n  /**\n   * Get the week year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n   * @type {number}\n   */\n  get weekYear() {\n    return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n  }\n\n  /**\n   * Get the week number of the week year (1-52ish).\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n   * @type {number}\n   */\n  get weekNumber() {\n    return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n  }\n\n  /**\n   * Get the day of the week.\n   * 1 is Monday and 7 is Sunday\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 11, 31).weekday //=> 4\n   * @type {number}\n   */\n  get weekday() {\n    return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n  }\n\n  /**\n   * Returns true if this date is on a weekend according to the locale, false otherwise\n   * @returns {boolean}\n   */\n  get isWeekend() {\n    return this.isValid && this.loc.getWeekendDays().includes(this.weekday);\n  }\n\n  /**\n   * Get the day of the week according to the locale.\n   * 1 is the first day of the week and 7 is the last day of the week.\n   * If the locale assigns Sunday as the first day of the week, then a date which is a Sunday will return 1,\n   * @returns {number}\n   */\n  get localWeekday() {\n    return this.isValid ? possiblyCachedLocalWeekData(this).weekday : NaN;\n  }\n\n  /**\n   * Get the week number of the week year according to the locale. Different locales assign week numbers differently,\n   * because the week can start on different days of the week (see localWeekday) and because a different number of days\n   * is required for a week to count as the first week of a year.\n   * @returns {number}\n   */\n  get localWeekNumber() {\n    return this.isValid ? possiblyCachedLocalWeekData(this).weekNumber : NaN;\n  }\n\n  /**\n   * Get the week year according to the locale. Different locales assign week numbers (and therefor week years)\n   * differently, see localWeekNumber.\n   * @returns {number}\n   */\n  get localWeekYear() {\n    return this.isValid ? possiblyCachedLocalWeekData(this).weekYear : NaN;\n  }\n\n  /**\n   * Get the ordinal (meaning the day of the year)\n   * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n   * @type {number|DateTime}\n   */\n  get ordinal() {\n    return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n  }\n\n  /**\n   * Get the human readable short month name, such as 'Oct'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n   * @type {string}\n   */\n  get monthShort() {\n    return this.isValid ? Info.months(\"short\", {\n      locObj: this.loc\n    })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable long month name, such as 'October'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthLong //=> October\n   * @type {string}\n   */\n  get monthLong() {\n    return this.isValid ? Info.months(\"long\", {\n      locObj: this.loc\n    })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable short weekday, such as 'Mon'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n   * @type {string}\n   */\n  get weekdayShort() {\n    return this.isValid ? Info.weekdays(\"short\", {\n      locObj: this.loc\n    })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the human readable long weekday, such as 'Monday'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n   * @type {string}\n   */\n  get weekdayLong() {\n    return this.isValid ? Info.weekdays(\"long\", {\n      locObj: this.loc\n    })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the UTC offset of this DateTime in minutes\n   * @example DateTime.now().offset //=> -240\n   * @example DateTime.utc().offset //=> 0\n   * @type {number}\n   */\n  get offset() {\n    return this.isValid ? +this.o : NaN;\n  }\n\n  /**\n   * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameShort() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"short\",\n        locale: this.locale\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameLong() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"long\",\n        locale: this.locale\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get whether this zone's offset ever changes, as in a DST.\n   * @type {boolean}\n   */\n  get isOffsetFixed() {\n    return this.isValid ? this.zone.isUniversal : null;\n  }\n\n  /**\n   * Get whether the DateTime is in a DST.\n   * @type {boolean}\n   */\n  get isInDST() {\n    if (this.isOffsetFixed) {\n      return false;\n    } else {\n      return this.offset > this.set({\n        month: 1,\n        day: 1\n      }).offset || this.offset > this.set({\n        month: 5\n      }).offset;\n    }\n  }\n\n  /**\n   * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n   * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n   * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n   * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n   * @returns {DateTime[]}\n   */\n  getPossibleOffsets() {\n    if (!this.isValid || this.isOffsetFixed) {\n      return [this];\n    }\n    const dayMs = 86400000;\n    const minuteMs = 60000;\n    const localTS = objToLocalTS(this.c);\n    const oEarlier = this.zone.offset(localTS - dayMs);\n    const oLater = this.zone.offset(localTS + dayMs);\n    const o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n    const o2 = this.zone.offset(localTS - oLater * minuteMs);\n    if (o1 === o2) {\n      return [this];\n    }\n    const ts1 = localTS - o1 * minuteMs;\n    const ts2 = localTS - o2 * minuteMs;\n    const c1 = tsToObj(ts1, o1);\n    const c2 = tsToObj(ts2, o2);\n    if (c1.hour === c2.hour && c1.minute === c2.minute && c1.second === c2.second && c1.millisecond === c2.millisecond) {\n      return [clone(this, {\n        ts: ts1\n      }), clone(this, {\n        ts: ts2\n      })];\n    }\n    return [this];\n  }\n\n  /**\n   * Returns true if this DateTime is in a leap year, false otherwise\n   * @example DateTime.local(2016).isInLeapYear //=> true\n   * @example DateTime.local(2013).isInLeapYear //=> false\n   * @type {boolean}\n   */\n  get isInLeapYear() {\n    return isLeapYear(this.year);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's month\n   * @example DateTime.local(2016, 2).daysInMonth //=> 29\n   * @example DateTime.local(2016, 3).daysInMonth //=> 31\n   * @type {number}\n   */\n  get daysInMonth() {\n    return daysInMonth(this.year, this.month);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's year\n   * @example DateTime.local(2016).daysInYear //=> 366\n   * @example DateTime.local(2013).daysInYear //=> 365\n   * @type {number}\n   */\n  get daysInYear() {\n    return this.isValid ? daysInYear(this.year) : NaN;\n  }\n\n  /**\n   * Returns the number of weeks in this DateTime's year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2004).weeksInWeekYear //=> 53\n   * @example DateTime.local(2013).weeksInWeekYear //=> 52\n   * @type {number}\n   */\n  get weeksInWeekYear() {\n    return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n  }\n\n  /**\n   * Returns the number of weeks in this DateTime's local week year\n   * @example DateTime.local(2020, 6, {locale: 'en-US'}).weeksInLocalWeekYear //=> 52\n   * @example DateTime.local(2020, 6, {locale: 'de-DE'}).weeksInLocalWeekYear //=> 53\n   * @type {number}\n   */\n  get weeksInLocalWeekYear() {\n    return this.isValid ? weeksInWeekYear(this.localWeekYear, this.loc.getMinDaysInFirstWeek(), this.loc.getStartOfWeek()) : NaN;\n  }\n\n  /**\n   * Returns the resolved Intl options for this DateTime.\n   * This is useful in understanding the behavior of formatting methods\n   * @param {Object} opts - the same options as toLocaleString\n   * @return {Object}\n   */\n  resolvedLocaleOptions(opts = {}) {\n    const {\n      locale,\n      numberingSystem,\n      calendar\n    } = Formatter.create(this.loc.clone(opts), opts).resolvedOptions(this);\n    return {\n      locale,\n      numberingSystem,\n      outputCalendar: calendar\n    };\n  }\n\n  // TRANSFORM\n\n  /**\n   * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to {@link DateTime#setZone}('utc')\n   * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n   * @param {Object} [opts={}] - options to pass to `setZone()`\n   * @return {DateTime}\n   */\n  toUTC(offset = 0, opts = {}) {\n    return this.setZone(FixedOffsetZone.instance(offset), opts);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to `setZone('local')`\n   * @return {DateTime}\n   */\n  toLocal() {\n    return this.setZone(Settings.defaultZone);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n   *\n   * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n   * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n   * @return {DateTime}\n   */\n  setZone(zone, {\n    keepLocalTime = false,\n    keepCalendarTime = false\n  } = {}) {\n    zone = normalizeZone(zone, Settings.defaultZone);\n    if (zone.equals(this.zone)) {\n      return this;\n    } else if (!zone.isValid) {\n      return DateTime.invalid(unsupportedZone(zone));\n    } else {\n      let newTS = this.ts;\n      if (keepLocalTime || keepCalendarTime) {\n        const offsetGuess = zone.offset(this.ts);\n        const asObj = this.toObject();\n        [newTS] = objToTS(asObj, offsetGuess, zone);\n      }\n      return clone(this, {\n        ts: newTS,\n        zone\n      });\n    }\n  }\n\n  /**\n   * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n   * @param {Object} properties - the properties to set\n   * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n   * @return {DateTime}\n   */\n  reconfigure({\n    locale,\n    numberingSystem,\n    outputCalendar\n  } = {}) {\n    const loc = this.loc.clone({\n      locale,\n      numberingSystem,\n      outputCalendar\n    });\n    return clone(this, {\n      loc\n    });\n  }\n\n  /**\n   * \"Set\" the locale. Returns a newly-constructed DateTime.\n   * Just a convenient alias for reconfigure({ locale })\n   * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n   * @return {DateTime}\n   */\n  setLocale(locale) {\n    return this.reconfigure({\n      locale\n    });\n  }\n\n  /**\n   * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n   * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n   *\n   * This method also supports setting locale-based week units, i.e. `localWeekday`, `localWeekNumber` and `localWeekYear`.\n   * They cannot be mixed with ISO-week units like `weekday`.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dt.set({ year: 2017 })\n   * @example dt.set({ hour: 8, minute: 30 })\n   * @example dt.set({ weekday: 5 })\n   * @example dt.set({ year: 2005, ordinal: 234 })\n   * @return {DateTime}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n    const normalized = normalizeObject(values, normalizeUnitWithLocalWeeks);\n    const {\n      minDaysInFirstWeek,\n      startOfWeek\n    } = usesLocalWeekValues(normalized, this.loc);\n    const settingWeekStuff = !isUndefined(normalized.weekYear) || !isUndefined(normalized.weekNumber) || !isUndefined(normalized.weekday),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\"Can't mix weekYear/weekNumber units with year/month/day or ordinals\");\n    }\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n    let mixed;\n    if (settingWeekStuff) {\n      mixed = weekToGregorian({\n        ...gregorianToWeek(this.c, minDaysInFirstWeek, startOfWeek),\n        ...normalized\n      }, minDaysInFirstWeek, startOfWeek);\n    } else if (!isUndefined(normalized.ordinal)) {\n      mixed = ordinalToGregorian({\n        ...gregorianToOrdinal(this.c),\n        ...normalized\n      });\n    } else {\n      mixed = {\n        ...this.toObject(),\n        ...normalized\n      };\n\n      // if we didn't set the day but we ended up on an overflow date,\n      // use the last day of the right month\n      if (isUndefined(normalized.day)) {\n        mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n      }\n    }\n    const [ts, o] = objToTS(mixed, this.o, this.zone);\n    return clone(this, {\n      ts,\n      o\n    });\n  }\n\n  /**\n   * Add a period of time to this DateTime and return the resulting DateTime\n   *\n   * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @example DateTime.now().plus(123) //~> in 123 milliseconds\n   * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n   * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n   * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n   * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n   * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n   * @return {DateTime}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration);\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * Subtract a period of time to this DateTime and return the resulting DateTime\n   * See {@link DateTime#plus}\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   @return {DateTime}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration).negate();\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * \"Set\" this DateTime to the beginning of a unit of time.\n   * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n   * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n   * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n   * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n   * @return {DateTime}\n   */\n  startOf(unit, {\n    useLocaleWeeks = false\n  } = {}) {\n    if (!this.isValid) return this;\n    const o = {},\n      normalizedUnit = Duration.normalizeUnit(unit);\n    switch (normalizedUnit) {\n      case \"years\":\n        o.month = 1;\n      // falls through\n      case \"quarters\":\n      case \"months\":\n        o.day = 1;\n      // falls through\n      case \"weeks\":\n      case \"days\":\n        o.hour = 0;\n      // falls through\n      case \"hours\":\n        o.minute = 0;\n      // falls through\n      case \"minutes\":\n        o.second = 0;\n      // falls through\n      case \"seconds\":\n        o.millisecond = 0;\n        break;\n      // no default, invalid units throw in normalizeUnit()\n    }\n\n    if (normalizedUnit === \"weeks\") {\n      if (useLocaleWeeks) {\n        const startOfWeek = this.loc.getStartOfWeek();\n        const {\n          weekday\n        } = this;\n        if (weekday < startOfWeek) {\n          o.weekNumber = this.weekNumber - 1;\n        }\n        o.weekday = startOfWeek;\n      } else {\n        o.weekday = 1;\n      }\n    }\n    if (normalizedUnit === \"quarters\") {\n      const q = Math.ceil(this.month / 3);\n      o.month = (q - 1) * 3 + 1;\n    }\n    return this.set(o);\n  }\n\n  /**\n   * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n   * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n   * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n   * @return {DateTime}\n   */\n  endOf(unit, opts) {\n    return this.isValid ? this.plus({\n      [unit]: 1\n    }).startOf(unit, opts).minus(1) : this;\n  }\n\n  // OUTPUT\n\n  /**\n   * Returns a string representation of this DateTime formatted according to the specified format string.\n   * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n   * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    return this.isValid ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt) : INVALID;\n  }\n\n  /**\n   * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n   * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n   * of the DateTime in the assigned locale.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n   * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n   * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n   * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n   * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n   * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n   * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n   * @return {string}\n   */\n  toLocaleString(formatOpts = DATE_SHORT, opts = {}) {\n    return this.isValid ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this) : INVALID;\n  }\n\n  /**\n   * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n   * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n   * @example DateTime.now().toLocaleParts(); //=> [\n   *                                   //=>   { type: 'day', value: '25' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'month', value: '05' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'year', value: '1982' }\n   *                                   //=> ]\n   */\n  toLocaleParts(opts = {}) {\n    return this.isValid ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this) : [];\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n   * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n   * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n   * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n   * @return {string}\n   */\n  toISO({\n    format = \"extended\",\n    suppressSeconds = false,\n    suppressMilliseconds = false,\n    includeOffset = true,\n    extendedZone = false\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n    const ext = format === \"extended\";\n    let c = toISODate(this, ext);\n    c += \"T\";\n    c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n    return c;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's date component\n   * @param {Object} opts - options\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n   * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n   * @return {string}\n   */\n  toISODate({\n    format = \"extended\"\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n    return toISODate(this, format === \"extended\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's week date\n   * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n   * @return {string}\n   */\n  toISOWeekDate() {\n    return toTechFormat(this, \"kkkk-'W'WW-c\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's time component\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n   * @return {string}\n   */\n  toISOTime({\n    suppressMilliseconds = false,\n    suppressSeconds = false,\n    includeOffset = true,\n    includePrefix = false,\n    extendedZone = false,\n    format = \"extended\"\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n    let c = includePrefix ? \"T\" : \"\";\n    return c + toISOTime(this, format === \"extended\", suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n  }\n\n  /**\n   * Returns an RFC 2822-compatible string representation of this DateTime\n   * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n   * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n   * @return {string}\n   */\n  toRFC2822() {\n    return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n   * Specifically, the string conforms to RFC 1123.\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n   * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n   * @return {string}\n   */\n  toHTTP() {\n    return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Date\n   * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n   * @return {string}\n   */\n  toSQLDate() {\n    if (!this.isValid) {\n      return null;\n    }\n    return toISODate(this, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Time\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n   * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n   * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n   * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n   * @return {string}\n   */\n  toSQLTime({\n    includeOffset = true,\n    includeZone = false,\n    includeOffsetSpace = true\n  } = {}) {\n    let fmt = \"HH:mm:ss.SSS\";\n    if (includeZone || includeOffset) {\n      if (includeOffsetSpace) {\n        fmt += \" \";\n      }\n      if (includeZone) {\n        fmt += \"z\";\n      } else if (includeOffset) {\n        fmt += \"ZZ\";\n      }\n    }\n    return toTechFormat(this, fmt, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n   * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n   * @return {string}\n   */\n  toSQL(opts = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n    return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for debugging\n   * @return {string}\n   */\n  toString() {\n    return this.isValid ? this.toISO() : INVALID;\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for the REPL.\n   * @return {string}\n   */\n  [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n    if (this.isValid) {\n      return `DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;\n    } else {\n      return `DateTime { Invalid, reason: ${this.invalidReason} }`;\n    }\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime.\n   * @return {number}\n   */\n  toMillis() {\n    return this.isValid ? this.ts : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds of this DateTime.\n   * @return {number}\n   */\n  toSeconds() {\n    return this.isValid ? this.ts / 1000 : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds (as a whole number) of this DateTime.\n   * @return {number}\n   */\n  toUnixInteger() {\n    return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a BSON serializable equivalent to this DateTime.\n   * @return {Date}\n   */\n  toBSON() {\n    return this.toJSDate();\n  }\n\n  /**\n   * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n   * @param opts - options for generating the object\n   * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n   * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n   * @return {Object}\n   */\n  toObject(opts = {}) {\n    if (!this.isValid) return {};\n    const base = {\n      ...this.c\n    };\n    if (opts.includeConfig) {\n      base.outputCalendar = this.outputCalendar;\n      base.numberingSystem = this.loc.numberingSystem;\n      base.locale = this.loc.locale;\n    }\n    return base;\n  }\n\n  /**\n   * Returns a JavaScript Date equivalent to this DateTime.\n   * @return {Date}\n   */\n  toJSDate() {\n    return new Date(this.isValid ? this.ts : NaN);\n  }\n\n  // COMPARE\n\n  /**\n   * Return the difference between two DateTimes as a Duration.\n   * @param {DateTime} otherDateTime - the DateTime to compare this one to\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example\n   * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n   *     i2 = DateTime.fromISO('1983-10-14T10:30');\n   * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n   * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n   * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n   * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n   * @return {Duration}\n   */\n  diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n    if (!this.isValid || !otherDateTime.isValid) {\n      return Duration.invalid(\"created by diffing an invalid DateTime\");\n    }\n    const durOpts = {\n      locale: this.locale,\n      numberingSystem: this.numberingSystem,\n      ...opts\n    };\n    const units = maybeArray(unit).map(Duration.normalizeUnit),\n      otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n      earlier = otherIsLater ? this : otherDateTime,\n      later = otherIsLater ? otherDateTime : this,\n      diffed = diff(earlier, later, units, durOpts);\n    return otherIsLater ? diffed.negate() : diffed;\n  }\n\n  /**\n   * Return the difference between this DateTime and right now.\n   * See {@link DateTime#diff}\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  diffNow(unit = \"milliseconds\", opts = {}) {\n    return this.diff(DateTime.now(), unit, opts);\n  }\n\n  /**\n   * Return an Interval spanning between this DateTime and another DateTime\n   * @param {DateTime} otherDateTime - the other end point of the Interval\n   * @return {Interval}\n   */\n  until(otherDateTime) {\n    return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n  }\n\n  /**\n   * Return whether this DateTime is in the same unit of time as another DateTime.\n   * Higher-order units must also be identical for this function to return `true`.\n   * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n   * @param {DateTime} otherDateTime - the other DateTime\n   * @param {string} unit - the unit of time to check sameness on\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; only the locale of this DateTime is used\n   * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n   * @return {boolean}\n   */\n  hasSame(otherDateTime, unit, opts) {\n    if (!this.isValid) return false;\n    const inputMs = otherDateTime.valueOf();\n    const adjustedToZone = this.setZone(otherDateTime.zone, {\n      keepLocalTime: true\n    });\n    return adjustedToZone.startOf(unit, opts) <= inputMs && inputMs <= adjustedToZone.endOf(unit, opts);\n  }\n\n  /**\n   * Equality check\n   * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n   * To compare just the millisecond values, use `+dt1 === +dt2`.\n   * @param {DateTime} other - the other DateTime\n   * @return {boolean}\n   */\n  equals(other) {\n    return this.isValid && other.isValid && this.valueOf() === other.valueOf() && this.zone.equals(other.zone) && this.loc.equals(other.loc);\n  }\n\n  /**\n   * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n   * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n   * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n   * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n   * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n   * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n   * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n   * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n   */\n  toRelative(options = {}) {\n    if (!this.isValid) return null;\n    const base = options.base || DateTime.fromObject({}, {\n        zone: this.zone\n      }),\n      padding = options.padding ? this < base ? -options.padding : options.padding : 0;\n    let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n    let unit = options.unit;\n    if (Array.isArray(options.unit)) {\n      units = options.unit;\n      unit = undefined;\n    }\n    return diffRelative(base, this.plus(padding), {\n      ...options,\n      numeric: \"always\",\n      units,\n      unit\n    });\n  }\n\n  /**\n   * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n   * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n   * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n   * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n   */\n  toRelativeCalendar(options = {}) {\n    if (!this.isValid) return null;\n    return diffRelative(options.base || DateTime.fromObject({}, {\n      zone: this.zone\n    }), this, {\n      ...options,\n      numeric: \"auto\",\n      units: [\"years\", \"months\", \"days\"],\n      calendary: true\n    });\n  }\n\n  /**\n   * Return the min of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n   * @return {DateTime} the min DateTime, or undefined if called with no argument\n   */\n  static min(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, i => i.valueOf(), Math.min);\n  }\n\n  /**\n   * Return the max of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n   * @return {DateTime} the max DateTime, or undefined if called with no argument\n   */\n  static max(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, i => i.valueOf(), Math.max);\n  }\n\n  // MISC\n\n  /**\n   * Explain how a string would be parsed by fromFormat()\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see description)\n   * @param {Object} options - options taken by fromFormat()\n   * @return {Object}\n   */\n  static fromFormatExplain(text, fmt, options = {}) {\n    const {\n        locale = null,\n        numberingSystem = null\n      } = options,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true\n      });\n    return explainFromTokens(localeToUse, text, fmt);\n  }\n\n  /**\n   * @deprecated use fromFormatExplain instead\n   */\n  static fromStringExplain(text, fmt, options = {}) {\n    return DateTime.fromFormatExplain(text, fmt, options);\n  }\n\n  /**\n   * Build a parser for `fmt` using the given locale. This parser can be passed\n   * to {@link DateTime.fromFormatParser} to a parse a date in this format. This\n   * can be used to optimize cases where many dates need to be parsed in a\n   * specific format.\n   *\n   * @param {String} fmt - the format the string is expected to be in (see\n   * description)\n   * @param {Object} options - options used to set locale and numberingSystem\n   * for parser\n   * @returns {TokenParser} - opaque object to be used\n   */\n  static buildFormatParser(fmt, options = {}) {\n    const {\n        locale = null,\n        numberingSystem = null\n      } = options,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true\n      });\n    return new TokenParser(localeToUse, fmt);\n  }\n\n  /**\n   * Create a DateTime from an input string and format parser.\n   *\n   * The format parser must have been created with the same locale as this call.\n   *\n   * @param {String} text - the string to parse\n   * @param {TokenParser} formatParser - parser from {@link DateTime.buildFormatParser}\n   * @param {Object} opts - options taken by fromFormat()\n   * @returns {DateTime}\n   */\n  static fromFormatParser(text, formatParser, opts = {}) {\n    if (isUndefined(text) || isUndefined(formatParser)) {\n      throw new InvalidArgumentError(\"fromFormatParser requires an input string and a format parser\");\n    }\n    const {\n        locale = null,\n        numberingSystem = null\n      } = opts,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true\n      });\n    if (!localeToUse.equals(formatParser.locale)) {\n      throw new InvalidArgumentError(`fromFormatParser called with a locale of ${localeToUse}, ` + `but the format parser was created for ${formatParser.locale}`);\n    }\n    const {\n      result,\n      zone,\n      specificOffset,\n      invalidReason\n    } = formatParser.explainFromTokens(text);\n    if (invalidReason) {\n      return DateTime.invalid(invalidReason);\n    } else {\n      return parseDataToDateTime(result, zone, opts, `format ${formatParser.format}`, text, specificOffset);\n    }\n  }\n\n  // FORMAT PRESETS\n\n  /**\n   * {@link DateTime#toLocaleString} format like 10/14/1983\n   * @type {Object}\n   */\n  static get DATE_SHORT() {\n    return DATE_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED() {\n    return DATE_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED_WITH_WEEKDAY() {\n    return DATE_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_FULL() {\n    return DATE_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_HUGE() {\n    return DATE_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_SIMPLE() {\n    return TIME_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SECONDS() {\n    return TIME_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SHORT_OFFSET() {\n    return TIME_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_LONG_OFFSET() {\n    return TIME_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_SIMPLE() {\n    return TIME_24_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SECONDS() {\n    return TIME_24_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SHORT_OFFSET() {\n    return TIME_24_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_LONG_OFFSET() {\n    return TIME_24_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT() {\n    return DATETIME_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT_WITH_SECONDS() {\n    return DATETIME_SHORT_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED() {\n    return DATETIME_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_SECONDS() {\n    return DATETIME_MED_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_WEEKDAY() {\n    return DATETIME_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL() {\n    return DATETIME_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL_WITH_SECONDS() {\n    return DATETIME_FULL_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE() {\n    return DATETIME_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE_WITH_SECONDS() {\n    return DATETIME_HUGE_WITH_SECONDS;\n  }\n}\n\n/**\n * @private\n */\nfunction friendlyDateTime(dateTimeish) {\n  if (DateTime.isDateTime(dateTimeish)) {\n    return dateTimeish;\n  } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n    return DateTime.fromJSDate(dateTimeish);\n  } else if (dateTimeish && typeof dateTimeish === \"object\") {\n    return DateTime.fromObject(dateTimeish);\n  } else {\n    throw new InvalidArgumentError(`Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`);\n  }\n}\n\nconst VERSION = \"3.5.0\";\n\nexports.DateTime = DateTime;\nexports.Duration = Duration;\nexports.FixedOffsetZone = FixedOffsetZone;\nexports.IANAZone = IANAZone;\nexports.Info = Info;\nexports.Interval = Interval;\nexports.InvalidZone = InvalidZone;\nexports.Settings = Settings;\nexports.SystemZone = SystemZone;\nexports.VERSION = VERSION;\nexports.Zone = Zone;\n//# sourceMappingURL=luxon.js.map\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var af = moment.defineLocale('af', {\n        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n        meridiemParse: /vm|nm/i,\n        isPM: function (input) {\n            return /^nm$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'vm' : 'VM';\n            } else {\n                return isLower ? 'nm' : 'NM';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Vandag om] LT',\n            nextDay: '[Môre om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[Gister om] LT',\n            lastWeek: '[Laas] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oor %s',\n            past: '%s gelede',\n            s: \"'n paar sekondes\",\n            ss: '%d sekondes',\n            m: \"'n minuut\",\n            mm: '%d minute',\n            h: \"'n uur\",\n            hh: '%d ure',\n            d: \"'n dag\",\n            dd: '%d dae',\n            M: \"'n maand\",\n            MM: '%d maande',\n            y: \"'n jaar\",\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            ); // Thanks to Joris Röling : https://github.com/jjupiter\n        },\n        week: {\n            dow: 1, // Maandag is die eerste dag van die week.\n            doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n        },\n    });\n\n    return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'جانفي',\n            'فيفري',\n            'مارس',\n            'أفريل',\n            'ماي',\n            'جوان',\n            'جويلية',\n            'أوت',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arDz = moment.defineLocale('ar-dz', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arKw = moment.defineLocale('ar-kw', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '1',\n            2: '2',\n            3: '3',\n            4: '4',\n            5: '5',\n            6: '6',\n            7: '7',\n            8: '8',\n            9: '9',\n            0: '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arLy = moment.defineLocale('ar-ly', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arMa = moment.defineLocale('ar-ma', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Palestine) [ar-ps]\n//! author : Majd Al-Shihabi : https://github.com/majdal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arPs = moment.defineLocale('ar-ps', {\n        months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n            '_'\n        ),\n        monthsShort:\n            'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .split('') // reversed since negative lookbehind not supported everywhere\n                .reverse()\n                .join('')\n                .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n                    return numberMap[match];\n                })\n                .split('')\n                .reverse()\n                .join('')\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arPs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arSa = moment.defineLocale('ar-sa', {\n        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale  :  Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arTn = moment.defineLocale('ar-tn', {\n        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var ar = moment.defineLocale('ar', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: '-inci',\n        5: '-inci',\n        8: '-inci',\n        70: '-inci',\n        80: '-inci',\n        2: '-nci',\n        7: '-nci',\n        20: '-nci',\n        50: '-nci',\n        3: '-üncü',\n        4: '-üncü',\n        100: '-üncü',\n        6: '-ncı',\n        9: '-uncu',\n        10: '-uncu',\n        30: '-uncu',\n        60: '-ıncı',\n        90: '-ıncı',\n    };\n\n    var az = moment.defineLocale('az', {\n        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n        weekdays:\n            'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n                '_'\n            ),\n        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[sabah saat] LT',\n            nextWeek: '[gələn həftə] dddd [saat] LT',\n            lastDay: '[dünən] LT',\n            lastWeek: '[keçən həftə] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s əvvəl',\n            s: 'bir neçə saniyə',\n            ss: '%d saniyə',\n            m: 'bir dəqiqə',\n            mm: '%d dəqiqə',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir il',\n            yy: '%d il',\n        },\n        meridiemParse: /gecə|səhər|gündüz|axşam/,\n        isPM: function (input) {\n            return /^(gündüz|axşam)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'gecə';\n            } else if (hour < 12) {\n                return 'səhər';\n            } else if (hour < 17) {\n                return 'gündüz';\n            } else {\n                return 'axşam';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n        ordinal: function (number) {\n            if (number === 0) {\n                // special case for zero\n                return number + '-ıncı';\n            }\n            var a = number % 10,\n                b = (number % 100) - a,\n                c = number >= 100 ? 100 : null;\n            return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n            hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n            dd: 'дзень_дні_дзён',\n            MM: 'месяц_месяцы_месяцаў',\n            yy: 'год_гады_гадоў',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвіліна' : 'хвіліну';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'гадзіна' : 'гадзіну';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n\n    var be = moment.defineLocale('be', {\n        months: {\n            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n                '_'\n            ),\n            standalone:\n                'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n        weekdays: {\n            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n                '_'\n            ),\n            standalone:\n                'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n                    '_'\n                ),\n            isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n        },\n        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n        },\n        calendar: {\n            sameDay: '[Сёння ў] LT',\n            nextDay: '[Заўтра ў] LT',\n            lastDay: '[Учора ў] LT',\n            nextWeek: function () {\n                return '[У] dddd [ў] LT';\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return '[У мінулую] dddd [ў] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                        return '[У мінулы] dddd [ў] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'праз %s',\n            past: '%s таму',\n            s: 'некалькі секунд',\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithPlural,\n            hh: relativeTimeWithPlural,\n            d: 'дзень',\n            dd: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночы|раніцы|дня|вечара/,\n        isPM: function (input) {\n            return /^(дня|вечара)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночы';\n            } else if (hour < 12) {\n                return 'раніцы';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечара';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return (number % 10 === 2 || number % 10 === 3) &&\n                        number % 100 !== 12 &&\n                        number % 100 !== 13\n                        ? number + '-і'\n                        : number + '-ы';\n                case 'D':\n                    return number + '-га';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bg = moment.defineLocale('bg', {\n        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Днес в] LT',\n            nextDay: '[Утре в] LT',\n            nextWeek: 'dddd [в] LT',\n            lastDay: '[Вчера в] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Миналата] dddd [в] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Миналия] dddd [в] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'след %s',\n            past: 'преди %s',\n            s: 'няколко секунди',\n            ss: '%d секунди',\n            m: 'минута',\n            mm: '%d минути',\n            h: 'час',\n            hh: '%d часа',\n            d: 'ден',\n            dd: '%d дена',\n            w: 'седмица',\n            ww: '%d седмици',\n            M: 'месец',\n            MM: '%d месеца',\n            y: 'година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bm = moment.defineLocale('bm', {\n        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n            '_'\n        ),\n        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'MMMM [tile] D [san] YYYY',\n            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bi lɛrɛ] LT',\n            nextDay: '[Sini lɛrɛ] LT',\n            nextWeek: 'dddd [don lɛrɛ] LT',\n            lastDay: '[Kunu lɛrɛ] LT',\n            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s kɔnɔ',\n            past: 'a bɛ %s bɔ',\n            s: 'sanga dama dama',\n            ss: 'sekondi %d',\n            m: 'miniti kelen',\n            mm: 'miniti %d',\n            h: 'lɛrɛ kelen',\n            hh: 'lɛrɛ %d',\n            d: 'tile kelen',\n            dd: 'tile %d',\n            M: 'kalo kelen',\n            MM: 'kalo %d',\n            y: 'san kelen',\n            yy: 'san %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bnBd = moment.defineLocale('bn-bd', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n\n        meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'রাত') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ভোর') {\n                return hour;\n            } else if (meridiem === 'সকাল') {\n                return hour;\n            } else if (meridiem === 'দুপুর') {\n                return hour >= 3 ? hour : hour + 12;\n            } else if (meridiem === 'বিকাল') {\n                return hour + 12;\n            } else if (meridiem === 'সন্ধ্যা') {\n                return hour + 12;\n            }\n        },\n\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 6) {\n                return 'ভোর';\n            } else if (hour < 12) {\n                return 'সকাল';\n            } else if (hour < 15) {\n                return 'দুপুর';\n            } else if (hour < 18) {\n                return 'বিকাল';\n            } else if (hour < 20) {\n                return 'সন্ধ্যা';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bn = moment.defineLocale('bn', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'রাত' && hour >= 4) ||\n                (meridiem === 'দুপুর' && hour < 5) ||\n                meridiem === 'বিকাল'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 10) {\n                return 'সকাল';\n            } else if (hour < 17) {\n                return 'দুপুর';\n            } else if (hour < 20) {\n                return 'বিকাল';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '༡',\n            2: '༢',\n            3: '༣',\n            4: '༤',\n            5: '༥',\n            6: '༦',\n            7: '༧',\n            8: '༨',\n            9: '༩',\n            0: '༠',\n        },\n        numberMap = {\n            '༡': '1',\n            '༢': '2',\n            '༣': '3',\n            '༤': '4',\n            '༥': '5',\n            '༦': '6',\n            '༧': '7',\n            '༨': '8',\n            '༩': '9',\n            '༠': '0',\n        };\n\n    var bo = moment.defineLocale('bo', {\n        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n                '_'\n            ),\n        monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n        monthsParseExact: true,\n        weekdays:\n            'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n                '_'\n            ),\n        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n            '_'\n        ),\n        weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[དི་རིང] LT',\n            nextDay: '[སང་ཉིན] LT',\n            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n            lastDay: '[ཁ་སང] LT',\n            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ལ་',\n            past: '%s སྔན་ལ',\n            s: 'ལམ་སང',\n            ss: '%d སྐར་ཆ།',\n            m: 'སྐར་མ་གཅིག',\n            mm: '%d སྐར་མ',\n            h: 'ཆུ་ཚོད་གཅིག',\n            hh: '%d ཆུ་ཚོད',\n            d: 'ཉིན་གཅིག',\n            dd: '%d ཉིན་',\n            M: 'ཟླ་བ་གཅིག',\n            MM: '%d ཟླ་བ',\n            y: 'ལོ་གཅིག',\n            yy: '%d ལོ',\n        },\n        preparse: function (string) {\n            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'མཚན་མོ' && hour >= 4) ||\n                (meridiem === 'ཉིན་གུང' && hour < 5) ||\n                meridiem === 'དགོང་དག'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'མཚན་མོ';\n            } else if (hour < 10) {\n                return 'ཞོགས་ཀས';\n            } else if (hour < 17) {\n                return 'ཉིན་གུང';\n            } else if (hour < 20) {\n                return 'དགོང་དག';\n            } else {\n                return 'མཚན་མོ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithMutation(number, withoutSuffix, key) {\n        var format = {\n            mm: 'munutenn',\n            MM: 'miz',\n            dd: 'devezh',\n        };\n        return number + ' ' + mutation(format[key], number);\n    }\n    function specialMutationForYears(number) {\n        switch (lastNumber(number)) {\n            case 1:\n            case 3:\n            case 4:\n            case 5:\n            case 9:\n                return number + ' bloaz';\n            default:\n                return number + ' vloaz';\n        }\n    }\n    function lastNumber(number) {\n        if (number > 9) {\n            return lastNumber(number % 10);\n        }\n        return number;\n    }\n    function mutation(text, number) {\n        if (number === 2) {\n            return softMutation(text);\n        }\n        return text;\n    }\n    function softMutation(text) {\n        var mutationTable = {\n            m: 'v',\n            b: 'v',\n            d: 'z',\n        };\n        if (mutationTable[text.charAt(0)] === undefined) {\n            return text;\n        }\n        return mutationTable[text.charAt(0)] + text.substring(1);\n    }\n\n    var monthsParse = [\n            /^gen/i,\n            /^c[ʼ\\']hwe/i,\n            /^meu/i,\n            /^ebr/i,\n            /^mae/i,\n            /^(mez|eve)/i,\n            /^gou/i,\n            /^eos/i,\n            /^gwe/i,\n            /^her/i,\n            /^du/i,\n            /^ker/i,\n        ],\n        monthsRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        monthsStrictRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n        monthsShortStrictRegex =\n            /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        fullWeekdaysParse = [\n            /^sul/i,\n            /^lun/i,\n            /^meurzh/i,\n            /^merc[ʼ\\']her/i,\n            /^yaou/i,\n            /^gwener/i,\n            /^sadorn/i,\n        ],\n        shortWeekdaysParse = [\n            /^Sul/i,\n            /^Lun/i,\n            /^Meu/i,\n            /^Mer/i,\n            /^Yao/i,\n            /^Gwe/i,\n            /^Sad/i,\n        ],\n        minWeekdaysParse = [\n            /^Su/i,\n            /^Lu/i,\n            /^Me([^r]|$)/i,\n            /^Mer/i,\n            /^Ya/i,\n            /^Gw/i,\n            /^Sa/i,\n        ];\n\n    var br = moment.defineLocale('br', {\n        months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n            '_'\n        ),\n        monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n        weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n        weekdaysParse: minWeekdaysParse,\n        fullWeekdaysParse: fullWeekdaysParse,\n        shortWeekdaysParse: shortWeekdaysParse,\n        minWeekdaysParse: minWeekdaysParse,\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [a viz] MMMM YYYY',\n            LLL: 'D [a viz] MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hiziv da] LT',\n            nextDay: '[Warcʼhoazh da] LT',\n            nextWeek: 'dddd [da] LT',\n            lastDay: '[Decʼh da] LT',\n            lastWeek: 'dddd [paset da] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'a-benn %s',\n            past: '%s ʼzo',\n            s: 'un nebeud segondennoù',\n            ss: '%d eilenn',\n            m: 'ur vunutenn',\n            mm: relativeTimeWithMutation,\n            h: 'un eur',\n            hh: '%d eur',\n            d: 'un devezh',\n            dd: relativeTimeWithMutation,\n            M: 'ur miz',\n            MM: relativeTimeWithMutation,\n            y: 'ur bloaz',\n            yy: specialMutationForYears,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'añ' : 'vet';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n        isPM: function (token) {\n            return token === 'g.m.';\n        },\n        meridiem: function (hour, minute, isLower) {\n            return hour < 12 ? 'a.m.' : 'g.m.';\n        },\n    });\n\n    return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! author : Rasid Redzic : https://github.com/rasidre\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 'm':\n                return withoutSuffix\n                    ? 'jedna minuta'\n                    : isFuture\n                      ? 'jednu minutu'\n                      : 'jedne minute';\n        }\n    }\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jedan sat';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var bs = moment.defineLocale('bs', {\n        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: processRelativeTime,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ca = moment.defineLocale('ca', {\n        months: {\n            standalone:\n                'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n                    '_'\n                ),\n            format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n                '_'\n            ),\n        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a les] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextDay: function () {\n                return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastDay: function () {\n                return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [passat a ' +\n                    (this.hours() !== 1 ? 'les' : 'la') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'uns segons',\n            ss: '%d segons',\n            m: 'un minut',\n            mm: '%d minuts',\n            h: 'una hora',\n            hh: '%d hores',\n            d: 'un dia',\n            dd: '%d dies',\n            M: 'un mes',\n            MM: '%d mesos',\n            y: 'un any',\n            yy: '%d anys',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                      ? 'n'\n                      : number === 3\n                        ? 'r'\n                        : number === 4\n                          ? 't'\n                          : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = {\n            standalone:\n                'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n                    '_'\n                ),\n            format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n                '_'\n            ),\n            isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n        },\n        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n        monthsParse = [\n            /^led/i,\n            /^úno/i,\n            /^bře/i,\n            /^dub/i,\n            /^kvě/i,\n            /^(čvn|červen$|června)/i,\n            /^(čvc|červenec|července)/i,\n            /^srp/i,\n            /^zář/i,\n            /^říj/i,\n            /^lis/i,\n            /^pro/i,\n        ],\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsRegex =\n            /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n    function plural(n) {\n        return n > 1 && n < 5 && ~~(n / 10) !== 1;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekund');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minuty' : 'minut');\n                } else {\n                    return result + 'minutami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodin');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'den' : 'dnem';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dny' : 'dní');\n                } else {\n                    return result + 'dny';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'měsíce' : 'měsíců');\n                } else {\n                    return result + 'měsíci';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokem';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'let');\n                } else {\n                    return result + 'lety';\n                }\n        }\n    }\n\n    var cs = moment.defineLocale('cs', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsStrictRegex:\n            /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n        monthsShortStrictRegex:\n            /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n            l: 'D. M. YYYY',\n        },\n        calendar: {\n            sameDay: '[dnes v] LT',\n            nextDay: '[zítra v] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [v] LT';\n                    case 3:\n                        return '[ve středu v] LT';\n                    case 4:\n                        return '[ve čtvrtek v] LT';\n                    case 5:\n                        return '[v pátek v] LT';\n                    case 6:\n                        return '[v sobotu v] LT';\n                }\n            },\n            lastDay: '[včera v] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulou neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[minulé] dddd [v] LT';\n                    case 3:\n                        return '[minulou středu v] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [v] LT';\n                    case 6:\n                        return '[minulou sobotu v] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'před %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cv = moment.defineLocale('cv', {\n        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n            '_'\n        ),\n        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n        weekdays:\n            'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n                '_'\n            ),\n        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n        },\n        calendar: {\n            sameDay: '[Паян] LT [сехетре]',\n            nextDay: '[Ыран] LT [сехетре]',\n            lastDay: '[Ӗнер] LT [сехетре]',\n            nextWeek: '[Ҫитес] dddd LT [сехетре]',\n            lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (output) {\n                var affix = /сехет$/i.exec(output)\n                    ? 'рен'\n                    : /ҫул$/i.exec(output)\n                      ? 'тан'\n                      : 'ран';\n                return output + affix;\n            },\n            past: '%s каялла',\n            s: 'пӗр-ик ҫеккунт',\n            ss: '%d ҫеккунт',\n            m: 'пӗр минут',\n            mm: '%d минут',\n            h: 'пӗр сехет',\n            hh: '%d сехет',\n            d: 'пӗр кун',\n            dd: '%d кун',\n            M: 'пӗр уйӑх',\n            MM: '%d уйӑх',\n            y: 'пӗр ҫул',\n            yy: '%d ҫул',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n        ordinal: '%d-мӗш',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cy = moment.defineLocale('cy', {\n        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n            '_'\n        ),\n        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n            '_'\n        ),\n        weekdays:\n            'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n        weekdaysParseExact: true,\n        // time formats are the same as en-gb\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Heddiw am] LT',\n            nextDay: '[Yfory am] LT',\n            nextWeek: 'dddd [am] LT',\n            lastDay: '[Ddoe am] LT',\n            lastWeek: 'dddd [diwethaf am] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'mewn %s',\n            past: '%s yn ôl',\n            s: 'ychydig eiliadau',\n            ss: '%d eiliad',\n            m: 'munud',\n            mm: '%d munud',\n            h: 'awr',\n            hh: '%d awr',\n            d: 'diwrnod',\n            dd: '%d diwrnod',\n            M: 'mis',\n            MM: '%d mis',\n            y: 'blwyddyn',\n            yy: '%d flynedd',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n        ordinal: function (number) {\n            var b = number,\n                output = '',\n                lookup = [\n                    '',\n                    'af',\n                    'il',\n                    'ydd',\n                    'ydd',\n                    'ed',\n                    'ed',\n                    'ed',\n                    'fed',\n                    'fed',\n                    'fed', // 1af to 10fed\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'fed', // 11eg to 20fed\n                ];\n            if (b > 20) {\n                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n                    output = 'fed'; // not 30ain, 70ain or 90ain\n                } else {\n                    output = 'ain';\n                }\n            } else if (b > 0) {\n                output = lookup[b];\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var da = moment.defineLocale('da', {\n        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'på dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[i] dddd[s kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'få sekunder',\n            ss: '%d sekunder',\n            m: 'et minut',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dage',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'et år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deAt = moment.defineLocale('de-at', {\n        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deCh = moment.defineLocale('de-ch', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var de = moment.defineLocale('de', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'ޖެނުއަރީ',\n            'ފެބްރުއަރީ',\n            'މާރިޗު',\n            'އޭޕްރީލު',\n            'މޭ',\n            'ޖޫން',\n            'ޖުލައި',\n            'އޯގަސްޓު',\n            'ސެޕްޓެމްބަރު',\n            'އޮކްޓޯބަރު',\n            'ނޮވެމްބަރު',\n            'ޑިސެމްބަރު',\n        ],\n        weekdays = [\n            'އާދިއްތަ',\n            'ހޯމަ',\n            'އަންގާރަ',\n            'ބުދަ',\n            'ބުރާސްފަތި',\n            'ހުކުރު',\n            'ހޮނިހިރު',\n        ];\n\n    var dv = moment.defineLocale('dv', {\n        months: months,\n        monthsShort: months,\n        weekdays: weekdays,\n        weekdaysShort: weekdays,\n        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/M/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /މކ|މފ/,\n        isPM: function (input) {\n            return 'މފ' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'މކ';\n            } else {\n                return 'މފ';\n            }\n        },\n        calendar: {\n            sameDay: '[މިއަދު] LT',\n            nextDay: '[މާދަމާ] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[އިއްޔެ] LT',\n            lastWeek: '[ފާއިތުވި] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ތެރޭގައި %s',\n            past: 'ކުރިން %s',\n            s: 'ސިކުންތުކޮޅެއް',\n            ss: 'd% ސިކުންތު',\n            m: 'މިނިޓެއް',\n            mm: 'މިނިޓު %d',\n            h: 'ގަޑިއިރެއް',\n            hh: 'ގަޑިއިރު %d',\n            d: 'ދުވަހެއް',\n            dd: 'ދުވަސް %d',\n            M: 'މަހެއް',\n            MM: 'މަސް %d',\n            y: 'އަހަރެއް',\n            yy: 'އަހަރު %d',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 7, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    var el = moment.defineLocale('el', {\n        monthsNominativeEl:\n            'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n                '_'\n            ),\n        monthsGenitiveEl:\n            'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n                '_'\n            ),\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return this._monthsNominativeEl;\n            } else if (\n                typeof format === 'string' &&\n                /D/.test(format.substring(0, format.indexOf('MMMM')))\n            ) {\n                // if there is a day number before 'MMMM'\n                return this._monthsGenitiveEl[momentToFormat.month()];\n            } else {\n                return this._monthsNominativeEl[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n            '_'\n        ),\n        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'μμ' : 'ΜΜ';\n            } else {\n                return isLower ? 'πμ' : 'ΠΜ';\n            }\n        },\n        isPM: function (input) {\n            return (input + '').toLowerCase()[0] === 'μ';\n        },\n        meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendarEl: {\n            sameDay: '[Σήμερα {}] LT',\n            nextDay: '[Αύριο {}] LT',\n            nextWeek: 'dddd [{}] LT',\n            lastDay: '[Χθες {}] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 6:\n                        return '[το προηγούμενο] dddd [{}] LT';\n                    default:\n                        return '[την προηγούμενη] dddd [{}] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        calendar: function (key, mom) {\n            var output = this._calendarEl[key],\n                hours = mom && mom.hours();\n            if (isFunction(output)) {\n                output = output.apply(mom);\n            }\n            return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n        },\n        relativeTime: {\n            future: 'σε %s',\n            past: '%s πριν',\n            s: 'λίγα δευτερόλεπτα',\n            ss: '%d δευτερόλεπτα',\n            m: 'ένα λεπτό',\n            mm: '%d λεπτά',\n            h: 'μία ώρα',\n            hh: '%d ώρες',\n            d: 'μία μέρα',\n            dd: '%d μέρες',\n            M: 'ένας μήνας',\n            MM: '%d μήνες',\n            y: 'ένας χρόνος',\n            yy: '%d χρόνια',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}η/,\n        ordinal: '%dη',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4st is the first week of the year.\n        },\n    });\n\n    return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enAu = moment.defineLocale('en-au', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enCa = moment.defineLocale('en-ca', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'YYYY-MM-DD',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY h:mm A',\n            LLLL: 'dddd, MMMM D, YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enGb = moment.defineLocale('en-gb', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIe = moment.defineLocale('en-ie', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIl = moment.defineLocale('en-il', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIn = moment.defineLocale('en-in', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enNz = moment.defineLocale('en-nz', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enSg = moment.defineLocale('en-sg', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eo = moment.defineLocale('eo', {\n        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: '[la] D[-an de] MMMM, YYYY',\n            LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n            LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n            llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n        },\n        meridiemParse: /[ap]\\.t\\.m/i,\n        isPM: function (input) {\n            return input.charAt(0).toLowerCase() === 'p';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'p.t.m.' : 'P.T.M.';\n            } else {\n                return isLower ? 'a.t.m.' : 'A.T.M.';\n            }\n        },\n        calendar: {\n            sameDay: '[Hodiaŭ je] LT',\n            nextDay: '[Morgaŭ je] LT',\n            nextWeek: 'dddd[n je] LT',\n            lastDay: '[Hieraŭ je] LT',\n            lastWeek: '[pasintan] dddd[n je] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'post %s',\n            past: 'antaŭ %s',\n            s: 'kelkaj sekundoj',\n            ss: '%d sekundoj',\n            m: 'unu minuto',\n            mm: '%d minutoj',\n            h: 'unu horo',\n            hh: '%d horoj',\n            d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n            dd: '%d tagoj',\n            M: 'unu monato',\n            MM: '%d monatoj',\n            y: 'unu jaro',\n            yy: '%d jaroj',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}a/,\n        ordinal: '%da',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esDo = moment.defineLocale('es-do', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esMx = moment.defineLocale('es-mx', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esUs = moment.defineLocale('es-us', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'MM/DD/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var es = moment.defineLocale('es', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n            ss: [number + 'sekundi', number + 'sekundit'],\n            m: ['ühe minuti', 'üks minut'],\n            mm: [number + ' minuti', number + ' minutit'],\n            h: ['ühe tunni', 'tund aega', 'üks tund'],\n            hh: [number + ' tunni', number + ' tundi'],\n            d: ['ühe päeva', 'üks päev'],\n            M: ['kuu aja', 'kuu aega', 'üks kuu'],\n            MM: [number + ' kuu', number + ' kuud'],\n            y: ['ühe aasta', 'aasta', 'üks aasta'],\n            yy: [number + ' aasta', number + ' aastat'],\n        };\n        if (withoutSuffix) {\n            return format[key][2] ? format[key][2] : format[key][1];\n        }\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var et = moment.defineLocale('et', {\n        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n        weekdays:\n            'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n                '_'\n            ),\n        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Täna,] LT',\n            nextDay: '[Homme,] LT',\n            nextWeek: '[Järgmine] dddd LT',\n            lastDay: '[Eile,] LT',\n            lastWeek: '[Eelmine] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s pärast',\n            past: '%s tagasi',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: '%d päeva',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eu = moment.defineLocale('eu', {\n        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n            '_'\n        ),\n        monthsShort:\n            'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n                '_'\n            ),\n        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY[ko] MMMM[ren] D[a]',\n            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n            l: 'YYYY-M-D',\n            ll: 'YYYY[ko] MMM D[a]',\n            lll: 'YYYY[ko] MMM D[a] HH:mm',\n            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n        },\n        calendar: {\n            sameDay: '[gaur] LT[etan]',\n            nextDay: '[bihar] LT[etan]',\n            nextWeek: 'dddd LT[etan]',\n            lastDay: '[atzo] LT[etan]',\n            lastWeek: '[aurreko] dddd LT[etan]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s barru',\n            past: 'duela %s',\n            s: 'segundo batzuk',\n            ss: '%d segundo',\n            m: 'minutu bat',\n            mm: '%d minutu',\n            h: 'ordu bat',\n            hh: '%d ordu',\n            d: 'egun bat',\n            dd: '%d egun',\n            M: 'hilabete bat',\n            MM: '%d hilabete',\n            y: 'urte bat',\n            yy: '%d urte',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '۱',\n            2: '۲',\n            3: '۳',\n            4: '۴',\n            5: '۵',\n            6: '۶',\n            7: '۷',\n            8: '۸',\n            9: '۹',\n            0: '۰',\n        },\n        numberMap = {\n            '۱': '1',\n            '۲': '2',\n            '۳': '3',\n            '۴': '4',\n            '۵': '5',\n            '۶': '6',\n            '۷': '7',\n            '۸': '8',\n            '۹': '9',\n            '۰': '0',\n        };\n\n    var fa = moment.defineLocale('fa', {\n        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n                '_'\n            ),\n        weekdays:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /قبل از ظهر|بعد از ظهر/,\n        isPM: function (input) {\n            return /بعد از ظهر/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'قبل از ظهر';\n            } else {\n                return 'بعد از ظهر';\n            }\n        },\n        calendar: {\n            sameDay: '[امروز ساعت] LT',\n            nextDay: '[فردا ساعت] LT',\n            nextWeek: 'dddd [ساعت] LT',\n            lastDay: '[دیروز ساعت] LT',\n            lastWeek: 'dddd [پیش] [ساعت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'در %s',\n            past: '%s پیش',\n            s: 'چند ثانیه',\n            ss: '%d ثانیه',\n            m: 'یک دقیقه',\n            mm: '%d دقیقه',\n            h: 'یک ساعت',\n            hh: '%d ساعت',\n            d: 'یک روز',\n            dd: '%d روز',\n            M: 'یک ماه',\n            MM: '%d ماه',\n            y: 'یک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[۰-۹]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}م/,\n        ordinal: '%dم',\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersPast =\n            'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n                ' '\n            ),\n        numbersFuture = [\n            'nolla',\n            'yhden',\n            'kahden',\n            'kolmen',\n            'neljän',\n            'viiden',\n            'kuuden',\n            numbersPast[7],\n            numbersPast[8],\n            numbersPast[9],\n        ];\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = '';\n        switch (key) {\n            case 's':\n                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n            case 'ss':\n                result = isFuture ? 'sekunnin' : 'sekuntia';\n                break;\n            case 'm':\n                return isFuture ? 'minuutin' : 'minuutti';\n            case 'mm':\n                result = isFuture ? 'minuutin' : 'minuuttia';\n                break;\n            case 'h':\n                return isFuture ? 'tunnin' : 'tunti';\n            case 'hh':\n                result = isFuture ? 'tunnin' : 'tuntia';\n                break;\n            case 'd':\n                return isFuture ? 'päivän' : 'päivä';\n            case 'dd':\n                result = isFuture ? 'päivän' : 'päivää';\n                break;\n            case 'M':\n                return isFuture ? 'kuukauden' : 'kuukausi';\n            case 'MM':\n                result = isFuture ? 'kuukauden' : 'kuukautta';\n                break;\n            case 'y':\n                return isFuture ? 'vuoden' : 'vuosi';\n            case 'yy':\n                result = isFuture ? 'vuoden' : 'vuotta';\n                break;\n        }\n        result = verbalNumber(number, isFuture) + ' ' + result;\n        return result;\n    }\n    function verbalNumber(number, isFuture) {\n        return number < 10\n            ? isFuture\n                ? numbersFuture[number]\n                : numbersPast[number]\n            : number;\n    }\n\n    var fi = moment.defineLocale('fi', {\n        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n            '_'\n        ),\n        monthsShort:\n            'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n                '_'\n            ),\n        weekdays:\n            'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n                '_'\n            ),\n        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[ta] YYYY',\n            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n            l: 'D.M.YYYY',\n            ll: 'Do MMM YYYY',\n            lll: 'Do MMM YYYY, [klo] HH.mm',\n            llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n        },\n        calendar: {\n            sameDay: '[tänään] [klo] LT',\n            nextDay: '[huomenna] [klo] LT',\n            nextWeek: 'dddd [klo] LT',\n            lastDay: '[eilen] [klo] LT',\n            lastWeek: '[viime] dddd[na] [klo] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s päästä',\n            past: '%s sitten',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fil = moment.defineLocale('fil', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fo = moment.defineLocale('fo', {\n        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D. MMMM, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Í dag kl.] LT',\n            nextDay: '[Í morgin kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[Í gjár kl.] LT',\n            lastWeek: '[síðstu] dddd [kl] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'um %s',\n            past: '%s síðani',\n            s: 'fá sekund',\n            ss: '%d sekundir',\n            m: 'ein minuttur',\n            mm: '%d minuttir',\n            h: 'ein tími',\n            hh: '%d tímar',\n            d: 'ein dagur',\n            dd: '%d dagar',\n            M: 'ein mánaður',\n            MM: '%d mánaðir',\n            y: 'eitt ár',\n            yy: '%d ár',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCa = moment.defineLocale('fr-ca', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n    });\n\n    return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCh = moment.defineLocale('fr-ch', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsStrictRegex =\n            /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsShortStrictRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n        monthsRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsParse = [\n            /^janv/i,\n            /^févr/i,\n            /^mars/i,\n            /^avr/i,\n            /^mai/i,\n            /^juin/i,\n            /^juil/i,\n            /^août/i,\n            /^sept/i,\n            /^oct/i,\n            /^nov/i,\n            /^déc/i,\n        ];\n\n    var fr = moment.defineLocale('fr', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            w: 'une semaine',\n            ww: '%d semaines',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // TODO: Return 'e' when day of month > 1. Move this case inside\n                // block for masculine words below.\n                // See https://github.com/moment/moment/issues/3375\n                case 'D':\n                    return number + (number === 1 ? 'er' : '');\n\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n    var fy = moment.defineLocale('fy', {\n        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n        monthsParseExact: true,\n        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n            '_'\n        ),\n        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[hjoed om] LT',\n            nextDay: '[moarn om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[juster om] LT',\n            lastWeek: '[ôfrûne] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oer %s',\n            past: '%s lyn',\n            s: 'in pear sekonden',\n            ss: '%d sekonden',\n            m: 'ien minút',\n            mm: '%d minuten',\n            h: 'ien oere',\n            hh: '%d oeren',\n            d: 'ien dei',\n            dd: '%d dagen',\n            M: 'ien moanne',\n            MM: '%d moannen',\n            y: 'ien jier',\n            yy: '%d jierren',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Eanáir',\n            'Feabhra',\n            'Márta',\n            'Aibreán',\n            'Bealtaine',\n            'Meitheamh',\n            'Iúil',\n            'Lúnasa',\n            'Meán Fómhair',\n            'Deireadh Fómhair',\n            'Samhain',\n            'Nollaig',\n        ],\n        monthsShort = [\n            'Ean',\n            'Feabh',\n            'Márt',\n            'Aib',\n            'Beal',\n            'Meith',\n            'Iúil',\n            'Lún',\n            'M.F.',\n            'D.F.',\n            'Samh',\n            'Noll',\n        ],\n        weekdays = [\n            'Dé Domhnaigh',\n            'Dé Luain',\n            'Dé Máirt',\n            'Dé Céadaoin',\n            'Déardaoin',\n            'Dé hAoine',\n            'Dé Sathairn',\n        ],\n        weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n        weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n    var ga = moment.defineLocale('ga', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Inniu ag] LT',\n            nextDay: '[Amárach ag] LT',\n            nextWeek: 'dddd [ag] LT',\n            lastDay: '[Inné ag] LT',\n            lastWeek: 'dddd [seo caite] [ag] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i %s',\n            past: '%s ó shin',\n            s: 'cúpla soicind',\n            ss: '%d soicind',\n            m: 'nóiméad',\n            mm: '%d nóiméad',\n            h: 'uair an chloig',\n            hh: '%d uair an chloig',\n            d: 'lá',\n            dd: '%d lá',\n            M: 'mí',\n            MM: '%d míonna',\n            y: 'bliain',\n            yy: '%d bliain',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Am Faoilleach',\n            'An Gearran',\n            'Am Màrt',\n            'An Giblean',\n            'An Cèitean',\n            'An t-Ògmhios',\n            'An t-Iuchar',\n            'An Lùnastal',\n            'An t-Sultain',\n            'An Dàmhair',\n            'An t-Samhain',\n            'An Dùbhlachd',\n        ],\n        monthsShort = [\n            'Faoi',\n            'Gear',\n            'Màrt',\n            'Gibl',\n            'Cèit',\n            'Ògmh',\n            'Iuch',\n            'Lùn',\n            'Sult',\n            'Dàmh',\n            'Samh',\n            'Dùbh',\n        ],\n        weekdays = [\n            'Didòmhnaich',\n            'Diluain',\n            'Dimàirt',\n            'Diciadain',\n            'Diardaoin',\n            'Dihaoine',\n            'Disathairne',\n        ],\n        weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n        weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n    var gd = moment.defineLocale('gd', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[An-diugh aig] LT',\n            nextDay: '[A-màireach aig] LT',\n            nextWeek: 'dddd [aig] LT',\n            lastDay: '[An-dè aig] LT',\n            lastWeek: 'dddd [seo chaidh] [aig] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ann an %s',\n            past: 'bho chionn %s',\n            s: 'beagan diogan',\n            ss: '%d diogan',\n            m: 'mionaid',\n            mm: '%d mionaidean',\n            h: 'uair',\n            hh: '%d uairean',\n            d: 'latha',\n            dd: '%d latha',\n            M: 'mìos',\n            MM: '%d mìosan',\n            y: 'bliadhna',\n            yy: '%d bliadhna',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var gl = moment.defineLocale('gl', {\n        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort:\n            'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n            },\n            lastDay: function () {\n                return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (str) {\n                if (str.indexOf('un') === 0) {\n                    return 'n' + str;\n                }\n                return 'en ' + str;\n            },\n            past: 'hai %s',\n            s: 'uns segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'unha hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n            ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n            m: ['एका मिणटान', 'एक मिनूट'],\n            mm: [number + ' मिणटांनी', number + ' मिणटां'],\n            h: ['एका वरान', 'एक वर'],\n            hh: [number + ' वरांनी', number + ' वरां'],\n            d: ['एका दिसान', 'एक दीस'],\n            dd: [number + ' दिसांनी', number + ' दीस'],\n            M: ['एका म्हयन्यान', 'एक म्हयनो'],\n            MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n            y: ['एका वर्सान', 'एक वर्स'],\n            yy: [number + ' वर्सांनी', number + ' वर्सां'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomDeva = moment.defineLocale('gom-deva', {\n        months: {\n            standalone:\n                'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n                    '_'\n                ),\n            format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n        weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n        weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [वाजतां]',\n            LTS: 'A h:mm:ss [वाजतां]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n            llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n        },\n        calendar: {\n            sameDay: '[आयज] LT',\n            nextDay: '[फाल्यां] LT',\n            nextWeek: '[फुडलो] dddd[,] LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[फाटलो] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s आदीं',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'वेर' only applies to day of the month\n                case 'D':\n                    return number + 'वेर';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राती') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सकाळीं') {\n                return hour;\n            } else if (meridiem === 'दनपारां') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'सांजे') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'राती';\n            } else if (hour < 12) {\n                return 'सकाळीं';\n            } else if (hour < 16) {\n                return 'दनपारां';\n            } else if (hour < 20) {\n                return 'सांजे';\n            } else {\n                return 'राती';\n            }\n        },\n    });\n\n    return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['thoddea sekondamni', 'thodde sekond'],\n            ss: [number + ' sekondamni', number + ' sekond'],\n            m: ['eka mintan', 'ek minut'],\n            mm: [number + ' mintamni', number + ' mintam'],\n            h: ['eka voran', 'ek vor'],\n            hh: [number + ' voramni', number + ' voram'],\n            d: ['eka disan', 'ek dis'],\n            dd: [number + ' disamni', number + ' dis'],\n            M: ['eka mhoinean', 'ek mhoino'],\n            MM: [number + ' mhoineamni', number + ' mhoine'],\n            y: ['eka vorsan', 'ek voros'],\n            yy: [number + ' vorsamni', number + ' vorsam'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomLatn = moment.defineLocale('gom-latn', {\n        months: {\n            standalone:\n                'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n                    '_'\n                ),\n            format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [vazta]',\n            LTS: 'A h:mm:ss [vazta]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [vazta]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n            llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n        },\n        calendar: {\n            sameDay: '[Aiz] LT',\n            nextDay: '[Faleam] LT',\n            nextWeek: '[Fuddlo] dddd[,] LT',\n            lastDay: '[Kal] LT',\n            lastWeek: '[Fattlo] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s adim',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'er' only applies to day of the month\n                case 'D':\n                    return number + 'er';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /rati|sokallim|donparam|sanje/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'rati') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'sokallim') {\n                return hour;\n            } else if (meridiem === 'donparam') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'sanje') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'rati';\n            } else if (hour < 12) {\n                return 'sokallim';\n            } else if (hour < 16) {\n                return 'donparam';\n            } else if (hour < 20) {\n                return 'sanje';\n            } else {\n                return 'rati';\n            }\n        },\n    });\n\n    return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '૧',\n            2: '૨',\n            3: '૩',\n            4: '૪',\n            5: '૫',\n            6: '૬',\n            7: '૭',\n            8: '૮',\n            9: '૯',\n            0: '૦',\n        },\n        numberMap = {\n            '૧': '1',\n            '૨': '2',\n            '૩': '3',\n            '૪': '4',\n            '૫': '5',\n            '૬': '6',\n            '૭': '7',\n            '૮': '8',\n            '૯': '9',\n            '૦': '0',\n        };\n\n    var gu = moment.defineLocale('gu', {\n        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n            '_'\n        ),\n        monthsShort:\n            'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n            '_'\n        ),\n        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm વાગ્યે',\n            LTS: 'A h:mm:ss વાગ્યે',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n        },\n        calendar: {\n            sameDay: '[આજ] LT',\n            nextDay: '[કાલે] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ગઇકાલે] LT',\n            lastWeek: '[પાછલા] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s મા',\n            past: '%s પહેલા',\n            s: 'અમુક પળો',\n            ss: '%d સેકંડ',\n            m: 'એક મિનિટ',\n            mm: '%d મિનિટ',\n            h: 'એક કલાક',\n            hh: '%d કલાક',\n            d: 'એક દિવસ',\n            dd: '%d દિવસ',\n            M: 'એક મહિનો',\n            MM: '%d મહિનો',\n            y: 'એક વર્ષ',\n            yy: '%d વર્ષ',\n        },\n        preparse: function (string) {\n            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'રાત') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'સવાર') {\n                return hour;\n            } else if (meridiem === 'બપોર') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'સાંજ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'રાત';\n            } else if (hour < 10) {\n                return 'સવાર';\n            } else if (hour < 17) {\n                return 'બપોર';\n            } else if (hour < 20) {\n                return 'સાંજ';\n            } else {\n                return 'રાત';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var he = moment.defineLocale('he', {\n        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n            '_'\n        ),\n        monthsShort:\n            'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [ב]MMMM YYYY',\n            LLL: 'D [ב]MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[היום ב־]LT',\n            nextDay: '[מחר ב־]LT',\n            nextWeek: 'dddd [בשעה] LT',\n            lastDay: '[אתמול ב־]LT',\n            lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'בעוד %s',\n            past: 'לפני %s',\n            s: 'מספר שניות',\n            ss: '%d שניות',\n            m: 'דקה',\n            mm: '%d דקות',\n            h: 'שעה',\n            hh: function (number) {\n                if (number === 2) {\n                    return 'שעתיים';\n                }\n                return number + ' שעות';\n            },\n            d: 'יום',\n            dd: function (number) {\n                if (number === 2) {\n                    return 'יומיים';\n                }\n                return number + ' ימים';\n            },\n            M: 'חודש',\n            MM: function (number) {\n                if (number === 2) {\n                    return 'חודשיים';\n                }\n                return number + ' חודשים';\n            },\n            y: 'שנה',\n            yy: function (number) {\n                if (number === 2) {\n                    return 'שנתיים';\n                } else if (number % 10 === 0 && number !== 10) {\n                    return number + ' שנה';\n                }\n                return number + ' שנים';\n            },\n        },\n        meridiemParse:\n            /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n        isPM: function (input) {\n            return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 5) {\n                return 'לפנות בוקר';\n            } else if (hour < 10) {\n                return 'בבוקר';\n            } else if (hour < 12) {\n                return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n            } else if (hour < 18) {\n                return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n            } else {\n                return 'בערב';\n            }\n        },\n    });\n\n    return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        },\n        monthsParse = [\n            /^जन/i,\n            /^फ़र|फर/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सितं|सित/i,\n            /^अक्टू/i,\n            /^नव|नवं/i,\n            /^दिसं|दिस/i,\n        ],\n        shortMonthsParse = [\n            /^जन/i,\n            /^फ़र/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सित/i,\n            /^अक्टू/i,\n            /^नव/i,\n            /^दिस/i,\n        ];\n\n    var hi = moment.defineLocale('hi', {\n        months: {\n            format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n                '_'\n            ),\n            standalone:\n                'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm बजे',\n            LTS: 'A h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n        },\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: shortMonthsParse,\n\n        monthsRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsShortRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsStrictRegex:\n            /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n        monthsShortStrictRegex:\n            /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[कल] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[कल] LT',\n            lastWeek: '[पिछले] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s में',\n            past: '%s पहले',\n            s: 'कुछ ही क्षण',\n            ss: '%d सेकंड',\n            m: 'एक मिनट',\n            mm: '%d मिनट',\n            h: 'एक घंटा',\n            hh: '%d घंटे',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महीने',\n            MM: '%d महीने',\n            y: 'एक वर्ष',\n            yy: '%d वर्ष',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n        meridiemParse: /रात|सुबह|दोपहर|शाम/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सुबह') {\n                return hour;\n            } else if (meridiem === 'दोपहर') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'शाम') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात';\n            } else if (hour < 10) {\n                return 'सुबह';\n            } else if (hour < 17) {\n                return 'दोपहर';\n            } else if (hour < 20) {\n                return 'शाम';\n            } else {\n                return 'रात';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var hr = moment.defineLocale('hr', {\n        months: {\n            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n                '_'\n            ),\n            standalone:\n                'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM YYYY',\n            LLL: 'Do MMMM YYYY H:mm',\n            LLLL: 'dddd, Do MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prošlu] [nedjelju] [u] LT';\n                    case 3:\n                        return '[prošlu] [srijedu] [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt  : https://github.com/passatgt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var weekEndings =\n        'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n    function translate(number, withoutSuffix, key, isFuture) {\n        var num = number;\n        switch (key) {\n            case 's':\n                return isFuture || withoutSuffix\n                    ? 'néhány másodperc'\n                    : 'néhány másodperce';\n            case 'ss':\n                return num + (isFuture || withoutSuffix)\n                    ? ' másodperc'\n                    : ' másodperce';\n            case 'm':\n                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'mm':\n                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'h':\n                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'hh':\n                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'd':\n                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'dd':\n                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'M':\n                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'MM':\n                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'y':\n                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n            case 'yy':\n                return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n        }\n        return '';\n    }\n    function week(isFuture) {\n        return (\n            (isFuture ? '' : '[múlt] ') +\n            '[' +\n            weekEndings[this.day()] +\n            '] LT[-kor]'\n        );\n    }\n\n    var hu = moment.defineLocale('hu', {\n        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY. MMMM D.',\n            LLL: 'YYYY. MMMM D. H:mm',\n            LLLL: 'YYYY. MMMM D., dddd H:mm',\n        },\n        meridiemParse: /de|du/i,\n        isPM: function (input) {\n            return input.charAt(1).toLowerCase() === 'u';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower === true ? 'de' : 'DE';\n            } else {\n                return isLower === true ? 'du' : 'DU';\n            }\n        },\n        calendar: {\n            sameDay: '[ma] LT[-kor]',\n            nextDay: '[holnap] LT[-kor]',\n            nextWeek: function () {\n                return week.call(this, true);\n            },\n            lastDay: '[tegnap] LT[-kor]',\n            lastWeek: function () {\n                return week.call(this, false);\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s múlva',\n            past: '%s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var hyAm = moment.defineLocale('hy-am', {\n        months: {\n            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n                '_'\n            ),\n            standalone:\n                'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n        weekdays:\n            'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n                '_'\n            ),\n        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY թ.',\n            LLL: 'D MMMM YYYY թ., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n        },\n        calendar: {\n            sameDay: '[այսօր] LT',\n            nextDay: '[վաղը] LT',\n            lastDay: '[երեկ] LT',\n            nextWeek: function () {\n                return 'dddd [օրը ժամը] LT';\n            },\n            lastWeek: function () {\n                return '[անցած] dddd [օրը ժամը] LT';\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s հետո',\n            past: '%s առաջ',\n            s: 'մի քանի վայրկյան',\n            ss: '%d վայրկյան',\n            m: 'րոպե',\n            mm: '%d րոպե',\n            h: 'ժամ',\n            hh: '%d ժամ',\n            d: 'օր',\n            dd: '%d օր',\n            M: 'ամիս',\n            MM: '%d ամիս',\n            y: 'տարի',\n            yy: '%d տարի',\n        },\n        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n        isPM: function (input) {\n            return /^(ցերեկվա|երեկոյան)$/.test(input);\n        },\n        meridiem: function (hour) {\n            if (hour < 4) {\n                return 'գիշերվա';\n            } else if (hour < 12) {\n                return 'առավոտվա';\n            } else if (hour < 17) {\n                return 'ցերեկվա';\n            } else {\n                return 'երեկոյան';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'DDD':\n                case 'w':\n                case 'W':\n                case 'DDDo':\n                    if (number === 1) {\n                        return number + '-ին';\n                    }\n                    return number + '-րդ';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var id = moment.defineLocale('id', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|siang|sore|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'siang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sore' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'siang';\n            } else if (hours < 19) {\n                return 'sore';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Besok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kemarin pukul] LT',\n            lastWeek: 'dddd [lalu pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lalu',\n            s: 'beberapa detik',\n            ss: '%d detik',\n            m: 'semenit',\n            mm: '%d menit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(n) {\n        if (n % 100 === 11) {\n            return true;\n        } else if (n % 10 === 1) {\n            return false;\n        }\n        return true;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nokkrar sekúndur'\n                    : 'nokkrum sekúndum';\n            case 'ss':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n                    );\n                }\n                return result + 'sekúnda';\n            case 'm':\n                return withoutSuffix ? 'mínúta' : 'mínútu';\n            case 'mm':\n                if (plural(number)) {\n                    return (\n                        result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n                    );\n                } else if (withoutSuffix) {\n                    return result + 'mínúta';\n                }\n                return result + 'mínútu';\n            case 'hh':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture\n                            ? 'klukkustundir'\n                            : 'klukkustundum')\n                    );\n                }\n                return result + 'klukkustund';\n            case 'd':\n                if (withoutSuffix) {\n                    return 'dagur';\n                }\n                return isFuture ? 'dag' : 'degi';\n            case 'dd':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'dagar';\n                    }\n                    return result + (isFuture ? 'daga' : 'dögum');\n                } else if (withoutSuffix) {\n                    return result + 'dagur';\n                }\n                return result + (isFuture ? 'dag' : 'degi');\n            case 'M':\n                if (withoutSuffix) {\n                    return 'mánuður';\n                }\n                return isFuture ? 'mánuð' : 'mánuði';\n            case 'MM':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'mánuðir';\n                    }\n                    return result + (isFuture ? 'mánuði' : 'mánuðum');\n                } else if (withoutSuffix) {\n                    return result + 'mánuður';\n                }\n                return result + (isFuture ? 'mánuð' : 'mánuði');\n            case 'y':\n                return withoutSuffix || isFuture ? 'ár' : 'ári';\n            case 'yy':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n                }\n                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n        }\n    }\n\n    var is = moment.defineLocale('is', {\n        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n        },\n        calendar: {\n            sameDay: '[í dag kl.] LT',\n            nextDay: '[á morgun kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[í gær kl.] LT',\n            lastWeek: '[síðasta] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'eftir %s',\n            past: 'fyrir %s síðan',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: 'klukkustund',\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var itCh = moment.defineLocale('it-ch', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var it = moment.defineLocale('it', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return (\n                    '[Oggi a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextDay: function () {\n                return (\n                    '[Domani a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextWeek: function () {\n                return (\n                    'dddd [a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastDay: function () {\n                return (\n                    '[Ieri a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return (\n                            '[La scorsa] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                  ? ' '\n                                  : \"ll'\") +\n                            ']LT'\n                        );\n                    default:\n                        return (\n                            '[Lo scorso] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                  ? ' '\n                                  : \"ll'\") +\n                            ']LT'\n                        );\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'tra %s',\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            w: 'una settimana',\n            ww: '%d settimane',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ja = moment.defineLocale('ja', {\n        eras: [\n            {\n                since: '2019-05-01',\n                offset: 1,\n                name: '令和',\n                narrow: '㋿',\n                abbr: 'R',\n            },\n            {\n                since: '1989-01-08',\n                until: '2019-04-30',\n                offset: 1,\n                name: '平成',\n                narrow: '㍻',\n                abbr: 'H',\n            },\n            {\n                since: '1926-12-25',\n                until: '1989-01-07',\n                offset: 1,\n                name: '昭和',\n                narrow: '㍼',\n                abbr: 'S',\n            },\n            {\n                since: '1912-07-30',\n                until: '1926-12-24',\n                offset: 1,\n                name: '大正',\n                narrow: '㍽',\n                abbr: 'T',\n            },\n            {\n                since: '1873-01-01',\n                until: '1912-07-29',\n                offset: 6,\n                name: '明治',\n                narrow: '㍾',\n                abbr: 'M',\n            },\n            {\n                since: '0001-01-01',\n                until: '1873-12-31',\n                offset: 1,\n                name: '西暦',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: '紀元前',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        eraYearOrdinalRegex: /(元|\\d+)年/,\n        eraYearOrdinalParse: function (input, match) {\n            return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n        },\n        months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日 dddd HH:mm',\n            l: 'YYYY/MM/DD',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日(ddd) HH:mm',\n        },\n        meridiemParse: /午前|午後/i,\n        isPM: function (input) {\n            return input === '午後';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return '午前';\n            } else {\n                return '午後';\n            }\n        },\n        calendar: {\n            sameDay: '[今日] LT',\n            nextDay: '[明日] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[来週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            lastDay: '[昨日] LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[先週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}日/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'y':\n                    return number === 1 ? '元年' : number + '年';\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '数秒',\n            ss: '%d秒',\n            m: '1分',\n            mm: '%d分',\n            h: '1時間',\n            hh: '%d時間',\n            d: '1日',\n            dd: '%d日',\n            M: '1ヶ月',\n            MM: '%dヶ月',\n            y: '1年',\n            yy: '%d年',\n        },\n    });\n\n    return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var jv = moment.defineLocale('jv', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /enjing|siyang|sonten|ndalu/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'enjing') {\n                return hour;\n            } else if (meridiem === 'siyang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'enjing';\n            } else if (hours < 15) {\n                return 'siyang';\n            } else if (hours < 19) {\n                return 'sonten';\n            } else {\n                return 'ndalu';\n            }\n        },\n        calendar: {\n            sameDay: '[Dinten puniko pukul] LT',\n            nextDay: '[Mbenjang pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kala wingi pukul] LT',\n            lastWeek: 'dddd [kepengker pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'wonten ing %s',\n            past: '%s ingkang kepengker',\n            s: 'sawetawis detik',\n            ss: '%d detik',\n            m: 'setunggal menit',\n            mm: '%d menit',\n            h: 'setunggal jam',\n            hh: '%d jam',\n            d: 'sedinten',\n            dd: '%d dinten',\n            M: 'sewulan',\n            MM: '%d wulan',\n            y: 'setaun',\n            yy: '%d taun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ka = moment.defineLocale('ka', {\n        months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n            '_'\n        ),\n        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n        weekdays: {\n            standalone:\n                'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n                    '_'\n                ),\n            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n                '_'\n            ),\n            isFormat: /(წინა|შემდეგ)/,\n        },\n        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[დღეს] LT[-ზე]',\n            nextDay: '[ხვალ] LT[-ზე]',\n            lastDay: '[გუშინ] LT[-ზე]',\n            nextWeek: '[შემდეგ] dddd LT[-ზე]',\n            lastWeek: '[წინა] dddd LT-ზე',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return s.replace(\n                    /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n                    function ($0, $1, $2) {\n                        return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n                    }\n                );\n            },\n            past: function (s) {\n                if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n                    return s.replace(/(ი|ე)$/, 'ის წინ');\n                }\n                if (/წელი/.test(s)) {\n                    return s.replace(/წელი$/, 'წლის წინ');\n                }\n                return s;\n            },\n            s: 'რამდენიმე წამი',\n            ss: '%d წამი',\n            m: 'წუთი',\n            mm: '%d წუთი',\n            h: 'საათი',\n            hh: '%d საათი',\n            d: 'დღე',\n            dd: '%d დღე',\n            M: 'თვე',\n            MM: '%d თვე',\n            y: 'წელი',\n            yy: '%d წელი',\n        },\n        dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n        ordinal: function (number) {\n            if (number === 0) {\n                return number;\n            }\n            if (number === 1) {\n                return number + '-ლი';\n            }\n            if (\n                number < 20 ||\n                (number <= 100 && number % 20 === 0) ||\n                number % 100 === 0\n            ) {\n                return 'მე-' + number;\n            }\n            return number + '-ე';\n        },\n        week: {\n            dow: 1,\n            doy: 7,\n        },\n    });\n\n    return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ші',\n        1: '-ші',\n        2: '-ші',\n        3: '-ші',\n        4: '-ші',\n        5: '-ші',\n        6: '-шы',\n        7: '-ші',\n        8: '-ші',\n        9: '-шы',\n        10: '-шы',\n        20: '-шы',\n        30: '-шы',\n        40: '-шы',\n        50: '-ші',\n        60: '-шы',\n        70: '-ші',\n        80: '-ші',\n        90: '-шы',\n        100: '-ші',\n    };\n\n    var kk = moment.defineLocale('kk', {\n        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n            '_'\n        ),\n        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n            '_'\n        ),\n        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгін сағат] LT',\n            nextDay: '[Ертең сағат] LT',\n            nextWeek: 'dddd [сағат] LT',\n            lastDay: '[Кеше сағат] LT',\n            lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ішінде',\n            past: '%s бұрын',\n            s: 'бірнеше секунд',\n            ss: '%d секунд',\n            m: 'бір минут',\n            mm: '%d минут',\n            h: 'бір сағат',\n            hh: '%d сағат',\n            d: 'бір күн',\n            dd: '%d күн',\n            M: 'бір ай',\n            MM: '%d ай',\n            y: 'бір жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '១',\n            2: '២',\n            3: '៣',\n            4: '៤',\n            5: '៥',\n            6: '៦',\n            7: '៧',\n            8: '៨',\n            9: '៩',\n            0: '០',\n        },\n        numberMap = {\n            '១': '1',\n            '២': '2',\n            '៣': '3',\n            '៤': '4',\n            '៥': '5',\n            '៦': '6',\n            '៧': '7',\n            '៨': '8',\n            '៩': '9',\n            '០': '0',\n        };\n\n    var km = moment.defineLocale('km', {\n        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        monthsShort:\n            'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n                '_'\n            ),\n        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ព្រឹក|ល្ងាច/,\n        isPM: function (input) {\n            return input === 'ល្ងាច';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ព្រឹក';\n            } else {\n                return 'ល្ងាច';\n            }\n        },\n        calendar: {\n            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n            nextDay: '[ស្អែក ម៉ោង] LT',\n            nextWeek: 'dddd [ម៉ោង] LT',\n            lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sទៀត',\n            past: '%sមុន',\n            s: 'ប៉ុន្មានវិនាទី',\n            ss: '%d វិនាទី',\n            m: 'មួយនាទី',\n            mm: '%d នាទី',\n            h: 'មួយម៉ោង',\n            hh: '%d ម៉ោង',\n            d: 'មួយថ្ងៃ',\n            dd: '%d ថ្ងៃ',\n            M: 'មួយខែ',\n            MM: '%d ខែ',\n            y: 'មួយឆ្នាំ',\n            yy: '%d ឆ្នាំ',\n        },\n        dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n        ordinal: 'ទី%d',\n        preparse: function (string) {\n            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '೧',\n            2: '೨',\n            3: '೩',\n            4: '೪',\n            5: '೫',\n            6: '೬',\n            7: '೭',\n            8: '೮',\n            9: '೯',\n            0: '೦',\n        },\n        numberMap = {\n            '೧': '1',\n            '೨': '2',\n            '೩': '3',\n            '೪': '4',\n            '೫': '5',\n            '೬': '6',\n            '೭': '7',\n            '೮': '8',\n            '೯': '9',\n            '೦': '0',\n        };\n\n    var kn = moment.defineLocale('kn', {\n        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n            '_'\n        ),\n        monthsShort:\n            'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[ಇಂದು] LT',\n            nextDay: '[ನಾಳೆ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ನಿನ್ನೆ] LT',\n            lastWeek: '[ಕೊನೆಯ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ನಂತರ',\n            past: '%s ಹಿಂದೆ',\n            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n            ss: '%d ಸೆಕೆಂಡುಗಳು',\n            m: 'ಒಂದು ನಿಮಿಷ',\n            mm: '%d ನಿಮಿಷ',\n            h: 'ಒಂದು ಗಂಟೆ',\n            hh: '%d ಗಂಟೆ',\n            d: 'ಒಂದು ದಿನ',\n            dd: '%d ದಿನ',\n            M: 'ಒಂದು ತಿಂಗಳು',\n            MM: '%d ತಿಂಗಳು',\n            y: 'ಒಂದು ವರ್ಷ',\n            yy: '%d ವರ್ಷ',\n        },\n        preparse: function (string) {\n            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ರಾತ್ರಿ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n                return hour;\n            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ಸಂಜೆ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ರಾತ್ರಿ';\n            } else if (hour < 10) {\n                return 'ಬೆಳಿಗ್ಗೆ';\n            } else if (hour < 17) {\n                return 'ಮಧ್ಯಾಹ್ನ';\n            } else if (hour < 20) {\n                return 'ಸಂಜೆ';\n            } else {\n                return 'ರಾತ್ರಿ';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n        ordinal: function (number) {\n            return number + 'ನೇ';\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ko = moment.defineLocale('ko', {\n        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n            '_'\n        ),\n        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY년 MMMM D일',\n            LLL: 'YYYY년 MMMM D일 A h:mm',\n            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n            l: 'YYYY.MM.DD.',\n            ll: 'YYYY년 MMMM D일',\n            lll: 'YYYY년 MMMM D일 A h:mm',\n            llll: 'YYYY년 MMMM D일 dddd A h:mm',\n        },\n        calendar: {\n            sameDay: '오늘 LT',\n            nextDay: '내일 LT',\n            nextWeek: 'dddd LT',\n            lastDay: '어제 LT',\n            lastWeek: '지난주 dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s 후',\n            past: '%s 전',\n            s: '몇 초',\n            ss: '%d초',\n            m: '1분',\n            mm: '%d분',\n            h: '한 시간',\n            hh: '%d시간',\n            d: '하루',\n            dd: '%d일',\n            M: '한 달',\n            MM: '%d달',\n            y: '일 년',\n            yy: '%d년',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '일';\n                case 'M':\n                    return number + '월';\n                case 'w':\n                case 'W':\n                    return number + '주';\n                default:\n                    return number;\n            }\n        },\n        meridiemParse: /오전|오후/,\n        isPM: function (token) {\n            return token === '오후';\n        },\n        meridiem: function (hour, minute, isUpper) {\n            return hour < 12 ? '오전' : '오후';\n        },\n    });\n\n    return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Kurdish [ku-kmr]\n//! authors : Mazlum Özdogan : https://github.com/mergehez\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(num, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['çend sanîye', 'çend sanîyeyan'],\n            ss: [num + ' sanîye', num + ' sanîyeyan'],\n            m: ['deqîqeyek', 'deqîqeyekê'],\n            mm: [num + ' deqîqe', num + ' deqîqeyan'],\n            h: ['saetek', 'saetekê'],\n            hh: [num + ' saet', num + ' saetan'],\n            d: ['rojek', 'rojekê'],\n            dd: [num + ' roj', num + ' rojan'],\n            w: ['hefteyek', 'hefteyekê'],\n            ww: [num + ' hefte', num + ' hefteyan'],\n            M: ['mehek', 'mehekê'],\n            MM: [num + ' meh', num + ' mehan'],\n            y: ['salek', 'salekê'],\n            yy: [num + ' sal', num + ' salan'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    // function obliqueNumSuffix(num) {\n    //     if(num.includes(':'))\n    //         num = parseInt(num.split(':')[0]);\n    //     else\n    //         num = parseInt(num);\n    //     return num == 0 || num % 10 == 1 ? 'ê'\n    //                         : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n    // }\n    function ezafeNumSuffix(num) {\n        num = '' + num;\n        var l = num.substring(num.length - 1),\n            ll = num.length > 1 ? num.substring(num.length - 2) : '';\n        if (\n            !(ll == 12 || ll == 13) &&\n            (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n        )\n            return 'yê';\n        return 'ê';\n    }\n\n    var kuKmr = moment.defineLocale('ku-kmr', {\n        // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n        // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n        // But the names below are more well known and handy\n        months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n            '_'\n        ),\n        monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n        weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n        weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'bn' : 'BN';\n            } else {\n                return isLower ? 'pn' : 'PN';\n            }\n        },\n        meridiemParse: /bn|BN|pn|PN/,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[a] YYYY[an]',\n            LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n            LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n            ll: 'Do MMM[.] YYYY[an]',\n            lll: 'Do MMM[.] YYYY[an] HH:mm',\n            llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Îro di saet] LT [de]',\n            nextDay: '[Sibê di saet] LT [de]',\n            nextWeek: 'dddd [di saet] LT [de]',\n            lastDay: '[Duh di saet] LT [de]',\n            lastWeek: 'dddd[a borî di saet] LT [de]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'di %s de',\n            past: 'berî %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n        ordinal: function (num, period) {\n            var p = period.toLowerCase();\n            if (p.includes('w') || p.includes('m')) return num + '.';\n\n            return num + ezafeNumSuffix(num);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return kuKmr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        months = [\n            'کانونی دووەم',\n            'شوبات',\n            'ئازار',\n            'نیسان',\n            'ئایار',\n            'حوزەیران',\n            'تەمموز',\n            'ئاب',\n            'ئەیلوول',\n            'تشرینی یەكەم',\n            'تشرینی دووەم',\n            'كانونی یەکەم',\n        ];\n\n    var ku = moment.defineLocale('ku', {\n        months: months,\n        monthsShort: months,\n        weekdays:\n            'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n        weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ئێواره‌|به‌یانی/,\n        isPM: function (input) {\n            return /ئێواره‌/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'به‌یانی';\n            } else {\n                return 'ئێواره‌';\n            }\n        },\n        calendar: {\n            sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n            nextDay: '[به‌یانی كاتژمێر] LT',\n            nextWeek: 'dddd [كاتژمێر] LT',\n            lastDay: '[دوێنێ كاتژمێر] LT',\n            lastWeek: 'dddd [كاتژمێر] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'له‌ %s',\n            past: '%s',\n            s: 'چه‌ند چركه‌یه‌ك',\n            ss: 'چركه‌ %d',\n            m: 'یه‌ك خوله‌ك',\n            mm: '%d خوله‌ك',\n            h: 'یه‌ك كاتژمێر',\n            hh: '%d كاتژمێر',\n            d: 'یه‌ك ڕۆژ',\n            dd: '%d ڕۆژ',\n            M: 'یه‌ك مانگ',\n            MM: '%d مانگ',\n            y: 'یه‌ك ساڵ',\n            yy: '%d ساڵ',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-чү',\n        1: '-чи',\n        2: '-чи',\n        3: '-чү',\n        4: '-чү',\n        5: '-чи',\n        6: '-чы',\n        7: '-чи',\n        8: '-чи',\n        9: '-чу',\n        10: '-чу',\n        20: '-чы',\n        30: '-чу',\n        40: '-чы',\n        50: '-чү',\n        60: '-чы',\n        70: '-чи',\n        80: '-чи',\n        90: '-чу',\n        100: '-чү',\n    };\n\n    var ky = moment.defineLocale('ky', {\n        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n            '_'\n        ),\n        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n            '_'\n        ),\n        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгүн саат] LT',\n            nextDay: '[Эртең саат] LT',\n            nextWeek: 'dddd [саат] LT',\n            lastDay: '[Кечээ саат] LT',\n            lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ичинде',\n            past: '%s мурун',\n            s: 'бирнече секунд',\n            ss: '%d секунд',\n            m: 'бир мүнөт',\n            mm: '%d мүнөт',\n            h: 'бир саат',\n            hh: '%d саат',\n            d: 'бир күн',\n            dd: '%d күн',\n            M: 'бир ай',\n            MM: '%d ай',\n            y: 'бир жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eng Minutt', 'enger Minutt'],\n            h: ['eng Stonn', 'enger Stonn'],\n            d: ['een Dag', 'engem Dag'],\n            M: ['ee Mount', 'engem Mount'],\n            y: ['ee Joer', 'engem Joer'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    function processFutureTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'a ' + string;\n        }\n        return 'an ' + string;\n    }\n    function processPastTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'viru ' + string;\n        }\n        return 'virun ' + string;\n    }\n    /**\n     * Returns true if the word before the given number loses the '-n' ending.\n     * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n     *\n     * @param number {integer}\n     * @returns {boolean}\n     */\n    function eifelerRegelAppliesToNumber(number) {\n        number = parseInt(number, 10);\n        if (isNaN(number)) {\n            return false;\n        }\n        if (number < 0) {\n            // Negative Number --> always true\n            return true;\n        } else if (number < 10) {\n            // Only 1 digit\n            if (4 <= number && number <= 7) {\n                return true;\n            }\n            return false;\n        } else if (number < 100) {\n            // 2 digits\n            var lastDigit = number % 10,\n                firstDigit = number / 10;\n            if (lastDigit === 0) {\n                return eifelerRegelAppliesToNumber(firstDigit);\n            }\n            return eifelerRegelAppliesToNumber(lastDigit);\n        } else if (number < 10000) {\n            // 3 or 4 digits --> recursively check first digit\n            while (number >= 10) {\n                number = number / 10;\n            }\n            return eifelerRegelAppliesToNumber(number);\n        } else {\n            // Anything larger than 4 digits: recursively check first n-3 digits\n            number = number / 1000;\n            return eifelerRegelAppliesToNumber(number);\n        }\n    }\n\n    var lb = moment.defineLocale('lb', {\n        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm [Auer]',\n            LTS: 'H:mm:ss [Auer]',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm [Auer]',\n            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n        },\n        calendar: {\n            sameDay: '[Haut um] LT',\n            sameElse: 'L',\n            nextDay: '[Muer um] LT',\n            nextWeek: 'dddd [um] LT',\n            lastDay: '[Gëschter um] LT',\n            lastWeek: function () {\n                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n                switch (this.day()) {\n                    case 2:\n                    case 4:\n                        return '[Leschten] dddd [um] LT';\n                    default:\n                        return '[Leschte] dddd [um] LT';\n                }\n            },\n        },\n        relativeTime: {\n            future: processFutureTime,\n            past: processPastTime,\n            s: 'e puer Sekonnen',\n            ss: '%d Sekonnen',\n            m: processRelativeTime,\n            mm: '%d Minutten',\n            h: processRelativeTime,\n            hh: '%d Stonnen',\n            d: processRelativeTime,\n            dd: '%d Deeg',\n            M: processRelativeTime,\n            MM: '%d Méint',\n            y: processRelativeTime,\n            yy: '%d Joer',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var lo = moment.defineLocale('lo', {\n        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n                '_'\n            ),\n        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n        isPM: function (input) {\n            return input === 'ຕອນແລງ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ຕອນເຊົ້າ';\n            } else {\n                return 'ຕອນແລງ';\n            }\n        },\n        calendar: {\n            sameDay: '[ມື້ນີ້ເວລາ] LT',\n            nextDay: '[ມື້ອື່ນເວລາ] LT',\n            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n            lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ອີກ %s',\n            past: '%sຜ່ານມາ',\n            s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n            ss: '%d ວິນາທີ',\n            m: '1 ນາທີ',\n            mm: '%d ນາທີ',\n            h: '1 ຊົ່ວໂມງ',\n            hh: '%d ຊົ່ວໂມງ',\n            d: '1 ມື້',\n            dd: '%d ມື້',\n            M: '1 ເດືອນ',\n            MM: '%d ເດືອນ',\n            y: '1 ປີ',\n            yy: '%d ປີ',\n        },\n        dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n        ordinal: function (number) {\n            return 'ທີ່' + number;\n        },\n    });\n\n    return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundė_sekundžių_sekundes',\n        m: 'minutė_minutės_minutę',\n        mm: 'minutės_minučių_minutes',\n        h: 'valanda_valandos_valandą',\n        hh: 'valandos_valandų_valandas',\n        d: 'diena_dienos_dieną',\n        dd: 'dienos_dienų_dienas',\n        M: 'mėnuo_mėnesio_mėnesį',\n        MM: 'mėnesiai_mėnesių_mėnesius',\n        y: 'metai_metų_metus',\n        yy: 'metai_metų_metus',\n    };\n    function translateSeconds(number, withoutSuffix, key, isFuture) {\n        if (withoutSuffix) {\n            return 'kelios sekundės';\n        } else {\n            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n        }\n    }\n    function translateSingular(number, withoutSuffix, key, isFuture) {\n        return withoutSuffix\n            ? forms(key)[0]\n            : isFuture\n              ? forms(key)[1]\n              : forms(key)[2];\n    }\n    function special(number) {\n        return number % 10 === 0 || (number > 10 && number < 20);\n    }\n    function forms(key) {\n        return units[key].split('_');\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        if (number === 1) {\n            return (\n                result + translateSingular(number, withoutSuffix, key[0], isFuture)\n            );\n        } else if (withoutSuffix) {\n            return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n        } else {\n            if (isFuture) {\n                return result + forms(key)[1];\n            } else {\n                return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n            }\n        }\n    }\n    var lt = moment.defineLocale('lt', {\n        months: {\n            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n                '_'\n            ),\n            standalone:\n                'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n                    '_'\n                ),\n            isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n        },\n        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n        weekdays: {\n            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n                '_'\n            ),\n            standalone:\n                'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n                    '_'\n                ),\n            isFormat: /dddd HH:mm/,\n        },\n        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n        weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY [m.] MMMM D [d.]',\n            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n            l: 'YYYY-MM-DD',\n            ll: 'YYYY [m.] MMMM D [d.]',\n            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n        },\n        calendar: {\n            sameDay: '[Šiandien] LT',\n            nextDay: '[Rytoj] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[Vakar] LT',\n            lastWeek: '[Praėjusį] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'po %s',\n            past: 'prieš %s',\n            s: translateSeconds,\n            ss: translate,\n            m: translateSingular,\n            mm: translate,\n            h: translateSingular,\n            hh: translate,\n            d: translateSingular,\n            dd: translate,\n            M: translateSingular,\n            MM: translate,\n            y: translateSingular,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n        ordinal: function (number) {\n            return number + '-oji';\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n        m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        h: 'stundas_stundām_stunda_stundas'.split('_'),\n        hh: 'stundas_stundām_stunda_stundas'.split('_'),\n        d: 'dienas_dienām_diena_dienas'.split('_'),\n        dd: 'dienas_dienām_diena_dienas'.split('_'),\n        M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        y: 'gada_gadiem_gads_gadi'.split('_'),\n        yy: 'gada_gadiem_gads_gadi'.split('_'),\n    };\n    /**\n     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n     */\n    function format(forms, number, withoutSuffix) {\n        if (withoutSuffix) {\n            // E.g. \"21 minūte\", \"3 minūtes\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n        } else {\n            // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n            // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n        }\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        return number + ' ' + format(units[key], number, withoutSuffix);\n    }\n    function relativeTimeWithSingular(number, withoutSuffix, key) {\n        return format(units[key], number, withoutSuffix);\n    }\n    function relativeSeconds(number, withoutSuffix) {\n        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n    }\n\n    var lv = moment.defineLocale('lv', {\n        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n        weekdays:\n            'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY.',\n            LL: 'YYYY. [gada] D. MMMM',\n            LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n        },\n        calendar: {\n            sameDay: '[Šodien pulksten] LT',\n            nextDay: '[Rīt pulksten] LT',\n            nextWeek: 'dddd [pulksten] LT',\n            lastDay: '[Vakar pulksten] LT',\n            lastWeek: '[Pagājušā] dddd [pulksten] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'pēc %s',\n            past: 'pirms %s',\n            s: relativeSeconds,\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithSingular,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithSingular,\n            hh: relativeTimeWithPlural,\n            d: relativeTimeWithSingular,\n            dd: relativeTimeWithPlural,\n            M: relativeTimeWithSingular,\n            MM: relativeTimeWithPlural,\n            y: relativeTimeWithSingular,\n            yy: relativeTimeWithPlural,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekund', 'sekunda', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mjesec', 'mjeseca', 'mjeseci'],\n            yy: ['godina', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                  ? wordKey[1]\n                  : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var me = moment.defineLocale('me', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sjutra u] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedjelje] [u] LT',\n                    '[prošlog] [ponedjeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srijede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'dan',\n            dd: translator.translate,\n            M: 'mjesec',\n            MM: translator.translate,\n            y: 'godinu',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mi = moment.defineLocale('mi', {\n        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n            '_'\n        ),\n        monthsShort:\n            'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n                '_'\n            ),\n        monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [i] HH:mm',\n            LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i teie mahana, i] LT',\n            nextDay: '[apopo i] LT',\n            nextWeek: 'dddd [i] LT',\n            lastDay: '[inanahi i] LT',\n            lastWeek: 'dddd [whakamutunga i] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i roto i %s',\n            past: '%s i mua',\n            s: 'te hēkona ruarua',\n            ss: '%d hēkona',\n            m: 'he meneti',\n            mm: '%d meneti',\n            h: 'te haora',\n            hh: '%d haora',\n            d: 'he ra',\n            dd: '%d ra',\n            M: 'he marama',\n            MM: '%d marama',\n            y: 'he tau',\n            yy: '%d tau',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mk = moment.defineLocale('mk', {\n        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Денес во] LT',\n            nextDay: '[Утре во] LT',\n            nextWeek: '[Во] dddd [во] LT',\n            lastDay: '[Вчера во] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Изминатата] dddd [во] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Изминатиот] dddd [во] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пред %s',\n            s: 'неколку секунди',\n            ss: '%d секунди',\n            m: 'една минута',\n            mm: '%d минути',\n            h: 'еден час',\n            hh: '%d часа',\n            d: 'еден ден',\n            dd: '%d дена',\n            M: 'еден месец',\n            MM: '%d месеци',\n            y: 'една година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ml = moment.defineLocale('ml', {\n        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n                '_'\n            ),\n        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm -നു',\n            LTS: 'A h:mm:ss -നു',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm -നു',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n        },\n        calendar: {\n            sameDay: '[ഇന്ന്] LT',\n            nextDay: '[നാളെ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ഇന്നലെ] LT',\n            lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s കഴിഞ്ഞ്',\n            past: '%s മുൻപ്',\n            s: 'അൽപ നിമിഷങ്ങൾ',\n            ss: '%d സെക്കൻഡ്',\n            m: 'ഒരു മിനിറ്റ്',\n            mm: '%d മിനിറ്റ്',\n            h: 'ഒരു മണിക്കൂർ',\n            hh: '%d മണിക്കൂർ',\n            d: 'ഒരു ദിവസം',\n            dd: '%d ദിവസം',\n            M: 'ഒരു മാസം',\n            MM: '%d മാസം',\n            y: 'ഒരു വർഷം',\n            yy: '%d വർഷം',\n        },\n        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'രാത്രി' && hour >= 4) ||\n                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n                meridiem === 'വൈകുന്നേരം'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'രാത്രി';\n            } else if (hour < 12) {\n                return 'രാവിലെ';\n            } else if (hour < 17) {\n                return 'ഉച്ച കഴിഞ്ഞ്';\n            } else if (hour < 20) {\n                return 'വൈകുന്നേരം';\n            } else {\n                return 'രാത്രി';\n            }\n        },\n    });\n\n    return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 's':\n                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n            case 'ss':\n                return number + (withoutSuffix ? ' секунд' : ' секундын');\n            case 'm':\n            case 'mm':\n                return number + (withoutSuffix ? ' минут' : ' минутын');\n            case 'h':\n            case 'hh':\n                return number + (withoutSuffix ? ' цаг' : ' цагийн');\n            case 'd':\n            case 'dd':\n                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n            case 'M':\n            case 'MM':\n                return number + (withoutSuffix ? ' сар' : ' сарын');\n            case 'y':\n            case 'yy':\n                return number + (withoutSuffix ? ' жил' : ' жилийн');\n            default:\n                return number;\n        }\n    }\n\n    var mn = moment.defineLocale('mn', {\n        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n            '_'\n        ),\n        monthsShort:\n            '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY оны MMMMын D',\n            LLL: 'YYYY оны MMMMын D HH:mm',\n            LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n        },\n        meridiemParse: /ҮӨ|ҮХ/i,\n        isPM: function (input) {\n            return input === 'ҮХ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ҮӨ';\n            } else {\n                return 'ҮХ';\n            }\n        },\n        calendar: {\n            sameDay: '[Өнөөдөр] LT',\n            nextDay: '[Маргааш] LT',\n            nextWeek: '[Ирэх] dddd LT',\n            lastDay: '[Өчигдөр] LT',\n            lastWeek: '[Өнгөрсөн] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s дараа',\n            past: '%s өмнө',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + ' өдөр';\n                default:\n                    return number;\n            }\n        },\n    });\n\n    return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n        var output = '';\n        if (withoutSuffix) {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंद';\n                    break;\n                case 'ss':\n                    output = '%d सेकंद';\n                    break;\n                case 'm':\n                    output = 'एक मिनिट';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटे';\n                    break;\n                case 'h':\n                    output = 'एक तास';\n                    break;\n                case 'hh':\n                    output = '%d तास';\n                    break;\n                case 'd':\n                    output = 'एक दिवस';\n                    break;\n                case 'dd':\n                    output = '%d दिवस';\n                    break;\n                case 'M':\n                    output = 'एक महिना';\n                    break;\n                case 'MM':\n                    output = '%d महिने';\n                    break;\n                case 'y':\n                    output = 'एक वर्ष';\n                    break;\n                case 'yy':\n                    output = '%d वर्षे';\n                    break;\n            }\n        } else {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंदां';\n                    break;\n                case 'ss':\n                    output = '%d सेकंदां';\n                    break;\n                case 'm':\n                    output = 'एका मिनिटा';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटां';\n                    break;\n                case 'h':\n                    output = 'एका तासा';\n                    break;\n                case 'hh':\n                    output = '%d तासां';\n                    break;\n                case 'd':\n                    output = 'एका दिवसा';\n                    break;\n                case 'dd':\n                    output = '%d दिवसां';\n                    break;\n                case 'M':\n                    output = 'एका महिन्या';\n                    break;\n                case 'MM':\n                    output = '%d महिन्यां';\n                    break;\n                case 'y':\n                    output = 'एका वर्षा';\n                    break;\n                case 'yy':\n                    output = '%d वर्षां';\n                    break;\n            }\n        }\n        return output.replace(/%d/i, number);\n    }\n\n    var mr = moment.defineLocale('mr', {\n        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm वाजता',\n            LTS: 'A h:mm:ss वाजता',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm वाजता',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[उद्या] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[मागील] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमध्ये',\n            past: '%sपूर्वी',\n            s: relativeTimeMr,\n            ss: relativeTimeMr,\n            m: relativeTimeMr,\n            mm: relativeTimeMr,\n            h: relativeTimeMr,\n            hh: relativeTimeMr,\n            d: relativeTimeMr,\n            dd: relativeTimeMr,\n            M: relativeTimeMr,\n            MM: relativeTimeMr,\n            y: relativeTimeMr,\n            yy: relativeTimeMr,\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n                return hour;\n            } else if (\n                meridiem === 'दुपारी' ||\n                meridiem === 'सायंकाळी' ||\n                meridiem === 'रात्री'\n            ) {\n                return hour >= 12 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour >= 0 && hour < 6) {\n                return 'पहाटे';\n            } else if (hour < 12) {\n                return 'सकाळी';\n            } else if (hour < 17) {\n                return 'दुपारी';\n            } else if (hour < 20) {\n                return 'सायंकाळी';\n            } else {\n                return 'रात्री';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var msMy = moment.defineLocale('ms-my', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ms = moment.defineLocale('ms', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mt = moment.defineLocale('mt', {\n        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n        weekdays:\n            'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n                '_'\n            ),\n        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Illum fil-]LT',\n            nextDay: '[Għada fil-]LT',\n            nextWeek: 'dddd [fil-]LT',\n            lastDay: '[Il-bieraħ fil-]LT',\n            lastWeek: 'dddd [li għadda] [fil-]LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'f’ %s',\n            past: '%s ilu',\n            s: 'ftit sekondi',\n            ss: '%d sekondi',\n            m: 'minuta',\n            mm: '%d minuti',\n            h: 'siegħa',\n            hh: '%d siegħat',\n            d: 'ġurnata',\n            dd: '%d ġranet',\n            M: 'xahar',\n            MM: '%d xhur',\n            y: 'sena',\n            yy: '%d sni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '၁',\n            2: '၂',\n            3: '၃',\n            4: '၄',\n            5: '၅',\n            6: '၆',\n            7: '၇',\n            8: '၈',\n            9: '၉',\n            0: '၀',\n        },\n        numberMap = {\n            '၁': '1',\n            '၂': '2',\n            '၃': '3',\n            '၄': '4',\n            '၅': '5',\n            '၆': '6',\n            '၇': '7',\n            '၈': '8',\n            '၉': '9',\n            '၀': '0',\n        };\n\n    var my = moment.defineLocale('my', {\n        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n            '_'\n        ),\n        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n            '_'\n        ),\n        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ယနေ.] LT [မှာ]',\n            nextDay: '[မနက်ဖြန်] LT [မှာ]',\n            nextWeek: 'dddd LT [မှာ]',\n            lastDay: '[မနေ.က] LT [မှာ]',\n            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'လာမည့် %s မှာ',\n            past: 'လွန်ခဲ့သော %s က',\n            s: 'စက္ကန်.အနည်းငယ်',\n            ss: '%d စက္ကန့်',\n            m: 'တစ်မိနစ်',\n            mm: '%d မိနစ်',\n            h: 'တစ်နာရီ',\n            hh: '%d နာရီ',\n            d: 'တစ်ရက်',\n            dd: '%d ရက်',\n            M: 'တစ်လ',\n            MM: '%d လ',\n            y: 'တစ်နှစ်',\n            yy: '%d နှစ်',\n        },\n        preparse: function (string) {\n            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//!           Sigurd Gartmann : https://github.com/sigurdga\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nb = moment.defineLocale('nb', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[forrige] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'noen sekunder',\n            ss: '%d sekunder',\n            m: 'ett minutt',\n            mm: '%d minutter',\n            h: 'én time',\n            hh: '%d timer',\n            d: 'én dag',\n            dd: '%d dager',\n            w: 'én uke',\n            ww: '%d uker',\n            M: 'én måned',\n            MM: '%d måneder',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    var ne = moment.defineLocale('ne', {\n        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n            '_'\n        ),\n        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'Aको h:mm बजे',\n            LTS: 'Aको h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, Aको h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राति') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'बिहान') {\n                return hour;\n            } else if (meridiem === 'दिउँसो') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'साँझ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 3) {\n                return 'राति';\n            } else if (hour < 12) {\n                return 'बिहान';\n            } else if (hour < 16) {\n                return 'दिउँसो';\n            } else if (hour < 20) {\n                return 'साँझ';\n            } else {\n                return 'राति';\n            }\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[भोलि] LT',\n            nextWeek: '[आउँदो] dddd[,] LT',\n            lastDay: '[हिजो] LT',\n            lastWeek: '[गएको] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमा',\n            past: '%s अगाडि',\n            s: 'केही क्षण',\n            ss: '%d सेकेण्ड',\n            m: 'एक मिनेट',\n            mm: '%d मिनेट',\n            h: 'एक घण्टा',\n            hh: '%d घण्टा',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महिना',\n            MM: '%d महिना',\n            y: 'एक बर्ष',\n            yy: '%d बर्ष',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^(maart|mrt\\.?)$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nlBe = moment.defineLocale('nl-be', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^(maart|mrt\\.?)$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nl = moment.defineLocale('nl', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            w: 'één week',\n            ww: '%d weken',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nn = moment.defineLocale('nn', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n        weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n        weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[I dag klokka] LT',\n            nextDay: '[I morgon klokka] LT',\n            nextWeek: 'dddd [klokka] LT',\n            lastDay: '[I går klokka] LT',\n            lastWeek: '[Føregåande] dddd [klokka] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s sidan',\n            s: 'nokre sekund',\n            ss: '%d sekund',\n            m: 'eit minutt',\n            mm: '%d minutt',\n            h: 'ein time',\n            hh: '%d timar',\n            d: 'ein dag',\n            dd: '%d dagar',\n            w: 'ei veke',\n            ww: '%d veker',\n            M: 'ein månad',\n            MM: '%d månader',\n            y: 'eit år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ocLnc = moment.defineLocale('oc-lnc', {\n        months: {\n            standalone:\n                'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n                    '_'\n                ),\n            format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n            '_'\n        ),\n        weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: '[uèi a] LT',\n            nextDay: '[deman a] LT',\n            nextWeek: 'dddd [a] LT',\n            lastDay: '[ièr a] LT',\n            lastWeek: 'dddd [passat a] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'unas segondas',\n            ss: '%d segondas',\n            m: 'una minuta',\n            mm: '%d minutas',\n            h: 'una ora',\n            hh: '%d oras',\n            d: 'un jorn',\n            dd: '%d jorns',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                      ? 'n'\n                      : number === 3\n                        ? 'r'\n                        : number === 4\n                          ? 't'\n                          : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4,\n        },\n    });\n\n    return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '੧',\n            2: '੨',\n            3: '੩',\n            4: '੪',\n            5: '੫',\n            6: '੬',\n            7: '੭',\n            8: '੮',\n            9: '੯',\n            0: '੦',\n        },\n        numberMap = {\n            '੧': '1',\n            '੨': '2',\n            '੩': '3',\n            '੪': '4',\n            '੫': '5',\n            '੬': '6',\n            '੭': '7',\n            '੮': '8',\n            '੯': '9',\n            '੦': '0',\n        };\n\n    var paIn = moment.defineLocale('pa-in', {\n        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n                '_'\n            ),\n        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm ਵਜੇ',\n            LTS: 'A h:mm:ss ਵਜੇ',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n        },\n        calendar: {\n            sameDay: '[ਅਜ] LT',\n            nextDay: '[ਕਲ] LT',\n            nextWeek: '[ਅਗਲਾ] dddd, LT',\n            lastDay: '[ਕਲ] LT',\n            lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ਵਿੱਚ',\n            past: '%s ਪਿਛਲੇ',\n            s: 'ਕੁਝ ਸਕਿੰਟ',\n            ss: '%d ਸਕਿੰਟ',\n            m: 'ਇਕ ਮਿੰਟ',\n            mm: '%d ਮਿੰਟ',\n            h: 'ਇੱਕ ਘੰਟਾ',\n            hh: '%d ਘੰਟੇ',\n            d: 'ਇੱਕ ਦਿਨ',\n            dd: '%d ਦਿਨ',\n            M: 'ਇੱਕ ਮਹੀਨਾ',\n            MM: '%d ਮਹੀਨੇ',\n            y: 'ਇੱਕ ਸਾਲ',\n            yy: '%d ਸਾਲ',\n        },\n        preparse: function (string) {\n            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ਰਾਤ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ਸਵੇਰ') {\n                return hour;\n            } else if (meridiem === 'ਦੁਪਹਿਰ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ਸ਼ਾਮ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ਰਾਤ';\n            } else if (hour < 10) {\n                return 'ਸਵੇਰ';\n            } else if (hour < 17) {\n                return 'ਦੁਪਹਿਰ';\n            } else if (hour < 20) {\n                return 'ਸ਼ਾਮ';\n            } else {\n                return 'ਰਾਤ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsNominative =\n            'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n                '_'\n            ),\n        monthsSubjective =\n            'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n                '_'\n            ),\n        monthsParse = [\n            /^sty/i,\n            /^lut/i,\n            /^mar/i,\n            /^kwi/i,\n            /^maj/i,\n            /^cze/i,\n            /^lip/i,\n            /^sie/i,\n            /^wrz/i,\n            /^paź/i,\n            /^lis/i,\n            /^gru/i,\n        ];\n    function plural(n) {\n        return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n    }\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                return result + (plural(number) ? 'sekundy' : 'sekund');\n            case 'm':\n                return withoutSuffix ? 'minuta' : 'minutę';\n            case 'mm':\n                return result + (plural(number) ? 'minuty' : 'minut');\n            case 'h':\n                return withoutSuffix ? 'godzina' : 'godzinę';\n            case 'hh':\n                return result + (plural(number) ? 'godziny' : 'godzin');\n            case 'ww':\n                return result + (plural(number) ? 'tygodnie' : 'tygodni');\n            case 'MM':\n                return result + (plural(number) ? 'miesiące' : 'miesięcy');\n            case 'yy':\n                return result + (plural(number) ? 'lata' : 'lat');\n        }\n    }\n\n    var pl = moment.defineLocale('pl', {\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return monthsNominative;\n            } else if (/D MMMM/.test(format)) {\n                return monthsSubjective[momentToFormat.month()];\n            } else {\n                return monthsNominative[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays:\n            'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Dziś o] LT',\n            nextDay: '[Jutro o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W niedzielę o] LT';\n\n                    case 2:\n                        return '[We wtorek o] LT';\n\n                    case 3:\n                        return '[W środę o] LT';\n\n                    case 6:\n                        return '[W sobotę o] LT';\n\n                    default:\n                        return '[W] dddd [o] LT';\n                }\n            },\n            lastDay: '[Wczoraj o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W zeszłą niedzielę o] LT';\n                    case 3:\n                        return '[W zeszłą środę o] LT';\n                    case 6:\n                        return '[W zeszłą sobotę o] LT';\n                    default:\n                        return '[W zeszły] dddd [o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: '%s temu',\n            s: 'kilka sekund',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: '1 dzień',\n            dd: '%d dni',\n            w: 'tydzień',\n            ww: translate,\n            M: 'miesiąc',\n            MM: translate,\n            y: 'rok',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ptBr = moment.defineLocale('pt-br', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n        weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'poucos segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        invalidDate: 'Data inválida',\n    });\n\n    return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pt = moment.defineLocale('pt', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            w: 'uma semana',\n            ww: '%d semanas',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n                ss: 'secunde',\n                mm: 'minute',\n                hh: 'ore',\n                dd: 'zile',\n                ww: 'săptămâni',\n                MM: 'luni',\n                yy: 'ani',\n            },\n            separator = ' ';\n        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n            separator = ' de ';\n        }\n        return number + separator + format[key];\n    }\n\n    var ro = moment.defineLocale('ro', {\n        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n            '_'\n        ),\n        monthsShort:\n            'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[azi la] LT',\n            nextDay: '[mâine la] LT',\n            nextWeek: 'dddd [la] LT',\n            lastDay: '[ieri la] LT',\n            lastWeek: '[fosta] dddd [la] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'peste %s',\n            past: '%s în urmă',\n            s: 'câteva secunde',\n            ss: relativeTimeWithPlural,\n            m: 'un minut',\n            mm: relativeTimeWithPlural,\n            h: 'o oră',\n            hh: relativeTimeWithPlural,\n            d: 'o zi',\n            dd: relativeTimeWithPlural,\n            w: 'o săptămână',\n            ww: relativeTimeWithPlural,\n            M: 'o lună',\n            MM: relativeTimeWithPlural,\n            y: 'un an',\n            yy: relativeTimeWithPlural,\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n            hh: 'час_часа_часов',\n            dd: 'день_дня_дней',\n            ww: 'неделя_недели_недель',\n            MM: 'месяц_месяца_месяцев',\n            yy: 'год_года_лет',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'минута' : 'минуту';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    var monthsParse = [\n        /^янв/i,\n        /^фев/i,\n        /^мар/i,\n        /^апр/i,\n        /^ма[йя]/i,\n        /^июн/i,\n        /^июл/i,\n        /^авг/i,\n        /^сен/i,\n        /^окт/i,\n        /^ноя/i,\n        /^дек/i,\n    ];\n\n    // http://new.gramota.ru/spravka/rules/139-prop : § 103\n    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n    var ru = moment.defineLocale('ru', {\n        months: {\n            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n                '_'\n            ),\n            standalone:\n                'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n                    '_'\n                ),\n        },\n        monthsShort: {\n            // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n                '_'\n            ),\n            standalone:\n                'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n                    '_'\n                ),\n        },\n        weekdays: {\n            standalone:\n                'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n                    '_'\n                ),\n            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n                '_'\n            ),\n            isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n        },\n        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n        monthsRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // копия предыдущего\n        monthsShortRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // полные названия с падежами\n        monthsStrictRegex:\n            /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n        // Выражение, которое соответствует только сокращённым формам\n        monthsShortStrictRegex:\n            /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., H:mm',\n            LLLL: 'dddd, D MMMM YYYY г., H:mm',\n        },\n        calendar: {\n            sameDay: '[Сегодня, в] LT',\n            nextDay: '[Завтра, в] LT',\n            lastDay: '[Вчера, в] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В следующее] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В следующий] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В следующую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            lastWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В прошлое] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В прошлый] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В прошлую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'через %s',\n            past: '%s назад',\n            s: 'несколько секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'час',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            w: 'неделя',\n            ww: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночи|утра|дня|вечера/i,\n        isPM: function (input) {\n            return /^(дня|вечера)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночи';\n            } else if (hour < 12) {\n                return 'утра';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечера';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                case 'w':\n                case 'W':\n                    return number + '-я';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوري',\n            'فيبروري',\n            'مارچ',\n            'اپريل',\n            'مئي',\n            'جون',\n            'جولاءِ',\n            'آگسٽ',\n            'سيپٽمبر',\n            'آڪٽوبر',\n            'نومبر',\n            'ڊسمبر',\n        ],\n        days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n    var sd = moment.defineLocale('sd', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[اڄ] LT',\n            nextDay: '[سڀاڻي] LT',\n            nextWeek: 'dddd [اڳين هفتي تي] LT',\n            lastDay: '[ڪالهه] LT',\n            lastWeek: '[گزريل هفتي] dddd [تي] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s پوء',\n            past: '%s اڳ',\n            s: 'چند سيڪنڊ',\n            ss: '%d سيڪنڊ',\n            m: 'هڪ منٽ',\n            mm: '%d منٽ',\n            h: 'هڪ ڪلاڪ',\n            hh: '%d ڪلاڪ',\n            d: 'هڪ ڏينهن',\n            dd: '%d ڏينهن',\n            M: 'هڪ مهينو',\n            MM: '%d مهينا',\n            y: 'هڪ سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var se = moment.defineLocale('se', {\n        months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n            '_'\n        ),\n        monthsShort:\n            'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n        weekdays:\n            'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n                '_'\n            ),\n        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'MMMM D. [b.] YYYY',\n            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[otne ti] LT',\n            nextDay: '[ihttin ti] LT',\n            nextWeek: 'dddd [ti] LT',\n            lastDay: '[ikte ti] LT',\n            lastWeek: '[ovddit] dddd [ti] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s geažes',\n            past: 'maŋit %s',\n            s: 'moadde sekunddat',\n            ss: '%d sekunddat',\n            m: 'okta minuhta',\n            mm: '%d minuhtat',\n            h: 'okta diimmu',\n            hh: '%d diimmut',\n            d: 'okta beaivi',\n            dd: '%d beaivvit',\n            M: 'okta mánnu',\n            MM: '%d mánut',\n            y: 'okta jahki',\n            yy: '%d jagit',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    /*jshint -W100*/\n    var si = moment.defineLocale('si', {\n        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n            '_'\n        ),\n        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n            '_'\n        ),\n        weekdays:\n            'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n                '_'\n            ),\n        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'a h:mm',\n            LTS: 'a h:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY MMMM D',\n            LLL: 'YYYY MMMM D, a h:mm',\n            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n        },\n        calendar: {\n            sameDay: '[අද] LT[ට]',\n            nextDay: '[හෙට] LT[ට]',\n            nextWeek: 'dddd LT[ට]',\n            lastDay: '[ඊයේ] LT[ට]',\n            lastWeek: '[පසුගිය] dddd LT[ට]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sකින්',\n            past: '%sකට පෙර',\n            s: 'තත්පර කිහිපය',\n            ss: 'තත්පර %d',\n            m: 'මිනිත්තුව',\n            mm: 'මිනිත්තු %d',\n            h: 'පැය',\n            hh: 'පැය %d',\n            d: 'දිනය',\n            dd: 'දින %d',\n            M: 'මාසය',\n            MM: 'මාස %d',\n            y: 'වසර',\n            yy: 'වසර %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n        ordinal: function (number) {\n            return number + ' වැනි';\n        },\n        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n        isPM: function (input) {\n            return input === 'ප.ව.' || input === 'පස් වරු';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'ප.ව.' : 'පස් වරු';\n            } else {\n                return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n            }\n        },\n    });\n\n    return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months =\n            'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n                '_'\n            ),\n        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n    function plural(n) {\n        return n > 1 && n < 5;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekúnd');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minúty' : 'minút');\n                } else {\n                    return result + 'minútami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodín');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'deň' : 'dňom';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dni' : 'dní');\n                } else {\n                    return result + 'dňami';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'mesiace' : 'mesiacov');\n                } else {\n                    return result + 'mesiacmi';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokom';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'rokov');\n                } else {\n                    return result + 'rokmi';\n                }\n        }\n    }\n\n    var sk = moment.defineLocale('sk', {\n        months: months,\n        monthsShort: monthsShort,\n        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[dnes o] LT',\n            nextDay: '[zajtra o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [o] LT';\n                    case 3:\n                        return '[v stredu o] LT';\n                    case 4:\n                        return '[vo štvrtok o] LT';\n                    case 5:\n                        return '[v piatok o] LT';\n                    case 6:\n                        return '[v sobotu o] LT';\n                }\n            },\n            lastDay: '[včera o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulú nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[minulý] dddd [o] LT';\n                    case 3:\n                        return '[minulú stredu o] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [o] LT';\n                    case 6:\n                        return '[minulú sobotu o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pred %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nekaj sekund'\n                    : 'nekaj sekundami';\n            case 'ss':\n                if (number === 1) {\n                    result += withoutSuffix ? 'sekundo' : 'sekundi';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n                } else {\n                    result += 'sekund';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'ena minuta' : 'eno minuto';\n            case 'mm':\n                if (number === 1) {\n                    result += withoutSuffix ? 'minuta' : 'minuto';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'ena ura' : 'eno uro';\n            case 'hh':\n                if (number === 1) {\n                    result += withoutSuffix ? 'ura' : 'uro';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'uri' : 'urama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'ure' : 'urami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'ur' : 'urami';\n                }\n                return result;\n            case 'd':\n                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n            case 'dd':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n                } else {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n                }\n                return result;\n            case 'M':\n                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n            case 'MM':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n                } else {\n                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n                }\n                return result;\n            case 'y':\n                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n            case 'yy':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'leto' : 'letom';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'leta' : 'leti';\n                } else {\n                    result += withoutSuffix || isFuture ? 'let' : 'leti';\n                }\n                return result;\n        }\n    }\n\n    var sl = moment.defineLocale('sl', {\n        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD. MM. YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danes ob] LT',\n            nextDay: '[jutri ob] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[v] [sredo] [ob] LT';\n                    case 6:\n                        return '[v] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[v] dddd [ob] LT';\n                }\n            },\n            lastDay: '[včeraj ob] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prejšnjo] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[prejšnjo] [sredo] [ob] LT';\n                    case 6:\n                        return '[prejšnjo] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prejšnji] dddd [ob] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'čez %s',\n            past: 'pred %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sq = moment.defineLocale('sq', {\n        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n            '_'\n        ),\n        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /PD|MD/,\n        isPM: function (input) {\n            return input.charAt(0) === 'M';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            return hours < 12 ? 'PD' : 'MD';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Sot në] LT',\n            nextDay: '[Nesër në] LT',\n            nextWeek: 'dddd [në] LT',\n            lastDay: '[Dje në] LT',\n            lastWeek: 'dddd [e kaluar në] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'në %s',\n            past: '%s më parë',\n            s: 'disa sekonda',\n            ss: '%d sekonda',\n            m: 'një minutë',\n            mm: '%d minuta',\n            h: 'një orë',\n            hh: '%d orë',\n            d: 'një ditë',\n            dd: '%d ditë',\n            M: 'një muaj',\n            MM: '%d muaj',\n            y: 'një vit',\n            yy: '%d vite',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['секунда', 'секунде', 'секунди'],\n            m: ['један минут', 'једног минута'],\n            mm: ['минут', 'минута', 'минута'],\n            h: ['један сат', 'једног сата'],\n            hh: ['сат', 'сата', 'сати'],\n            d: ['један дан', 'једног дана'],\n            dd: ['дан', 'дана', 'дана'],\n            M: ['један месец', 'једног месеца'],\n            MM: ['месец', 'месеца', 'месеци'],\n            y: ['једну годину', 'једне године'],\n            yy: ['годину', 'године', 'година'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'једна година';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'годину') {\n                return number + ' година';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var srCyrl = moment.defineLocale('sr-cyrl', {\n        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n            '_'\n        ),\n        monthsShort:\n            'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[данас у] LT',\n            nextDay: '[сутра у] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[у] [недељу] [у] LT';\n                    case 3:\n                        return '[у] [среду] [у] LT';\n                    case 6:\n                        return '[у] [суботу] [у] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[у] dddd [у] LT';\n                }\n            },\n            lastDay: '[јуче у] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[прошле] [недеље] [у] LT',\n                    '[прошлог] [понедељка] [у] LT',\n                    '[прошлог] [уторка] [у] LT',\n                    '[прошле] [среде] [у] LT',\n                    '[прошлог] [четвртка] [у] LT',\n                    '[прошлог] [петка] [у] LT',\n                    '[прошле] [суботе] [у] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пре %s',\n            s: 'неколико секунди',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekunda', 'sekunde', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            d: ['jedan dan', 'jednog dana'],\n            dd: ['dan', 'dana', 'dana'],\n            M: ['jedan mesec', 'jednog meseca'],\n            MM: ['mesec', 'meseca', 'meseci'],\n            y: ['jednu godinu', 'jedne godine'],\n            yy: ['godinu', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'jedna godina';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'godinu') {\n                return number + ' godina';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var sr = moment.defineLocale('sr', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedelju] [u] LT';\n                    case 3:\n                        return '[u] [sredu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedelje] [u] LT',\n                    '[prošlog] [ponedeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pre %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ss = moment.defineLocale('ss', {\n        months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n            '_'\n        ),\n        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n        weekdays:\n            'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n                '_'\n            ),\n        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Namuhla nga] LT',\n            nextDay: '[Kusasa nga] LT',\n            nextWeek: 'dddd [nga] LT',\n            lastDay: '[Itolo nga] LT',\n            lastWeek: 'dddd [leliphelile] [nga] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'nga %s',\n            past: 'wenteka nga %s',\n            s: 'emizuzwana lomcane',\n            ss: '%d mzuzwana',\n            m: 'umzuzu',\n            mm: '%d emizuzu',\n            h: 'lihora',\n            hh: '%d emahora',\n            d: 'lilanga',\n            dd: '%d emalanga',\n            M: 'inyanga',\n            MM: '%d tinyanga',\n            y: 'umnyaka',\n            yy: '%d iminyaka',\n        },\n        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'ekuseni';\n            } else if (hours < 15) {\n                return 'emini';\n            } else if (hours < 19) {\n                return 'entsambama';\n            } else {\n                return 'ebusuku';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ekuseni') {\n                return hour;\n            } else if (meridiem === 'emini') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n                if (hour === 0) {\n                    return 0;\n                }\n                return hour + 12;\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: '%d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sv = moment.defineLocale('sv', {\n        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Idag] LT',\n            nextDay: '[Imorgon] LT',\n            lastDay: '[Igår] LT',\n            nextWeek: '[På] dddd LT',\n            lastWeek: '[I] dddd[s] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: 'för %s sedan',\n            s: 'några sekunder',\n            ss: '%d sekunder',\n            m: 'en minut',\n            mm: '%d minuter',\n            h: 'en timme',\n            hh: '%d timmar',\n            d: 'en dag',\n            dd: '%d dagar',\n            M: 'en månad',\n            MM: '%d månader',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? ':e'\n                        : b === 1\n                          ? ':a'\n                          : b === 2\n                            ? ':a'\n                            : b === 3\n                              ? ':e'\n                              : ':e';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sw = moment.defineLocale('sw', {\n        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n        weekdays:\n            'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n                '_'\n            ),\n        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'hh:mm A',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[leo saa] LT',\n            nextDay: '[kesho saa] LT',\n            nextWeek: '[wiki ijayo] dddd [saat] LT',\n            lastDay: '[jana] LT',\n            lastWeek: '[wiki iliyopita] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s baadaye',\n            past: 'tokea %s',\n            s: 'hivi punde',\n            ss: 'sekunde %d',\n            m: 'dakika moja',\n            mm: 'dakika %d',\n            h: 'saa limoja',\n            hh: 'masaa %d',\n            d: 'siku moja',\n            dd: 'siku %d',\n            M: 'mwezi mmoja',\n            MM: 'miezi %d',\n            y: 'mwaka mmoja',\n            yy: 'miaka %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '௧',\n            2: '௨',\n            3: '௩',\n            4: '௪',\n            5: '௫',\n            6: '௬',\n            7: '௭',\n            8: '௮',\n            9: '௯',\n            0: '௦',\n        },\n        numberMap = {\n            '௧': '1',\n            '௨': '2',\n            '௩': '3',\n            '௪': '4',\n            '௫': '5',\n            '௬': '6',\n            '௭': '7',\n            '௮': '8',\n            '௯': '9',\n            '௦': '0',\n        };\n\n    var ta = moment.defineLocale('ta', {\n        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n            '_'\n        ),\n        monthsShort:\n            'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n                '_'\n            ),\n        weekdays:\n            'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n                '_'\n            ),\n        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n            '_'\n        ),\n        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, HH:mm',\n            LLLL: 'dddd, D MMMM YYYY, HH:mm',\n        },\n        calendar: {\n            sameDay: '[இன்று] LT',\n            nextDay: '[நாளை] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[நேற்று] LT',\n            lastWeek: '[கடந்த வாரம்] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s இல்',\n            past: '%s முன்',\n            s: 'ஒரு சில விநாடிகள்',\n            ss: '%d விநாடிகள்',\n            m: 'ஒரு நிமிடம்',\n            mm: '%d நிமிடங்கள்',\n            h: 'ஒரு மணி நேரம்',\n            hh: '%d மணி நேரம்',\n            d: 'ஒரு நாள்',\n            dd: '%d நாட்கள்',\n            M: 'ஒரு மாதம்',\n            MM: '%d மாதங்கள்',\n            y: 'ஒரு வருடம்',\n            yy: '%d ஆண்டுகள்',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n        ordinal: function (number) {\n            return number + 'வது';\n        },\n        preparse: function (string) {\n            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // refer http://ta.wikipedia.org/s/1er1\n        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 2) {\n                return ' யாமம்';\n            } else if (hour < 6) {\n                return ' வைகறை'; // வைகறை\n            } else if (hour < 10) {\n                return ' காலை'; // காலை\n            } else if (hour < 14) {\n                return ' நண்பகல்'; // நண்பகல்\n            } else if (hour < 18) {\n                return ' எற்பாடு'; // எற்பாடு\n            } else if (hour < 22) {\n                return ' மாலை'; // மாலை\n            } else {\n                return ' யாமம்';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'யாமம்') {\n                return hour < 2 ? hour : hour + 12;\n            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n                return hour;\n            } else if (meridiem === 'நண்பகல்') {\n                return hour >= 10 ? hour : hour + 12;\n            } else {\n                return hour + 12;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var te = moment.defineLocale('te', {\n        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n            '_'\n        ),\n        monthsShort:\n            'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n                '_'\n            ),\n        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[నేడు] LT',\n            nextDay: '[రేపు] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[నిన్న] LT',\n            lastWeek: '[గత] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s లో',\n            past: '%s క్రితం',\n            s: 'కొన్ని క్షణాలు',\n            ss: '%d సెకన్లు',\n            m: 'ఒక నిమిషం',\n            mm: '%d నిమిషాలు',\n            h: 'ఒక గంట',\n            hh: '%d గంటలు',\n            d: 'ఒక రోజు',\n            dd: '%d రోజులు',\n            M: 'ఒక నెల',\n            MM: '%d నెలలు',\n            y: 'ఒక సంవత్సరం',\n            yy: '%d సంవత్సరాలు',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n        ordinal: '%dవ',\n        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'రాత్రి') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ఉదయం') {\n                return hour;\n            } else if (meridiem === 'మధ్యాహ్నం') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'సాయంత్రం') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'రాత్రి';\n            } else if (hour < 10) {\n                return 'ఉదయం';\n            } else if (hour < 17) {\n                return 'మధ్యాహ్నం';\n            } else if (hour < 20) {\n                return 'సాయంత్రం';\n            } else {\n                return 'రాత్రి';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tet = moment.defineLocale('tet', {\n        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Ohin iha] LT',\n            nextDay: '[Aban iha] LT',\n            nextWeek: 'dddd [iha] LT',\n            lastDay: '[Horiseik iha] LT',\n            lastWeek: 'dddd [semana kotuk] [iha] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'iha %s',\n            past: '%s liuba',\n            s: 'segundu balun',\n            ss: 'segundu %d',\n            m: 'minutu ida',\n            mm: 'minutu %d',\n            h: 'oras ida',\n            hh: 'oras %d',\n            d: 'loron ida',\n            dd: 'loron %d',\n            M: 'fulan ida',\n            MM: 'fulan %d',\n            y: 'tinan ida',\n            yy: 'tinan %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ум',\n        1: '-ум',\n        2: '-юм',\n        3: '-юм',\n        4: '-ум',\n        5: '-ум',\n        6: '-ум',\n        7: '-ум',\n        8: '-ум',\n        9: '-ум',\n        10: '-ум',\n        12: '-ум',\n        13: '-ум',\n        20: '-ум',\n        30: '-юм',\n        40: '-ум',\n        50: '-ум',\n        60: '-ум',\n        70: '-ум',\n        80: '-ум',\n        90: '-ум',\n        100: '-ум',\n    };\n\n    var tg = moment.defineLocale('tg', {\n        months: {\n            format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n                '_'\n            ),\n            standalone:\n                'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n            '_'\n        ),\n        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Имрӯз соати] LT',\n            nextDay: '[Фардо соати] LT',\n            lastDay: '[Дирӯз соати] LT',\n            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'баъди %s',\n            past: '%s пеш',\n            s: 'якчанд сония',\n            m: 'як дақиқа',\n            mm: '%d дақиқа',\n            h: 'як соат',\n            hh: '%d соат',\n            d: 'як рӯз',\n            dd: '%d рӯз',\n            M: 'як моҳ',\n            MM: '%d моҳ',\n            y: 'як сол',\n            yy: '%d сол',\n        },\n        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'шаб') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'субҳ') {\n                return hour;\n            } else if (meridiem === 'рӯз') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'бегоҳ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'шаб';\n            } else if (hour < 11) {\n                return 'субҳ';\n            } else if (hour < 16) {\n                return 'рӯз';\n            } else if (hour < 19) {\n                return 'бегоҳ';\n            } else {\n                return 'шаб';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1th is the first week of the year.\n        },\n    });\n\n    return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var th = moment.defineLocale('th', {\n        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n            '_'\n        ),\n        monthsShort:\n            'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY เวลา H:mm',\n            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n        },\n        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n        isPM: function (input) {\n            return input === 'หลังเที่ยง';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ก่อนเที่ยง';\n            } else {\n                return 'หลังเที่ยง';\n            }\n        },\n        calendar: {\n            sameDay: '[วันนี้ เวลา] LT',\n            nextDay: '[พรุ่งนี้ เวลา] LT',\n            nextWeek: 'dddd[หน้า เวลา] LT',\n            lastDay: '[เมื่อวานนี้ เวลา] LT',\n            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'อีก %s',\n            past: '%sที่แล้ว',\n            s: 'ไม่กี่วินาที',\n            ss: '%d วินาที',\n            m: '1 นาที',\n            mm: '%d นาที',\n            h: '1 ชั่วโมง',\n            hh: '%d ชั่วโมง',\n            d: '1 วัน',\n            dd: '%d วัน',\n            w: '1 สัปดาห์',\n            ww: '%d สัปดาห์',\n            M: '1 เดือน',\n            MM: '%d เดือน',\n            y: '1 ปี',\n            yy: '%d ปี',\n        },\n    });\n\n    return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inji\",\n        5: \"'inji\",\n        8: \"'inji\",\n        70: \"'inji\",\n        80: \"'inji\",\n        2: \"'nji\",\n        7: \"'nji\",\n        20: \"'nji\",\n        50: \"'nji\",\n        3: \"'ünji\",\n        4: \"'ünji\",\n        100: \"'ünji\",\n        6: \"'njy\",\n        9: \"'unjy\",\n        10: \"'unjy\",\n        30: \"'unjy\",\n        60: \"'ynjy\",\n        90: \"'ynjy\",\n    };\n\n    var tk = moment.defineLocale('tk', {\n        months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n        weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n            '_'\n        ),\n        weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n        weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün sagat] LT',\n            nextDay: '[ertir sagat] LT',\n            nextWeek: '[indiki] dddd [sagat] LT',\n            lastDay: '[düýn] LT',\n            lastWeek: '[geçen] dddd [sagat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s soň',\n            past: '%s öň',\n            s: 'birnäçe sekunt',\n            m: 'bir minut',\n            mm: '%d minut',\n            h: 'bir sagat',\n            hh: '%d sagat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir aý',\n            MM: '%d aý',\n            y: 'bir ýyl',\n            yy: '%d ýyl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'unjy\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tlPh = moment.defineLocale('tl-ph', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n    function translateFuture(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'leS'\n                : output.indexOf('jar') !== -1\n                  ? time.slice(0, -3) + 'waQ'\n                  : output.indexOf('DIS') !== -1\n                    ? time.slice(0, -3) + 'nem'\n                    : time + ' pIq';\n        return time;\n    }\n\n    function translatePast(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'Hu’'\n                : output.indexOf('jar') !== -1\n                  ? time.slice(0, -3) + 'wen'\n                  : output.indexOf('DIS') !== -1\n                    ? time.slice(0, -3) + 'ben'\n                    : time + ' ret';\n        return time;\n    }\n\n    function translate(number, withoutSuffix, string, isFuture) {\n        var numberNoun = numberAsNoun(number);\n        switch (string) {\n            case 'ss':\n                return numberNoun + ' lup';\n            case 'mm':\n                return numberNoun + ' tup';\n            case 'hh':\n                return numberNoun + ' rep';\n            case 'dd':\n                return numberNoun + ' jaj';\n            case 'MM':\n                return numberNoun + ' jar';\n            case 'yy':\n                return numberNoun + ' DIS';\n        }\n    }\n\n    function numberAsNoun(number) {\n        var hundred = Math.floor((number % 1000) / 100),\n            ten = Math.floor((number % 100) / 10),\n            one = number % 10,\n            word = '';\n        if (hundred > 0) {\n            word += numbersNouns[hundred] + 'vatlh';\n        }\n        if (ten > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n        }\n        if (one > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[one];\n        }\n        return word === '' ? 'pagh' : word;\n    }\n\n    var tlh = moment.defineLocale('tlh', {\n        months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n            '_'\n        ),\n        monthsShort:\n            'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        weekdaysShort:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        weekdaysMin:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[DaHjaj] LT',\n            nextDay: '[wa’leS] LT',\n            nextWeek: 'LLL',\n            lastDay: '[wa’Hu’] LT',\n            lastWeek: 'LLL',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: translateFuture,\n            past: translatePast,\n            s: 'puS lup',\n            ss: translate,\n            m: 'wa’ tup',\n            mm: translate,\n            h: 'wa’ rep',\n            hh: translate,\n            d: 'wa’ jaj',\n            dd: translate,\n            M: 'wa’ jar',\n            MM: translate,\n            y: 'wa’ DIS',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//!           Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inci\",\n        5: \"'inci\",\n        8: \"'inci\",\n        70: \"'inci\",\n        80: \"'inci\",\n        2: \"'nci\",\n        7: \"'nci\",\n        20: \"'nci\",\n        50: \"'nci\",\n        3: \"'üncü\",\n        4: \"'üncü\",\n        100: \"'üncü\",\n        6: \"'ncı\",\n        9: \"'uncu\",\n        10: \"'uncu\",\n        30: \"'uncu\",\n        60: \"'ıncı\",\n        90: \"'ıncı\",\n    };\n\n    var tr = moment.defineLocale('tr', {\n        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n            '_'\n        ),\n        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n            '_'\n        ),\n        weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'öö' : 'ÖÖ';\n            } else {\n                return isLower ? 'ös' : 'ÖS';\n            }\n        },\n        meridiemParse: /öö|ÖÖ|ös|ÖS/,\n        isPM: function (input) {\n            return input === 'ös' || input === 'ÖS';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[yarın saat] LT',\n            nextWeek: '[gelecek] dddd [saat] LT',\n            lastDay: '[dün] LT',\n            lastWeek: '[geçen] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s önce',\n            s: 'birkaç saniye',\n            ss: '%d saniye',\n            m: 'bir dakika',\n            mm: '%d dakika',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            w: 'bir hafta',\n            ww: '%d hafta',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir yıl',\n            yy: '%d yıl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'ıncı\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n    // This is currently too difficult (maybe even impossible) to add.\n    var tzl = moment.defineLocale('tzl', {\n        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM [dallas] YYYY',\n            LLL: 'D. MMMM [dallas] YYYY HH.mm',\n            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n        },\n        meridiemParse: /d\\'o|d\\'a/i,\n        isPM: function (input) {\n            return \"d'o\" === input.toLowerCase();\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? \"d'o\" : \"D'O\";\n            } else {\n                return isLower ? \"d'a\" : \"D'A\";\n            }\n        },\n        calendar: {\n            sameDay: '[oxhi à] LT',\n            nextDay: '[demà à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[ieiri à] LT',\n            lastWeek: '[sür el] dddd [lasteu à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'osprei %s',\n            past: 'ja%s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['viensas secunds', \"'iensas secunds\"],\n            ss: [number + ' secunds', '' + number + ' secunds'],\n            m: [\"'n míut\", \"'iens míut\"],\n            mm: [number + ' míuts', '' + number + ' míuts'],\n            h: [\"'n þora\", \"'iensa þora\"],\n            hh: [number + ' þoras', '' + number + ' þoras'],\n            d: [\"'n ziua\", \"'iensa ziua\"],\n            dd: [number + ' ziuas', '' + number + ' ziuas'],\n            M: [\"'n mes\", \"'iens mes\"],\n            MM: [number + ' mesen', '' + number + ' mesen'],\n            y: [\"'n ar\", \"'iens ar\"],\n            yy: [number + ' ars', '' + number + ' ars'],\n        };\n        return isFuture\n            ? format[key][0]\n            : withoutSuffix\n              ? format[key][0]\n              : format[key][1];\n    }\n\n    return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzmLatn = moment.defineLocale('tzm-latn', {\n        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n            '_'\n        ),\n        monthsShort:\n            'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n                '_'\n            ),\n        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[asdkh g] LT',\n            nextDay: '[aska g] LT',\n            nextWeek: 'dddd [g] LT',\n            lastDay: '[assant g] LT',\n            lastWeek: 'dddd [g] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dadkh s yan %s',\n            past: 'yan %s',\n            s: 'imik',\n            ss: '%d imik',\n            m: 'minuḍ',\n            mm: '%d minuḍ',\n            h: 'saɛa',\n            hh: '%d tassaɛin',\n            d: 'ass',\n            dd: '%d ossan',\n            M: 'ayowr',\n            MM: '%d iyyirn',\n            y: 'asgas',\n            yy: '%d isgasn',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzm = moment.defineLocale('tzm', {\n        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n                '_'\n            ),\n        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n            nextWeek: 'dddd [ⴴ] LT',\n            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n            lastWeek: 'dddd [ⴴ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n            past: 'ⵢⴰⵏ %s',\n            s: 'ⵉⵎⵉⴽ',\n            ss: '%d ⵉⵎⵉⴽ',\n            m: 'ⵎⵉⵏⵓⴺ',\n            mm: '%d ⵎⵉⵏⵓⴺ',\n            h: 'ⵙⴰⵄⴰ',\n            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n            d: 'ⴰⵙⵙ',\n            dd: '%d oⵙⵙⴰⵏ',\n            M: 'ⴰⵢoⵓⵔ',\n            MM: '%d ⵉⵢⵢⵉⵔⵏ',\n            y: 'ⴰⵙⴳⴰⵙ',\n            yy: '%d ⵉⵙⴳⴰⵙⵏ',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ugCn = moment.defineLocale('ug-cn', {\n        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n                '_'\n            ),\n        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n            '_'\n        ),\n        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n        },\n        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                meridiem === 'يېرىم كېچە' ||\n                meridiem === 'سەھەر' ||\n                meridiem === 'چۈشتىن بۇرۇن'\n            ) {\n                return hour;\n            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n                return hour + 12;\n            } else {\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return 'يېرىم كېچە';\n            } else if (hm < 900) {\n                return 'سەھەر';\n            } else if (hm < 1130) {\n                return 'چۈشتىن بۇرۇن';\n            } else if (hm < 1230) {\n                return 'چۈش';\n            } else if (hm < 1800) {\n                return 'چۈشتىن كېيىن';\n            } else {\n                return 'كەچ';\n            }\n        },\n        calendar: {\n            sameDay: '[بۈگۈن سائەت] LT',\n            nextDay: '[ئەتە سائەت] LT',\n            nextWeek: '[كېلەركى] dddd [سائەت] LT',\n            lastDay: '[تۆنۈگۈن] LT',\n            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s كېيىن',\n            past: '%s بۇرۇن',\n            s: 'نەچچە سېكونت',\n            ss: '%d سېكونت',\n            m: 'بىر مىنۇت',\n            mm: '%d مىنۇت',\n            h: 'بىر سائەت',\n            hh: '%d سائەت',\n            d: 'بىر كۈن',\n            dd: '%d كۈن',\n            M: 'بىر ئاي',\n            MM: '%d ئاي',\n            y: 'بىر يىل',\n            yy: '%d يىل',\n        },\n\n        dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '-كۈنى';\n                case 'w':\n                case 'W':\n                    return number + '-ھەپتە';\n                default:\n                    return number;\n            }\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n            mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n            hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n            dd: 'день_дні_днів',\n            MM: 'місяць_місяці_місяців',\n            yy: 'рік_роки_років',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвилина' : 'хвилину';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'година' : 'годину';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    function weekdaysCaseReplace(m, format) {\n        var weekdays = {\n                nominative:\n                    'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n                        '_'\n                    ),\n                accusative:\n                    'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n                        '_'\n                    ),\n                genitive:\n                    'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n                        '_'\n                    ),\n            },\n            nounCase;\n\n        if (m === true) {\n            return weekdays['nominative']\n                .slice(1, 7)\n                .concat(weekdays['nominative'].slice(0, 1));\n        }\n        if (!m) {\n            return weekdays['nominative'];\n        }\n\n        nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n            ? 'accusative'\n            : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n              ? 'genitive'\n              : 'nominative';\n        return weekdays[nounCase][m.day()];\n    }\n    function processHoursFunction(str) {\n        return function () {\n            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n        };\n    }\n\n    var uk = moment.defineLocale('uk', {\n        months: {\n            format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n                '_'\n            ),\n            standalone:\n                'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n            '_'\n        ),\n        weekdays: weekdaysCaseReplace,\n        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY р.',\n            LLL: 'D MMMM YYYY р., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n        },\n        calendar: {\n            sameDay: processHoursFunction('[Сьогодні '),\n            nextDay: processHoursFunction('[Завтра '),\n            lastDay: processHoursFunction('[Вчора '),\n            nextWeek: processHoursFunction('[У] dddd ['),\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return processHoursFunction('[Минулої] dddd [').call(this);\n                    case 1:\n                    case 2:\n                    case 4:\n                        return processHoursFunction('[Минулого] dddd [').call(this);\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: '%s тому',\n            s: 'декілька секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'годину',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            M: 'місяць',\n            MM: relativeTimeWithPlural,\n            y: 'рік',\n            yy: relativeTimeWithPlural,\n        },\n        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n        meridiemParse: /ночі|ранку|дня|вечора/,\n        isPM: function (input) {\n            return /^(дня|вечора)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночі';\n            } else if (hour < 12) {\n                return 'ранку';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечора';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوری',\n            'فروری',\n            'مارچ',\n            'اپریل',\n            'مئی',\n            'جون',\n            'جولائی',\n            'اگست',\n            'ستمبر',\n            'اکتوبر',\n            'نومبر',\n            'دسمبر',\n        ],\n        days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n    var ur = moment.defineLocale('ur', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[آج بوقت] LT',\n            nextDay: '[کل بوقت] LT',\n            nextWeek: 'dddd [بوقت] LT',\n            lastDay: '[گذشتہ روز بوقت] LT',\n            lastWeek: '[گذشتہ] dddd [بوقت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s بعد',\n            past: '%s قبل',\n            s: 'چند سیکنڈ',\n            ss: '%d سیکنڈ',\n            m: 'ایک منٹ',\n            mm: '%d منٹ',\n            h: 'ایک گھنٹہ',\n            hh: '%d گھنٹے',\n            d: 'ایک دن',\n            dd: '%d دن',\n            M: 'ایک ماہ',\n            MM: '%d ماہ',\n            y: 'ایک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uzLatn = moment.defineLocale('uz-latn', {\n        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n        weekdays:\n            'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n                '_'\n            ),\n        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bugun soat] LT [da]',\n            nextDay: '[Ertaga] LT [da]',\n            nextWeek: 'dddd [kuni soat] LT [da]',\n            lastDay: '[Kecha soat] LT [da]',\n            lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Yaqin %s ichida',\n            past: 'Bir necha %s oldin',\n            s: 'soniya',\n            ss: '%d soniya',\n            m: 'bir daqiqa',\n            mm: '%d daqiqa',\n            h: 'bir soat',\n            hh: '%d soat',\n            d: 'bir kun',\n            dd: '%d kun',\n            M: 'bir oy',\n            MM: '%d oy',\n            y: 'bir yil',\n            yy: '%d yil',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uz = moment.defineLocale('uz', {\n        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бугун соат] LT [да]',\n            nextDay: '[Эртага] LT [да]',\n            nextWeek: 'dddd [куни соат] LT [да]',\n            lastDay: '[Кеча соат] LT [да]',\n            lastWeek: '[Утган] dddd [куни соат] LT [да]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Якин %s ичида',\n            past: 'Бир неча %s олдин',\n            s: 'фурсат',\n            ss: '%d фурсат',\n            m: 'бир дакика',\n            mm: '%d дакика',\n            h: 'бир соат',\n            hh: '%d соат',\n            d: 'бир кун',\n            dd: '%d кун',\n            M: 'бир ой',\n            MM: '%d ой',\n            y: 'бир йил',\n            yy: '%d йил',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var vi = moment.defineLocale('vi', {\n        months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n            '_'\n        ),\n        monthsShort:\n            'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n            '_'\n        ),\n        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /sa|ch/i,\n        isPM: function (input) {\n            return /^ch$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'sa' : 'SA';\n            } else {\n                return isLower ? 'ch' : 'CH';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [năm] YYYY',\n            LLL: 'D MMMM [năm] YYYY HH:mm',\n            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n            l: 'DD/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hôm nay lúc] LT',\n            nextDay: '[Ngày mai lúc] LT',\n            nextWeek: 'dddd [tuần tới lúc] LT',\n            lastDay: '[Hôm qua lúc] LT',\n            lastWeek: 'dddd [tuần trước lúc] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s tới',\n            past: '%s trước',\n            s: 'vài giây',\n            ss: '%d giây',\n            m: 'một phút',\n            mm: '%d phút',\n            h: 'một giờ',\n            hh: '%d giờ',\n            d: 'một ngày',\n            dd: '%d ngày',\n            w: 'một tuần',\n            ww: '%d tuần',\n            M: 'một tháng',\n            MM: '%d tháng',\n            y: 'một năm',\n            yy: '%d năm',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var xPseudo = moment.defineLocale('x-pseudo', {\n        months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n            '_'\n        ),\n        monthsShort:\n            'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n                '_'\n            ),\n        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[T~ódá~ý át] LT',\n            nextDay: '[T~ómó~rró~w át] LT',\n            nextWeek: 'dddd [át] LT',\n            lastDay: '[Ý~ést~érdá~ý át] LT',\n            lastWeek: '[L~ást] dddd [át] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'í~ñ %s',\n            past: '%s á~gó',\n            s: 'á ~féw ~sécó~ñds',\n            ss: '%d s~écóñ~ds',\n            m: 'á ~míñ~úté',\n            mm: '%d m~íñú~tés',\n            h: 'á~ñ hó~úr',\n            hh: '%d h~óúrs',\n            d: 'á ~dáý',\n            dd: '%d d~áýs',\n            M: 'á ~móñ~th',\n            MM: '%d m~óñt~hs',\n            y: 'á ~ýéár',\n            yy: '%d ý~éárs',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var yo = moment.defineLocale('yo', {\n        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n            '_'\n        ),\n        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Ònì ni] LT',\n            nextDay: '[Ọ̀la ni] LT',\n            nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n            lastDay: '[Àna ni] LT',\n            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ní %s',\n            past: '%s kọjá',\n            s: 'ìsẹjú aayá die',\n            ss: 'aayá %d',\n            m: 'ìsẹjú kan',\n            mm: 'ìsẹjú %d',\n            h: 'wákati kan',\n            hh: 'wákati %d',\n            d: 'ọjọ́ kan',\n            dd: 'ọjọ́ %d',\n            M: 'osù kan',\n            MM: 'osù %d',\n            y: 'ọdún kan',\n            yy: 'ọdún %d',\n        },\n        dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n        ordinal: 'ọjọ́ %d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhCn = moment.defineLocale('zh-cn', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日Ah点mm分',\n            LLLL: 'YYYY年M月D日ddddAh点mm分',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            } else {\n                // '中午'\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[下]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            lastDay: '[昨天]LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[上]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '周';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s后',\n            past: '%s前',\n            s: '几秒',\n            ss: '%d 秒',\n            m: '1 分钟',\n            mm: '%d 分钟',\n            h: '1 小时',\n            hh: '%d 小时',\n            d: '1 天',\n            dd: '%d 天',\n            w: '1 周',\n            ww: '%d 周',\n            M: '1 个月',\n            MM: '%d 个月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhHk = moment.defineLocale('zh-hk', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1200) {\n                return '上午';\n            } else if (hm === 1200) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: '[下]ddddLT',\n            lastDay: '[昨天]LT',\n            lastWeek: '[上]ddddLT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhMo = moment.defineLocale('zh-mo', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s內',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhTw = moment.defineLocale('zh-tw', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhTw;\n\n})));\n","var map = {\n\t\"./af\": 296,\n\t\"./af.js\": 296,\n\t\"./ar\": 297,\n\t\"./ar-dz\": 298,\n\t\"./ar-dz.js\": 298,\n\t\"./ar-kw\": 299,\n\t\"./ar-kw.js\": 299,\n\t\"./ar-ly\": 300,\n\t\"./ar-ly.js\": 300,\n\t\"./ar-ma\": 301,\n\t\"./ar-ma.js\": 301,\n\t\"./ar-ps\": 302,\n\t\"./ar-ps.js\": 302,\n\t\"./ar-sa\": 303,\n\t\"./ar-sa.js\": 303,\n\t\"./ar-tn\": 304,\n\t\"./ar-tn.js\": 304,\n\t\"./ar.js\": 297,\n\t\"./az\": 305,\n\t\"./az.js\": 305,\n\t\"./be\": 306,\n\t\"./be.js\": 306,\n\t\"./bg\": 307,\n\t\"./bg.js\": 307,\n\t\"./bm\": 308,\n\t\"./bm.js\": 308,\n\t\"./bn\": 309,\n\t\"./bn-bd\": 310,\n\t\"./bn-bd.js\": 310,\n\t\"./bn.js\": 309,\n\t\"./bo\": 311,\n\t\"./bo.js\": 311,\n\t\"./br\": 312,\n\t\"./br.js\": 312,\n\t\"./bs\": 313,\n\t\"./bs.js\": 313,\n\t\"./ca\": 314,\n\t\"./ca.js\": 314,\n\t\"./cs\": 315,\n\t\"./cs.js\": 315,\n\t\"./cv\": 316,\n\t\"./cv.js\": 316,\n\t\"./cy\": 317,\n\t\"./cy.js\": 317,\n\t\"./da\": 318,\n\t\"./da.js\": 318,\n\t\"./de\": 319,\n\t\"./de-at\": 320,\n\t\"./de-at.js\": 320,\n\t\"./de-ch\": 321,\n\t\"./de-ch.js\": 321,\n\t\"./de.js\": 319,\n\t\"./dv\": 322,\n\t\"./dv.js\": 322,\n\t\"./el\": 323,\n\t\"./el.js\": 323,\n\t\"./en-au\": 324,\n\t\"./en-au.js\": 324,\n\t\"./en-ca\": 325,\n\t\"./en-ca.js\": 325,\n\t\"./en-gb\": 326,\n\t\"./en-gb.js\": 326,\n\t\"./en-ie\": 327,\n\t\"./en-ie.js\": 327,\n\t\"./en-il\": 328,\n\t\"./en-il.js\": 328,\n\t\"./en-in\": 329,\n\t\"./en-in.js\": 329,\n\t\"./en-nz\": 330,\n\t\"./en-nz.js\": 330,\n\t\"./en-sg\": 331,\n\t\"./en-sg.js\": 331,\n\t\"./eo\": 332,\n\t\"./eo.js\": 332,\n\t\"./es\": 333,\n\t\"./es-do\": 334,\n\t\"./es-do.js\": 334,\n\t\"./es-mx\": 335,\n\t\"./es-mx.js\": 335,\n\t\"./es-us\": 336,\n\t\"./es-us.js\": 336,\n\t\"./es.js\": 333,\n\t\"./et\": 337,\n\t\"./et.js\": 337,\n\t\"./eu\": 338,\n\t\"./eu.js\": 338,\n\t\"./fa\": 339,\n\t\"./fa.js\": 339,\n\t\"./fi\": 340,\n\t\"./fi.js\": 340,\n\t\"./fil\": 341,\n\t\"./fil.js\": 341,\n\t\"./fo\": 342,\n\t\"./fo.js\": 342,\n\t\"./fr\": 343,\n\t\"./fr-ca\": 344,\n\t\"./fr-ca.js\": 344,\n\t\"./fr-ch\": 345,\n\t\"./fr-ch.js\": 345,\n\t\"./fr.js\": 343,\n\t\"./fy\": 346,\n\t\"./fy.js\": 346,\n\t\"./ga\": 347,\n\t\"./ga.js\": 347,\n\t\"./gd\": 348,\n\t\"./gd.js\": 348,\n\t\"./gl\": 349,\n\t\"./gl.js\": 349,\n\t\"./gom-deva\": 350,\n\t\"./gom-deva.js\": 350,\n\t\"./gom-latn\": 351,\n\t\"./gom-latn.js\": 351,\n\t\"./gu\": 352,\n\t\"./gu.js\": 352,\n\t\"./he\": 353,\n\t\"./he.js\": 353,\n\t\"./hi\": 354,\n\t\"./hi.js\": 354,\n\t\"./hr\": 355,\n\t\"./hr.js\": 355,\n\t\"./hu\": 356,\n\t\"./hu.js\": 356,\n\t\"./hy-am\": 357,\n\t\"./hy-am.js\": 357,\n\t\"./id\": 358,\n\t\"./id.js\": 358,\n\t\"./is\": 359,\n\t\"./is.js\": 359,\n\t\"./it\": 360,\n\t\"./it-ch\": 361,\n\t\"./it-ch.js\": 361,\n\t\"./it.js\": 360,\n\t\"./ja\": 362,\n\t\"./ja.js\": 362,\n\t\"./jv\": 363,\n\t\"./jv.js\": 363,\n\t\"./ka\": 364,\n\t\"./ka.js\": 364,\n\t\"./kk\": 365,\n\t\"./kk.js\": 365,\n\t\"./km\": 366,\n\t\"./km.js\": 366,\n\t\"./kn\": 367,\n\t\"./kn.js\": 367,\n\t\"./ko\": 368,\n\t\"./ko.js\": 368,\n\t\"./ku\": 369,\n\t\"./ku-kmr\": 370,\n\t\"./ku-kmr.js\": 370,\n\t\"./ku.js\": 369,\n\t\"./ky\": 371,\n\t\"./ky.js\": 371,\n\t\"./lb\": 372,\n\t\"./lb.js\": 372,\n\t\"./lo\": 373,\n\t\"./lo.js\": 373,\n\t\"./lt\": 374,\n\t\"./lt.js\": 374,\n\t\"./lv\": 375,\n\t\"./lv.js\": 375,\n\t\"./me\": 376,\n\t\"./me.js\": 376,\n\t\"./mi\": 377,\n\t\"./mi.js\": 377,\n\t\"./mk\": 378,\n\t\"./mk.js\": 378,\n\t\"./ml\": 379,\n\t\"./ml.js\": 379,\n\t\"./mn\": 380,\n\t\"./mn.js\": 380,\n\t\"./mr\": 381,\n\t\"./mr.js\": 381,\n\t\"./ms\": 382,\n\t\"./ms-my\": 383,\n\t\"./ms-my.js\": 383,\n\t\"./ms.js\": 382,\n\t\"./mt\": 384,\n\t\"./mt.js\": 384,\n\t\"./my\": 385,\n\t\"./my.js\": 385,\n\t\"./nb\": 386,\n\t\"./nb.js\": 386,\n\t\"./ne\": 387,\n\t\"./ne.js\": 387,\n\t\"./nl\": 388,\n\t\"./nl-be\": 389,\n\t\"./nl-be.js\": 389,\n\t\"./nl.js\": 388,\n\t\"./nn\": 390,\n\t\"./nn.js\": 390,\n\t\"./oc-lnc\": 391,\n\t\"./oc-lnc.js\": 391,\n\t\"./pa-in\": 392,\n\t\"./pa-in.js\": 392,\n\t\"./pl\": 393,\n\t\"./pl.js\": 393,\n\t\"./pt\": 394,\n\t\"./pt-br\": 395,\n\t\"./pt-br.js\": 395,\n\t\"./pt.js\": 394,\n\t\"./ro\": 396,\n\t\"./ro.js\": 396,\n\t\"./ru\": 397,\n\t\"./ru.js\": 397,\n\t\"./sd\": 398,\n\t\"./sd.js\": 398,\n\t\"./se\": 399,\n\t\"./se.js\": 399,\n\t\"./si\": 400,\n\t\"./si.js\": 400,\n\t\"./sk\": 401,\n\t\"./sk.js\": 401,\n\t\"./sl\": 402,\n\t\"./sl.js\": 402,\n\t\"./sq\": 403,\n\t\"./sq.js\": 403,\n\t\"./sr\": 404,\n\t\"./sr-cyrl\": 405,\n\t\"./sr-cyrl.js\": 405,\n\t\"./sr.js\": 404,\n\t\"./ss\": 406,\n\t\"./ss.js\": 406,\n\t\"./sv\": 407,\n\t\"./sv.js\": 407,\n\t\"./sw\": 408,\n\t\"./sw.js\": 408,\n\t\"./ta\": 409,\n\t\"./ta.js\": 409,\n\t\"./te\": 410,\n\t\"./te.js\": 410,\n\t\"./tet\": 411,\n\t\"./tet.js\": 411,\n\t\"./tg\": 412,\n\t\"./tg.js\": 412,\n\t\"./th\": 413,\n\t\"./th.js\": 413,\n\t\"./tk\": 414,\n\t\"./tk.js\": 414,\n\t\"./tl-ph\": 415,\n\t\"./tl-ph.js\": 415,\n\t\"./tlh\": 416,\n\t\"./tlh.js\": 416,\n\t\"./tr\": 417,\n\t\"./tr.js\": 417,\n\t\"./tzl\": 418,\n\t\"./tzl.js\": 418,\n\t\"./tzm\": 419,\n\t\"./tzm-latn\": 420,\n\t\"./tzm-latn.js\": 420,\n\t\"./tzm.js\": 419,\n\t\"./ug-cn\": 421,\n\t\"./ug-cn.js\": 421,\n\t\"./uk\": 422,\n\t\"./uk.js\": 422,\n\t\"./ur\": 423,\n\t\"./ur.js\": 423,\n\t\"./uz\": 424,\n\t\"./uz-latn\": 425,\n\t\"./uz-latn.js\": 425,\n\t\"./uz.js\": 424,\n\t\"./vi\": 426,\n\t\"./vi.js\": 426,\n\t\"./x-pseudo\": 427,\n\t\"./x-pseudo.js\": 427,\n\t\"./yo\": 428,\n\t\"./yo.js\": 428,\n\t\"./zh-cn\": 429,\n\t\"./zh-cn.js\": 429,\n\t\"./zh-hk\": 430,\n\t\"./zh-hk.js\": 430,\n\t\"./zh-mo\": 431,\n\t\"./zh-mo.js\": 431,\n\t\"./zh-tw\": 432,\n\t\"./zh-tw.js\": 432\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 656;","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\n    var hookCallback;\n\n    function hooks() {\n        return hookCallback.apply(null, arguments);\n    }\n\n    // This is done to register the method called with moment()\n    // without creating circular dependencies.\n    function setHookCallback(callback) {\n        hookCallback = callback;\n    }\n\n    function isArray(input) {\n        return (\n            input instanceof Array ||\n            Object.prototype.toString.call(input) === '[object Array]'\n        );\n    }\n\n    function isObject(input) {\n        // IE8 will treat undefined and null as object if it wasn't for\n        // input != null\n        return (\n            input != null &&\n            Object.prototype.toString.call(input) === '[object Object]'\n        );\n    }\n\n    function hasOwnProp(a, b) {\n        return Object.prototype.hasOwnProperty.call(a, b);\n    }\n\n    function isObjectEmpty(obj) {\n        if (Object.getOwnPropertyNames) {\n            return Object.getOwnPropertyNames(obj).length === 0;\n        } else {\n            var k;\n            for (k in obj) {\n                if (hasOwnProp(obj, k)) {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n\n    function isUndefined(input) {\n        return input === void 0;\n    }\n\n    function isNumber(input) {\n        return (\n            typeof input === 'number' ||\n            Object.prototype.toString.call(input) === '[object Number]'\n        );\n    }\n\n    function isDate(input) {\n        return (\n            input instanceof Date ||\n            Object.prototype.toString.call(input) === '[object Date]'\n        );\n    }\n\n    function map(arr, fn) {\n        var res = [],\n            i,\n            arrLen = arr.length;\n        for (i = 0; i < arrLen; ++i) {\n            res.push(fn(arr[i], i));\n        }\n        return res;\n    }\n\n    function extend(a, b) {\n        for (var i in b) {\n            if (hasOwnProp(b, i)) {\n                a[i] = b[i];\n            }\n        }\n\n        if (hasOwnProp(b, 'toString')) {\n            a.toString = b.toString;\n        }\n\n        if (hasOwnProp(b, 'valueOf')) {\n            a.valueOf = b.valueOf;\n        }\n\n        return a;\n    }\n\n    function createUTC(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, true).utc();\n    }\n\n    function defaultParsingFlags() {\n        // We need to deep clone this object.\n        return {\n            empty: false,\n            unusedTokens: [],\n            unusedInput: [],\n            overflow: -2,\n            charsLeftOver: 0,\n            nullInput: false,\n            invalidEra: null,\n            invalidMonth: null,\n            invalidFormat: false,\n            userInvalidated: false,\n            iso: false,\n            parsedDateParts: [],\n            era: null,\n            meridiem: null,\n            rfc2822: false,\n            weekdayMismatch: false,\n        };\n    }\n\n    function getParsingFlags(m) {\n        if (m._pf == null) {\n            m._pf = defaultParsingFlags();\n        }\n        return m._pf;\n    }\n\n    var some;\n    if (Array.prototype.some) {\n        some = Array.prototype.some;\n    } else {\n        some = function (fun) {\n            var t = Object(this),\n                len = t.length >>> 0,\n                i;\n\n            for (i = 0; i < len; i++) {\n                if (i in t && fun.call(this, t[i], i, t)) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n    }\n\n    function isValid(m) {\n        var flags = null,\n            parsedParts = false,\n            isNowValid = m._d && !isNaN(m._d.getTime());\n        if (isNowValid) {\n            flags = getParsingFlags(m);\n            parsedParts = some.call(flags.parsedDateParts, function (i) {\n                return i != null;\n            });\n            isNowValid =\n                flags.overflow < 0 &&\n                !flags.empty &&\n                !flags.invalidEra &&\n                !flags.invalidMonth &&\n                !flags.invalidWeekday &&\n                !flags.weekdayMismatch &&\n                !flags.nullInput &&\n                !flags.invalidFormat &&\n                !flags.userInvalidated &&\n                (!flags.meridiem || (flags.meridiem && parsedParts));\n            if (m._strict) {\n                isNowValid =\n                    isNowValid &&\n                    flags.charsLeftOver === 0 &&\n                    flags.unusedTokens.length === 0 &&\n                    flags.bigHour === undefined;\n            }\n        }\n        if (Object.isFrozen == null || !Object.isFrozen(m)) {\n            m._isValid = isNowValid;\n        } else {\n            return isNowValid;\n        }\n        return m._isValid;\n    }\n\n    function createInvalid(flags) {\n        var m = createUTC(NaN);\n        if (flags != null) {\n            extend(getParsingFlags(m), flags);\n        } else {\n            getParsingFlags(m).userInvalidated = true;\n        }\n\n        return m;\n    }\n\n    // Plugins that add properties should also add the key here (null value),\n    // so we can properly clone ourselves.\n    var momentProperties = (hooks.momentProperties = []),\n        updateInProgress = false;\n\n    function copyConfig(to, from) {\n        var i,\n            prop,\n            val,\n            momentPropertiesLen = momentProperties.length;\n\n        if (!isUndefined(from._isAMomentObject)) {\n            to._isAMomentObject = from._isAMomentObject;\n        }\n        if (!isUndefined(from._i)) {\n            to._i = from._i;\n        }\n        if (!isUndefined(from._f)) {\n            to._f = from._f;\n        }\n        if (!isUndefined(from._l)) {\n            to._l = from._l;\n        }\n        if (!isUndefined(from._strict)) {\n            to._strict = from._strict;\n        }\n        if (!isUndefined(from._tzm)) {\n            to._tzm = from._tzm;\n        }\n        if (!isUndefined(from._isUTC)) {\n            to._isUTC = from._isUTC;\n        }\n        if (!isUndefined(from._offset)) {\n            to._offset = from._offset;\n        }\n        if (!isUndefined(from._pf)) {\n            to._pf = getParsingFlags(from);\n        }\n        if (!isUndefined(from._locale)) {\n            to._locale = from._locale;\n        }\n\n        if (momentPropertiesLen > 0) {\n            for (i = 0; i < momentPropertiesLen; i++) {\n                prop = momentProperties[i];\n                val = from[prop];\n                if (!isUndefined(val)) {\n                    to[prop] = val;\n                }\n            }\n        }\n\n        return to;\n    }\n\n    // Moment prototype object\n    function Moment(config) {\n        copyConfig(this, config);\n        this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n        if (!this.isValid()) {\n            this._d = new Date(NaN);\n        }\n        // Prevent infinite loop in case updateOffset creates new moment\n        // objects.\n        if (updateInProgress === false) {\n            updateInProgress = true;\n            hooks.updateOffset(this);\n            updateInProgress = false;\n        }\n    }\n\n    function isMoment(obj) {\n        return (\n            obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n        );\n    }\n\n    function warn(msg) {\n        if (\n            hooks.suppressDeprecationWarnings === false &&\n            typeof console !== 'undefined' &&\n            console.warn\n        ) {\n            console.warn('Deprecation warning: ' + msg);\n        }\n    }\n\n    function deprecate(msg, fn) {\n        var firstTime = true;\n\n        return extend(function () {\n            if (hooks.deprecationHandler != null) {\n                hooks.deprecationHandler(null, msg);\n            }\n            if (firstTime) {\n                var args = [],\n                    arg,\n                    i,\n                    key,\n                    argLen = arguments.length;\n                for (i = 0; i < argLen; i++) {\n                    arg = '';\n                    if (typeof arguments[i] === 'object') {\n                        arg += '\\n[' + i + '] ';\n                        for (key in arguments[0]) {\n                            if (hasOwnProp(arguments[0], key)) {\n                                arg += key + ': ' + arguments[0][key] + ', ';\n                            }\n                        }\n                        arg = arg.slice(0, -2); // Remove trailing comma and space\n                    } else {\n                        arg = arguments[i];\n                    }\n                    args.push(arg);\n                }\n                warn(\n                    msg +\n                        '\\nArguments: ' +\n                        Array.prototype.slice.call(args).join('') +\n                        '\\n' +\n                        new Error().stack\n                );\n                firstTime = false;\n            }\n            return fn.apply(this, arguments);\n        }, fn);\n    }\n\n    var deprecations = {};\n\n    function deprecateSimple(name, msg) {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(name, msg);\n        }\n        if (!deprecations[name]) {\n            warn(msg);\n            deprecations[name] = true;\n        }\n    }\n\n    hooks.suppressDeprecationWarnings = false;\n    hooks.deprecationHandler = null;\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    function set(config) {\n        var prop, i;\n        for (i in config) {\n            if (hasOwnProp(config, i)) {\n                prop = config[i];\n                if (isFunction(prop)) {\n                    this[i] = prop;\n                } else {\n                    this['_' + i] = prop;\n                }\n            }\n        }\n        this._config = config;\n        // Lenient ordinal parsing accepts just a number in addition to\n        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        this._dayOfMonthOrdinalParseLenient = new RegExp(\n            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n                '|' +\n                /\\d{1,2}/.source\n        );\n    }\n\n    function mergeConfigs(parentConfig, childConfig) {\n        var res = extend({}, parentConfig),\n            prop;\n        for (prop in childConfig) {\n            if (hasOwnProp(childConfig, prop)) {\n                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                    res[prop] = {};\n                    extend(res[prop], parentConfig[prop]);\n                    extend(res[prop], childConfig[prop]);\n                } else if (childConfig[prop] != null) {\n                    res[prop] = childConfig[prop];\n                } else {\n                    delete res[prop];\n                }\n            }\n        }\n        for (prop in parentConfig) {\n            if (\n                hasOwnProp(parentConfig, prop) &&\n                !hasOwnProp(childConfig, prop) &&\n                isObject(parentConfig[prop])\n            ) {\n                // make sure changes to properties don't modify parent config\n                res[prop] = extend({}, res[prop]);\n            }\n        }\n        return res;\n    }\n\n    function Locale(config) {\n        if (config != null) {\n            this.set(config);\n        }\n    }\n\n    var keys;\n\n    if (Object.keys) {\n        keys = Object.keys;\n    } else {\n        keys = function (obj) {\n            var i,\n                res = [];\n            for (i in obj) {\n                if (hasOwnProp(obj, i)) {\n                    res.push(i);\n                }\n            }\n            return res;\n        };\n    }\n\n    var defaultCalendar = {\n        sameDay: '[Today at] LT',\n        nextDay: '[Tomorrow at] LT',\n        nextWeek: 'dddd [at] LT',\n        lastDay: '[Yesterday at] LT',\n        lastWeek: '[Last] dddd [at] LT',\n        sameElse: 'L',\n    };\n\n    function calendar(key, mom, now) {\n        var output = this._calendar[key] || this._calendar['sameElse'];\n        return isFunction(output) ? output.call(mom, now) : output;\n    }\n\n    function zeroFill(number, targetLength, forceSign) {\n        var absNumber = '' + Math.abs(number),\n            zerosToFill = targetLength - absNumber.length,\n            sign = number >= 0;\n        return (\n            (sign ? (forceSign ? '+' : '') : '-') +\n            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n            absNumber\n        );\n    }\n\n    var formattingTokens =\n            /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n        localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n        formatFunctions = {},\n        formatTokenFunctions = {};\n\n    // token:    'M'\n    // padded:   ['MM', 2]\n    // ordinal:  'Mo'\n    // callback: function () { this.month() + 1 }\n    function addFormatToken(token, padded, ordinal, callback) {\n        var func = callback;\n        if (typeof callback === 'string') {\n            func = function () {\n                return this[callback]();\n            };\n        }\n        if (token) {\n            formatTokenFunctions[token] = func;\n        }\n        if (padded) {\n            formatTokenFunctions[padded[0]] = function () {\n                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n            };\n        }\n        if (ordinal) {\n            formatTokenFunctions[ordinal] = function () {\n                return this.localeData().ordinal(\n                    func.apply(this, arguments),\n                    token\n                );\n            };\n        }\n    }\n\n    function removeFormattingTokens(input) {\n        if (input.match(/\\[[\\s\\S]/)) {\n            return input.replace(/^\\[|\\]$/g, '');\n        }\n        return input.replace(/\\\\/g, '');\n    }\n\n    function makeFormatFunction(format) {\n        var array = format.match(formattingTokens),\n            i,\n            length;\n\n        for (i = 0, length = array.length; i < length; i++) {\n            if (formatTokenFunctions[array[i]]) {\n                array[i] = formatTokenFunctions[array[i]];\n            } else {\n                array[i] = removeFormattingTokens(array[i]);\n            }\n        }\n\n        return function (mom) {\n            var output = '',\n                i;\n            for (i = 0; i < length; i++) {\n                output += isFunction(array[i])\n                    ? array[i].call(mom, format)\n                    : array[i];\n            }\n            return output;\n        };\n    }\n\n    // format date using native date object\n    function formatMoment(m, format) {\n        if (!m.isValid()) {\n            return m.localeData().invalidDate();\n        }\n\n        format = expandFormat(format, m.localeData());\n        formatFunctions[format] =\n            formatFunctions[format] || makeFormatFunction(format);\n\n        return formatFunctions[format](m);\n    }\n\n    function expandFormat(format, locale) {\n        var i = 5;\n\n        function replaceLongDateFormatTokens(input) {\n            return locale.longDateFormat(input) || input;\n        }\n\n        localFormattingTokens.lastIndex = 0;\n        while (i >= 0 && localFormattingTokens.test(format)) {\n            format = format.replace(\n                localFormattingTokens,\n                replaceLongDateFormatTokens\n            );\n            localFormattingTokens.lastIndex = 0;\n            i -= 1;\n        }\n\n        return format;\n    }\n\n    var defaultLongDateFormat = {\n        LTS: 'h:mm:ss A',\n        LT: 'h:mm A',\n        L: 'MM/DD/YYYY',\n        LL: 'MMMM D, YYYY',\n        LLL: 'MMMM D, YYYY h:mm A',\n        LLLL: 'dddd, MMMM D, YYYY h:mm A',\n    };\n\n    function longDateFormat(key) {\n        var format = this._longDateFormat[key],\n            formatUpper = this._longDateFormat[key.toUpperCase()];\n\n        if (format || !formatUpper) {\n            return format;\n        }\n\n        this._longDateFormat[key] = formatUpper\n            .match(formattingTokens)\n            .map(function (tok) {\n                if (\n                    tok === 'MMMM' ||\n                    tok === 'MM' ||\n                    tok === 'DD' ||\n                    tok === 'dddd'\n                ) {\n                    return tok.slice(1);\n                }\n                return tok;\n            })\n            .join('');\n\n        return this._longDateFormat[key];\n    }\n\n    var defaultInvalidDate = 'Invalid date';\n\n    function invalidDate() {\n        return this._invalidDate;\n    }\n\n    var defaultOrdinal = '%d',\n        defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n    function ordinal(number) {\n        return this._ordinal.replace('%d', number);\n    }\n\n    var defaultRelativeTime = {\n        future: 'in %s',\n        past: '%s ago',\n        s: 'a few seconds',\n        ss: '%d seconds',\n        m: 'a minute',\n        mm: '%d minutes',\n        h: 'an hour',\n        hh: '%d hours',\n        d: 'a day',\n        dd: '%d days',\n        w: 'a week',\n        ww: '%d weeks',\n        M: 'a month',\n        MM: '%d months',\n        y: 'a year',\n        yy: '%d years',\n    };\n\n    function relativeTime(number, withoutSuffix, string, isFuture) {\n        var output = this._relativeTime[string];\n        return isFunction(output)\n            ? output(number, withoutSuffix, string, isFuture)\n            : output.replace(/%d/i, number);\n    }\n\n    function pastFuture(diff, output) {\n        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n        return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n    }\n\n    var aliases = {\n        D: 'date',\n        dates: 'date',\n        date: 'date',\n        d: 'day',\n        days: 'day',\n        day: 'day',\n        e: 'weekday',\n        weekdays: 'weekday',\n        weekday: 'weekday',\n        E: 'isoWeekday',\n        isoweekdays: 'isoWeekday',\n        isoweekday: 'isoWeekday',\n        DDD: 'dayOfYear',\n        dayofyears: 'dayOfYear',\n        dayofyear: 'dayOfYear',\n        h: 'hour',\n        hours: 'hour',\n        hour: 'hour',\n        ms: 'millisecond',\n        milliseconds: 'millisecond',\n        millisecond: 'millisecond',\n        m: 'minute',\n        minutes: 'minute',\n        minute: 'minute',\n        M: 'month',\n        months: 'month',\n        month: 'month',\n        Q: 'quarter',\n        quarters: 'quarter',\n        quarter: 'quarter',\n        s: 'second',\n        seconds: 'second',\n        second: 'second',\n        gg: 'weekYear',\n        weekyears: 'weekYear',\n        weekyear: 'weekYear',\n        GG: 'isoWeekYear',\n        isoweekyears: 'isoWeekYear',\n        isoweekyear: 'isoWeekYear',\n        w: 'week',\n        weeks: 'week',\n        week: 'week',\n        W: 'isoWeek',\n        isoweeks: 'isoWeek',\n        isoweek: 'isoWeek',\n        y: 'year',\n        years: 'year',\n        year: 'year',\n    };\n\n    function normalizeUnits(units) {\n        return typeof units === 'string'\n            ? aliases[units] || aliases[units.toLowerCase()]\n            : undefined;\n    }\n\n    function normalizeObjectUnits(inputObject) {\n        var normalizedInput = {},\n            normalizedProp,\n            prop;\n\n        for (prop in inputObject) {\n            if (hasOwnProp(inputObject, prop)) {\n                normalizedProp = normalizeUnits(prop);\n                if (normalizedProp) {\n                    normalizedInput[normalizedProp] = inputObject[prop];\n                }\n            }\n        }\n\n        return normalizedInput;\n    }\n\n    var priorities = {\n        date: 9,\n        day: 11,\n        weekday: 11,\n        isoWeekday: 11,\n        dayOfYear: 4,\n        hour: 13,\n        millisecond: 16,\n        minute: 14,\n        month: 8,\n        quarter: 7,\n        second: 15,\n        weekYear: 1,\n        isoWeekYear: 1,\n        week: 5,\n        isoWeek: 5,\n        year: 1,\n    };\n\n    function getPrioritizedUnits(unitsObj) {\n        var units = [],\n            u;\n        for (u in unitsObj) {\n            if (hasOwnProp(unitsObj, u)) {\n                units.push({ unit: u, priority: priorities[u] });\n            }\n        }\n        units.sort(function (a, b) {\n            return a.priority - b.priority;\n        });\n        return units;\n    }\n\n    var match1 = /\\d/, //       0 - 9\n        match2 = /\\d\\d/, //      00 - 99\n        match3 = /\\d{3}/, //     000 - 999\n        match4 = /\\d{4}/, //    0000 - 9999\n        match6 = /[+-]?\\d{6}/, // -999999 - 999999\n        match1to2 = /\\d\\d?/, //       0 - 99\n        match3to4 = /\\d\\d\\d\\d?/, //     999 - 9999\n        match5to6 = /\\d\\d\\d\\d\\d\\d?/, //   99999 - 999999\n        match1to3 = /\\d{1,3}/, //       0 - 999\n        match1to4 = /\\d{1,4}/, //       0 - 9999\n        match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n        matchUnsigned = /\\d+/, //       0 - inf\n        matchSigned = /[+-]?\\d+/, //    -inf - inf\n        matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n        matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n        matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n        // any word (or two) characters or numbers including two/three word month in arabic.\n        // includes scottish gaelic two word and hyphenated months\n        matchWord =\n            /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n        match1to2NoLeadingZero = /^[1-9]\\d?/, //         1-99\n        match1to2HasZero = /^([1-9]\\d|\\d)/, //           0-99\n        regexes;\n\n    regexes = {};\n\n    function addRegexToken(token, regex, strictRegex) {\n        regexes[token] = isFunction(regex)\n            ? regex\n            : function (isStrict, localeData) {\n                  return isStrict && strictRegex ? strictRegex : regex;\n              };\n    }\n\n    function getParseRegexForToken(token, config) {\n        if (!hasOwnProp(regexes, token)) {\n            return new RegExp(unescapeFormat(token));\n        }\n\n        return regexes[token](config._strict, config._locale);\n    }\n\n    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n    function unescapeFormat(s) {\n        return regexEscape(\n            s\n                .replace('\\\\', '')\n                .replace(\n                    /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n                    function (matched, p1, p2, p3, p4) {\n                        return p1 || p2 || p3 || p4;\n                    }\n                )\n        );\n    }\n\n    function regexEscape(s) {\n        return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    function absFloor(number) {\n        if (number < 0) {\n            // -0 -> 0\n            return Math.ceil(number) || 0;\n        } else {\n            return Math.floor(number);\n        }\n    }\n\n    function toInt(argumentForCoercion) {\n        var coercedNumber = +argumentForCoercion,\n            value = 0;\n\n        if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n            value = absFloor(coercedNumber);\n        }\n\n        return value;\n    }\n\n    var tokens = {};\n\n    function addParseToken(token, callback) {\n        var i,\n            func = callback,\n            tokenLen;\n        if (typeof token === 'string') {\n            token = [token];\n        }\n        if (isNumber(callback)) {\n            func = function (input, array) {\n                array[callback] = toInt(input);\n            };\n        }\n        tokenLen = token.length;\n        for (i = 0; i < tokenLen; i++) {\n            tokens[token[i]] = func;\n        }\n    }\n\n    function addWeekParseToken(token, callback) {\n        addParseToken(token, function (input, array, config, token) {\n            config._w = config._w || {};\n            callback(input, config._w, config, token);\n        });\n    }\n\n    function addTimeToArrayFromToken(token, input, config) {\n        if (input != null && hasOwnProp(tokens, token)) {\n            tokens[token](input, config._a, config, token);\n        }\n    }\n\n    function isLeapYear(year) {\n        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n    }\n\n    var YEAR = 0,\n        MONTH = 1,\n        DATE = 2,\n        HOUR = 3,\n        MINUTE = 4,\n        SECOND = 5,\n        MILLISECOND = 6,\n        WEEK = 7,\n        WEEKDAY = 8;\n\n    // FORMATTING\n\n    addFormatToken('Y', 0, 0, function () {\n        var y = this.year();\n        return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n    });\n\n    addFormatToken(0, ['YY', 2], 0, function () {\n        return this.year() % 100;\n    });\n\n    addFormatToken(0, ['YYYY', 4], 0, 'year');\n    addFormatToken(0, ['YYYYY', 5], 0, 'year');\n    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n    // PARSING\n\n    addRegexToken('Y', matchSigned);\n    addRegexToken('YY', match1to2, match2);\n    addRegexToken('YYYY', match1to4, match4);\n    addRegexToken('YYYYY', match1to6, match6);\n    addRegexToken('YYYYYY', match1to6, match6);\n\n    addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n    addParseToken('YYYY', function (input, array) {\n        array[YEAR] =\n            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n    });\n    addParseToken('YY', function (input, array) {\n        array[YEAR] = hooks.parseTwoDigitYear(input);\n    });\n    addParseToken('Y', function (input, array) {\n        array[YEAR] = parseInt(input, 10);\n    });\n\n    // HELPERS\n\n    function daysInYear(year) {\n        return isLeapYear(year) ? 366 : 365;\n    }\n\n    // HOOKS\n\n    hooks.parseTwoDigitYear = function (input) {\n        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n    };\n\n    // MOMENTS\n\n    var getSetYear = makeGetSet('FullYear', true);\n\n    function getIsLeapYear() {\n        return isLeapYear(this.year());\n    }\n\n    function makeGetSet(unit, keepTime) {\n        return function (value) {\n            if (value != null) {\n                set$1(this, unit, value);\n                hooks.updateOffset(this, keepTime);\n                return this;\n            } else {\n                return get(this, unit);\n            }\n        };\n    }\n\n    function get(mom, unit) {\n        if (!mom.isValid()) {\n            return NaN;\n        }\n\n        var d = mom._d,\n            isUTC = mom._isUTC;\n\n        switch (unit) {\n            case 'Milliseconds':\n                return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n            case 'Seconds':\n                return isUTC ? d.getUTCSeconds() : d.getSeconds();\n            case 'Minutes':\n                return isUTC ? d.getUTCMinutes() : d.getMinutes();\n            case 'Hours':\n                return isUTC ? d.getUTCHours() : d.getHours();\n            case 'Date':\n                return isUTC ? d.getUTCDate() : d.getDate();\n            case 'Day':\n                return isUTC ? d.getUTCDay() : d.getDay();\n            case 'Month':\n                return isUTC ? d.getUTCMonth() : d.getMonth();\n            case 'FullYear':\n                return isUTC ? d.getUTCFullYear() : d.getFullYear();\n            default:\n                return NaN; // Just in case\n        }\n    }\n\n    function set$1(mom, unit, value) {\n        var d, isUTC, year, month, date;\n\n        if (!mom.isValid() || isNaN(value)) {\n            return;\n        }\n\n        d = mom._d;\n        isUTC = mom._isUTC;\n\n        switch (unit) {\n            case 'Milliseconds':\n                return void (isUTC\n                    ? d.setUTCMilliseconds(value)\n                    : d.setMilliseconds(value));\n            case 'Seconds':\n                return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n            case 'Minutes':\n                return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n            case 'Hours':\n                return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n            case 'Date':\n                return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n            // case 'Day': // Not real\n            //    return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n            // case 'Month': // Not used because we need to pass two variables\n            //     return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n            case 'FullYear':\n                break; // See below ...\n            default:\n                return; // Just in case\n        }\n\n        year = value;\n        month = mom.month();\n        date = mom.date();\n        date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n        void (isUTC\n            ? d.setUTCFullYear(year, month, date)\n            : d.setFullYear(year, month, date));\n    }\n\n    // MOMENTS\n\n    function stringGet(units) {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units]();\n        }\n        return this;\n    }\n\n    function stringSet(units, value) {\n        if (typeof units === 'object') {\n            units = normalizeObjectUnits(units);\n            var prioritized = getPrioritizedUnits(units),\n                i,\n                prioritizedLen = prioritized.length;\n            for (i = 0; i < prioritizedLen; i++) {\n                this[prioritized[i].unit](units[prioritized[i].unit]);\n            }\n        } else {\n            units = normalizeUnits(units);\n            if (isFunction(this[units])) {\n                return this[units](value);\n            }\n        }\n        return this;\n    }\n\n    function mod(n, x) {\n        return ((n % x) + x) % x;\n    }\n\n    var indexOf;\n\n    if (Array.prototype.indexOf) {\n        indexOf = Array.prototype.indexOf;\n    } else {\n        indexOf = function (o) {\n            // I know\n            var i;\n            for (i = 0; i < this.length; ++i) {\n                if (this[i] === o) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n    }\n\n    function daysInMonth(year, month) {\n        if (isNaN(year) || isNaN(month)) {\n            return NaN;\n        }\n        var modMonth = mod(month, 12);\n        year += (month - modMonth) / 12;\n        return modMonth === 1\n            ? isLeapYear(year)\n                ? 29\n                : 28\n            : 31 - ((modMonth % 7) % 2);\n    }\n\n    // FORMATTING\n\n    addFormatToken('M', ['MM', 2], 'Mo', function () {\n        return this.month() + 1;\n    });\n\n    addFormatToken('MMM', 0, 0, function (format) {\n        return this.localeData().monthsShort(this, format);\n    });\n\n    addFormatToken('MMMM', 0, 0, function (format) {\n        return this.localeData().months(this, format);\n    });\n\n    // PARSING\n\n    addRegexToken('M', match1to2, match1to2NoLeadingZero);\n    addRegexToken('MM', match1to2, match2);\n    addRegexToken('MMM', function (isStrict, locale) {\n        return locale.monthsShortRegex(isStrict);\n    });\n    addRegexToken('MMMM', function (isStrict, locale) {\n        return locale.monthsRegex(isStrict);\n    });\n\n    addParseToken(['M', 'MM'], function (input, array) {\n        array[MONTH] = toInt(input) - 1;\n    });\n\n    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n        var month = config._locale.monthsParse(input, token, config._strict);\n        // if we didn't find a month name, mark the date as invalid.\n        if (month != null) {\n            array[MONTH] = month;\n        } else {\n            getParsingFlags(config).invalidMonth = input;\n        }\n    });\n\n    // LOCALES\n\n    var defaultLocaleMonths =\n            'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n                '_'\n            ),\n        defaultLocaleMonthsShort =\n            'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n        defaultMonthsShortRegex = matchWord,\n        defaultMonthsRegex = matchWord;\n\n    function localeMonths(m, format) {\n        if (!m) {\n            return isArray(this._months)\n                ? this._months\n                : this._months['standalone'];\n        }\n        return isArray(this._months)\n            ? this._months[m.month()]\n            : this._months[\n                  (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n                      ? 'format'\n                      : 'standalone'\n              ][m.month()];\n    }\n\n    function localeMonthsShort(m, format) {\n        if (!m) {\n            return isArray(this._monthsShort)\n                ? this._monthsShort\n                : this._monthsShort['standalone'];\n        }\n        return isArray(this._monthsShort)\n            ? this._monthsShort[m.month()]\n            : this._monthsShort[\n                  MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n              ][m.month()];\n    }\n\n    function handleStrictParse(monthName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = monthName.toLocaleLowerCase();\n        if (!this._monthsParse) {\n            // this is not used\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n            for (i = 0; i < 12; ++i) {\n                mom = createUTC([2000, i]);\n                this._shortMonthsParse[i] = this.monthsShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeMonthsParse(monthName, format, strict) {\n        var i, mom, regex;\n\n        if (this._monthsParseExact) {\n            return handleStrictParse.call(this, monthName, format, strict);\n        }\n\n        if (!this._monthsParse) {\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n        }\n\n        // TODO: add sorting\n        // Sorting makes sure if one month (or abbr) is a prefix of another\n        // see sorting in computeMonthsParse\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            if (strict && !this._longMonthsParse[i]) {\n                this._longMonthsParse[i] = new RegExp(\n                    '^' + this.months(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n                this._shortMonthsParse[i] = new RegExp(\n                    '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n            }\n            if (!strict && !this._monthsParse[i]) {\n                regex =\n                    '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'MMMM' &&\n                this._longMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'MMM' &&\n                this._shortMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (!strict && this._monthsParse[i].test(monthName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function setMonth(mom, value) {\n        if (!mom.isValid()) {\n            // No op\n            return mom;\n        }\n\n        if (typeof value === 'string') {\n            if (/^\\d+$/.test(value)) {\n                value = toInt(value);\n            } else {\n                value = mom.localeData().monthsParse(value);\n                // TODO: Another silent failure?\n                if (!isNumber(value)) {\n                    return mom;\n                }\n            }\n        }\n\n        var month = value,\n            date = mom.date();\n\n        date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n        void (mom._isUTC\n            ? mom._d.setUTCMonth(month, date)\n            : mom._d.setMonth(month, date));\n        return mom;\n    }\n\n    function getSetMonth(value) {\n        if (value != null) {\n            setMonth(this, value);\n            hooks.updateOffset(this, true);\n            return this;\n        } else {\n            return get(this, 'Month');\n        }\n    }\n\n    function getDaysInMonth() {\n        return daysInMonth(this.year(), this.month());\n    }\n\n    function monthsShortRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsShortStrictRegex;\n            } else {\n                return this._monthsShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsShortRegex')) {\n                this._monthsShortRegex = defaultMonthsShortRegex;\n            }\n            return this._monthsShortStrictRegex && isStrict\n                ? this._monthsShortStrictRegex\n                : this._monthsShortRegex;\n        }\n    }\n\n    function monthsRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsStrictRegex;\n            } else {\n                return this._monthsRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                this._monthsRegex = defaultMonthsRegex;\n            }\n            return this._monthsStrictRegex && isStrict\n                ? this._monthsStrictRegex\n                : this._monthsRegex;\n        }\n    }\n\n    function computeMonthsParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            shortP,\n            longP;\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            shortP = regexEscape(this.monthsShort(mom, ''));\n            longP = regexEscape(this.months(mom, ''));\n            shortPieces.push(shortP);\n            longPieces.push(longP);\n            mixedPieces.push(longP);\n            mixedPieces.push(shortP);\n        }\n        // Sorting makes sure if one month (or abbr) is a prefix of another it\n        // will match the longer piece.\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._monthsShortRegex = this._monthsRegex;\n        this._monthsStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._monthsShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    function createDate(y, m, d, h, M, s, ms) {\n        // can't just apply() to create a date:\n        // https://stackoverflow.com/q/181348\n        var date;\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            date = new Date(y + 400, m, d, h, M, s, ms);\n            if (isFinite(date.getFullYear())) {\n                date.setFullYear(y);\n            }\n        } else {\n            date = new Date(y, m, d, h, M, s, ms);\n        }\n\n        return date;\n    }\n\n    function createUTCDate(y) {\n        var date, args;\n        // the Date.UTC function remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            args = Array.prototype.slice.call(arguments);\n            // preserve leap years using a full 400 year cycle, then reset\n            args[0] = y + 400;\n            date = new Date(Date.UTC.apply(null, args));\n            if (isFinite(date.getUTCFullYear())) {\n                date.setUTCFullYear(y);\n            }\n        } else {\n            date = new Date(Date.UTC.apply(null, arguments));\n        }\n\n        return date;\n    }\n\n    // start-of-first-week - start-of-year\n    function firstWeekOffset(year, dow, doy) {\n        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n            fwd = 7 + dow - doy,\n            // first-week day local weekday -- which local weekday is fwd\n            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n        return -fwdlw + fwd - 1;\n    }\n\n    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n        var localWeekday = (7 + weekday - dow) % 7,\n            weekOffset = firstWeekOffset(year, dow, doy),\n            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n            resYear,\n            resDayOfYear;\n\n        if (dayOfYear <= 0) {\n            resYear = year - 1;\n            resDayOfYear = daysInYear(resYear) + dayOfYear;\n        } else if (dayOfYear > daysInYear(year)) {\n            resYear = year + 1;\n            resDayOfYear = dayOfYear - daysInYear(year);\n        } else {\n            resYear = year;\n            resDayOfYear = dayOfYear;\n        }\n\n        return {\n            year: resYear,\n            dayOfYear: resDayOfYear,\n        };\n    }\n\n    function weekOfYear(mom, dow, doy) {\n        var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n            resWeek,\n            resYear;\n\n        if (week < 1) {\n            resYear = mom.year() - 1;\n            resWeek = week + weeksInYear(resYear, dow, doy);\n        } else if (week > weeksInYear(mom.year(), dow, doy)) {\n            resWeek = week - weeksInYear(mom.year(), dow, doy);\n            resYear = mom.year() + 1;\n        } else {\n            resYear = mom.year();\n            resWeek = week;\n        }\n\n        return {\n            week: resWeek,\n            year: resYear,\n        };\n    }\n\n    function weeksInYear(year, dow, doy) {\n        var weekOffset = firstWeekOffset(year, dow, doy),\n            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n    }\n\n    // FORMATTING\n\n    addFormatToken('w', ['ww', 2], 'wo', 'week');\n    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n    // PARSING\n\n    addRegexToken('w', match1to2, match1to2NoLeadingZero);\n    addRegexToken('ww', match1to2, match2);\n    addRegexToken('W', match1to2, match1to2NoLeadingZero);\n    addRegexToken('WW', match1to2, match2);\n\n    addWeekParseToken(\n        ['w', 'ww', 'W', 'WW'],\n        function (input, week, config, token) {\n            week[token.substr(0, 1)] = toInt(input);\n        }\n    );\n\n    // HELPERS\n\n    // LOCALES\n\n    function localeWeek(mom) {\n        return weekOfYear(mom, this._week.dow, this._week.doy).week;\n    }\n\n    var defaultLocaleWeek = {\n        dow: 0, // Sunday is the first day of the week.\n        doy: 6, // The week that contains Jan 6th is the first week of the year.\n    };\n\n    function localeFirstDayOfWeek() {\n        return this._week.dow;\n    }\n\n    function localeFirstDayOfYear() {\n        return this._week.doy;\n    }\n\n    // MOMENTS\n\n    function getSetWeek(input) {\n        var week = this.localeData().week(this);\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    function getSetISOWeek(input) {\n        var week = weekOfYear(this, 1, 4).week;\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('d', 0, 'do', 'day');\n\n    addFormatToken('dd', 0, 0, function (format) {\n        return this.localeData().weekdaysMin(this, format);\n    });\n\n    addFormatToken('ddd', 0, 0, function (format) {\n        return this.localeData().weekdaysShort(this, format);\n    });\n\n    addFormatToken('dddd', 0, 0, function (format) {\n        return this.localeData().weekdays(this, format);\n    });\n\n    addFormatToken('e', 0, 0, 'weekday');\n    addFormatToken('E', 0, 0, 'isoWeekday');\n\n    // PARSING\n\n    addRegexToken('d', match1to2);\n    addRegexToken('e', match1to2);\n    addRegexToken('E', match1to2);\n    addRegexToken('dd', function (isStrict, locale) {\n        return locale.weekdaysMinRegex(isStrict);\n    });\n    addRegexToken('ddd', function (isStrict, locale) {\n        return locale.weekdaysShortRegex(isStrict);\n    });\n    addRegexToken('dddd', function (isStrict, locale) {\n        return locale.weekdaysRegex(isStrict);\n    });\n\n    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n        var weekday = config._locale.weekdaysParse(input, token, config._strict);\n        // if we didn't get a weekday name, mark the date as invalid\n        if (weekday != null) {\n            week.d = weekday;\n        } else {\n            getParsingFlags(config).invalidWeekday = input;\n        }\n    });\n\n    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n        week[token] = toInt(input);\n    });\n\n    // HELPERS\n\n    function parseWeekday(input, locale) {\n        if (typeof input !== 'string') {\n            return input;\n        }\n\n        if (!isNaN(input)) {\n            return parseInt(input, 10);\n        }\n\n        input = locale.weekdaysParse(input);\n        if (typeof input === 'number') {\n            return input;\n        }\n\n        return null;\n    }\n\n    function parseIsoWeekday(input, locale) {\n        if (typeof input === 'string') {\n            return locale.weekdaysParse(input) % 7 || 7;\n        }\n        return isNaN(input) ? null : input;\n    }\n\n    // LOCALES\n    function shiftWeekdays(ws, n) {\n        return ws.slice(n, 7).concat(ws.slice(0, n));\n    }\n\n    var defaultLocaleWeekdays =\n            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        defaultWeekdaysRegex = matchWord,\n        defaultWeekdaysShortRegex = matchWord,\n        defaultWeekdaysMinRegex = matchWord;\n\n    function localeWeekdays(m, format) {\n        var weekdays = isArray(this._weekdays)\n            ? this._weekdays\n            : this._weekdays[\n                  m && m !== true && this._weekdays.isFormat.test(format)\n                      ? 'format'\n                      : 'standalone'\n              ];\n        return m === true\n            ? shiftWeekdays(weekdays, this._week.dow)\n            : m\n              ? weekdays[m.day()]\n              : weekdays;\n    }\n\n    function localeWeekdaysShort(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n            : m\n              ? this._weekdaysShort[m.day()]\n              : this._weekdaysShort;\n    }\n\n    function localeWeekdaysMin(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n            : m\n              ? this._weekdaysMin[m.day()]\n              : this._weekdaysMin;\n    }\n\n    function handleStrictParse$1(weekdayName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = weekdayName.toLocaleLowerCase();\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._minWeekdaysParse = [];\n\n            for (i = 0; i < 7; ++i) {\n                mom = createUTC([2000, 1]).day(i);\n                this._minWeekdaysParse[i] = this.weekdaysMin(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._shortWeekdaysParse[i] = this.weekdaysShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeWeekdaysParse(weekdayName, format, strict) {\n        var i, mom, regex;\n\n        if (this._weekdaysParseExact) {\n            return handleStrictParse$1.call(this, weekdayName, format, strict);\n        }\n\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._minWeekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._fullWeekdaysParse = [];\n        }\n\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n\n            mom = createUTC([2000, 1]).day(i);\n            if (strict && !this._fullWeekdaysParse[i]) {\n                this._fullWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._shortWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._minWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n            }\n            if (!this._weekdaysParse[i]) {\n                regex =\n                    '^' +\n                    this.weekdays(mom, '') +\n                    '|^' +\n                    this.weekdaysShort(mom, '') +\n                    '|^' +\n                    this.weekdaysMin(mom, '');\n                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'dddd' &&\n                this._fullWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'ddd' &&\n                this._shortWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'dd' &&\n                this._minWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function getSetDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        var day = get(this, 'Day');\n        if (input != null) {\n            input = parseWeekday(input, this.localeData());\n            return this.add(input - day, 'd');\n        } else {\n            return day;\n        }\n    }\n\n    function getSetLocaleDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n        return input == null ? weekday : this.add(input - weekday, 'd');\n    }\n\n    function getSetISODayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        // behaves the same as moment#day except\n        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n        // as a setter, sunday should belong to the previous week.\n\n        if (input != null) {\n            var weekday = parseIsoWeekday(input, this.localeData());\n            return this.day(this.day() % 7 ? weekday : weekday - 7);\n        } else {\n            return this.day() || 7;\n        }\n    }\n\n    function weekdaysRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysStrictRegex;\n            } else {\n                return this._weekdaysRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                this._weekdaysRegex = defaultWeekdaysRegex;\n            }\n            return this._weekdaysStrictRegex && isStrict\n                ? this._weekdaysStrictRegex\n                : this._weekdaysRegex;\n        }\n    }\n\n    function weekdaysShortRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysShortStrictRegex;\n            } else {\n                return this._weekdaysShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n                this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n            }\n            return this._weekdaysShortStrictRegex && isStrict\n                ? this._weekdaysShortStrictRegex\n                : this._weekdaysShortRegex;\n        }\n    }\n\n    function weekdaysMinRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysMinStrictRegex;\n            } else {\n                return this._weekdaysMinRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n                this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n            }\n            return this._weekdaysMinStrictRegex && isStrict\n                ? this._weekdaysMinStrictRegex\n                : this._weekdaysMinRegex;\n        }\n    }\n\n    function computeWeekdaysParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var minPieces = [],\n            shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            minp,\n            shortp,\n            longp;\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, 1]).day(i);\n            minp = regexEscape(this.weekdaysMin(mom, ''));\n            shortp = regexEscape(this.weekdaysShort(mom, ''));\n            longp = regexEscape(this.weekdays(mom, ''));\n            minPieces.push(minp);\n            shortPieces.push(shortp);\n            longPieces.push(longp);\n            mixedPieces.push(minp);\n            mixedPieces.push(shortp);\n            mixedPieces.push(longp);\n        }\n        // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n        // will match the longer piece.\n        minPieces.sort(cmpLenRev);\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._weekdaysShortRegex = this._weekdaysRegex;\n        this._weekdaysMinRegex = this._weekdaysRegex;\n\n        this._weekdaysStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysMinStrictRegex = new RegExp(\n            '^(' + minPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    function hFormat() {\n        return this.hours() % 12 || 12;\n    }\n\n    function kFormat() {\n        return this.hours() || 24;\n    }\n\n    addFormatToken('H', ['HH', 2], 0, 'hour');\n    addFormatToken('h', ['hh', 2], 0, hFormat);\n    addFormatToken('k', ['kk', 2], 0, kFormat);\n\n    addFormatToken('hmm', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('hmmss', 0, 0, function () {\n        return (\n            '' +\n            hFormat.apply(this) +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    addFormatToken('Hmm', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('Hmmss', 0, 0, function () {\n        return (\n            '' +\n            this.hours() +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    function meridiem(token, lowercase) {\n        addFormatToken(token, 0, 0, function () {\n            return this.localeData().meridiem(\n                this.hours(),\n                this.minutes(),\n                lowercase\n            );\n        });\n    }\n\n    meridiem('a', true);\n    meridiem('A', false);\n\n    // PARSING\n\n    function matchMeridiem(isStrict, locale) {\n        return locale._meridiemParse;\n    }\n\n    addRegexToken('a', matchMeridiem);\n    addRegexToken('A', matchMeridiem);\n    addRegexToken('H', match1to2, match1to2HasZero);\n    addRegexToken('h', match1to2, match1to2NoLeadingZero);\n    addRegexToken('k', match1to2, match1to2NoLeadingZero);\n    addRegexToken('HH', match1to2, match2);\n    addRegexToken('hh', match1to2, match2);\n    addRegexToken('kk', match1to2, match2);\n\n    addRegexToken('hmm', match3to4);\n    addRegexToken('hmmss', match5to6);\n    addRegexToken('Hmm', match3to4);\n    addRegexToken('Hmmss', match5to6);\n\n    addParseToken(['H', 'HH'], HOUR);\n    addParseToken(['k', 'kk'], function (input, array, config) {\n        var kInput = toInt(input);\n        array[HOUR] = kInput === 24 ? 0 : kInput;\n    });\n    addParseToken(['a', 'A'], function (input, array, config) {\n        config._isPm = config._locale.isPM(input);\n        config._meridiem = input;\n    });\n    addParseToken(['h', 'hh'], function (input, array, config) {\n        array[HOUR] = toInt(input);\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('Hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n    });\n    addParseToken('Hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n    });\n\n    // LOCALES\n\n    function localeIsPM(input) {\n        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n        // Using charAt should be more compatible.\n        return (input + '').toLowerCase().charAt(0) === 'p';\n    }\n\n    var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n        // Setting the hour should keep the time, because the user explicitly\n        // specified which hour they want. So trying to maintain the same hour (in\n        // a new timezone) makes sense. Adding/subtracting hours does not follow\n        // this rule.\n        getSetHour = makeGetSet('Hours', true);\n\n    function localeMeridiem(hours, minutes, isLower) {\n        if (hours > 11) {\n            return isLower ? 'pm' : 'PM';\n        } else {\n            return isLower ? 'am' : 'AM';\n        }\n    }\n\n    var baseConfig = {\n        calendar: defaultCalendar,\n        longDateFormat: defaultLongDateFormat,\n        invalidDate: defaultInvalidDate,\n        ordinal: defaultOrdinal,\n        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n        relativeTime: defaultRelativeTime,\n\n        months: defaultLocaleMonths,\n        monthsShort: defaultLocaleMonthsShort,\n\n        week: defaultLocaleWeek,\n\n        weekdays: defaultLocaleWeekdays,\n        weekdaysMin: defaultLocaleWeekdaysMin,\n        weekdaysShort: defaultLocaleWeekdaysShort,\n\n        meridiemParse: defaultLocaleMeridiemParse,\n    };\n\n    // internal storage for locale config files\n    var locales = {},\n        localeFamilies = {},\n        globalLocale;\n\n    function commonPrefix(arr1, arr2) {\n        var i,\n            minl = Math.min(arr1.length, arr2.length);\n        for (i = 0; i < minl; i += 1) {\n            if (arr1[i] !== arr2[i]) {\n                return i;\n            }\n        }\n        return minl;\n    }\n\n    function normalizeLocale(key) {\n        return key ? key.toLowerCase().replace('_', '-') : key;\n    }\n\n    // pick the locale from the array\n    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n    function chooseLocale(names) {\n        var i = 0,\n            j,\n            next,\n            locale,\n            split;\n\n        while (i < names.length) {\n            split = normalizeLocale(names[i]).split('-');\n            j = split.length;\n            next = normalizeLocale(names[i + 1]);\n            next = next ? next.split('-') : null;\n            while (j > 0) {\n                locale = loadLocale(split.slice(0, j).join('-'));\n                if (locale) {\n                    return locale;\n                }\n                if (\n                    next &&\n                    next.length >= j &&\n                    commonPrefix(split, next) >= j - 1\n                ) {\n                    //the next array item is better than a shallower substring of this one\n                    break;\n                }\n                j--;\n            }\n            i++;\n        }\n        return globalLocale;\n    }\n\n    function isLocaleNameSane(name) {\n        // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n        // Ensure name is available and function returns boolean\n        return !!(name && name.match('^[^/\\\\\\\\]*$'));\n    }\n\n    function loadLocale(name) {\n        var oldLocale = null,\n            aliasedRequire;\n        // TODO: Find a better way to register and load all the locales in Node\n        if (\n            locales[name] === undefined &&\n            typeof module !== 'undefined' &&\n            module &&\n            module.exports &&\n            isLocaleNameSane(name)\n        ) {\n            try {\n                oldLocale = globalLocale._abbr;\n                aliasedRequire = require;\n                aliasedRequire('./locale/' + name);\n                getSetGlobalLocale(oldLocale);\n            } catch (e) {\n                // mark as not found to avoid repeating expensive file require call causing high CPU\n                // when trying to find en-US, en_US, en-us for every format call\n                locales[name] = null; // null means not found\n            }\n        }\n        return locales[name];\n    }\n\n    // This function will load locale and then set the global locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    function getSetGlobalLocale(key, values) {\n        var data;\n        if (key) {\n            if (isUndefined(values)) {\n                data = getLocale(key);\n            } else {\n                data = defineLocale(key, values);\n            }\n\n            if (data) {\n                // moment.duration._locale = moment._locale = data;\n                globalLocale = data;\n            } else {\n                if (typeof console !== 'undefined' && console.warn) {\n                    //warn user if arguments are passed but the locale could not be set\n                    console.warn(\n                        'Locale ' + key + ' not found. Did you forget to load it?'\n                    );\n                }\n            }\n        }\n\n        return globalLocale._abbr;\n    }\n\n    function defineLocale(name, config) {\n        if (config !== null) {\n            var locale,\n                parentConfig = baseConfig;\n            config.abbr = name;\n            if (locales[name] != null) {\n                deprecateSimple(\n                    'defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                        'an existing locale. moment.defineLocale(localeName, ' +\n                        'config) should only be used for creating a new locale ' +\n                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n                );\n                parentConfig = locales[name]._config;\n            } else if (config.parentLocale != null) {\n                if (locales[config.parentLocale] != null) {\n                    parentConfig = locales[config.parentLocale]._config;\n                } else {\n                    locale = loadLocale(config.parentLocale);\n                    if (locale != null) {\n                        parentConfig = locale._config;\n                    } else {\n                        if (!localeFamilies[config.parentLocale]) {\n                            localeFamilies[config.parentLocale] = [];\n                        }\n                        localeFamilies[config.parentLocale].push({\n                            name: name,\n                            config: config,\n                        });\n                        return null;\n                    }\n                }\n            }\n            locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n            if (localeFamilies[name]) {\n                localeFamilies[name].forEach(function (x) {\n                    defineLocale(x.name, x.config);\n                });\n            }\n\n            // backwards compat for now: also set the locale\n            // make sure we set the locale AFTER all child locales have been\n            // created, so we won't end up with the child locale set.\n            getSetGlobalLocale(name);\n\n            return locales[name];\n        } else {\n            // useful for testing\n            delete locales[name];\n            return null;\n        }\n    }\n\n    function updateLocale(name, config) {\n        if (config != null) {\n            var locale,\n                tmpLocale,\n                parentConfig = baseConfig;\n\n            if (locales[name] != null && locales[name].parentLocale != null) {\n                // Update existing child locale in-place to avoid memory-leaks\n                locales[name].set(mergeConfigs(locales[name]._config, config));\n            } else {\n                // MERGE\n                tmpLocale = loadLocale(name);\n                if (tmpLocale != null) {\n                    parentConfig = tmpLocale._config;\n                }\n                config = mergeConfigs(parentConfig, config);\n                if (tmpLocale == null) {\n                    // updateLocale is called for creating a new locale\n                    // Set abbr so it will have a name (getters return\n                    // undefined otherwise).\n                    config.abbr = name;\n                }\n                locale = new Locale(config);\n                locale.parentLocale = locales[name];\n                locales[name] = locale;\n            }\n\n            // backwards compat for now: also set the locale\n            getSetGlobalLocale(name);\n        } else {\n            // pass null for config to unupdate, useful for tests\n            if (locales[name] != null) {\n                if (locales[name].parentLocale != null) {\n                    locales[name] = locales[name].parentLocale;\n                    if (name === getSetGlobalLocale()) {\n                        getSetGlobalLocale(name);\n                    }\n                } else if (locales[name] != null) {\n                    delete locales[name];\n                }\n            }\n        }\n        return locales[name];\n    }\n\n    // returns locale data\n    function getLocale(key) {\n        var locale;\n\n        if (key && key._locale && key._locale._abbr) {\n            key = key._locale._abbr;\n        }\n\n        if (!key) {\n            return globalLocale;\n        }\n\n        if (!isArray(key)) {\n            //short-circuit everything else\n            locale = loadLocale(key);\n            if (locale) {\n                return locale;\n            }\n            key = [key];\n        }\n\n        return chooseLocale(key);\n    }\n\n    function listLocales() {\n        return keys(locales);\n    }\n\n    function checkOverflow(m) {\n        var overflow,\n            a = m._a;\n\n        if (a && getParsingFlags(m).overflow === -2) {\n            overflow =\n                a[MONTH] < 0 || a[MONTH] > 11\n                    ? MONTH\n                    : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n                      ? DATE\n                      : a[HOUR] < 0 ||\n                          a[HOUR] > 24 ||\n                          (a[HOUR] === 24 &&\n                              (a[MINUTE] !== 0 ||\n                                  a[SECOND] !== 0 ||\n                                  a[MILLISECOND] !== 0))\n                        ? HOUR\n                        : a[MINUTE] < 0 || a[MINUTE] > 59\n                          ? MINUTE\n                          : a[SECOND] < 0 || a[SECOND] > 59\n                            ? SECOND\n                            : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n                              ? MILLISECOND\n                              : -1;\n\n            if (\n                getParsingFlags(m)._overflowDayOfYear &&\n                (overflow < YEAR || overflow > DATE)\n            ) {\n                overflow = DATE;\n            }\n            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n                overflow = WEEK;\n            }\n            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n                overflow = WEEKDAY;\n            }\n\n            getParsingFlags(m).overflow = overflow;\n        }\n\n        return m;\n    }\n\n    // iso 8601 regex\n    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n    var extendedIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        basicIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n        isoDates = [\n            ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n            ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n            ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n            ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n            ['YYYY-DDD', /\\d{4}-\\d{3}/],\n            ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n            ['YYYYYYMMDD', /[+-]\\d{10}/],\n            ['YYYYMMDD', /\\d{8}/],\n            ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n            ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n            ['YYYYDDD', /\\d{7}/],\n            ['YYYYMM', /\\d{6}/, false],\n            ['YYYY', /\\d{4}/, false],\n        ],\n        // iso time formats and regexes\n        isoTimes = [\n            ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n            ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n            ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n            ['HH:mm', /\\d\\d:\\d\\d/],\n            ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n            ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n            ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n            ['HHmm', /\\d\\d\\d\\d/],\n            ['HH', /\\d\\d/],\n        ],\n        aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n        // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n        rfc2822 =\n            /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n        obsOffsets = {\n            UT: 0,\n            GMT: 0,\n            EDT: -4 * 60,\n            EST: -5 * 60,\n            CDT: -5 * 60,\n            CST: -6 * 60,\n            MDT: -6 * 60,\n            MST: -7 * 60,\n            PDT: -7 * 60,\n            PST: -8 * 60,\n        };\n\n    // date from iso format\n    function configFromISO(config) {\n        var i,\n            l,\n            string = config._i,\n            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n            allowTime,\n            dateFormat,\n            timeFormat,\n            tzFormat,\n            isoDatesLen = isoDates.length,\n            isoTimesLen = isoTimes.length;\n\n        if (match) {\n            getParsingFlags(config).iso = true;\n            for (i = 0, l = isoDatesLen; i < l; i++) {\n                if (isoDates[i][1].exec(match[1])) {\n                    dateFormat = isoDates[i][0];\n                    allowTime = isoDates[i][2] !== false;\n                    break;\n                }\n            }\n            if (dateFormat == null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[3]) {\n                for (i = 0, l = isoTimesLen; i < l; i++) {\n                    if (isoTimes[i][1].exec(match[3])) {\n                        // match[2] should be 'T' or space\n                        timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                        break;\n                    }\n                }\n                if (timeFormat == null) {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            if (!allowTime && timeFormat != null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[4]) {\n                if (tzRegex.exec(match[4])) {\n                    tzFormat = 'Z';\n                } else {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n            configFromStringAndFormat(config);\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    function extractFromRFC2822Strings(\n        yearStr,\n        monthStr,\n        dayStr,\n        hourStr,\n        minuteStr,\n        secondStr\n    ) {\n        var result = [\n            untruncateYear(yearStr),\n            defaultLocaleMonthsShort.indexOf(monthStr),\n            parseInt(dayStr, 10),\n            parseInt(hourStr, 10),\n            parseInt(minuteStr, 10),\n        ];\n\n        if (secondStr) {\n            result.push(parseInt(secondStr, 10));\n        }\n\n        return result;\n    }\n\n    function untruncateYear(yearStr) {\n        var year = parseInt(yearStr, 10);\n        if (year <= 49) {\n            return 2000 + year;\n        } else if (year <= 999) {\n            return 1900 + year;\n        }\n        return year;\n    }\n\n    function preprocessRFC2822(s) {\n        // Remove comments and folding whitespace and replace multiple-spaces with a single space\n        return s\n            .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n            .replace(/(\\s\\s+)/g, ' ')\n            .replace(/^\\s\\s*/, '')\n            .replace(/\\s\\s*$/, '');\n    }\n\n    function checkWeekday(weekdayStr, parsedInput, config) {\n        if (weekdayStr) {\n            // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n                weekdayActual = new Date(\n                    parsedInput[0],\n                    parsedInput[1],\n                    parsedInput[2]\n                ).getDay();\n            if (weekdayProvided !== weekdayActual) {\n                getParsingFlags(config).weekdayMismatch = true;\n                config._isValid = false;\n                return false;\n            }\n        }\n        return true;\n    }\n\n    function calculateOffset(obsOffset, militaryOffset, numOffset) {\n        if (obsOffset) {\n            return obsOffsets[obsOffset];\n        } else if (militaryOffset) {\n            // the only allowed military tz is Z\n            return 0;\n        } else {\n            var hm = parseInt(numOffset, 10),\n                m = hm % 100,\n                h = (hm - m) / 100;\n            return h * 60 + m;\n        }\n    }\n\n    // date and time from ref 2822 format\n    function configFromRFC2822(config) {\n        var match = rfc2822.exec(preprocessRFC2822(config._i)),\n            parsedArray;\n        if (match) {\n            parsedArray = extractFromRFC2822Strings(\n                match[4],\n                match[3],\n                match[2],\n                match[5],\n                match[6],\n                match[7]\n            );\n            if (!checkWeekday(match[1], parsedArray, config)) {\n                return;\n            }\n\n            config._a = parsedArray;\n            config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n            config._d = createUTCDate.apply(null, config._a);\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n            getParsingFlags(config).rfc2822 = true;\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n    function configFromString(config) {\n        var matched = aspNetJsonRegex.exec(config._i);\n        if (matched !== null) {\n            config._d = new Date(+matched[1]);\n            return;\n        }\n\n        configFromISO(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        configFromRFC2822(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        if (config._strict) {\n            config._isValid = false;\n        } else {\n            // Final attempt, use Input Fallback\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    hooks.createFromInputFallback = deprecate(\n        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n            'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n            'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n        function (config) {\n            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n        }\n    );\n\n    // Pick the first defined of two or three arguments.\n    function defaults(a, b, c) {\n        if (a != null) {\n            return a;\n        }\n        if (b != null) {\n            return b;\n        }\n        return c;\n    }\n\n    function currentDateArray(config) {\n        // hooks is actually the exported moment object\n        var nowValue = new Date(hooks.now());\n        if (config._useUTC) {\n            return [\n                nowValue.getUTCFullYear(),\n                nowValue.getUTCMonth(),\n                nowValue.getUTCDate(),\n            ];\n        }\n        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n    }\n\n    // convert an array to a date.\n    // the array should mirror the parameters below\n    // note: all values past the year are optional and will default to the lowest possible value.\n    // [year, month, day , hour, minute, second, millisecond]\n    function configFromArray(config) {\n        var i,\n            date,\n            input = [],\n            currentDate,\n            expectedWeekday,\n            yearToUse;\n\n        if (config._d) {\n            return;\n        }\n\n        currentDate = currentDateArray(config);\n\n        //compute day of the year from weeks and weekdays\n        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n            dayOfYearFromWeekInfo(config);\n        }\n\n        //if the day of the year is set, figure out what it is\n        if (config._dayOfYear != null) {\n            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n            if (\n                config._dayOfYear > daysInYear(yearToUse) ||\n                config._dayOfYear === 0\n            ) {\n                getParsingFlags(config)._overflowDayOfYear = true;\n            }\n\n            date = createUTCDate(yearToUse, 0, config._dayOfYear);\n            config._a[MONTH] = date.getUTCMonth();\n            config._a[DATE] = date.getUTCDate();\n        }\n\n        // Default to current date.\n        // * if no year, month, day of month are given, default to today\n        // * if day of month is given, default month and year\n        // * if month is given, default only year\n        // * if year is given, don't default anything\n        for (i = 0; i < 3 && config._a[i] == null; ++i) {\n            config._a[i] = input[i] = currentDate[i];\n        }\n\n        // Zero out whatever was not defaulted, including time\n        for (; i < 7; i++) {\n            config._a[i] = input[i] =\n                config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n        }\n\n        // Check for 24:00:00.000\n        if (\n            config._a[HOUR] === 24 &&\n            config._a[MINUTE] === 0 &&\n            config._a[SECOND] === 0 &&\n            config._a[MILLISECOND] === 0\n        ) {\n            config._nextDay = true;\n            config._a[HOUR] = 0;\n        }\n\n        config._d = (config._useUTC ? createUTCDate : createDate).apply(\n            null,\n            input\n        );\n        expectedWeekday = config._useUTC\n            ? config._d.getUTCDay()\n            : config._d.getDay();\n\n        // Apply timezone offset from input. The actual utcOffset can be changed\n        // with parseZone.\n        if (config._tzm != null) {\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n        }\n\n        if (config._nextDay) {\n            config._a[HOUR] = 24;\n        }\n\n        // check for mismatching day of week\n        if (\n            config._w &&\n            typeof config._w.d !== 'undefined' &&\n            config._w.d !== expectedWeekday\n        ) {\n            getParsingFlags(config).weekdayMismatch = true;\n        }\n    }\n\n    function dayOfYearFromWeekInfo(config) {\n        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n        w = config._w;\n        if (w.GG != null || w.W != null || w.E != null) {\n            dow = 1;\n            doy = 4;\n\n            // TODO: We need to take the current isoWeekYear, but that depends on\n            // how we interpret now (local, utc, fixed offset). So create\n            // a now version of current config (take local/utc/offset flags, and\n            // create now).\n            weekYear = defaults(\n                w.GG,\n                config._a[YEAR],\n                weekOfYear(createLocal(), 1, 4).year\n            );\n            week = defaults(w.W, 1);\n            weekday = defaults(w.E, 1);\n            if (weekday < 1 || weekday > 7) {\n                weekdayOverflow = true;\n            }\n        } else {\n            dow = config._locale._week.dow;\n            doy = config._locale._week.doy;\n\n            curWeek = weekOfYear(createLocal(), dow, doy);\n\n            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n            // Default to current week.\n            week = defaults(w.w, curWeek.week);\n\n            if (w.d != null) {\n                // weekday -- low day numbers are considered next week\n                weekday = w.d;\n                if (weekday < 0 || weekday > 6) {\n                    weekdayOverflow = true;\n                }\n            } else if (w.e != null) {\n                // local weekday -- counting starts from beginning of week\n                weekday = w.e + dow;\n                if (w.e < 0 || w.e > 6) {\n                    weekdayOverflow = true;\n                }\n            } else {\n                // default to beginning of week\n                weekday = dow;\n            }\n        }\n        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n            getParsingFlags(config)._overflowWeeks = true;\n        } else if (weekdayOverflow != null) {\n            getParsingFlags(config)._overflowWeekday = true;\n        } else {\n            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n            config._a[YEAR] = temp.year;\n            config._dayOfYear = temp.dayOfYear;\n        }\n    }\n\n    // constant that refers to the ISO standard\n    hooks.ISO_8601 = function () {};\n\n    // constant that refers to the RFC 2822 form\n    hooks.RFC_2822 = function () {};\n\n    // date from string and format string\n    function configFromStringAndFormat(config) {\n        // TODO: Move this to another part of the creation flow to prevent circular deps\n        if (config._f === hooks.ISO_8601) {\n            configFromISO(config);\n            return;\n        }\n        if (config._f === hooks.RFC_2822) {\n            configFromRFC2822(config);\n            return;\n        }\n        config._a = [];\n        getParsingFlags(config).empty = true;\n\n        // This array is used to make a Date, either with `new Date` or `Date.UTC`\n        var string = '' + config._i,\n            i,\n            parsedInput,\n            tokens,\n            token,\n            skipped,\n            stringLength = string.length,\n            totalParsedInputLength = 0,\n            era,\n            tokenLen;\n\n        tokens =\n            expandFormat(config._f, config._locale).match(formattingTokens) || [];\n        tokenLen = tokens.length;\n        for (i = 0; i < tokenLen; i++) {\n            token = tokens[i];\n            parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n                [])[0];\n            if (parsedInput) {\n                skipped = string.substr(0, string.indexOf(parsedInput));\n                if (skipped.length > 0) {\n                    getParsingFlags(config).unusedInput.push(skipped);\n                }\n                string = string.slice(\n                    string.indexOf(parsedInput) + parsedInput.length\n                );\n                totalParsedInputLength += parsedInput.length;\n            }\n            // don't parse if it's not a known token\n            if (formatTokenFunctions[token]) {\n                if (parsedInput) {\n                    getParsingFlags(config).empty = false;\n                } else {\n                    getParsingFlags(config).unusedTokens.push(token);\n                }\n                addTimeToArrayFromToken(token, parsedInput, config);\n            } else if (config._strict && !parsedInput) {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n        }\n\n        // add remaining unparsed input length to the string\n        getParsingFlags(config).charsLeftOver =\n            stringLength - totalParsedInputLength;\n        if (string.length > 0) {\n            getParsingFlags(config).unusedInput.push(string);\n        }\n\n        // clear _12h flag if hour is <= 12\n        if (\n            config._a[HOUR] <= 12 &&\n            getParsingFlags(config).bigHour === true &&\n            config._a[HOUR] > 0\n        ) {\n            getParsingFlags(config).bigHour = undefined;\n        }\n\n        getParsingFlags(config).parsedDateParts = config._a.slice(0);\n        getParsingFlags(config).meridiem = config._meridiem;\n        // handle meridiem\n        config._a[HOUR] = meridiemFixWrap(\n            config._locale,\n            config._a[HOUR],\n            config._meridiem\n        );\n\n        // handle era\n        era = getParsingFlags(config).era;\n        if (era !== null) {\n            config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n        }\n\n        configFromArray(config);\n        checkOverflow(config);\n    }\n\n    function meridiemFixWrap(locale, hour, meridiem) {\n        var isPm;\n\n        if (meridiem == null) {\n            // nothing to do\n            return hour;\n        }\n        if (locale.meridiemHour != null) {\n            return locale.meridiemHour(hour, meridiem);\n        } else if (locale.isPM != null) {\n            // Fallback\n            isPm = locale.isPM(meridiem);\n            if (isPm && hour < 12) {\n                hour += 12;\n            }\n            if (!isPm && hour === 12) {\n                hour = 0;\n            }\n            return hour;\n        } else {\n            // this is not supposed to happen\n            return hour;\n        }\n    }\n\n    // date from string and array of format strings\n    function configFromStringAndArray(config) {\n        var tempConfig,\n            bestMoment,\n            scoreToBeat,\n            i,\n            currentScore,\n            validFormatFound,\n            bestFormatIsValid = false,\n            configfLen = config._f.length;\n\n        if (configfLen === 0) {\n            getParsingFlags(config).invalidFormat = true;\n            config._d = new Date(NaN);\n            return;\n        }\n\n        for (i = 0; i < configfLen; i++) {\n            currentScore = 0;\n            validFormatFound = false;\n            tempConfig = copyConfig({}, config);\n            if (config._useUTC != null) {\n                tempConfig._useUTC = config._useUTC;\n            }\n            tempConfig._f = config._f[i];\n            configFromStringAndFormat(tempConfig);\n\n            if (isValid(tempConfig)) {\n                validFormatFound = true;\n            }\n\n            // if there is any input that was not parsed add a penalty for that format\n            currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n            //or tokens\n            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n            getParsingFlags(tempConfig).score = currentScore;\n\n            if (!bestFormatIsValid) {\n                if (\n                    scoreToBeat == null ||\n                    currentScore < scoreToBeat ||\n                    validFormatFound\n                ) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                    if (validFormatFound) {\n                        bestFormatIsValid = true;\n                    }\n                }\n            } else {\n                if (currentScore < scoreToBeat) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                }\n            }\n        }\n\n        extend(config, bestMoment || tempConfig);\n    }\n\n    function configFromObject(config) {\n        if (config._d) {\n            return;\n        }\n\n        var i = normalizeObjectUnits(config._i),\n            dayOrDate = i.day === undefined ? i.date : i.day;\n        config._a = map(\n            [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n            function (obj) {\n                return obj && parseInt(obj, 10);\n            }\n        );\n\n        configFromArray(config);\n    }\n\n    function createFromConfig(config) {\n        var res = new Moment(checkOverflow(prepareConfig(config)));\n        if (res._nextDay) {\n            // Adding is smart enough around DST\n            res.add(1, 'd');\n            res._nextDay = undefined;\n        }\n\n        return res;\n    }\n\n    function prepareConfig(config) {\n        var input = config._i,\n            format = config._f;\n\n        config._locale = config._locale || getLocale(config._l);\n\n        if (input === null || (format === undefined && input === '')) {\n            return createInvalid({ nullInput: true });\n        }\n\n        if (typeof input === 'string') {\n            config._i = input = config._locale.preparse(input);\n        }\n\n        if (isMoment(input)) {\n            return new Moment(checkOverflow(input));\n        } else if (isDate(input)) {\n            config._d = input;\n        } else if (isArray(format)) {\n            configFromStringAndArray(config);\n        } else if (format) {\n            configFromStringAndFormat(config);\n        } else {\n            configFromInput(config);\n        }\n\n        if (!isValid(config)) {\n            config._d = null;\n        }\n\n        return config;\n    }\n\n    function configFromInput(config) {\n        var input = config._i;\n        if (isUndefined(input)) {\n            config._d = new Date(hooks.now());\n        } else if (isDate(input)) {\n            config._d = new Date(input.valueOf());\n        } else if (typeof input === 'string') {\n            configFromString(config);\n        } else if (isArray(input)) {\n            config._a = map(input.slice(0), function (obj) {\n                return parseInt(obj, 10);\n            });\n            configFromArray(config);\n        } else if (isObject(input)) {\n            configFromObject(config);\n        } else if (isNumber(input)) {\n            // from milliseconds\n            config._d = new Date(input);\n        } else {\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    function createLocalOrUTC(input, format, locale, strict, isUTC) {\n        var c = {};\n\n        if (format === true || format === false) {\n            strict = format;\n            format = undefined;\n        }\n\n        if (locale === true || locale === false) {\n            strict = locale;\n            locale = undefined;\n        }\n\n        if (\n            (isObject(input) && isObjectEmpty(input)) ||\n            (isArray(input) && input.length === 0)\n        ) {\n            input = undefined;\n        }\n        // object construction must be done this way.\n        // https://github.com/moment/moment/issues/1423\n        c._isAMomentObject = true;\n        c._useUTC = c._isUTC = isUTC;\n        c._l = locale;\n        c._i = input;\n        c._f = format;\n        c._strict = strict;\n\n        return createFromConfig(c);\n    }\n\n    function createLocal(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, false);\n    }\n\n    var prototypeMin = deprecate(\n            'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other < this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        ),\n        prototypeMax = deprecate(\n            'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other > this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        );\n\n    // Pick a moment m from moments so that m[fn](other) is true for all\n    // other. This relies on the function fn to be transitive.\n    //\n    // moments should either be an array of moment objects or an array, whose\n    // first element is an array of moment objects.\n    function pickBy(fn, moments) {\n        var res, i;\n        if (moments.length === 1 && isArray(moments[0])) {\n            moments = moments[0];\n        }\n        if (!moments.length) {\n            return createLocal();\n        }\n        res = moments[0];\n        for (i = 1; i < moments.length; ++i) {\n            if (!moments[i].isValid() || moments[i][fn](res)) {\n                res = moments[i];\n            }\n        }\n        return res;\n    }\n\n    // TODO: Use [].sort instead?\n    function min() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isBefore', args);\n    }\n\n    function max() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isAfter', args);\n    }\n\n    var now = function () {\n        return Date.now ? Date.now() : +new Date();\n    };\n\n    var ordering = [\n        'year',\n        'quarter',\n        'month',\n        'week',\n        'day',\n        'hour',\n        'minute',\n        'second',\n        'millisecond',\n    ];\n\n    function isDurationValid(m) {\n        var key,\n            unitHasDecimal = false,\n            i,\n            orderLen = ordering.length;\n        for (key in m) {\n            if (\n                hasOwnProp(m, key) &&\n                !(\n                    indexOf.call(ordering, key) !== -1 &&\n                    (m[key] == null || !isNaN(m[key]))\n                )\n            ) {\n                return false;\n            }\n        }\n\n        for (i = 0; i < orderLen; ++i) {\n            if (m[ordering[i]]) {\n                if (unitHasDecimal) {\n                    return false; // only allow non-integers for smallest unit\n                }\n                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                    unitHasDecimal = true;\n                }\n            }\n        }\n\n        return true;\n    }\n\n    function isValid$1() {\n        return this._isValid;\n    }\n\n    function createInvalid$1() {\n        return createDuration(NaN);\n    }\n\n    function Duration(duration) {\n        var normalizedInput = normalizeObjectUnits(duration),\n            years = normalizedInput.year || 0,\n            quarters = normalizedInput.quarter || 0,\n            months = normalizedInput.month || 0,\n            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n            days = normalizedInput.day || 0,\n            hours = normalizedInput.hour || 0,\n            minutes = normalizedInput.minute || 0,\n            seconds = normalizedInput.second || 0,\n            milliseconds = normalizedInput.millisecond || 0;\n\n        this._isValid = isDurationValid(normalizedInput);\n\n        // representation for dateAddRemove\n        this._milliseconds =\n            +milliseconds +\n            seconds * 1e3 + // 1000\n            minutes * 6e4 + // 1000 * 60\n            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n        // Because of dateAddRemove treats 24 hours as different from a\n        // day when working around DST, we need to store them separately\n        this._days = +days + weeks * 7;\n        // It is impossible to translate months into days without knowing\n        // which months you are are talking about, so we have to store\n        // it separately.\n        this._months = +months + quarters * 3 + years * 12;\n\n        this._data = {};\n\n        this._locale = getLocale();\n\n        this._bubble();\n    }\n\n    function isDuration(obj) {\n        return obj instanceof Duration;\n    }\n\n    function absRound(number) {\n        if (number < 0) {\n            return Math.round(-1 * number) * -1;\n        } else {\n            return Math.round(number);\n        }\n    }\n\n    // compare two arrays, return the number of differences\n    function compareArrays(array1, array2, dontConvert) {\n        var len = Math.min(array1.length, array2.length),\n            lengthDiff = Math.abs(array1.length - array2.length),\n            diffs = 0,\n            i;\n        for (i = 0; i < len; i++) {\n            if (\n                (dontConvert && array1[i] !== array2[i]) ||\n                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n            ) {\n                diffs++;\n            }\n        }\n        return diffs + lengthDiff;\n    }\n\n    // FORMATTING\n\n    function offset(token, separator) {\n        addFormatToken(token, 0, 0, function () {\n            var offset = this.utcOffset(),\n                sign = '+';\n            if (offset < 0) {\n                offset = -offset;\n                sign = '-';\n            }\n            return (\n                sign +\n                zeroFill(~~(offset / 60), 2) +\n                separator +\n                zeroFill(~~offset % 60, 2)\n            );\n        });\n    }\n\n    offset('Z', ':');\n    offset('ZZ', '');\n\n    // PARSING\n\n    addRegexToken('Z', matchShortOffset);\n    addRegexToken('ZZ', matchShortOffset);\n    addParseToken(['Z', 'ZZ'], function (input, array, config) {\n        config._useUTC = true;\n        config._tzm = offsetFromString(matchShortOffset, input);\n    });\n\n    // HELPERS\n\n    // timezone chunker\n    // '+10:00' > ['10',  '00']\n    // '-1530'  > ['-15', '30']\n    var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n    function offsetFromString(matcher, string) {\n        var matches = (string || '').match(matcher),\n            chunk,\n            parts,\n            minutes;\n\n        if (matches === null) {\n            return null;\n        }\n\n        chunk = matches[matches.length - 1] || [];\n        parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n        minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n        return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n    }\n\n    // Return a moment from input, that is local/utc/zone equivalent to model.\n    function cloneWithOffset(input, model) {\n        var res, diff;\n        if (model._isUTC) {\n            res = model.clone();\n            diff =\n                (isMoment(input) || isDate(input)\n                    ? input.valueOf()\n                    : createLocal(input).valueOf()) - res.valueOf();\n            // Use low-level api, because this fn is low-level api.\n            res._d.setTime(res._d.valueOf() + diff);\n            hooks.updateOffset(res, false);\n            return res;\n        } else {\n            return createLocal(input).local();\n        }\n    }\n\n    function getDateOffset(m) {\n        // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n        // https://github.com/moment/moment/pull/1871\n        return -Math.round(m._d.getTimezoneOffset());\n    }\n\n    // HOOKS\n\n    // This function will be called whenever a moment is mutated.\n    // It is intended to keep the offset in sync with the timezone.\n    hooks.updateOffset = function () {};\n\n    // MOMENTS\n\n    // keepLocalTime = true means only change the timezone, without\n    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n    // +0200, so we adjust the time as needed, to be valid.\n    //\n    // Keeping the time actually adds/subtracts (one hour)\n    // from the actual represented time. That is why we call updateOffset\n    // a second time. In case it wants us to change the offset again\n    // _changeInProgress == true case, then we have to adjust, because\n    // there is no such time in the given timezone.\n    function getSetOffset(input, keepLocalTime, keepMinutes) {\n        var offset = this._offset || 0,\n            localAdjust;\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        if (input != null) {\n            if (typeof input === 'string') {\n                input = offsetFromString(matchShortOffset, input);\n                if (input === null) {\n                    return this;\n                }\n            } else if (Math.abs(input) < 16 && !keepMinutes) {\n                input = input * 60;\n            }\n            if (!this._isUTC && keepLocalTime) {\n                localAdjust = getDateOffset(this);\n            }\n            this._offset = input;\n            this._isUTC = true;\n            if (localAdjust != null) {\n                this.add(localAdjust, 'm');\n            }\n            if (offset !== input) {\n                if (!keepLocalTime || this._changeInProgress) {\n                    addSubtract(\n                        this,\n                        createDuration(input - offset, 'm'),\n                        1,\n                        false\n                    );\n                } else if (!this._changeInProgress) {\n                    this._changeInProgress = true;\n                    hooks.updateOffset(this, true);\n                    this._changeInProgress = null;\n                }\n            }\n            return this;\n        } else {\n            return this._isUTC ? offset : getDateOffset(this);\n        }\n    }\n\n    function getSetZone(input, keepLocalTime) {\n        if (input != null) {\n            if (typeof input !== 'string') {\n                input = -input;\n            }\n\n            this.utcOffset(input, keepLocalTime);\n\n            return this;\n        } else {\n            return -this.utcOffset();\n        }\n    }\n\n    function setOffsetToUTC(keepLocalTime) {\n        return this.utcOffset(0, keepLocalTime);\n    }\n\n    function setOffsetToLocal(keepLocalTime) {\n        if (this._isUTC) {\n            this.utcOffset(0, keepLocalTime);\n            this._isUTC = false;\n\n            if (keepLocalTime) {\n                this.subtract(getDateOffset(this), 'm');\n            }\n        }\n        return this;\n    }\n\n    function setOffsetToParsedOffset() {\n        if (this._tzm != null) {\n            this.utcOffset(this._tzm, false, true);\n        } else if (typeof this._i === 'string') {\n            var tZone = offsetFromString(matchOffset, this._i);\n            if (tZone != null) {\n                this.utcOffset(tZone);\n            } else {\n                this.utcOffset(0, true);\n            }\n        }\n        return this;\n    }\n\n    function hasAlignedHourOffset(input) {\n        if (!this.isValid()) {\n            return false;\n        }\n        input = input ? createLocal(input).utcOffset() : 0;\n\n        return (this.utcOffset() - input) % 60 === 0;\n    }\n\n    function isDaylightSavingTime() {\n        return (\n            this.utcOffset() > this.clone().month(0).utcOffset() ||\n            this.utcOffset() > this.clone().month(5).utcOffset()\n        );\n    }\n\n    function isDaylightSavingTimeShifted() {\n        if (!isUndefined(this._isDSTShifted)) {\n            return this._isDSTShifted;\n        }\n\n        var c = {},\n            other;\n\n        copyConfig(c, this);\n        c = prepareConfig(c);\n\n        if (c._a) {\n            other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n            this._isDSTShifted =\n                this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n        } else {\n            this._isDSTShifted = false;\n        }\n\n        return this._isDSTShifted;\n    }\n\n    function isLocal() {\n        return this.isValid() ? !this._isUTC : false;\n    }\n\n    function isUtcOffset() {\n        return this.isValid() ? this._isUTC : false;\n    }\n\n    function isUtc() {\n        return this.isValid() ? this._isUTC && this._offset === 0 : false;\n    }\n\n    // ASP.NET json date format regex\n    var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n        // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n        // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n        // and further modified to allow for strings containing both week and day\n        isoRegex =\n            /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n    function createDuration(input, key) {\n        var duration = input,\n            // matching against regexp is expensive, do it on demand\n            match = null,\n            sign,\n            ret,\n            diffRes;\n\n        if (isDuration(input)) {\n            duration = {\n                ms: input._milliseconds,\n                d: input._days,\n                M: input._months,\n            };\n        } else if (isNumber(input) || !isNaN(+input)) {\n            duration = {};\n            if (key) {\n                duration[key] = +input;\n            } else {\n                duration.milliseconds = +input;\n            }\n        } else if ((match = aspNetRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: 0,\n                d: toInt(match[DATE]) * sign,\n                h: toInt(match[HOUR]) * sign,\n                m: toInt(match[MINUTE]) * sign,\n                s: toInt(match[SECOND]) * sign,\n                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n            };\n        } else if ((match = isoRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: parseIso(match[2], sign),\n                M: parseIso(match[3], sign),\n                w: parseIso(match[4], sign),\n                d: parseIso(match[5], sign),\n                h: parseIso(match[6], sign),\n                m: parseIso(match[7], sign),\n                s: parseIso(match[8], sign),\n            };\n        } else if (duration == null) {\n            // checks for null or undefined\n            duration = {};\n        } else if (\n            typeof duration === 'object' &&\n            ('from' in duration || 'to' in duration)\n        ) {\n            diffRes = momentsDifference(\n                createLocal(duration.from),\n                createLocal(duration.to)\n            );\n\n            duration = {};\n            duration.ms = diffRes.milliseconds;\n            duration.M = diffRes.months;\n        }\n\n        ret = new Duration(duration);\n\n        if (isDuration(input) && hasOwnProp(input, '_locale')) {\n            ret._locale = input._locale;\n        }\n\n        if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n            ret._isValid = input._isValid;\n        }\n\n        return ret;\n    }\n\n    createDuration.fn = Duration.prototype;\n    createDuration.invalid = createInvalid$1;\n\n    function parseIso(inp, sign) {\n        // We'd normally use ~~inp for this, but unfortunately it also\n        // converts floats to ints.\n        // inp may be undefined, so careful calling replace on it.\n        var res = inp && parseFloat(inp.replace(',', '.'));\n        // apply sign while we're at it\n        return (isNaN(res) ? 0 : res) * sign;\n    }\n\n    function positiveMomentsDifference(base, other) {\n        var res = {};\n\n        res.months =\n            other.month() - base.month() + (other.year() - base.year()) * 12;\n        if (base.clone().add(res.months, 'M').isAfter(other)) {\n            --res.months;\n        }\n\n        res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n        return res;\n    }\n\n    function momentsDifference(base, other) {\n        var res;\n        if (!(base.isValid() && other.isValid())) {\n            return { milliseconds: 0, months: 0 };\n        }\n\n        other = cloneWithOffset(other, base);\n        if (base.isBefore(other)) {\n            res = positiveMomentsDifference(base, other);\n        } else {\n            res = positiveMomentsDifference(other, base);\n            res.milliseconds = -res.milliseconds;\n            res.months = -res.months;\n        }\n\n        return res;\n    }\n\n    // TODO: remove 'name' arg after deprecation is removed\n    function createAdder(direction, name) {\n        return function (val, period) {\n            var dur, tmp;\n            //invert the arguments, but complain about it\n            if (period !== null && !isNaN(+period)) {\n                deprecateSimple(\n                    name,\n                    'moment().' +\n                        name +\n                        '(period, number) is deprecated. Please use moment().' +\n                        name +\n                        '(number, period). ' +\n                        'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n                );\n                tmp = val;\n                val = period;\n                period = tmp;\n            }\n\n            dur = createDuration(val, period);\n            addSubtract(this, dur, direction);\n            return this;\n        };\n    }\n\n    function addSubtract(mom, duration, isAdding, updateOffset) {\n        var milliseconds = duration._milliseconds,\n            days = absRound(duration._days),\n            months = absRound(duration._months);\n\n        if (!mom.isValid()) {\n            // No op\n            return;\n        }\n\n        updateOffset = updateOffset == null ? true : updateOffset;\n\n        if (months) {\n            setMonth(mom, get(mom, 'Month') + months * isAdding);\n        }\n        if (days) {\n            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n        }\n        if (milliseconds) {\n            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n        }\n        if (updateOffset) {\n            hooks.updateOffset(mom, days || months);\n        }\n    }\n\n    var add = createAdder(1, 'add'),\n        subtract = createAdder(-1, 'subtract');\n\n    function isString(input) {\n        return typeof input === 'string' || input instanceof String;\n    }\n\n    // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n    function isMomentInput(input) {\n        return (\n            isMoment(input) ||\n            isDate(input) ||\n            isString(input) ||\n            isNumber(input) ||\n            isNumberOrStringArray(input) ||\n            isMomentInputObject(input) ||\n            input === null ||\n            input === undefined\n        );\n    }\n\n    function isMomentInputObject(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'years',\n                'year',\n                'y',\n                'months',\n                'month',\n                'M',\n                'days',\n                'day',\n                'd',\n                'dates',\n                'date',\n                'D',\n                'hours',\n                'hour',\n                'h',\n                'minutes',\n                'minute',\n                'm',\n                'seconds',\n                'second',\n                's',\n                'milliseconds',\n                'millisecond',\n                'ms',\n            ],\n            i,\n            property,\n            propertyLen = properties.length;\n\n        for (i = 0; i < propertyLen; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function isNumberOrStringArray(input) {\n        var arrayTest = isArray(input),\n            dataTypeTest = false;\n        if (arrayTest) {\n            dataTypeTest =\n                input.filter(function (item) {\n                    return !isNumber(item) && isString(input);\n                }).length === 0;\n        }\n        return arrayTest && dataTypeTest;\n    }\n\n    function isCalendarSpec(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'sameDay',\n                'nextDay',\n                'lastDay',\n                'nextWeek',\n                'lastWeek',\n                'sameElse',\n            ],\n            i,\n            property;\n\n        for (i = 0; i < properties.length; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function getCalendarFormat(myMoment, now) {\n        var diff = myMoment.diff(now, 'days', true);\n        return diff < -6\n            ? 'sameElse'\n            : diff < -1\n              ? 'lastWeek'\n              : diff < 0\n                ? 'lastDay'\n                : diff < 1\n                  ? 'sameDay'\n                  : diff < 2\n                    ? 'nextDay'\n                    : diff < 7\n                      ? 'nextWeek'\n                      : 'sameElse';\n    }\n\n    function calendar$1(time, formats) {\n        // Support for single parameter, formats only overload to the calendar function\n        if (arguments.length === 1) {\n            if (!arguments[0]) {\n                time = undefined;\n                formats = undefined;\n            } else if (isMomentInput(arguments[0])) {\n                time = arguments[0];\n                formats = undefined;\n            } else if (isCalendarSpec(arguments[0])) {\n                formats = arguments[0];\n                time = undefined;\n            }\n        }\n        // We want to compare the start of today, vs this.\n        // Getting start-of-today depends on whether we're local/utc/offset or not.\n        var now = time || createLocal(),\n            sod = cloneWithOffset(now, this).startOf('day'),\n            format = hooks.calendarFormat(this, sod) || 'sameElse',\n            output =\n                formats &&\n                (isFunction(formats[format])\n                    ? formats[format].call(this, now)\n                    : formats[format]);\n\n        return this.format(\n            output || this.localeData().calendar(format, this, createLocal(now))\n        );\n    }\n\n    function clone() {\n        return new Moment(this);\n    }\n\n    function isAfter(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() > localInput.valueOf();\n        } else {\n            return localInput.valueOf() < this.clone().startOf(units).valueOf();\n        }\n    }\n\n    function isBefore(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() < localInput.valueOf();\n        } else {\n            return this.clone().endOf(units).valueOf() < localInput.valueOf();\n        }\n    }\n\n    function isBetween(from, to, units, inclusivity) {\n        var localFrom = isMoment(from) ? from : createLocal(from),\n            localTo = isMoment(to) ? to : createLocal(to);\n        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n            return false;\n        }\n        inclusivity = inclusivity || '()';\n        return (\n            (inclusivity[0] === '('\n                ? this.isAfter(localFrom, units)\n                : !this.isBefore(localFrom, units)) &&\n            (inclusivity[1] === ')'\n                ? this.isBefore(localTo, units)\n                : !this.isAfter(localTo, units))\n        );\n    }\n\n    function isSame(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input),\n            inputMs;\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() === localInput.valueOf();\n        } else {\n            inputMs = localInput.valueOf();\n            return (\n                this.clone().startOf(units).valueOf() <= inputMs &&\n                inputMs <= this.clone().endOf(units).valueOf()\n            );\n        }\n    }\n\n    function isSameOrAfter(input, units) {\n        return this.isSame(input, units) || this.isAfter(input, units);\n    }\n\n    function isSameOrBefore(input, units) {\n        return this.isSame(input, units) || this.isBefore(input, units);\n    }\n\n    function diff(input, units, asFloat) {\n        var that, zoneDelta, output;\n\n        if (!this.isValid()) {\n            return NaN;\n        }\n\n        that = cloneWithOffset(input, this);\n\n        if (!that.isValid()) {\n            return NaN;\n        }\n\n        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n        units = normalizeUnits(units);\n\n        switch (units) {\n            case 'year':\n                output = monthDiff(this, that) / 12;\n                break;\n            case 'month':\n                output = monthDiff(this, that);\n                break;\n            case 'quarter':\n                output = monthDiff(this, that) / 3;\n                break;\n            case 'second':\n                output = (this - that) / 1e3;\n                break; // 1000\n            case 'minute':\n                output = (this - that) / 6e4;\n                break; // 1000 * 60\n            case 'hour':\n                output = (this - that) / 36e5;\n                break; // 1000 * 60 * 60\n            case 'day':\n                output = (this - that - zoneDelta) / 864e5;\n                break; // 1000 * 60 * 60 * 24, negate dst\n            case 'week':\n                output = (this - that - zoneDelta) / 6048e5;\n                break; // 1000 * 60 * 60 * 24 * 7, negate dst\n            default:\n                output = this - that;\n        }\n\n        return asFloat ? output : absFloor(output);\n    }\n\n    function monthDiff(a, b) {\n        if (a.date() < b.date()) {\n            // end-of-month calculations work correct when the start month has more\n            // days than the end month.\n            return -monthDiff(b, a);\n        }\n        // difference in months\n        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n            // b is in (anchor - 1 month, anchor + 1 month)\n            anchor = a.clone().add(wholeMonthDiff, 'months'),\n            anchor2,\n            adjust;\n\n        if (b - anchor < 0) {\n            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor - anchor2);\n        } else {\n            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor2 - anchor);\n        }\n\n        //check for negative zero, return zero if negative zero\n        return -(wholeMonthDiff + adjust) || 0;\n    }\n\n    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n    function toString() {\n        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n    }\n\n    function toISOString(keepOffset) {\n        if (!this.isValid()) {\n            return null;\n        }\n        var utc = keepOffset !== true,\n            m = utc ? this.clone().utc() : this;\n        if (m.year() < 0 || m.year() > 9999) {\n            return formatMoment(\n                m,\n                utc\n                    ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n                    : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n            );\n        }\n        if (isFunction(Date.prototype.toISOString)) {\n            // native implementation is ~50x faster, use it when we can\n            if (utc) {\n                return this.toDate().toISOString();\n            } else {\n                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n                    .toISOString()\n                    .replace('Z', formatMoment(m, 'Z'));\n            }\n        }\n        return formatMoment(\n            m,\n            utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n        );\n    }\n\n    /**\n     * Return a human readable representation of a moment that can\n     * also be evaluated to get a new moment which is the same\n     *\n     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n     */\n    function inspect() {\n        if (!this.isValid()) {\n            return 'moment.invalid(/* ' + this._i + ' */)';\n        }\n        var func = 'moment',\n            zone = '',\n            prefix,\n            year,\n            datetime,\n            suffix;\n        if (!this.isLocal()) {\n            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n            zone = 'Z';\n        }\n        prefix = '[' + func + '(\"]';\n        year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n        datetime = '-MM-DD[T]HH:mm:ss.SSS';\n        suffix = zone + '[\")]';\n\n        return this.format(prefix + year + datetime + suffix);\n    }\n\n    function format(inputString) {\n        if (!inputString) {\n            inputString = this.isUtc()\n                ? hooks.defaultFormatUtc\n                : hooks.defaultFormat;\n        }\n        var output = formatMoment(this, inputString);\n        return this.localeData().postformat(output);\n    }\n\n    function from(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ to: this, from: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function fromNow(withoutSuffix) {\n        return this.from(createLocal(), withoutSuffix);\n    }\n\n    function to(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ from: this, to: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function toNow(withoutSuffix) {\n        return this.to(createLocal(), withoutSuffix);\n    }\n\n    // If passed a locale key, it will set the locale for this\n    // instance.  Otherwise, it will return the locale configuration\n    // variables for this instance.\n    function locale(key) {\n        var newLocaleData;\n\n        if (key === undefined) {\n            return this._locale._abbr;\n        } else {\n            newLocaleData = getLocale(key);\n            if (newLocaleData != null) {\n                this._locale = newLocaleData;\n            }\n            return this;\n        }\n    }\n\n    var lang = deprecate(\n        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n        function (key) {\n            if (key === undefined) {\n                return this.localeData();\n            } else {\n                return this.locale(key);\n            }\n        }\n    );\n\n    function localeData() {\n        return this._locale;\n    }\n\n    var MS_PER_SECOND = 1000,\n        MS_PER_MINUTE = 60 * MS_PER_SECOND,\n        MS_PER_HOUR = 60 * MS_PER_MINUTE,\n        MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n    // actual modulo - handles negative numbers (for dates before 1970):\n    function mod$1(dividend, divisor) {\n        return ((dividend % divisor) + divisor) % divisor;\n    }\n\n    function localStartOfDate(y, m, d) {\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return new Date(y, m, d).valueOf();\n        }\n    }\n\n    function utcStartOfDate(y, m, d) {\n        // Date.UTC remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return Date.UTC(y, m, d);\n        }\n    }\n\n    function startOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year(), 0, 1);\n                break;\n            case 'quarter':\n                time = startOfDate(\n                    this.year(),\n                    this.month() - (this.month() % 3),\n                    1\n                );\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month(), 1);\n                break;\n            case 'week':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - this.weekday()\n                );\n                break;\n            case 'isoWeek':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - (this.isoWeekday() - 1)\n                );\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date());\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time -= mod$1(\n                    time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                    MS_PER_HOUR\n                );\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_MINUTE);\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_SECOND);\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function endOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year() + 1, 0, 1) - 1;\n                break;\n            case 'quarter':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month() - (this.month() % 3) + 3,\n                        1\n                    ) - 1;\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n                break;\n            case 'week':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - this.weekday() + 7\n                    ) - 1;\n                break;\n            case 'isoWeek':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - (this.isoWeekday() - 1) + 7\n                    ) - 1;\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time +=\n                    MS_PER_HOUR -\n                    mod$1(\n                        time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                        MS_PER_HOUR\n                    ) -\n                    1;\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function valueOf() {\n        return this._d.valueOf() - (this._offset || 0) * 60000;\n    }\n\n    function unix() {\n        return Math.floor(this.valueOf() / 1000);\n    }\n\n    function toDate() {\n        return new Date(this.valueOf());\n    }\n\n    function toArray() {\n        var m = this;\n        return [\n            m.year(),\n            m.month(),\n            m.date(),\n            m.hour(),\n            m.minute(),\n            m.second(),\n            m.millisecond(),\n        ];\n    }\n\n    function toObject() {\n        var m = this;\n        return {\n            years: m.year(),\n            months: m.month(),\n            date: m.date(),\n            hours: m.hours(),\n            minutes: m.minutes(),\n            seconds: m.seconds(),\n            milliseconds: m.milliseconds(),\n        };\n    }\n\n    function toJSON() {\n        // new Date(NaN).toJSON() === null\n        return this.isValid() ? this.toISOString() : null;\n    }\n\n    function isValid$2() {\n        return isValid(this);\n    }\n\n    function parsingFlags() {\n        return extend({}, getParsingFlags(this));\n    }\n\n    function invalidAt() {\n        return getParsingFlags(this).overflow;\n    }\n\n    function creationData() {\n        return {\n            input: this._i,\n            format: this._f,\n            locale: this._locale,\n            isUTC: this._isUTC,\n            strict: this._strict,\n        };\n    }\n\n    addFormatToken('N', 0, 0, 'eraAbbr');\n    addFormatToken('NN', 0, 0, 'eraAbbr');\n    addFormatToken('NNN', 0, 0, 'eraAbbr');\n    addFormatToken('NNNN', 0, 0, 'eraName');\n    addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n    addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n    addFormatToken('y', ['yy', 2], 0, 'eraYear');\n    addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n    addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n    addRegexToken('N', matchEraAbbr);\n    addRegexToken('NN', matchEraAbbr);\n    addRegexToken('NNN', matchEraAbbr);\n    addRegexToken('NNNN', matchEraName);\n    addRegexToken('NNNNN', matchEraNarrow);\n\n    addParseToken(\n        ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n        function (input, array, config, token) {\n            var era = config._locale.erasParse(input, token, config._strict);\n            if (era) {\n                getParsingFlags(config).era = era;\n            } else {\n                getParsingFlags(config).invalidEra = input;\n            }\n        }\n    );\n\n    addRegexToken('y', matchUnsigned);\n    addRegexToken('yy', matchUnsigned);\n    addRegexToken('yyy', matchUnsigned);\n    addRegexToken('yyyy', matchUnsigned);\n    addRegexToken('yo', matchEraYearOrdinal);\n\n    addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n    addParseToken(['yo'], function (input, array, config, token) {\n        var match;\n        if (config._locale._eraYearOrdinalRegex) {\n            match = input.match(config._locale._eraYearOrdinalRegex);\n        }\n\n        if (config._locale.eraYearOrdinalParse) {\n            array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n        } else {\n            array[YEAR] = parseInt(input, 10);\n        }\n    });\n\n    function localeEras(m, format) {\n        var i,\n            l,\n            date,\n            eras = this._eras || getLocale('en')._eras;\n        for (i = 0, l = eras.length; i < l; ++i) {\n            switch (typeof eras[i].since) {\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].since).startOf('day');\n                    eras[i].since = date.valueOf();\n                    break;\n            }\n\n            switch (typeof eras[i].until) {\n                case 'undefined':\n                    eras[i].until = +Infinity;\n                    break;\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].until).startOf('day').valueOf();\n                    eras[i].until = date.valueOf();\n                    break;\n            }\n        }\n        return eras;\n    }\n\n    function localeErasParse(eraName, format, strict) {\n        var i,\n            l,\n            eras = this.eras(),\n            name,\n            abbr,\n            narrow;\n        eraName = eraName.toUpperCase();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            name = eras[i].name.toUpperCase();\n            abbr = eras[i].abbr.toUpperCase();\n            narrow = eras[i].narrow.toUpperCase();\n\n            if (strict) {\n                switch (format) {\n                    case 'N':\n                    case 'NN':\n                    case 'NNN':\n                        if (abbr === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNN':\n                        if (name === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNNN':\n                        if (narrow === eraName) {\n                            return eras[i];\n                        }\n                        break;\n                }\n            } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n                return eras[i];\n            }\n        }\n    }\n\n    function localeErasConvertYear(era, year) {\n        var dir = era.since <= era.until ? +1 : -1;\n        if (year === undefined) {\n            return hooks(era.since).year();\n        } else {\n            return hooks(era.since).year() + (year - era.offset) * dir;\n        }\n    }\n\n    function getEraName() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].name;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].name;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraNarrow() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].narrow;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].narrow;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraAbbr() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].abbr;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].abbr;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraYear() {\n        var i,\n            l,\n            dir,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (\n                (eras[i].since <= val && val <= eras[i].until) ||\n                (eras[i].until <= val && val <= eras[i].since)\n            ) {\n                return (\n                    (this.year() - hooks(eras[i].since).year()) * dir +\n                    eras[i].offset\n                );\n            }\n        }\n\n        return this.year();\n    }\n\n    function erasNameRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNameRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNameRegex : this._erasRegex;\n    }\n\n    function erasAbbrRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasAbbrRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasAbbrRegex : this._erasRegex;\n    }\n\n    function erasNarrowRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNarrowRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNarrowRegex : this._erasRegex;\n    }\n\n    function matchEraAbbr(isStrict, locale) {\n        return locale.erasAbbrRegex(isStrict);\n    }\n\n    function matchEraName(isStrict, locale) {\n        return locale.erasNameRegex(isStrict);\n    }\n\n    function matchEraNarrow(isStrict, locale) {\n        return locale.erasNarrowRegex(isStrict);\n    }\n\n    function matchEraYearOrdinal(isStrict, locale) {\n        return locale._eraYearOrdinalRegex || matchUnsigned;\n    }\n\n    function computeErasParse() {\n        var abbrPieces = [],\n            namePieces = [],\n            narrowPieces = [],\n            mixedPieces = [],\n            i,\n            l,\n            erasName,\n            erasAbbr,\n            erasNarrow,\n            eras = this.eras();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            erasName = regexEscape(eras[i].name);\n            erasAbbr = regexEscape(eras[i].abbr);\n            erasNarrow = regexEscape(eras[i].narrow);\n\n            namePieces.push(erasName);\n            abbrPieces.push(erasAbbr);\n            narrowPieces.push(erasNarrow);\n            mixedPieces.push(erasName);\n            mixedPieces.push(erasAbbr);\n            mixedPieces.push(erasNarrow);\n        }\n\n        this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n        this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n        this._erasNarrowRegex = new RegExp(\n            '^(' + narrowPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken(0, ['gg', 2], 0, function () {\n        return this.weekYear() % 100;\n    });\n\n    addFormatToken(0, ['GG', 2], 0, function () {\n        return this.isoWeekYear() % 100;\n    });\n\n    function addWeekYearFormatToken(token, getter) {\n        addFormatToken(0, [token, token.length], 0, getter);\n    }\n\n    addWeekYearFormatToken('gggg', 'weekYear');\n    addWeekYearFormatToken('ggggg', 'weekYear');\n    addWeekYearFormatToken('GGGG', 'isoWeekYear');\n    addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n    // ALIASES\n\n    // PARSING\n\n    addRegexToken('G', matchSigned);\n    addRegexToken('g', matchSigned);\n    addRegexToken('GG', match1to2, match2);\n    addRegexToken('gg', match1to2, match2);\n    addRegexToken('GGGG', match1to4, match4);\n    addRegexToken('gggg', match1to4, match4);\n    addRegexToken('GGGGG', match1to6, match6);\n    addRegexToken('ggggg', match1to6, match6);\n\n    addWeekParseToken(\n        ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n        function (input, week, config, token) {\n            week[token.substr(0, 2)] = toInt(input);\n        }\n    );\n\n    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n        week[token] = hooks.parseTwoDigitYear(input);\n    });\n\n    // MOMENTS\n\n    function getSetWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.week(),\n            this.weekday() + this.localeData()._week.dow,\n            this.localeData()._week.dow,\n            this.localeData()._week.doy\n        );\n    }\n\n    function getSetISOWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.isoWeek(),\n            this.isoWeekday(),\n            1,\n            4\n        );\n    }\n\n    function getISOWeeksInYear() {\n        return weeksInYear(this.year(), 1, 4);\n    }\n\n    function getISOWeeksInISOWeekYear() {\n        return weeksInYear(this.isoWeekYear(), 1, 4);\n    }\n\n    function getWeeksInYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getWeeksInWeekYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n        var weeksTarget;\n        if (input == null) {\n            return weekOfYear(this, dow, doy).year;\n        } else {\n            weeksTarget = weeksInYear(input, dow, doy);\n            if (week > weeksTarget) {\n                week = weeksTarget;\n            }\n            return setWeekAll.call(this, input, week, weekday, dow, doy);\n        }\n    }\n\n    function setWeekAll(weekYear, week, weekday, dow, doy) {\n        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n        this.year(date.getUTCFullYear());\n        this.month(date.getUTCMonth());\n        this.date(date.getUTCDate());\n        return this;\n    }\n\n    // FORMATTING\n\n    addFormatToken('Q', 0, 'Qo', 'quarter');\n\n    // PARSING\n\n    addRegexToken('Q', match1);\n    addParseToken('Q', function (input, array) {\n        array[MONTH] = (toInt(input) - 1) * 3;\n    });\n\n    // MOMENTS\n\n    function getSetQuarter(input) {\n        return input == null\n            ? Math.ceil((this.month() + 1) / 3)\n            : this.month((input - 1) * 3 + (this.month() % 3));\n    }\n\n    // FORMATTING\n\n    addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n    // PARSING\n\n    addRegexToken('D', match1to2, match1to2NoLeadingZero);\n    addRegexToken('DD', match1to2, match2);\n    addRegexToken('Do', function (isStrict, locale) {\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        return isStrict\n            ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n            : locale._dayOfMonthOrdinalParseLenient;\n    });\n\n    addParseToken(['D', 'DD'], DATE);\n    addParseToken('Do', function (input, array) {\n        array[DATE] = toInt(input.match(match1to2)[0]);\n    });\n\n    // MOMENTS\n\n    var getSetDayOfMonth = makeGetSet('Date', true);\n\n    // FORMATTING\n\n    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n    // PARSING\n\n    addRegexToken('DDD', match1to3);\n    addRegexToken('DDDD', match3);\n    addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n        config._dayOfYear = toInt(input);\n    });\n\n    // HELPERS\n\n    // MOMENTS\n\n    function getSetDayOfYear(input) {\n        var dayOfYear =\n            Math.round(\n                (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n            ) + 1;\n        return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('m', ['mm', 2], 0, 'minute');\n\n    // PARSING\n\n    addRegexToken('m', match1to2, match1to2HasZero);\n    addRegexToken('mm', match1to2, match2);\n    addParseToken(['m', 'mm'], MINUTE);\n\n    // MOMENTS\n\n    var getSetMinute = makeGetSet('Minutes', false);\n\n    // FORMATTING\n\n    addFormatToken('s', ['ss', 2], 0, 'second');\n\n    // PARSING\n\n    addRegexToken('s', match1to2, match1to2HasZero);\n    addRegexToken('ss', match1to2, match2);\n    addParseToken(['s', 'ss'], SECOND);\n\n    // MOMENTS\n\n    var getSetSecond = makeGetSet('Seconds', false);\n\n    // FORMATTING\n\n    addFormatToken('S', 0, 0, function () {\n        return ~~(this.millisecond() / 100);\n    });\n\n    addFormatToken(0, ['SS', 2], 0, function () {\n        return ~~(this.millisecond() / 10);\n    });\n\n    addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n    addFormatToken(0, ['SSSS', 4], 0, function () {\n        return this.millisecond() * 10;\n    });\n    addFormatToken(0, ['SSSSS', 5], 0, function () {\n        return this.millisecond() * 100;\n    });\n    addFormatToken(0, ['SSSSSS', 6], 0, function () {\n        return this.millisecond() * 1000;\n    });\n    addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n        return this.millisecond() * 10000;\n    });\n    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n        return this.millisecond() * 100000;\n    });\n    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n        return this.millisecond() * 1000000;\n    });\n\n    // PARSING\n\n    addRegexToken('S', match1to3, match1);\n    addRegexToken('SS', match1to3, match2);\n    addRegexToken('SSS', match1to3, match3);\n\n    var token, getSetMillisecond;\n    for (token = 'SSSS'; token.length <= 9; token += 'S') {\n        addRegexToken(token, matchUnsigned);\n    }\n\n    function parseMs(input, array) {\n        array[MILLISECOND] = toInt(('0.' + input) * 1000);\n    }\n\n    for (token = 'S'; token.length <= 9; token += 'S') {\n        addParseToken(token, parseMs);\n    }\n\n    getSetMillisecond = makeGetSet('Milliseconds', false);\n\n    // FORMATTING\n\n    addFormatToken('z', 0, 0, 'zoneAbbr');\n    addFormatToken('zz', 0, 0, 'zoneName');\n\n    // MOMENTS\n\n    function getZoneAbbr() {\n        return this._isUTC ? 'UTC' : '';\n    }\n\n    function getZoneName() {\n        return this._isUTC ? 'Coordinated Universal Time' : '';\n    }\n\n    var proto = Moment.prototype;\n\n    proto.add = add;\n    proto.calendar = calendar$1;\n    proto.clone = clone;\n    proto.diff = diff;\n    proto.endOf = endOf;\n    proto.format = format;\n    proto.from = from;\n    proto.fromNow = fromNow;\n    proto.to = to;\n    proto.toNow = toNow;\n    proto.get = stringGet;\n    proto.invalidAt = invalidAt;\n    proto.isAfter = isAfter;\n    proto.isBefore = isBefore;\n    proto.isBetween = isBetween;\n    proto.isSame = isSame;\n    proto.isSameOrAfter = isSameOrAfter;\n    proto.isSameOrBefore = isSameOrBefore;\n    proto.isValid = isValid$2;\n    proto.lang = lang;\n    proto.locale = locale;\n    proto.localeData = localeData;\n    proto.max = prototypeMax;\n    proto.min = prototypeMin;\n    proto.parsingFlags = parsingFlags;\n    proto.set = stringSet;\n    proto.startOf = startOf;\n    proto.subtract = subtract;\n    proto.toArray = toArray;\n    proto.toObject = toObject;\n    proto.toDate = toDate;\n    proto.toISOString = toISOString;\n    proto.inspect = inspect;\n    if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n        proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n            return 'Moment<' + this.format() + '>';\n        };\n    }\n    proto.toJSON = toJSON;\n    proto.toString = toString;\n    proto.unix = unix;\n    proto.valueOf = valueOf;\n    proto.creationData = creationData;\n    proto.eraName = getEraName;\n    proto.eraNarrow = getEraNarrow;\n    proto.eraAbbr = getEraAbbr;\n    proto.eraYear = getEraYear;\n    proto.year = getSetYear;\n    proto.isLeapYear = getIsLeapYear;\n    proto.weekYear = getSetWeekYear;\n    proto.isoWeekYear = getSetISOWeekYear;\n    proto.quarter = proto.quarters = getSetQuarter;\n    proto.month = getSetMonth;\n    proto.daysInMonth = getDaysInMonth;\n    proto.week = proto.weeks = getSetWeek;\n    proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n    proto.weeksInYear = getWeeksInYear;\n    proto.weeksInWeekYear = getWeeksInWeekYear;\n    proto.isoWeeksInYear = getISOWeeksInYear;\n    proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n    proto.date = getSetDayOfMonth;\n    proto.day = proto.days = getSetDayOfWeek;\n    proto.weekday = getSetLocaleDayOfWeek;\n    proto.isoWeekday = getSetISODayOfWeek;\n    proto.dayOfYear = getSetDayOfYear;\n    proto.hour = proto.hours = getSetHour;\n    proto.minute = proto.minutes = getSetMinute;\n    proto.second = proto.seconds = getSetSecond;\n    proto.millisecond = proto.milliseconds = getSetMillisecond;\n    proto.utcOffset = getSetOffset;\n    proto.utc = setOffsetToUTC;\n    proto.local = setOffsetToLocal;\n    proto.parseZone = setOffsetToParsedOffset;\n    proto.hasAlignedHourOffset = hasAlignedHourOffset;\n    proto.isDST = isDaylightSavingTime;\n    proto.isLocal = isLocal;\n    proto.isUtcOffset = isUtcOffset;\n    proto.isUtc = isUtc;\n    proto.isUTC = isUtc;\n    proto.zoneAbbr = getZoneAbbr;\n    proto.zoneName = getZoneName;\n    proto.dates = deprecate(\n        'dates accessor is deprecated. Use date instead.',\n        getSetDayOfMonth\n    );\n    proto.months = deprecate(\n        'months accessor is deprecated. Use month instead',\n        getSetMonth\n    );\n    proto.years = deprecate(\n        'years accessor is deprecated. Use year instead',\n        getSetYear\n    );\n    proto.zone = deprecate(\n        'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n        getSetZone\n    );\n    proto.isDSTShifted = deprecate(\n        'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n        isDaylightSavingTimeShifted\n    );\n\n    function createUnix(input) {\n        return createLocal(input * 1000);\n    }\n\n    function createInZone() {\n        return createLocal.apply(null, arguments).parseZone();\n    }\n\n    function preParsePostFormat(string) {\n        return string;\n    }\n\n    var proto$1 = Locale.prototype;\n\n    proto$1.calendar = calendar;\n    proto$1.longDateFormat = longDateFormat;\n    proto$1.invalidDate = invalidDate;\n    proto$1.ordinal = ordinal;\n    proto$1.preparse = preParsePostFormat;\n    proto$1.postformat = preParsePostFormat;\n    proto$1.relativeTime = relativeTime;\n    proto$1.pastFuture = pastFuture;\n    proto$1.set = set;\n    proto$1.eras = localeEras;\n    proto$1.erasParse = localeErasParse;\n    proto$1.erasConvertYear = localeErasConvertYear;\n    proto$1.erasAbbrRegex = erasAbbrRegex;\n    proto$1.erasNameRegex = erasNameRegex;\n    proto$1.erasNarrowRegex = erasNarrowRegex;\n\n    proto$1.months = localeMonths;\n    proto$1.monthsShort = localeMonthsShort;\n    proto$1.monthsParse = localeMonthsParse;\n    proto$1.monthsRegex = monthsRegex;\n    proto$1.monthsShortRegex = monthsShortRegex;\n    proto$1.week = localeWeek;\n    proto$1.firstDayOfYear = localeFirstDayOfYear;\n    proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n    proto$1.weekdays = localeWeekdays;\n    proto$1.weekdaysMin = localeWeekdaysMin;\n    proto$1.weekdaysShort = localeWeekdaysShort;\n    proto$1.weekdaysParse = localeWeekdaysParse;\n\n    proto$1.weekdaysRegex = weekdaysRegex;\n    proto$1.weekdaysShortRegex = weekdaysShortRegex;\n    proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n    proto$1.isPM = localeIsPM;\n    proto$1.meridiem = localeMeridiem;\n\n    function get$1(format, index, field, setter) {\n        var locale = getLocale(),\n            utc = createUTC().set(setter, index);\n        return locale[field](utc, format);\n    }\n\n    function listMonthsImpl(format, index, field) {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n\n        if (index != null) {\n            return get$1(format, index, field, 'month');\n        }\n\n        var i,\n            out = [];\n        for (i = 0; i < 12; i++) {\n            out[i] = get$1(format, i, field, 'month');\n        }\n        return out;\n    }\n\n    // ()\n    // (5)\n    // (fmt, 5)\n    // (fmt)\n    // (true)\n    // (true, 5)\n    // (true, fmt, 5)\n    // (true, fmt)\n    function listWeekdaysImpl(localeSorted, format, index, field) {\n        if (typeof localeSorted === 'boolean') {\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        } else {\n            format = localeSorted;\n            index = format;\n            localeSorted = false;\n\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        }\n\n        var locale = getLocale(),\n            shift = localeSorted ? locale._week.dow : 0,\n            i,\n            out = [];\n\n        if (index != null) {\n            return get$1(format, (index + shift) % 7, field, 'day');\n        }\n\n        for (i = 0; i < 7; i++) {\n            out[i] = get$1(format, (i + shift) % 7, field, 'day');\n        }\n        return out;\n    }\n\n    function listMonths(format, index) {\n        return listMonthsImpl(format, index, 'months');\n    }\n\n    function listMonthsShort(format, index) {\n        return listMonthsImpl(format, index, 'monthsShort');\n    }\n\n    function listWeekdays(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n    }\n\n    function listWeekdaysShort(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n    }\n\n    function listWeekdaysMin(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n    }\n\n    getSetGlobalLocale('en', {\n        eras: [\n            {\n                since: '0001-01-01',\n                until: +Infinity,\n                offset: 1,\n                name: 'Anno Domini',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: 'Before Christ',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    toInt((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    // Side effect imports\n\n    hooks.lang = deprecate(\n        'moment.lang is deprecated. Use moment.locale instead.',\n        getSetGlobalLocale\n    );\n    hooks.langData = deprecate(\n        'moment.langData is deprecated. Use moment.localeData instead.',\n        getLocale\n    );\n\n    var mathAbs = Math.abs;\n\n    function abs() {\n        var data = this._data;\n\n        this._milliseconds = mathAbs(this._milliseconds);\n        this._days = mathAbs(this._days);\n        this._months = mathAbs(this._months);\n\n        data.milliseconds = mathAbs(data.milliseconds);\n        data.seconds = mathAbs(data.seconds);\n        data.minutes = mathAbs(data.minutes);\n        data.hours = mathAbs(data.hours);\n        data.months = mathAbs(data.months);\n        data.years = mathAbs(data.years);\n\n        return this;\n    }\n\n    function addSubtract$1(duration, input, value, direction) {\n        var other = createDuration(input, value);\n\n        duration._milliseconds += direction * other._milliseconds;\n        duration._days += direction * other._days;\n        duration._months += direction * other._months;\n\n        return duration._bubble();\n    }\n\n    // supports only 2.0-style add(1, 's') or add(duration)\n    function add$1(input, value) {\n        return addSubtract$1(this, input, value, 1);\n    }\n\n    // supports only 2.0-style subtract(1, 's') or subtract(duration)\n    function subtract$1(input, value) {\n        return addSubtract$1(this, input, value, -1);\n    }\n\n    function absCeil(number) {\n        if (number < 0) {\n            return Math.floor(number);\n        } else {\n            return Math.ceil(number);\n        }\n    }\n\n    function bubble() {\n        var milliseconds = this._milliseconds,\n            days = this._days,\n            months = this._months,\n            data = this._data,\n            seconds,\n            minutes,\n            hours,\n            years,\n            monthsFromDays;\n\n        // if we have a mix of positive and negative values, bubble down first\n        // check: https://github.com/moment/moment/issues/2166\n        if (\n            !(\n                (milliseconds >= 0 && days >= 0 && months >= 0) ||\n                (milliseconds <= 0 && days <= 0 && months <= 0)\n            )\n        ) {\n            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n            days = 0;\n            months = 0;\n        }\n\n        // The following code bubbles up values, see the tests for\n        // examples of what that means.\n        data.milliseconds = milliseconds % 1000;\n\n        seconds = absFloor(milliseconds / 1000);\n        data.seconds = seconds % 60;\n\n        minutes = absFloor(seconds / 60);\n        data.minutes = minutes % 60;\n\n        hours = absFloor(minutes / 60);\n        data.hours = hours % 24;\n\n        days += absFloor(hours / 24);\n\n        // convert days to months\n        monthsFromDays = absFloor(daysToMonths(days));\n        months += monthsFromDays;\n        days -= absCeil(monthsToDays(monthsFromDays));\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        data.days = days;\n        data.months = months;\n        data.years = years;\n\n        return this;\n    }\n\n    function daysToMonths(days) {\n        // 400 years have 146097 days (taking into account leap year rules)\n        // 400 years have 12 months === 4800\n        return (days * 4800) / 146097;\n    }\n\n    function monthsToDays(months) {\n        // the reverse of daysToMonths\n        return (months * 146097) / 4800;\n    }\n\n    function as(units) {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        var days,\n            months,\n            milliseconds = this._milliseconds;\n\n        units = normalizeUnits(units);\n\n        if (units === 'month' || units === 'quarter' || units === 'year') {\n            days = this._days + milliseconds / 864e5;\n            months = this._months + daysToMonths(days);\n            switch (units) {\n                case 'month':\n                    return months;\n                case 'quarter':\n                    return months / 3;\n                case 'year':\n                    return months / 12;\n            }\n        } else {\n            // handle milliseconds separately because of floating point math errors (issue #1867)\n            days = this._days + Math.round(monthsToDays(this._months));\n            switch (units) {\n                case 'week':\n                    return days / 7 + milliseconds / 6048e5;\n                case 'day':\n                    return days + milliseconds / 864e5;\n                case 'hour':\n                    return days * 24 + milliseconds / 36e5;\n                case 'minute':\n                    return days * 1440 + milliseconds / 6e4;\n                case 'second':\n                    return days * 86400 + milliseconds / 1000;\n                // Math.floor prevents floating point math errors here\n                case 'millisecond':\n                    return Math.floor(days * 864e5) + milliseconds;\n                default:\n                    throw new Error('Unknown unit ' + units);\n            }\n        }\n    }\n\n    function makeAs(alias) {\n        return function () {\n            return this.as(alias);\n        };\n    }\n\n    var asMilliseconds = makeAs('ms'),\n        asSeconds = makeAs('s'),\n        asMinutes = makeAs('m'),\n        asHours = makeAs('h'),\n        asDays = makeAs('d'),\n        asWeeks = makeAs('w'),\n        asMonths = makeAs('M'),\n        asQuarters = makeAs('Q'),\n        asYears = makeAs('y'),\n        valueOf$1 = asMilliseconds;\n\n    function clone$1() {\n        return createDuration(this);\n    }\n\n    function get$2(units) {\n        units = normalizeUnits(units);\n        return this.isValid() ? this[units + 's']() : NaN;\n    }\n\n    function makeGetter(name) {\n        return function () {\n            return this.isValid() ? this._data[name] : NaN;\n        };\n    }\n\n    var milliseconds = makeGetter('milliseconds'),\n        seconds = makeGetter('seconds'),\n        minutes = makeGetter('minutes'),\n        hours = makeGetter('hours'),\n        days = makeGetter('days'),\n        months = makeGetter('months'),\n        years = makeGetter('years');\n\n    function weeks() {\n        return absFloor(this.days() / 7);\n    }\n\n    var round = Math.round,\n        thresholds = {\n            ss: 44, // a few seconds to seconds\n            s: 45, // seconds to minute\n            m: 45, // minutes to hour\n            h: 22, // hours to day\n            d: 26, // days to month/week\n            w: null, // weeks to month\n            M: 11, // months to year\n        };\n\n    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n    }\n\n    function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n        var duration = createDuration(posNegDuration).abs(),\n            seconds = round(duration.as('s')),\n            minutes = round(duration.as('m')),\n            hours = round(duration.as('h')),\n            days = round(duration.as('d')),\n            months = round(duration.as('M')),\n            weeks = round(duration.as('w')),\n            years = round(duration.as('y')),\n            a =\n                (seconds <= thresholds.ss && ['s', seconds]) ||\n                (seconds < thresholds.s && ['ss', seconds]) ||\n                (minutes <= 1 && ['m']) ||\n                (minutes < thresholds.m && ['mm', minutes]) ||\n                (hours <= 1 && ['h']) ||\n                (hours < thresholds.h && ['hh', hours]) ||\n                (days <= 1 && ['d']) ||\n                (days < thresholds.d && ['dd', days]);\n\n        if (thresholds.w != null) {\n            a =\n                a ||\n                (weeks <= 1 && ['w']) ||\n                (weeks < thresholds.w && ['ww', weeks]);\n        }\n        a = a ||\n            (months <= 1 && ['M']) ||\n            (months < thresholds.M && ['MM', months]) ||\n            (years <= 1 && ['y']) || ['yy', years];\n\n        a[2] = withoutSuffix;\n        a[3] = +posNegDuration > 0;\n        a[4] = locale;\n        return substituteTimeAgo.apply(null, a);\n    }\n\n    // This function allows you to set the rounding function for relative time strings\n    function getSetRelativeTimeRounding(roundingFunction) {\n        if (roundingFunction === undefined) {\n            return round;\n        }\n        if (typeof roundingFunction === 'function') {\n            round = roundingFunction;\n            return true;\n        }\n        return false;\n    }\n\n    // This function allows you to set a threshold for relative time strings\n    function getSetRelativeTimeThreshold(threshold, limit) {\n        if (thresholds[threshold] === undefined) {\n            return false;\n        }\n        if (limit === undefined) {\n            return thresholds[threshold];\n        }\n        thresholds[threshold] = limit;\n        if (threshold === 's') {\n            thresholds.ss = limit - 1;\n        }\n        return true;\n    }\n\n    function humanize(argWithSuffix, argThresholds) {\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var withSuffix = false,\n            th = thresholds,\n            locale,\n            output;\n\n        if (typeof argWithSuffix === 'object') {\n            argThresholds = argWithSuffix;\n            argWithSuffix = false;\n        }\n        if (typeof argWithSuffix === 'boolean') {\n            withSuffix = argWithSuffix;\n        }\n        if (typeof argThresholds === 'object') {\n            th = Object.assign({}, thresholds, argThresholds);\n            if (argThresholds.s != null && argThresholds.ss == null) {\n                th.ss = argThresholds.s - 1;\n            }\n        }\n\n        locale = this.localeData();\n        output = relativeTime$1(this, !withSuffix, th, locale);\n\n        if (withSuffix) {\n            output = locale.pastFuture(+this, output);\n        }\n\n        return locale.postformat(output);\n    }\n\n    var abs$1 = Math.abs;\n\n    function sign(x) {\n        return (x > 0) - (x < 0) || +x;\n    }\n\n    function toISOString$1() {\n        // for ISO strings we do not use the normal bubbling rules:\n        //  * milliseconds bubble up until they become hours\n        //  * days do not bubble at all\n        //  * months bubble up until they become years\n        // This is because there is no context-free conversion between hours and days\n        // (think of clock changes)\n        // and also not between days and months (28-31 days per month)\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var seconds = abs$1(this._milliseconds) / 1000,\n            days = abs$1(this._days),\n            months = abs$1(this._months),\n            minutes,\n            hours,\n            years,\n            s,\n            total = this.asSeconds(),\n            totalSign,\n            ymSign,\n            daysSign,\n            hmsSign;\n\n        if (!total) {\n            // this is the same as C#'s (Noda) and python (isodate)...\n            // but not other JS (goog.date)\n            return 'P0D';\n        }\n\n        // 3600 seconds -> 60 minutes -> 1 hour\n        minutes = absFloor(seconds / 60);\n        hours = absFloor(minutes / 60);\n        seconds %= 60;\n        minutes %= 60;\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n        s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n        totalSign = total < 0 ? '-' : '';\n        ymSign = sign(this._months) !== sign(total) ? '-' : '';\n        daysSign = sign(this._days) !== sign(total) ? '-' : '';\n        hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n        return (\n            totalSign +\n            'P' +\n            (years ? ymSign + years + 'Y' : '') +\n            (months ? ymSign + months + 'M' : '') +\n            (days ? daysSign + days + 'D' : '') +\n            (hours || minutes || seconds ? 'T' : '') +\n            (hours ? hmsSign + hours + 'H' : '') +\n            (minutes ? hmsSign + minutes + 'M' : '') +\n            (seconds ? hmsSign + s + 'S' : '')\n        );\n    }\n\n    var proto$2 = Duration.prototype;\n\n    proto$2.isValid = isValid$1;\n    proto$2.abs = abs;\n    proto$2.add = add$1;\n    proto$2.subtract = subtract$1;\n    proto$2.as = as;\n    proto$2.asMilliseconds = asMilliseconds;\n    proto$2.asSeconds = asSeconds;\n    proto$2.asMinutes = asMinutes;\n    proto$2.asHours = asHours;\n    proto$2.asDays = asDays;\n    proto$2.asWeeks = asWeeks;\n    proto$2.asMonths = asMonths;\n    proto$2.asQuarters = asQuarters;\n    proto$2.asYears = asYears;\n    proto$2.valueOf = valueOf$1;\n    proto$2._bubble = bubble;\n    proto$2.clone = clone$1;\n    proto$2.get = get$2;\n    proto$2.milliseconds = milliseconds;\n    proto$2.seconds = seconds;\n    proto$2.minutes = minutes;\n    proto$2.hours = hours;\n    proto$2.days = days;\n    proto$2.weeks = weeks;\n    proto$2.months = months;\n    proto$2.years = years;\n    proto$2.humanize = humanize;\n    proto$2.toISOString = toISOString$1;\n    proto$2.toString = toISOString$1;\n    proto$2.toJSON = toISOString$1;\n    proto$2.locale = locale;\n    proto$2.localeData = localeData;\n\n    proto$2.toIsoString = deprecate(\n        'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n        toISOString$1\n    );\n    proto$2.lang = lang;\n\n    // FORMATTING\n\n    addFormatToken('X', 0, 0, 'unix');\n    addFormatToken('x', 0, 0, 'valueOf');\n\n    // PARSING\n\n    addRegexToken('x', matchSigned);\n    addRegexToken('X', matchTimestamp);\n    addParseToken('X', function (input, array, config) {\n        config._d = new Date(parseFloat(input) * 1000);\n    });\n    addParseToken('x', function (input, array, config) {\n        config._d = new Date(toInt(input));\n    });\n\n    //! moment.js\n\n    hooks.version = '2.30.1';\n\n    setHookCallback(createLocal);\n\n    hooks.fn = proto;\n    hooks.min = min;\n    hooks.max = max;\n    hooks.now = now;\n    hooks.utc = createUTC;\n    hooks.unix = createUnix;\n    hooks.months = listMonths;\n    hooks.isDate = isDate;\n    hooks.locale = getSetGlobalLocale;\n    hooks.invalid = createInvalid;\n    hooks.duration = createDuration;\n    hooks.isMoment = isMoment;\n    hooks.weekdays = listWeekdays;\n    hooks.parseZone = createInZone;\n    hooks.localeData = getLocale;\n    hooks.isDuration = isDuration;\n    hooks.monthsShort = listMonthsShort;\n    hooks.weekdaysMin = listWeekdaysMin;\n    hooks.defineLocale = defineLocale;\n    hooks.updateLocale = updateLocale;\n    hooks.locales = listLocales;\n    hooks.weekdaysShort = listWeekdaysShort;\n    hooks.normalizeUnits = normalizeUnits;\n    hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n    hooks.calendarFormat = getCalendarFormat;\n    hooks.prototype = proto;\n\n    // currently HTML5 input type only supports 24-hour formats\n    hooks.HTML5_FMT = {\n        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n        DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n        TIME: 'HH:mm', // <input type=\"time\" />\n        TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n        TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n        WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n        MONTH: 'YYYY-MM', // <input type=\"month\" />\n    };\n\n    return hooks;\n\n})));\n","(function(){\r\n  var crypt = require('crypt'),\r\n      utf8 = require('charenc').utf8,\r\n      isBuffer = require('is-buffer'),\r\n      bin = require('charenc').bin,\r\n\r\n  // The core\r\n  md5 = function (message, options) {\r\n    // Convert to byte array\r\n    if (message.constructor == String)\r\n      if (options && options.encoding === 'binary')\r\n        message = bin.stringToBytes(message);\r\n      else\r\n        message = utf8.stringToBytes(message);\r\n    else if (isBuffer(message))\r\n      message = Array.prototype.slice.call(message, 0);\r\n    else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n      message = message.toString();\r\n    // else, assume byte array already\r\n\r\n    var m = crypt.bytesToWords(message),\r\n        l = message.length * 8,\r\n        a =  1732584193,\r\n        b = -271733879,\r\n        c = -1732584194,\r\n        d =  271733878;\r\n\r\n    // Swap endian\r\n    for (var i = 0; i < m.length; i++) {\r\n      m[i] = ((m[i] <<  8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n             ((m[i] << 24) | (m[i] >>>  8)) & 0xFF00FF00;\r\n    }\r\n\r\n    // Padding\r\n    m[l >>> 5] |= 0x80 << (l % 32);\r\n    m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n    // Method shortcuts\r\n    var FF = md5._ff,\r\n        GG = md5._gg,\r\n        HH = md5._hh,\r\n        II = md5._ii;\r\n\r\n    for (var i = 0; i < m.length; i += 16) {\r\n\r\n      var aa = a,\r\n          bb = b,\r\n          cc = c,\r\n          dd = d;\r\n\r\n      a = FF(a, b, c, d, m[i+ 0],  7, -680876936);\r\n      d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n      c = FF(c, d, a, b, m[i+ 2], 17,  606105819);\r\n      b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n      a = FF(a, b, c, d, m[i+ 4],  7, -176418897);\r\n      d = FF(d, a, b, c, m[i+ 5], 12,  1200080426);\r\n      c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n      b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n      a = FF(a, b, c, d, m[i+ 8],  7,  1770035416);\r\n      d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n      c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n      b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n      a = FF(a, b, c, d, m[i+12],  7,  1804603682);\r\n      d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n      c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n      b = FF(b, c, d, a, m[i+15], 22,  1236535329);\r\n\r\n      a = GG(a, b, c, d, m[i+ 1],  5, -165796510);\r\n      d = GG(d, a, b, c, m[i+ 6],  9, -1069501632);\r\n      c = GG(c, d, a, b, m[i+11], 14,  643717713);\r\n      b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n      a = GG(a, b, c, d, m[i+ 5],  5, -701558691);\r\n      d = GG(d, a, b, c, m[i+10],  9,  38016083);\r\n      c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n      b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n      a = GG(a, b, c, d, m[i+ 9],  5,  568446438);\r\n      d = GG(d, a, b, c, m[i+14],  9, -1019803690);\r\n      c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n      b = GG(b, c, d, a, m[i+ 8], 20,  1163531501);\r\n      a = GG(a, b, c, d, m[i+13],  5, -1444681467);\r\n      d = GG(d, a, b, c, m[i+ 2],  9, -51403784);\r\n      c = GG(c, d, a, b, m[i+ 7], 14,  1735328473);\r\n      b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n      a = HH(a, b, c, d, m[i+ 5],  4, -378558);\r\n      d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n      c = HH(c, d, a, b, m[i+11], 16,  1839030562);\r\n      b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n      a = HH(a, b, c, d, m[i+ 1],  4, -1530992060);\r\n      d = HH(d, a, b, c, m[i+ 4], 11,  1272893353);\r\n      c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n      b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n      a = HH(a, b, c, d, m[i+13],  4,  681279174);\r\n      d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n      c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n      b = HH(b, c, d, a, m[i+ 6], 23,  76029189);\r\n      a = HH(a, b, c, d, m[i+ 9],  4, -640364487);\r\n      d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n      c = HH(c, d, a, b, m[i+15], 16,  530742520);\r\n      b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n      a = II(a, b, c, d, m[i+ 0],  6, -198630844);\r\n      d = II(d, a, b, c, m[i+ 7], 10,  1126891415);\r\n      c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n      b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n      a = II(a, b, c, d, m[i+12],  6,  1700485571);\r\n      d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n      c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n      b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n      a = II(a, b, c, d, m[i+ 8],  6,  1873313359);\r\n      d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n      c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n      b = II(b, c, d, a, m[i+13], 21,  1309151649);\r\n      a = II(a, b, c, d, m[i+ 4],  6, -145523070);\r\n      d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n      c = II(c, d, a, b, m[i+ 2], 15,  718787259);\r\n      b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n      a = (a + aa) >>> 0;\r\n      b = (b + bb) >>> 0;\r\n      c = (c + cc) >>> 0;\r\n      d = (d + dd) >>> 0;\r\n    }\r\n\r\n    return crypt.endian([a, b, c, d]);\r\n  };\r\n\r\n  // Auxiliary functions\r\n  md5._ff  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._gg  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._hh  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._ii  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n\r\n  // Package private blocksize\r\n  md5._blocksize = 16;\r\n  md5._digestsize = 16;\r\n\r\n  module.exports = function (message, options) {\r\n    if (message === undefined || message === null)\r\n      throw new Error('Illegal argument ' + message);\r\n\r\n    var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n    return options && options.asBytes ? digestbytes :\r\n        options && options.asString ? bin.bytesToString(digestbytes) :\r\n        crypt.bytesToHex(digestbytes);\r\n  };\r\n\r\n})();\r\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var af = moment.defineLocale('af', {\n        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n        meridiemParse: /vm|nm/i,\n        isPM: function (input) {\n            return /^nm$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'vm' : 'VM';\n            } else {\n                return isLower ? 'nm' : 'NM';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Vandag om] LT',\n            nextDay: '[Môre om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[Gister om] LT',\n            lastWeek: '[Laas] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oor %s',\n            past: '%s gelede',\n            s: \"'n paar sekondes\",\n            ss: '%d sekondes',\n            m: \"'n minuut\",\n            mm: '%d minute',\n            h: \"'n uur\",\n            hh: '%d ure',\n            d: \"'n dag\",\n            dd: '%d dae',\n            M: \"'n maand\",\n            MM: '%d maande',\n            y: \"'n jaar\",\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            ); // Thanks to Joris Röling : https://github.com/jjupiter\n        },\n        week: {\n            dow: 1, // Maandag is die eerste dag van die week.\n            doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n        },\n    });\n\n    return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'جانفي',\n            'فيفري',\n            'مارس',\n            'أفريل',\n            'ماي',\n            'جوان',\n            'جويلية',\n            'أوت',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arDz = moment.defineLocale('ar-dz', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arKw = moment.defineLocale('ar-kw', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '1',\n            2: '2',\n            3: '3',\n            4: '4',\n            5: '5',\n            6: '6',\n            7: '7',\n            8: '8',\n            9: '9',\n            0: '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arLy = moment.defineLocale('ar-ly', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arMa = moment.defineLocale('ar-ma', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arSa = moment.defineLocale('ar-sa', {\n        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale  :  Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arTn = moment.defineLocale('ar-tn', {\n        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var ar = moment.defineLocale('ar', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: '-inci',\n        5: '-inci',\n        8: '-inci',\n        70: '-inci',\n        80: '-inci',\n        2: '-nci',\n        7: '-nci',\n        20: '-nci',\n        50: '-nci',\n        3: '-üncü',\n        4: '-üncü',\n        100: '-üncü',\n        6: '-ncı',\n        9: '-uncu',\n        10: '-uncu',\n        30: '-uncu',\n        60: '-ıncı',\n        90: '-ıncı',\n    };\n\n    var az = moment.defineLocale('az', {\n        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n        weekdays:\n            'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n                '_'\n            ),\n        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[sabah saat] LT',\n            nextWeek: '[gələn həftə] dddd [saat] LT',\n            lastDay: '[dünən] LT',\n            lastWeek: '[keçən həftə] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s əvvəl',\n            s: 'bir neçə saniyə',\n            ss: '%d saniyə',\n            m: 'bir dəqiqə',\n            mm: '%d dəqiqə',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir il',\n            yy: '%d il',\n        },\n        meridiemParse: /gecə|səhər|gündüz|axşam/,\n        isPM: function (input) {\n            return /^(gündüz|axşam)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'gecə';\n            } else if (hour < 12) {\n                return 'səhər';\n            } else if (hour < 17) {\n                return 'gündüz';\n            } else {\n                return 'axşam';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n        ordinal: function (number) {\n            if (number === 0) {\n                // special case for zero\n                return number + '-ıncı';\n            }\n            var a = number % 10,\n                b = (number % 100) - a,\n                c = number >= 100 ? 100 : null;\n            return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n            hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n            dd: 'дзень_дні_дзён',\n            MM: 'месяц_месяцы_месяцаў',\n            yy: 'год_гады_гадоў',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвіліна' : 'хвіліну';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'гадзіна' : 'гадзіну';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n\n    var be = moment.defineLocale('be', {\n        months: {\n            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n                '_'\n            ),\n            standalone:\n                'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n        weekdays: {\n            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n                '_'\n            ),\n            standalone:\n                'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n                    '_'\n                ),\n            isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n        },\n        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n        },\n        calendar: {\n            sameDay: '[Сёння ў] LT',\n            nextDay: '[Заўтра ў] LT',\n            lastDay: '[Учора ў] LT',\n            nextWeek: function () {\n                return '[У] dddd [ў] LT';\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return '[У мінулую] dddd [ў] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                        return '[У мінулы] dddd [ў] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'праз %s',\n            past: '%s таму',\n            s: 'некалькі секунд',\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithPlural,\n            hh: relativeTimeWithPlural,\n            d: 'дзень',\n            dd: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночы|раніцы|дня|вечара/,\n        isPM: function (input) {\n            return /^(дня|вечара)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночы';\n            } else if (hour < 12) {\n                return 'раніцы';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечара';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return (number % 10 === 2 || number % 10 === 3) &&\n                        number % 100 !== 12 &&\n                        number % 100 !== 13\n                        ? number + '-і'\n                        : number + '-ы';\n                case 'D':\n                    return number + '-га';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bg = moment.defineLocale('bg', {\n        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Днес в] LT',\n            nextDay: '[Утре в] LT',\n            nextWeek: 'dddd [в] LT',\n            lastDay: '[Вчера в] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Миналата] dddd [в] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Миналия] dddd [в] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'след %s',\n            past: 'преди %s',\n            s: 'няколко секунди',\n            ss: '%d секунди',\n            m: 'минута',\n            mm: '%d минути',\n            h: 'час',\n            hh: '%d часа',\n            d: 'ден',\n            dd: '%d дена',\n            w: 'седмица',\n            ww: '%d седмици',\n            M: 'месец',\n            MM: '%d месеца',\n            y: 'година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bm = moment.defineLocale('bm', {\n        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n            '_'\n        ),\n        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'MMMM [tile] D [san] YYYY',\n            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bi lɛrɛ] LT',\n            nextDay: '[Sini lɛrɛ] LT',\n            nextWeek: 'dddd [don lɛrɛ] LT',\n            lastDay: '[Kunu lɛrɛ] LT',\n            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s kɔnɔ',\n            past: 'a bɛ %s bɔ',\n            s: 'sanga dama dama',\n            ss: 'sekondi %d',\n            m: 'miniti kelen',\n            mm: 'miniti %d',\n            h: 'lɛrɛ kelen',\n            hh: 'lɛrɛ %d',\n            d: 'tile kelen',\n            dd: 'tile %d',\n            M: 'kalo kelen',\n            MM: 'kalo %d',\n            y: 'san kelen',\n            yy: 'san %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bnBd = moment.defineLocale('bn-bd', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n\n        meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'রাত') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ভোর') {\n                return hour;\n            } else if (meridiem === 'সকাল') {\n                return hour;\n            } else if (meridiem === 'দুপুর') {\n                return hour >= 3 ? hour : hour + 12;\n            } else if (meridiem === 'বিকাল') {\n                return hour + 12;\n            } else if (meridiem === 'সন্ধ্যা') {\n                return hour + 12;\n            }\n        },\n\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 6) {\n                return 'ভোর';\n            } else if (hour < 12) {\n                return 'সকাল';\n            } else if (hour < 15) {\n                return 'দুপুর';\n            } else if (hour < 18) {\n                return 'বিকাল';\n            } else if (hour < 20) {\n                return 'সন্ধ্যা';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bn = moment.defineLocale('bn', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'রাত' && hour >= 4) ||\n                (meridiem === 'দুপুর' && hour < 5) ||\n                meridiem === 'বিকাল'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 10) {\n                return 'সকাল';\n            } else if (hour < 17) {\n                return 'দুপুর';\n            } else if (hour < 20) {\n                return 'বিকাল';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '༡',\n            2: '༢',\n            3: '༣',\n            4: '༤',\n            5: '༥',\n            6: '༦',\n            7: '༧',\n            8: '༨',\n            9: '༩',\n            0: '༠',\n        },\n        numberMap = {\n            '༡': '1',\n            '༢': '2',\n            '༣': '3',\n            '༤': '4',\n            '༥': '5',\n            '༦': '6',\n            '༧': '7',\n            '༨': '8',\n            '༩': '9',\n            '༠': '0',\n        };\n\n    var bo = moment.defineLocale('bo', {\n        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n                '_'\n            ),\n        monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n        monthsParseExact: true,\n        weekdays:\n            'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n                '_'\n            ),\n        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n            '_'\n        ),\n        weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[དི་རིང] LT',\n            nextDay: '[སང་ཉིན] LT',\n            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n            lastDay: '[ཁ་སང] LT',\n            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ལ་',\n            past: '%s སྔན་ལ',\n            s: 'ལམ་སང',\n            ss: '%d སྐར་ཆ།',\n            m: 'སྐར་མ་གཅིག',\n            mm: '%d སྐར་མ',\n            h: 'ཆུ་ཚོད་གཅིག',\n            hh: '%d ཆུ་ཚོད',\n            d: 'ཉིན་གཅིག',\n            dd: '%d ཉིན་',\n            M: 'ཟླ་བ་གཅིག',\n            MM: '%d ཟླ་བ',\n            y: 'ལོ་གཅིག',\n            yy: '%d ལོ',\n        },\n        preparse: function (string) {\n            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'མཚན་མོ' && hour >= 4) ||\n                (meridiem === 'ཉིན་གུང' && hour < 5) ||\n                meridiem === 'དགོང་དག'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'མཚན་མོ';\n            } else if (hour < 10) {\n                return 'ཞོགས་ཀས';\n            } else if (hour < 17) {\n                return 'ཉིན་གུང';\n            } else if (hour < 20) {\n                return 'དགོང་དག';\n            } else {\n                return 'མཚན་མོ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithMutation(number, withoutSuffix, key) {\n        var format = {\n            mm: 'munutenn',\n            MM: 'miz',\n            dd: 'devezh',\n        };\n        return number + ' ' + mutation(format[key], number);\n    }\n    function specialMutationForYears(number) {\n        switch (lastNumber(number)) {\n            case 1:\n            case 3:\n            case 4:\n            case 5:\n            case 9:\n                return number + ' bloaz';\n            default:\n                return number + ' vloaz';\n        }\n    }\n    function lastNumber(number) {\n        if (number > 9) {\n            return lastNumber(number % 10);\n        }\n        return number;\n    }\n    function mutation(text, number) {\n        if (number === 2) {\n            return softMutation(text);\n        }\n        return text;\n    }\n    function softMutation(text) {\n        var mutationTable = {\n            m: 'v',\n            b: 'v',\n            d: 'z',\n        };\n        if (mutationTable[text.charAt(0)] === undefined) {\n            return text;\n        }\n        return mutationTable[text.charAt(0)] + text.substring(1);\n    }\n\n    var monthsParse = [\n            /^gen/i,\n            /^c[ʼ\\']hwe/i,\n            /^meu/i,\n            /^ebr/i,\n            /^mae/i,\n            /^(mez|eve)/i,\n            /^gou/i,\n            /^eos/i,\n            /^gwe/i,\n            /^her/i,\n            /^du/i,\n            /^ker/i,\n        ],\n        monthsRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        monthsStrictRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n        monthsShortStrictRegex =\n            /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        fullWeekdaysParse = [\n            /^sul/i,\n            /^lun/i,\n            /^meurzh/i,\n            /^merc[ʼ\\']her/i,\n            /^yaou/i,\n            /^gwener/i,\n            /^sadorn/i,\n        ],\n        shortWeekdaysParse = [\n            /^Sul/i,\n            /^Lun/i,\n            /^Meu/i,\n            /^Mer/i,\n            /^Yao/i,\n            /^Gwe/i,\n            /^Sad/i,\n        ],\n        minWeekdaysParse = [\n            /^Su/i,\n            /^Lu/i,\n            /^Me([^r]|$)/i,\n            /^Mer/i,\n            /^Ya/i,\n            /^Gw/i,\n            /^Sa/i,\n        ];\n\n    var br = moment.defineLocale('br', {\n        months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n            '_'\n        ),\n        monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n        weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n        weekdaysParse: minWeekdaysParse,\n        fullWeekdaysParse: fullWeekdaysParse,\n        shortWeekdaysParse: shortWeekdaysParse,\n        minWeekdaysParse: minWeekdaysParse,\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [a viz] MMMM YYYY',\n            LLL: 'D [a viz] MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hiziv da] LT',\n            nextDay: '[Warcʼhoazh da] LT',\n            nextWeek: 'dddd [da] LT',\n            lastDay: '[Decʼh da] LT',\n            lastWeek: 'dddd [paset da] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'a-benn %s',\n            past: '%s ʼzo',\n            s: 'un nebeud segondennoù',\n            ss: '%d eilenn',\n            m: 'ur vunutenn',\n            mm: relativeTimeWithMutation,\n            h: 'un eur',\n            hh: '%d eur',\n            d: 'un devezh',\n            dd: relativeTimeWithMutation,\n            M: 'ur miz',\n            MM: relativeTimeWithMutation,\n            y: 'ur bloaz',\n            yy: specialMutationForYears,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'añ' : 'vet';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n        isPM: function (token) {\n            return token === 'g.m.';\n        },\n        meridiem: function (hour, minute, isLower) {\n            return hour < 12 ? 'a.m.' : 'g.m.';\n        },\n    });\n\n    return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var bs = moment.defineLocale('bs', {\n        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ca = moment.defineLocale('ca', {\n        months: {\n            standalone:\n                'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n                    '_'\n                ),\n            format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n                '_'\n            ),\n        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a les] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextDay: function () {\n                return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastDay: function () {\n                return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [passat a ' +\n                    (this.hours() !== 1 ? 'les' : 'la') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'uns segons',\n            ss: '%d segons',\n            m: 'un minut',\n            mm: '%d minuts',\n            h: 'una hora',\n            hh: '%d hores',\n            d: 'un dia',\n            dd: '%d dies',\n            M: 'un mes',\n            MM: '%d mesos',\n            y: 'un any',\n            yy: '%d anys',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                    ? 'n'\n                    : number === 3\n                    ? 'r'\n                    : number === 4\n                    ? 't'\n                    : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = {\n            format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n                '_'\n            ),\n            standalone:\n                'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n                    '_'\n                ),\n        },\n        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n        monthsParse = [\n            /^led/i,\n            /^úno/i,\n            /^bře/i,\n            /^dub/i,\n            /^kvě/i,\n            /^(čvn|červen$|června)/i,\n            /^(čvc|červenec|července)/i,\n            /^srp/i,\n            /^zář/i,\n            /^říj/i,\n            /^lis/i,\n            /^pro/i,\n        ],\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsRegex =\n            /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n    function plural(n) {\n        return n > 1 && n < 5 && ~~(n / 10) !== 1;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekund');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minuty' : 'minut');\n                } else {\n                    return result + 'minutami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodin');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'den' : 'dnem';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dny' : 'dní');\n                } else {\n                    return result + 'dny';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'měsíce' : 'měsíců');\n                } else {\n                    return result + 'měsíci';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokem';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'let');\n                } else {\n                    return result + 'lety';\n                }\n        }\n    }\n\n    var cs = moment.defineLocale('cs', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsStrictRegex:\n            /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n        monthsShortStrictRegex:\n            /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n            l: 'D. M. YYYY',\n        },\n        calendar: {\n            sameDay: '[dnes v] LT',\n            nextDay: '[zítra v] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [v] LT';\n                    case 3:\n                        return '[ve středu v] LT';\n                    case 4:\n                        return '[ve čtvrtek v] LT';\n                    case 5:\n                        return '[v pátek v] LT';\n                    case 6:\n                        return '[v sobotu v] LT';\n                }\n            },\n            lastDay: '[včera v] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulou neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[minulé] dddd [v] LT';\n                    case 3:\n                        return '[minulou středu v] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [v] LT';\n                    case 6:\n                        return '[minulou sobotu v] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'před %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cv = moment.defineLocale('cv', {\n        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n            '_'\n        ),\n        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n        weekdays:\n            'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n                '_'\n            ),\n        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n        },\n        calendar: {\n            sameDay: '[Паян] LT [сехетре]',\n            nextDay: '[Ыран] LT [сехетре]',\n            lastDay: '[Ӗнер] LT [сехетре]',\n            nextWeek: '[Ҫитес] dddd LT [сехетре]',\n            lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (output) {\n                var affix = /сехет$/i.exec(output)\n                    ? 'рен'\n                    : /ҫул$/i.exec(output)\n                    ? 'тан'\n                    : 'ран';\n                return output + affix;\n            },\n            past: '%s каялла',\n            s: 'пӗр-ик ҫеккунт',\n            ss: '%d ҫеккунт',\n            m: 'пӗр минут',\n            mm: '%d минут',\n            h: 'пӗр сехет',\n            hh: '%d сехет',\n            d: 'пӗр кун',\n            dd: '%d кун',\n            M: 'пӗр уйӑх',\n            MM: '%d уйӑх',\n            y: 'пӗр ҫул',\n            yy: '%d ҫул',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n        ordinal: '%d-мӗш',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cy = moment.defineLocale('cy', {\n        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n            '_'\n        ),\n        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n            '_'\n        ),\n        weekdays:\n            'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n        weekdaysParseExact: true,\n        // time formats are the same as en-gb\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Heddiw am] LT',\n            nextDay: '[Yfory am] LT',\n            nextWeek: 'dddd [am] LT',\n            lastDay: '[Ddoe am] LT',\n            lastWeek: 'dddd [diwethaf am] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'mewn %s',\n            past: '%s yn ôl',\n            s: 'ychydig eiliadau',\n            ss: '%d eiliad',\n            m: 'munud',\n            mm: '%d munud',\n            h: 'awr',\n            hh: '%d awr',\n            d: 'diwrnod',\n            dd: '%d diwrnod',\n            M: 'mis',\n            MM: '%d mis',\n            y: 'blwyddyn',\n            yy: '%d flynedd',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n        ordinal: function (number) {\n            var b = number,\n                output = '',\n                lookup = [\n                    '',\n                    'af',\n                    'il',\n                    'ydd',\n                    'ydd',\n                    'ed',\n                    'ed',\n                    'ed',\n                    'fed',\n                    'fed',\n                    'fed', // 1af to 10fed\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'fed', // 11eg to 20fed\n                ];\n            if (b > 20) {\n                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n                    output = 'fed'; // not 30ain, 70ain or 90ain\n                } else {\n                    output = 'ain';\n                }\n            } else if (b > 0) {\n                output = lookup[b];\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var da = moment.defineLocale('da', {\n        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'på dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[i] dddd[s kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'få sekunder',\n            ss: '%d sekunder',\n            m: 'et minut',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dage',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'et år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deAt = moment.defineLocale('de-at', {\n        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deCh = moment.defineLocale('de-ch', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var de = moment.defineLocale('de', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'ޖެނުއަރީ',\n            'ފެބްރުއަރީ',\n            'މާރިޗު',\n            'އޭޕްރީލު',\n            'މޭ',\n            'ޖޫން',\n            'ޖުލައި',\n            'އޯގަސްޓު',\n            'ސެޕްޓެމްބަރު',\n            'އޮކްޓޯބަރު',\n            'ނޮވެމްބަރު',\n            'ޑިސެމްބަރު',\n        ],\n        weekdays = [\n            'އާދިއްތަ',\n            'ހޯމަ',\n            'އަންގާރަ',\n            'ބުދަ',\n            'ބުރާސްފަތި',\n            'ހުކުރު',\n            'ހޮނިހިރު',\n        ];\n\n    var dv = moment.defineLocale('dv', {\n        months: months,\n        monthsShort: months,\n        weekdays: weekdays,\n        weekdaysShort: weekdays,\n        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/M/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /މކ|މފ/,\n        isPM: function (input) {\n            return 'މފ' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'މކ';\n            } else {\n                return 'މފ';\n            }\n        },\n        calendar: {\n            sameDay: '[މިއަދު] LT',\n            nextDay: '[މާދަމާ] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[އިއްޔެ] LT',\n            lastWeek: '[ފާއިތުވި] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ތެރޭގައި %s',\n            past: 'ކުރިން %s',\n            s: 'ސިކުންތުކޮޅެއް',\n            ss: 'd% ސިކުންތު',\n            m: 'މިނިޓެއް',\n            mm: 'މިނިޓު %d',\n            h: 'ގަޑިއިރެއް',\n            hh: 'ގަޑިއިރު %d',\n            d: 'ދުވަހެއް',\n            dd: 'ދުވަސް %d',\n            M: 'މަހެއް',\n            MM: 'މަސް %d',\n            y: 'އަހަރެއް',\n            yy: 'އަހަރު %d',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 7, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    var el = moment.defineLocale('el', {\n        monthsNominativeEl:\n            'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n                '_'\n            ),\n        monthsGenitiveEl:\n            'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n                '_'\n            ),\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return this._monthsNominativeEl;\n            } else if (\n                typeof format === 'string' &&\n                /D/.test(format.substring(0, format.indexOf('MMMM')))\n            ) {\n                // if there is a day number before 'MMMM'\n                return this._monthsGenitiveEl[momentToFormat.month()];\n            } else {\n                return this._monthsNominativeEl[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n            '_'\n        ),\n        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'μμ' : 'ΜΜ';\n            } else {\n                return isLower ? 'πμ' : 'ΠΜ';\n            }\n        },\n        isPM: function (input) {\n            return (input + '').toLowerCase()[0] === 'μ';\n        },\n        meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendarEl: {\n            sameDay: '[Σήμερα {}] LT',\n            nextDay: '[Αύριο {}] LT',\n            nextWeek: 'dddd [{}] LT',\n            lastDay: '[Χθες {}] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 6:\n                        return '[το προηγούμενο] dddd [{}] LT';\n                    default:\n                        return '[την προηγούμενη] dddd [{}] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        calendar: function (key, mom) {\n            var output = this._calendarEl[key],\n                hours = mom && mom.hours();\n            if (isFunction(output)) {\n                output = output.apply(mom);\n            }\n            return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n        },\n        relativeTime: {\n            future: 'σε %s',\n            past: '%s πριν',\n            s: 'λίγα δευτερόλεπτα',\n            ss: '%d δευτερόλεπτα',\n            m: 'ένα λεπτό',\n            mm: '%d λεπτά',\n            h: 'μία ώρα',\n            hh: '%d ώρες',\n            d: 'μία μέρα',\n            dd: '%d μέρες',\n            M: 'ένας μήνας',\n            MM: '%d μήνες',\n            y: 'ένας χρόνος',\n            yy: '%d χρόνια',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}η/,\n        ordinal: '%dη',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4st is the first week of the year.\n        },\n    });\n\n    return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enAu = moment.defineLocale('en-au', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enCa = moment.defineLocale('en-ca', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'YYYY-MM-DD',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY h:mm A',\n            LLLL: 'dddd, MMMM D, YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enGb = moment.defineLocale('en-gb', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIe = moment.defineLocale('en-ie', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIl = moment.defineLocale('en-il', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIn = moment.defineLocale('en-in', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enNz = moment.defineLocale('en-nz', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enSg = moment.defineLocale('en-sg', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eo = moment.defineLocale('eo', {\n        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: '[la] D[-an de] MMMM, YYYY',\n            LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n            LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n            llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n        },\n        meridiemParse: /[ap]\\.t\\.m/i,\n        isPM: function (input) {\n            return input.charAt(0).toLowerCase() === 'p';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'p.t.m.' : 'P.T.M.';\n            } else {\n                return isLower ? 'a.t.m.' : 'A.T.M.';\n            }\n        },\n        calendar: {\n            sameDay: '[Hodiaŭ je] LT',\n            nextDay: '[Morgaŭ je] LT',\n            nextWeek: 'dddd[n je] LT',\n            lastDay: '[Hieraŭ je] LT',\n            lastWeek: '[pasintan] dddd[n je] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'post %s',\n            past: 'antaŭ %s',\n            s: 'kelkaj sekundoj',\n            ss: '%d sekundoj',\n            m: 'unu minuto',\n            mm: '%d minutoj',\n            h: 'unu horo',\n            hh: '%d horoj',\n            d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n            dd: '%d tagoj',\n            M: 'unu monato',\n            MM: '%d monatoj',\n            y: 'unu jaro',\n            yy: '%d jaroj',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}a/,\n        ordinal: '%da',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esDo = moment.defineLocale('es-do', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esMx = moment.defineLocale('es-mx', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esUs = moment.defineLocale('es-us', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'MM/DD/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var es = moment.defineLocale('es', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n            ss: [number + 'sekundi', number + 'sekundit'],\n            m: ['ühe minuti', 'üks minut'],\n            mm: [number + ' minuti', number + ' minutit'],\n            h: ['ühe tunni', 'tund aega', 'üks tund'],\n            hh: [number + ' tunni', number + ' tundi'],\n            d: ['ühe päeva', 'üks päev'],\n            M: ['kuu aja', 'kuu aega', 'üks kuu'],\n            MM: [number + ' kuu', number + ' kuud'],\n            y: ['ühe aasta', 'aasta', 'üks aasta'],\n            yy: [number + ' aasta', number + ' aastat'],\n        };\n        if (withoutSuffix) {\n            return format[key][2] ? format[key][2] : format[key][1];\n        }\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var et = moment.defineLocale('et', {\n        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n        weekdays:\n            'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n                '_'\n            ),\n        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Täna,] LT',\n            nextDay: '[Homme,] LT',\n            nextWeek: '[Järgmine] dddd LT',\n            lastDay: '[Eile,] LT',\n            lastWeek: '[Eelmine] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s pärast',\n            past: '%s tagasi',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: '%d päeva',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eu = moment.defineLocale('eu', {\n        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n            '_'\n        ),\n        monthsShort:\n            'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n                '_'\n            ),\n        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY[ko] MMMM[ren] D[a]',\n            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n            l: 'YYYY-M-D',\n            ll: 'YYYY[ko] MMM D[a]',\n            lll: 'YYYY[ko] MMM D[a] HH:mm',\n            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n        },\n        calendar: {\n            sameDay: '[gaur] LT[etan]',\n            nextDay: '[bihar] LT[etan]',\n            nextWeek: 'dddd LT[etan]',\n            lastDay: '[atzo] LT[etan]',\n            lastWeek: '[aurreko] dddd LT[etan]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s barru',\n            past: 'duela %s',\n            s: 'segundo batzuk',\n            ss: '%d segundo',\n            m: 'minutu bat',\n            mm: '%d minutu',\n            h: 'ordu bat',\n            hh: '%d ordu',\n            d: 'egun bat',\n            dd: '%d egun',\n            M: 'hilabete bat',\n            MM: '%d hilabete',\n            y: 'urte bat',\n            yy: '%d urte',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '۱',\n            2: '۲',\n            3: '۳',\n            4: '۴',\n            5: '۵',\n            6: '۶',\n            7: '۷',\n            8: '۸',\n            9: '۹',\n            0: '۰',\n        },\n        numberMap = {\n            '۱': '1',\n            '۲': '2',\n            '۳': '3',\n            '۴': '4',\n            '۵': '5',\n            '۶': '6',\n            '۷': '7',\n            '۸': '8',\n            '۹': '9',\n            '۰': '0',\n        };\n\n    var fa = moment.defineLocale('fa', {\n        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n                '_'\n            ),\n        weekdays:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /قبل از ظهر|بعد از ظهر/,\n        isPM: function (input) {\n            return /بعد از ظهر/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'قبل از ظهر';\n            } else {\n                return 'بعد از ظهر';\n            }\n        },\n        calendar: {\n            sameDay: '[امروز ساعت] LT',\n            nextDay: '[فردا ساعت] LT',\n            nextWeek: 'dddd [ساعت] LT',\n            lastDay: '[دیروز ساعت] LT',\n            lastWeek: 'dddd [پیش] [ساعت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'در %s',\n            past: '%s پیش',\n            s: 'چند ثانیه',\n            ss: '%d ثانیه',\n            m: 'یک دقیقه',\n            mm: '%d دقیقه',\n            h: 'یک ساعت',\n            hh: '%d ساعت',\n            d: 'یک روز',\n            dd: '%d روز',\n            M: 'یک ماه',\n            MM: '%d ماه',\n            y: 'یک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[۰-۹]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}م/,\n        ordinal: '%dم',\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersPast =\n            'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n                ' '\n            ),\n        numbersFuture = [\n            'nolla',\n            'yhden',\n            'kahden',\n            'kolmen',\n            'neljän',\n            'viiden',\n            'kuuden',\n            numbersPast[7],\n            numbersPast[8],\n            numbersPast[9],\n        ];\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = '';\n        switch (key) {\n            case 's':\n                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n            case 'ss':\n                result = isFuture ? 'sekunnin' : 'sekuntia';\n                break;\n            case 'm':\n                return isFuture ? 'minuutin' : 'minuutti';\n            case 'mm':\n                result = isFuture ? 'minuutin' : 'minuuttia';\n                break;\n            case 'h':\n                return isFuture ? 'tunnin' : 'tunti';\n            case 'hh':\n                result = isFuture ? 'tunnin' : 'tuntia';\n                break;\n            case 'd':\n                return isFuture ? 'päivän' : 'päivä';\n            case 'dd':\n                result = isFuture ? 'päivän' : 'päivää';\n                break;\n            case 'M':\n                return isFuture ? 'kuukauden' : 'kuukausi';\n            case 'MM':\n                result = isFuture ? 'kuukauden' : 'kuukautta';\n                break;\n            case 'y':\n                return isFuture ? 'vuoden' : 'vuosi';\n            case 'yy':\n                result = isFuture ? 'vuoden' : 'vuotta';\n                break;\n        }\n        result = verbalNumber(number, isFuture) + ' ' + result;\n        return result;\n    }\n    function verbalNumber(number, isFuture) {\n        return number < 10\n            ? isFuture\n                ? numbersFuture[number]\n                : numbersPast[number]\n            : number;\n    }\n\n    var fi = moment.defineLocale('fi', {\n        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n            '_'\n        ),\n        monthsShort:\n            'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n                '_'\n            ),\n        weekdays:\n            'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n                '_'\n            ),\n        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[ta] YYYY',\n            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n            l: 'D.M.YYYY',\n            ll: 'Do MMM YYYY',\n            lll: 'Do MMM YYYY, [klo] HH.mm',\n            llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n        },\n        calendar: {\n            sameDay: '[tänään] [klo] LT',\n            nextDay: '[huomenna] [klo] LT',\n            nextWeek: 'dddd [klo] LT',\n            lastDay: '[eilen] [klo] LT',\n            lastWeek: '[viime] dddd[na] [klo] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s päästä',\n            past: '%s sitten',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fil = moment.defineLocale('fil', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fo = moment.defineLocale('fo', {\n        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D. MMMM, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Í dag kl.] LT',\n            nextDay: '[Í morgin kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[Í gjár kl.] LT',\n            lastWeek: '[síðstu] dddd [kl] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'um %s',\n            past: '%s síðani',\n            s: 'fá sekund',\n            ss: '%d sekundir',\n            m: 'ein minuttur',\n            mm: '%d minuttir',\n            h: 'ein tími',\n            hh: '%d tímar',\n            d: 'ein dagur',\n            dd: '%d dagar',\n            M: 'ein mánaður',\n            MM: '%d mánaðir',\n            y: 'eitt ár',\n            yy: '%d ár',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCa = moment.defineLocale('fr-ca', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n    });\n\n    return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCh = moment.defineLocale('fr-ch', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsStrictRegex =\n            /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsShortStrictRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n        monthsRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsParse = [\n            /^janv/i,\n            /^févr/i,\n            /^mars/i,\n            /^avr/i,\n            /^mai/i,\n            /^juin/i,\n            /^juil/i,\n            /^août/i,\n            /^sept/i,\n            /^oct/i,\n            /^nov/i,\n            /^déc/i,\n        ];\n\n    var fr = moment.defineLocale('fr', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            w: 'une semaine',\n            ww: '%d semaines',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // TODO: Return 'e' when day of month > 1. Move this case inside\n                // block for masculine words below.\n                // See https://github.com/moment/moment/issues/3375\n                case 'D':\n                    return number + (number === 1 ? 'er' : '');\n\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n    var fy = moment.defineLocale('fy', {\n        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n        monthsParseExact: true,\n        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n            '_'\n        ),\n        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[hjoed om] LT',\n            nextDay: '[moarn om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[juster om] LT',\n            lastWeek: '[ôfrûne] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oer %s',\n            past: '%s lyn',\n            s: 'in pear sekonden',\n            ss: '%d sekonden',\n            m: 'ien minút',\n            mm: '%d minuten',\n            h: 'ien oere',\n            hh: '%d oeren',\n            d: 'ien dei',\n            dd: '%d dagen',\n            M: 'ien moanne',\n            MM: '%d moannen',\n            y: 'ien jier',\n            yy: '%d jierren',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Eanáir',\n            'Feabhra',\n            'Márta',\n            'Aibreán',\n            'Bealtaine',\n            'Meitheamh',\n            'Iúil',\n            'Lúnasa',\n            'Meán Fómhair',\n            'Deireadh Fómhair',\n            'Samhain',\n            'Nollaig',\n        ],\n        monthsShort = [\n            'Ean',\n            'Feabh',\n            'Márt',\n            'Aib',\n            'Beal',\n            'Meith',\n            'Iúil',\n            'Lún',\n            'M.F.',\n            'D.F.',\n            'Samh',\n            'Noll',\n        ],\n        weekdays = [\n            'Dé Domhnaigh',\n            'Dé Luain',\n            'Dé Máirt',\n            'Dé Céadaoin',\n            'Déardaoin',\n            'Dé hAoine',\n            'Dé Sathairn',\n        ],\n        weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n        weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n    var ga = moment.defineLocale('ga', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Inniu ag] LT',\n            nextDay: '[Amárach ag] LT',\n            nextWeek: 'dddd [ag] LT',\n            lastDay: '[Inné ag] LT',\n            lastWeek: 'dddd [seo caite] [ag] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i %s',\n            past: '%s ó shin',\n            s: 'cúpla soicind',\n            ss: '%d soicind',\n            m: 'nóiméad',\n            mm: '%d nóiméad',\n            h: 'uair an chloig',\n            hh: '%d uair an chloig',\n            d: 'lá',\n            dd: '%d lá',\n            M: 'mí',\n            MM: '%d míonna',\n            y: 'bliain',\n            yy: '%d bliain',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Am Faoilleach',\n            'An Gearran',\n            'Am Màrt',\n            'An Giblean',\n            'An Cèitean',\n            'An t-Ògmhios',\n            'An t-Iuchar',\n            'An Lùnastal',\n            'An t-Sultain',\n            'An Dàmhair',\n            'An t-Samhain',\n            'An Dùbhlachd',\n        ],\n        monthsShort = [\n            'Faoi',\n            'Gear',\n            'Màrt',\n            'Gibl',\n            'Cèit',\n            'Ògmh',\n            'Iuch',\n            'Lùn',\n            'Sult',\n            'Dàmh',\n            'Samh',\n            'Dùbh',\n        ],\n        weekdays = [\n            'Didòmhnaich',\n            'Diluain',\n            'Dimàirt',\n            'Diciadain',\n            'Diardaoin',\n            'Dihaoine',\n            'Disathairne',\n        ],\n        weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n        weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n    var gd = moment.defineLocale('gd', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[An-diugh aig] LT',\n            nextDay: '[A-màireach aig] LT',\n            nextWeek: 'dddd [aig] LT',\n            lastDay: '[An-dè aig] LT',\n            lastWeek: 'dddd [seo chaidh] [aig] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ann an %s',\n            past: 'bho chionn %s',\n            s: 'beagan diogan',\n            ss: '%d diogan',\n            m: 'mionaid',\n            mm: '%d mionaidean',\n            h: 'uair',\n            hh: '%d uairean',\n            d: 'latha',\n            dd: '%d latha',\n            M: 'mìos',\n            MM: '%d mìosan',\n            y: 'bliadhna',\n            yy: '%d bliadhna',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var gl = moment.defineLocale('gl', {\n        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort:\n            'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n            },\n            lastDay: function () {\n                return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (str) {\n                if (str.indexOf('un') === 0) {\n                    return 'n' + str;\n                }\n                return 'en ' + str;\n            },\n            past: 'hai %s',\n            s: 'uns segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'unha hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n            ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n            m: ['एका मिणटान', 'एक मिनूट'],\n            mm: [number + ' मिणटांनी', number + ' मिणटां'],\n            h: ['एका वरान', 'एक वर'],\n            hh: [number + ' वरांनी', number + ' वरां'],\n            d: ['एका दिसान', 'एक दीस'],\n            dd: [number + ' दिसांनी', number + ' दीस'],\n            M: ['एका म्हयन्यान', 'एक म्हयनो'],\n            MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n            y: ['एका वर्सान', 'एक वर्स'],\n            yy: [number + ' वर्सांनी', number + ' वर्सां'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomDeva = moment.defineLocale('gom-deva', {\n        months: {\n            standalone:\n                'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n                    '_'\n                ),\n            format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n        weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n        weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [वाजतां]',\n            LTS: 'A h:mm:ss [वाजतां]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n            llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n        },\n        calendar: {\n            sameDay: '[आयज] LT',\n            nextDay: '[फाल्यां] LT',\n            nextWeek: '[फुडलो] dddd[,] LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[फाटलो] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s आदीं',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'वेर' only applies to day of the month\n                case 'D':\n                    return number + 'वेर';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राती') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सकाळीं') {\n                return hour;\n            } else if (meridiem === 'दनपारां') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'सांजे') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'राती';\n            } else if (hour < 12) {\n                return 'सकाळीं';\n            } else if (hour < 16) {\n                return 'दनपारां';\n            } else if (hour < 20) {\n                return 'सांजे';\n            } else {\n                return 'राती';\n            }\n        },\n    });\n\n    return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['thoddea sekondamni', 'thodde sekond'],\n            ss: [number + ' sekondamni', number + ' sekond'],\n            m: ['eka mintan', 'ek minut'],\n            mm: [number + ' mintamni', number + ' mintam'],\n            h: ['eka voran', 'ek vor'],\n            hh: [number + ' voramni', number + ' voram'],\n            d: ['eka disan', 'ek dis'],\n            dd: [number + ' disamni', number + ' dis'],\n            M: ['eka mhoinean', 'ek mhoino'],\n            MM: [number + ' mhoineamni', number + ' mhoine'],\n            y: ['eka vorsan', 'ek voros'],\n            yy: [number + ' vorsamni', number + ' vorsam'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomLatn = moment.defineLocale('gom-latn', {\n        months: {\n            standalone:\n                'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n                    '_'\n                ),\n            format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [vazta]',\n            LTS: 'A h:mm:ss [vazta]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [vazta]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n            llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n        },\n        calendar: {\n            sameDay: '[Aiz] LT',\n            nextDay: '[Faleam] LT',\n            nextWeek: '[Fuddlo] dddd[,] LT',\n            lastDay: '[Kal] LT',\n            lastWeek: '[Fattlo] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s adim',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'er' only applies to day of the month\n                case 'D':\n                    return number + 'er';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /rati|sokallim|donparam|sanje/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'rati') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'sokallim') {\n                return hour;\n            } else if (meridiem === 'donparam') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'sanje') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'rati';\n            } else if (hour < 12) {\n                return 'sokallim';\n            } else if (hour < 16) {\n                return 'donparam';\n            } else if (hour < 20) {\n                return 'sanje';\n            } else {\n                return 'rati';\n            }\n        },\n    });\n\n    return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '૧',\n            2: '૨',\n            3: '૩',\n            4: '૪',\n            5: '૫',\n            6: '૬',\n            7: '૭',\n            8: '૮',\n            9: '૯',\n            0: '૦',\n        },\n        numberMap = {\n            '૧': '1',\n            '૨': '2',\n            '૩': '3',\n            '૪': '4',\n            '૫': '5',\n            '૬': '6',\n            '૭': '7',\n            '૮': '8',\n            '૯': '9',\n            '૦': '0',\n        };\n\n    var gu = moment.defineLocale('gu', {\n        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n            '_'\n        ),\n        monthsShort:\n            'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n            '_'\n        ),\n        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm વાગ્યે',\n            LTS: 'A h:mm:ss વાગ્યે',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n        },\n        calendar: {\n            sameDay: '[આજ] LT',\n            nextDay: '[કાલે] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ગઇકાલે] LT',\n            lastWeek: '[પાછલા] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s મા',\n            past: '%s પહેલા',\n            s: 'અમુક પળો',\n            ss: '%d સેકંડ',\n            m: 'એક મિનિટ',\n            mm: '%d મિનિટ',\n            h: 'એક કલાક',\n            hh: '%d કલાક',\n            d: 'એક દિવસ',\n            dd: '%d દિવસ',\n            M: 'એક મહિનો',\n            MM: '%d મહિનો',\n            y: 'એક વર્ષ',\n            yy: '%d વર્ષ',\n        },\n        preparse: function (string) {\n            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'રાત') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'સવાર') {\n                return hour;\n            } else if (meridiem === 'બપોર') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'સાંજ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'રાત';\n            } else if (hour < 10) {\n                return 'સવાર';\n            } else if (hour < 17) {\n                return 'બપોર';\n            } else if (hour < 20) {\n                return 'સાંજ';\n            } else {\n                return 'રાત';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var he = moment.defineLocale('he', {\n        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n            '_'\n        ),\n        monthsShort:\n            'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [ב]MMMM YYYY',\n            LLL: 'D [ב]MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[היום ב־]LT',\n            nextDay: '[מחר ב־]LT',\n            nextWeek: 'dddd [בשעה] LT',\n            lastDay: '[אתמול ב־]LT',\n            lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'בעוד %s',\n            past: 'לפני %s',\n            s: 'מספר שניות',\n            ss: '%d שניות',\n            m: 'דקה',\n            mm: '%d דקות',\n            h: 'שעה',\n            hh: function (number) {\n                if (number === 2) {\n                    return 'שעתיים';\n                }\n                return number + ' שעות';\n            },\n            d: 'יום',\n            dd: function (number) {\n                if (number === 2) {\n                    return 'יומיים';\n                }\n                return number + ' ימים';\n            },\n            M: 'חודש',\n            MM: function (number) {\n                if (number === 2) {\n                    return 'חודשיים';\n                }\n                return number + ' חודשים';\n            },\n            y: 'שנה',\n            yy: function (number) {\n                if (number === 2) {\n                    return 'שנתיים';\n                } else if (number % 10 === 0 && number !== 10) {\n                    return number + ' שנה';\n                }\n                return number + ' שנים';\n            },\n        },\n        meridiemParse:\n            /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n        isPM: function (input) {\n            return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 5) {\n                return 'לפנות בוקר';\n            } else if (hour < 10) {\n                return 'בבוקר';\n            } else if (hour < 12) {\n                return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n            } else if (hour < 18) {\n                return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n            } else {\n                return 'בערב';\n            }\n        },\n    });\n\n    return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        },\n        monthsParse = [\n            /^जन/i,\n            /^फ़र|फर/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सितं|सित/i,\n            /^अक्टू/i,\n            /^नव|नवं/i,\n            /^दिसं|दिस/i,\n        ],\n        shortMonthsParse = [\n            /^जन/i,\n            /^फ़र/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सित/i,\n            /^अक्टू/i,\n            /^नव/i,\n            /^दिस/i,\n        ];\n\n    var hi = moment.defineLocale('hi', {\n        months: {\n            format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n                '_'\n            ),\n            standalone:\n                'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm बजे',\n            LTS: 'A h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n        },\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: shortMonthsParse,\n\n        monthsRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsShortRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsStrictRegex:\n            /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n        monthsShortStrictRegex:\n            /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[कल] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[कल] LT',\n            lastWeek: '[पिछले] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s में',\n            past: '%s पहले',\n            s: 'कुछ ही क्षण',\n            ss: '%d सेकंड',\n            m: 'एक मिनट',\n            mm: '%d मिनट',\n            h: 'एक घंटा',\n            hh: '%d घंटे',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महीने',\n            MM: '%d महीने',\n            y: 'एक वर्ष',\n            yy: '%d वर्ष',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n        meridiemParse: /रात|सुबह|दोपहर|शाम/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सुबह') {\n                return hour;\n            } else if (meridiem === 'दोपहर') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'शाम') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात';\n            } else if (hour < 10) {\n                return 'सुबह';\n            } else if (hour < 17) {\n                return 'दोपहर';\n            } else if (hour < 20) {\n                return 'शाम';\n            } else {\n                return 'रात';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var hr = moment.defineLocale('hr', {\n        months: {\n            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n                '_'\n            ),\n            standalone:\n                'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM YYYY',\n            LLL: 'Do MMMM YYYY H:mm',\n            LLLL: 'dddd, Do MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prošlu] [nedjelju] [u] LT';\n                    case 3:\n                        return '[prošlu] [srijedu] [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt  : https://github.com/passatgt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var weekEndings =\n        'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n    function translate(number, withoutSuffix, key, isFuture) {\n        var num = number;\n        switch (key) {\n            case 's':\n                return isFuture || withoutSuffix\n                    ? 'néhány másodperc'\n                    : 'néhány másodperce';\n            case 'ss':\n                return num + (isFuture || withoutSuffix)\n                    ? ' másodperc'\n                    : ' másodperce';\n            case 'm':\n                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'mm':\n                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'h':\n                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'hh':\n                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'd':\n                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'dd':\n                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'M':\n                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'MM':\n                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'y':\n                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n            case 'yy':\n                return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n        }\n        return '';\n    }\n    function week(isFuture) {\n        return (\n            (isFuture ? '' : '[múlt] ') +\n            '[' +\n            weekEndings[this.day()] +\n            '] LT[-kor]'\n        );\n    }\n\n    var hu = moment.defineLocale('hu', {\n        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY. MMMM D.',\n            LLL: 'YYYY. MMMM D. H:mm',\n            LLLL: 'YYYY. MMMM D., dddd H:mm',\n        },\n        meridiemParse: /de|du/i,\n        isPM: function (input) {\n            return input.charAt(1).toLowerCase() === 'u';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower === true ? 'de' : 'DE';\n            } else {\n                return isLower === true ? 'du' : 'DU';\n            }\n        },\n        calendar: {\n            sameDay: '[ma] LT[-kor]',\n            nextDay: '[holnap] LT[-kor]',\n            nextWeek: function () {\n                return week.call(this, true);\n            },\n            lastDay: '[tegnap] LT[-kor]',\n            lastWeek: function () {\n                return week.call(this, false);\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s múlva',\n            past: '%s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var hyAm = moment.defineLocale('hy-am', {\n        months: {\n            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n                '_'\n            ),\n            standalone:\n                'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n        weekdays:\n            'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n                '_'\n            ),\n        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY թ.',\n            LLL: 'D MMMM YYYY թ., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n        },\n        calendar: {\n            sameDay: '[այսօր] LT',\n            nextDay: '[վաղը] LT',\n            lastDay: '[երեկ] LT',\n            nextWeek: function () {\n                return 'dddd [օրը ժամը] LT';\n            },\n            lastWeek: function () {\n                return '[անցած] dddd [օրը ժամը] LT';\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s հետո',\n            past: '%s առաջ',\n            s: 'մի քանի վայրկյան',\n            ss: '%d վայրկյան',\n            m: 'րոպե',\n            mm: '%d րոպե',\n            h: 'ժամ',\n            hh: '%d ժամ',\n            d: 'օր',\n            dd: '%d օր',\n            M: 'ամիս',\n            MM: '%d ամիս',\n            y: 'տարի',\n            yy: '%d տարի',\n        },\n        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n        isPM: function (input) {\n            return /^(ցերեկվա|երեկոյան)$/.test(input);\n        },\n        meridiem: function (hour) {\n            if (hour < 4) {\n                return 'գիշերվա';\n            } else if (hour < 12) {\n                return 'առավոտվա';\n            } else if (hour < 17) {\n                return 'ցերեկվա';\n            } else {\n                return 'երեկոյան';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'DDD':\n                case 'w':\n                case 'W':\n                case 'DDDo':\n                    if (number === 1) {\n                        return number + '-ին';\n                    }\n                    return number + '-րդ';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var id = moment.defineLocale('id', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|siang|sore|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'siang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sore' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'siang';\n            } else if (hours < 19) {\n                return 'sore';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Besok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kemarin pukul] LT',\n            lastWeek: 'dddd [lalu pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lalu',\n            s: 'beberapa detik',\n            ss: '%d detik',\n            m: 'semenit',\n            mm: '%d menit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(n) {\n        if (n % 100 === 11) {\n            return true;\n        } else if (n % 10 === 1) {\n            return false;\n        }\n        return true;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nokkrar sekúndur'\n                    : 'nokkrum sekúndum';\n            case 'ss':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n                    );\n                }\n                return result + 'sekúnda';\n            case 'm':\n                return withoutSuffix ? 'mínúta' : 'mínútu';\n            case 'mm':\n                if (plural(number)) {\n                    return (\n                        result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n                    );\n                } else if (withoutSuffix) {\n                    return result + 'mínúta';\n                }\n                return result + 'mínútu';\n            case 'hh':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture\n                            ? 'klukkustundir'\n                            : 'klukkustundum')\n                    );\n                }\n                return result + 'klukkustund';\n            case 'd':\n                if (withoutSuffix) {\n                    return 'dagur';\n                }\n                return isFuture ? 'dag' : 'degi';\n            case 'dd':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'dagar';\n                    }\n                    return result + (isFuture ? 'daga' : 'dögum');\n                } else if (withoutSuffix) {\n                    return result + 'dagur';\n                }\n                return result + (isFuture ? 'dag' : 'degi');\n            case 'M':\n                if (withoutSuffix) {\n                    return 'mánuður';\n                }\n                return isFuture ? 'mánuð' : 'mánuði';\n            case 'MM':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'mánuðir';\n                    }\n                    return result + (isFuture ? 'mánuði' : 'mánuðum');\n                } else if (withoutSuffix) {\n                    return result + 'mánuður';\n                }\n                return result + (isFuture ? 'mánuð' : 'mánuði');\n            case 'y':\n                return withoutSuffix || isFuture ? 'ár' : 'ári';\n            case 'yy':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n                }\n                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n        }\n    }\n\n    var is = moment.defineLocale('is', {\n        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n        },\n        calendar: {\n            sameDay: '[í dag kl.] LT',\n            nextDay: '[á morgun kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[í gær kl.] LT',\n            lastWeek: '[síðasta] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'eftir %s',\n            past: 'fyrir %s síðan',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: 'klukkustund',\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var itCh = moment.defineLocale('it-ch', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var it = moment.defineLocale('it', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return (\n                    '[Oggi a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextDay: function () {\n                return (\n                    '[Domani a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextWeek: function () {\n                return (\n                    'dddd [a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastDay: function () {\n                return (\n                    '[Ieri a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return (\n                            '[La scorsa] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                ? ' '\n                                : \"ll'\") +\n                            ']LT'\n                        );\n                    default:\n                        return (\n                            '[Lo scorso] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                ? ' '\n                                : \"ll'\") +\n                            ']LT'\n                        );\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'tra %s',\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            w: 'una settimana',\n            ww: '%d settimane',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ja = moment.defineLocale('ja', {\n        eras: [\n            {\n                since: '2019-05-01',\n                offset: 1,\n                name: '令和',\n                narrow: '㋿',\n                abbr: 'R',\n            },\n            {\n                since: '1989-01-08',\n                until: '2019-04-30',\n                offset: 1,\n                name: '平成',\n                narrow: '㍻',\n                abbr: 'H',\n            },\n            {\n                since: '1926-12-25',\n                until: '1989-01-07',\n                offset: 1,\n                name: '昭和',\n                narrow: '㍼',\n                abbr: 'S',\n            },\n            {\n                since: '1912-07-30',\n                until: '1926-12-24',\n                offset: 1,\n                name: '大正',\n                narrow: '㍽',\n                abbr: 'T',\n            },\n            {\n                since: '1873-01-01',\n                until: '1912-07-29',\n                offset: 6,\n                name: '明治',\n                narrow: '㍾',\n                abbr: 'M',\n            },\n            {\n                since: '0001-01-01',\n                until: '1873-12-31',\n                offset: 1,\n                name: '西暦',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: '紀元前',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        eraYearOrdinalRegex: /(元|\\d+)年/,\n        eraYearOrdinalParse: function (input, match) {\n            return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n        },\n        months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日 dddd HH:mm',\n            l: 'YYYY/MM/DD',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日(ddd) HH:mm',\n        },\n        meridiemParse: /午前|午後/i,\n        isPM: function (input) {\n            return input === '午後';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return '午前';\n            } else {\n                return '午後';\n            }\n        },\n        calendar: {\n            sameDay: '[今日] LT',\n            nextDay: '[明日] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[来週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            lastDay: '[昨日] LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[先週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}日/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'y':\n                    return number === 1 ? '元年' : number + '年';\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '数秒',\n            ss: '%d秒',\n            m: '1分',\n            mm: '%d分',\n            h: '1時間',\n            hh: '%d時間',\n            d: '1日',\n            dd: '%d日',\n            M: '1ヶ月',\n            MM: '%dヶ月',\n            y: '1年',\n            yy: '%d年',\n        },\n    });\n\n    return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var jv = moment.defineLocale('jv', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /enjing|siyang|sonten|ndalu/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'enjing') {\n                return hour;\n            } else if (meridiem === 'siyang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'enjing';\n            } else if (hours < 15) {\n                return 'siyang';\n            } else if (hours < 19) {\n                return 'sonten';\n            } else {\n                return 'ndalu';\n            }\n        },\n        calendar: {\n            sameDay: '[Dinten puniko pukul] LT',\n            nextDay: '[Mbenjang pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kala wingi pukul] LT',\n            lastWeek: 'dddd [kepengker pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'wonten ing %s',\n            past: '%s ingkang kepengker',\n            s: 'sawetawis detik',\n            ss: '%d detik',\n            m: 'setunggal menit',\n            mm: '%d menit',\n            h: 'setunggal jam',\n            hh: '%d jam',\n            d: 'sedinten',\n            dd: '%d dinten',\n            M: 'sewulan',\n            MM: '%d wulan',\n            y: 'setaun',\n            yy: '%d taun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ka = moment.defineLocale('ka', {\n        months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n            '_'\n        ),\n        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n        weekdays: {\n            standalone:\n                'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n                    '_'\n                ),\n            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n                '_'\n            ),\n            isFormat: /(წინა|შემდეგ)/,\n        },\n        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[დღეს] LT[-ზე]',\n            nextDay: '[ხვალ] LT[-ზე]',\n            lastDay: '[გუშინ] LT[-ზე]',\n            nextWeek: '[შემდეგ] dddd LT[-ზე]',\n            lastWeek: '[წინა] dddd LT-ზე',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return s.replace(\n                    /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n                    function ($0, $1, $2) {\n                        return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n                    }\n                );\n            },\n            past: function (s) {\n                if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n                    return s.replace(/(ი|ე)$/, 'ის წინ');\n                }\n                if (/წელი/.test(s)) {\n                    return s.replace(/წელი$/, 'წლის წინ');\n                }\n                return s;\n            },\n            s: 'რამდენიმე წამი',\n            ss: '%d წამი',\n            m: 'წუთი',\n            mm: '%d წუთი',\n            h: 'საათი',\n            hh: '%d საათი',\n            d: 'დღე',\n            dd: '%d დღე',\n            M: 'თვე',\n            MM: '%d თვე',\n            y: 'წელი',\n            yy: '%d წელი',\n        },\n        dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n        ordinal: function (number) {\n            if (number === 0) {\n                return number;\n            }\n            if (number === 1) {\n                return number + '-ლი';\n            }\n            if (\n                number < 20 ||\n                (number <= 100 && number % 20 === 0) ||\n                number % 100 === 0\n            ) {\n                return 'მე-' + number;\n            }\n            return number + '-ე';\n        },\n        week: {\n            dow: 1,\n            doy: 7,\n        },\n    });\n\n    return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ші',\n        1: '-ші',\n        2: '-ші',\n        3: '-ші',\n        4: '-ші',\n        5: '-ші',\n        6: '-шы',\n        7: '-ші',\n        8: '-ші',\n        9: '-шы',\n        10: '-шы',\n        20: '-шы',\n        30: '-шы',\n        40: '-шы',\n        50: '-ші',\n        60: '-шы',\n        70: '-ші',\n        80: '-ші',\n        90: '-шы',\n        100: '-ші',\n    };\n\n    var kk = moment.defineLocale('kk', {\n        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n            '_'\n        ),\n        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n            '_'\n        ),\n        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгін сағат] LT',\n            nextDay: '[Ертең сағат] LT',\n            nextWeek: 'dddd [сағат] LT',\n            lastDay: '[Кеше сағат] LT',\n            lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ішінде',\n            past: '%s бұрын',\n            s: 'бірнеше секунд',\n            ss: '%d секунд',\n            m: 'бір минут',\n            mm: '%d минут',\n            h: 'бір сағат',\n            hh: '%d сағат',\n            d: 'бір күн',\n            dd: '%d күн',\n            M: 'бір ай',\n            MM: '%d ай',\n            y: 'бір жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '១',\n            2: '២',\n            3: '៣',\n            4: '៤',\n            5: '៥',\n            6: '៦',\n            7: '៧',\n            8: '៨',\n            9: '៩',\n            0: '០',\n        },\n        numberMap = {\n            '១': '1',\n            '២': '2',\n            '៣': '3',\n            '៤': '4',\n            '៥': '5',\n            '៦': '6',\n            '៧': '7',\n            '៨': '8',\n            '៩': '9',\n            '០': '0',\n        };\n\n    var km = moment.defineLocale('km', {\n        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        monthsShort:\n            'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n                '_'\n            ),\n        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ព្រឹក|ល្ងាច/,\n        isPM: function (input) {\n            return input === 'ល្ងាច';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ព្រឹក';\n            } else {\n                return 'ល្ងាច';\n            }\n        },\n        calendar: {\n            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n            nextDay: '[ស្អែក ម៉ោង] LT',\n            nextWeek: 'dddd [ម៉ោង] LT',\n            lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sទៀត',\n            past: '%sមុន',\n            s: 'ប៉ុន្មានវិនាទី',\n            ss: '%d វិនាទី',\n            m: 'មួយនាទី',\n            mm: '%d នាទី',\n            h: 'មួយម៉ោង',\n            hh: '%d ម៉ោង',\n            d: 'មួយថ្ងៃ',\n            dd: '%d ថ្ងៃ',\n            M: 'មួយខែ',\n            MM: '%d ខែ',\n            y: 'មួយឆ្នាំ',\n            yy: '%d ឆ្នាំ',\n        },\n        dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n        ordinal: 'ទី%d',\n        preparse: function (string) {\n            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '೧',\n            2: '೨',\n            3: '೩',\n            4: '೪',\n            5: '೫',\n            6: '೬',\n            7: '೭',\n            8: '೮',\n            9: '೯',\n            0: '೦',\n        },\n        numberMap = {\n            '೧': '1',\n            '೨': '2',\n            '೩': '3',\n            '೪': '4',\n            '೫': '5',\n            '೬': '6',\n            '೭': '7',\n            '೮': '8',\n            '೯': '9',\n            '೦': '0',\n        };\n\n    var kn = moment.defineLocale('kn', {\n        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n            '_'\n        ),\n        monthsShort:\n            'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[ಇಂದು] LT',\n            nextDay: '[ನಾಳೆ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ನಿನ್ನೆ] LT',\n            lastWeek: '[ಕೊನೆಯ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ನಂತರ',\n            past: '%s ಹಿಂದೆ',\n            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n            ss: '%d ಸೆಕೆಂಡುಗಳು',\n            m: 'ಒಂದು ನಿಮಿಷ',\n            mm: '%d ನಿಮಿಷ',\n            h: 'ಒಂದು ಗಂಟೆ',\n            hh: '%d ಗಂಟೆ',\n            d: 'ಒಂದು ದಿನ',\n            dd: '%d ದಿನ',\n            M: 'ಒಂದು ತಿಂಗಳು',\n            MM: '%d ತಿಂಗಳು',\n            y: 'ಒಂದು ವರ್ಷ',\n            yy: '%d ವರ್ಷ',\n        },\n        preparse: function (string) {\n            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ರಾತ್ರಿ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n                return hour;\n            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ಸಂಜೆ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ರಾತ್ರಿ';\n            } else if (hour < 10) {\n                return 'ಬೆಳಿಗ್ಗೆ';\n            } else if (hour < 17) {\n                return 'ಮಧ್ಯಾಹ್ನ';\n            } else if (hour < 20) {\n                return 'ಸಂಜೆ';\n            } else {\n                return 'ರಾತ್ರಿ';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n        ordinal: function (number) {\n            return number + 'ನೇ';\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ko = moment.defineLocale('ko', {\n        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n            '_'\n        ),\n        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY년 MMMM D일',\n            LLL: 'YYYY년 MMMM D일 A h:mm',\n            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n            l: 'YYYY.MM.DD.',\n            ll: 'YYYY년 MMMM D일',\n            lll: 'YYYY년 MMMM D일 A h:mm',\n            llll: 'YYYY년 MMMM D일 dddd A h:mm',\n        },\n        calendar: {\n            sameDay: '오늘 LT',\n            nextDay: '내일 LT',\n            nextWeek: 'dddd LT',\n            lastDay: '어제 LT',\n            lastWeek: '지난주 dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s 후',\n            past: '%s 전',\n            s: '몇 초',\n            ss: '%d초',\n            m: '1분',\n            mm: '%d분',\n            h: '한 시간',\n            hh: '%d시간',\n            d: '하루',\n            dd: '%d일',\n            M: '한 달',\n            MM: '%d달',\n            y: '일 년',\n            yy: '%d년',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '일';\n                case 'M':\n                    return number + '월';\n                case 'w':\n                case 'W':\n                    return number + '주';\n                default:\n                    return number;\n            }\n        },\n        meridiemParse: /오전|오후/,\n        isPM: function (token) {\n            return token === '오후';\n        },\n        meridiem: function (hour, minute, isUpper) {\n            return hour < 12 ? '오전' : '오후';\n        },\n    });\n\n    return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        months = [\n            'کانونی دووەم',\n            'شوبات',\n            'ئازار',\n            'نیسان',\n            'ئایار',\n            'حوزەیران',\n            'تەمموز',\n            'ئاب',\n            'ئەیلوول',\n            'تشرینی یەكەم',\n            'تشرینی دووەم',\n            'كانونی یەکەم',\n        ];\n\n    var ku = moment.defineLocale('ku', {\n        months: months,\n        monthsShort: months,\n        weekdays:\n            'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n        weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ئێواره‌|به‌یانی/,\n        isPM: function (input) {\n            return /ئێواره‌/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'به‌یانی';\n            } else {\n                return 'ئێواره‌';\n            }\n        },\n        calendar: {\n            sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n            nextDay: '[به‌یانی كاتژمێر] LT',\n            nextWeek: 'dddd [كاتژمێر] LT',\n            lastDay: '[دوێنێ كاتژمێر] LT',\n            lastWeek: 'dddd [كاتژمێر] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'له‌ %s',\n            past: '%s',\n            s: 'چه‌ند چركه‌یه‌ك',\n            ss: 'چركه‌ %d',\n            m: 'یه‌ك خوله‌ك',\n            mm: '%d خوله‌ك',\n            h: 'یه‌ك كاتژمێر',\n            hh: '%d كاتژمێر',\n            d: 'یه‌ك ڕۆژ',\n            dd: '%d ڕۆژ',\n            M: 'یه‌ك مانگ',\n            MM: '%d مانگ',\n            y: 'یه‌ك ساڵ',\n            yy: '%d ساڵ',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-чү',\n        1: '-чи',\n        2: '-чи',\n        3: '-чү',\n        4: '-чү',\n        5: '-чи',\n        6: '-чы',\n        7: '-чи',\n        8: '-чи',\n        9: '-чу',\n        10: '-чу',\n        20: '-чы',\n        30: '-чу',\n        40: '-чы',\n        50: '-чү',\n        60: '-чы',\n        70: '-чи',\n        80: '-чи',\n        90: '-чу',\n        100: '-чү',\n    };\n\n    var ky = moment.defineLocale('ky', {\n        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n            '_'\n        ),\n        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n            '_'\n        ),\n        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгүн саат] LT',\n            nextDay: '[Эртең саат] LT',\n            nextWeek: 'dddd [саат] LT',\n            lastDay: '[Кечээ саат] LT',\n            lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ичинде',\n            past: '%s мурун',\n            s: 'бирнече секунд',\n            ss: '%d секунд',\n            m: 'бир мүнөт',\n            mm: '%d мүнөт',\n            h: 'бир саат',\n            hh: '%d саат',\n            d: 'бир күн',\n            dd: '%d күн',\n            M: 'бир ай',\n            MM: '%d ай',\n            y: 'бир жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eng Minutt', 'enger Minutt'],\n            h: ['eng Stonn', 'enger Stonn'],\n            d: ['een Dag', 'engem Dag'],\n            M: ['ee Mount', 'engem Mount'],\n            y: ['ee Joer', 'engem Joer'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    function processFutureTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'a ' + string;\n        }\n        return 'an ' + string;\n    }\n    function processPastTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'viru ' + string;\n        }\n        return 'virun ' + string;\n    }\n    /**\n     * Returns true if the word before the given number loses the '-n' ending.\n     * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n     *\n     * @param number {integer}\n     * @returns {boolean}\n     */\n    function eifelerRegelAppliesToNumber(number) {\n        number = parseInt(number, 10);\n        if (isNaN(number)) {\n            return false;\n        }\n        if (number < 0) {\n            // Negative Number --> always true\n            return true;\n        } else if (number < 10) {\n            // Only 1 digit\n            if (4 <= number && number <= 7) {\n                return true;\n            }\n            return false;\n        } else if (number < 100) {\n            // 2 digits\n            var lastDigit = number % 10,\n                firstDigit = number / 10;\n            if (lastDigit === 0) {\n                return eifelerRegelAppliesToNumber(firstDigit);\n            }\n            return eifelerRegelAppliesToNumber(lastDigit);\n        } else if (number < 10000) {\n            // 3 or 4 digits --> recursively check first digit\n            while (number >= 10) {\n                number = number / 10;\n            }\n            return eifelerRegelAppliesToNumber(number);\n        } else {\n            // Anything larger than 4 digits: recursively check first n-3 digits\n            number = number / 1000;\n            return eifelerRegelAppliesToNumber(number);\n        }\n    }\n\n    var lb = moment.defineLocale('lb', {\n        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm [Auer]',\n            LTS: 'H:mm:ss [Auer]',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm [Auer]',\n            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n        },\n        calendar: {\n            sameDay: '[Haut um] LT',\n            sameElse: 'L',\n            nextDay: '[Muer um] LT',\n            nextWeek: 'dddd [um] LT',\n            lastDay: '[Gëschter um] LT',\n            lastWeek: function () {\n                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n                switch (this.day()) {\n                    case 2:\n                    case 4:\n                        return '[Leschten] dddd [um] LT';\n                    default:\n                        return '[Leschte] dddd [um] LT';\n                }\n            },\n        },\n        relativeTime: {\n            future: processFutureTime,\n            past: processPastTime,\n            s: 'e puer Sekonnen',\n            ss: '%d Sekonnen',\n            m: processRelativeTime,\n            mm: '%d Minutten',\n            h: processRelativeTime,\n            hh: '%d Stonnen',\n            d: processRelativeTime,\n            dd: '%d Deeg',\n            M: processRelativeTime,\n            MM: '%d Méint',\n            y: processRelativeTime,\n            yy: '%d Joer',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var lo = moment.defineLocale('lo', {\n        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n                '_'\n            ),\n        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n        isPM: function (input) {\n            return input === 'ຕອນແລງ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ຕອນເຊົ້າ';\n            } else {\n                return 'ຕອນແລງ';\n            }\n        },\n        calendar: {\n            sameDay: '[ມື້ນີ້ເວລາ] LT',\n            nextDay: '[ມື້ອື່ນເວລາ] LT',\n            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n            lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ອີກ %s',\n            past: '%sຜ່ານມາ',\n            s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n            ss: '%d ວິນາທີ',\n            m: '1 ນາທີ',\n            mm: '%d ນາທີ',\n            h: '1 ຊົ່ວໂມງ',\n            hh: '%d ຊົ່ວໂມງ',\n            d: '1 ມື້',\n            dd: '%d ມື້',\n            M: '1 ເດືອນ',\n            MM: '%d ເດືອນ',\n            y: '1 ປີ',\n            yy: '%d ປີ',\n        },\n        dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n        ordinal: function (number) {\n            return 'ທີ່' + number;\n        },\n    });\n\n    return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundė_sekundžių_sekundes',\n        m: 'minutė_minutės_minutę',\n        mm: 'minutės_minučių_minutes',\n        h: 'valanda_valandos_valandą',\n        hh: 'valandos_valandų_valandas',\n        d: 'diena_dienos_dieną',\n        dd: 'dienos_dienų_dienas',\n        M: 'mėnuo_mėnesio_mėnesį',\n        MM: 'mėnesiai_mėnesių_mėnesius',\n        y: 'metai_metų_metus',\n        yy: 'metai_metų_metus',\n    };\n    function translateSeconds(number, withoutSuffix, key, isFuture) {\n        if (withoutSuffix) {\n            return 'kelios sekundės';\n        } else {\n            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n        }\n    }\n    function translateSingular(number, withoutSuffix, key, isFuture) {\n        return withoutSuffix\n            ? forms(key)[0]\n            : isFuture\n            ? forms(key)[1]\n            : forms(key)[2];\n    }\n    function special(number) {\n        return number % 10 === 0 || (number > 10 && number < 20);\n    }\n    function forms(key) {\n        return units[key].split('_');\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        if (number === 1) {\n            return (\n                result + translateSingular(number, withoutSuffix, key[0], isFuture)\n            );\n        } else if (withoutSuffix) {\n            return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n        } else {\n            if (isFuture) {\n                return result + forms(key)[1];\n            } else {\n                return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n            }\n        }\n    }\n    var lt = moment.defineLocale('lt', {\n        months: {\n            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n                '_'\n            ),\n            standalone:\n                'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n                    '_'\n                ),\n            isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n        },\n        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n        weekdays: {\n            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n                '_'\n            ),\n            standalone:\n                'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n                    '_'\n                ),\n            isFormat: /dddd HH:mm/,\n        },\n        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n        weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY [m.] MMMM D [d.]',\n            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n            l: 'YYYY-MM-DD',\n            ll: 'YYYY [m.] MMMM D [d.]',\n            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n        },\n        calendar: {\n            sameDay: '[Šiandien] LT',\n            nextDay: '[Rytoj] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[Vakar] LT',\n            lastWeek: '[Praėjusį] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'po %s',\n            past: 'prieš %s',\n            s: translateSeconds,\n            ss: translate,\n            m: translateSingular,\n            mm: translate,\n            h: translateSingular,\n            hh: translate,\n            d: translateSingular,\n            dd: translate,\n            M: translateSingular,\n            MM: translate,\n            y: translateSingular,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n        ordinal: function (number) {\n            return number + '-oji';\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n        m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        h: 'stundas_stundām_stunda_stundas'.split('_'),\n        hh: 'stundas_stundām_stunda_stundas'.split('_'),\n        d: 'dienas_dienām_diena_dienas'.split('_'),\n        dd: 'dienas_dienām_diena_dienas'.split('_'),\n        M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        y: 'gada_gadiem_gads_gadi'.split('_'),\n        yy: 'gada_gadiem_gads_gadi'.split('_'),\n    };\n    /**\n     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n     */\n    function format(forms, number, withoutSuffix) {\n        if (withoutSuffix) {\n            // E.g. \"21 minūte\", \"3 minūtes\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n        } else {\n            // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n            // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n        }\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        return number + ' ' + format(units[key], number, withoutSuffix);\n    }\n    function relativeTimeWithSingular(number, withoutSuffix, key) {\n        return format(units[key], number, withoutSuffix);\n    }\n    function relativeSeconds(number, withoutSuffix) {\n        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n    }\n\n    var lv = moment.defineLocale('lv', {\n        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n        weekdays:\n            'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY.',\n            LL: 'YYYY. [gada] D. MMMM',\n            LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n        },\n        calendar: {\n            sameDay: '[Šodien pulksten] LT',\n            nextDay: '[Rīt pulksten] LT',\n            nextWeek: 'dddd [pulksten] LT',\n            lastDay: '[Vakar pulksten] LT',\n            lastWeek: '[Pagājušā] dddd [pulksten] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'pēc %s',\n            past: 'pirms %s',\n            s: relativeSeconds,\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithSingular,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithSingular,\n            hh: relativeTimeWithPlural,\n            d: relativeTimeWithSingular,\n            dd: relativeTimeWithPlural,\n            M: relativeTimeWithSingular,\n            MM: relativeTimeWithPlural,\n            y: relativeTimeWithSingular,\n            yy: relativeTimeWithPlural,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekund', 'sekunda', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mjesec', 'mjeseca', 'mjeseci'],\n            yy: ['godina', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                ? wordKey[1]\n                : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var me = moment.defineLocale('me', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sjutra u] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedjelje] [u] LT',\n                    '[prošlog] [ponedjeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srijede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'dan',\n            dd: translator.translate,\n            M: 'mjesec',\n            MM: translator.translate,\n            y: 'godinu',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mi = moment.defineLocale('mi', {\n        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n            '_'\n        ),\n        monthsShort:\n            'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n                '_'\n            ),\n        monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [i] HH:mm',\n            LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i teie mahana, i] LT',\n            nextDay: '[apopo i] LT',\n            nextWeek: 'dddd [i] LT',\n            lastDay: '[inanahi i] LT',\n            lastWeek: 'dddd [whakamutunga i] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i roto i %s',\n            past: '%s i mua',\n            s: 'te hēkona ruarua',\n            ss: '%d hēkona',\n            m: 'he meneti',\n            mm: '%d meneti',\n            h: 'te haora',\n            hh: '%d haora',\n            d: 'he ra',\n            dd: '%d ra',\n            M: 'he marama',\n            MM: '%d marama',\n            y: 'he tau',\n            yy: '%d tau',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mk = moment.defineLocale('mk', {\n        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Денес во] LT',\n            nextDay: '[Утре во] LT',\n            nextWeek: '[Во] dddd [во] LT',\n            lastDay: '[Вчера во] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Изминатата] dddd [во] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Изминатиот] dddd [во] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пред %s',\n            s: 'неколку секунди',\n            ss: '%d секунди',\n            m: 'една минута',\n            mm: '%d минути',\n            h: 'еден час',\n            hh: '%d часа',\n            d: 'еден ден',\n            dd: '%d дена',\n            M: 'еден месец',\n            MM: '%d месеци',\n            y: 'една година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ml = moment.defineLocale('ml', {\n        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n                '_'\n            ),\n        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm -നു',\n            LTS: 'A h:mm:ss -നു',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm -നു',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n        },\n        calendar: {\n            sameDay: '[ഇന്ന്] LT',\n            nextDay: '[നാളെ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ഇന്നലെ] LT',\n            lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s കഴിഞ്ഞ്',\n            past: '%s മുൻപ്',\n            s: 'അൽപ നിമിഷങ്ങൾ',\n            ss: '%d സെക്കൻഡ്',\n            m: 'ഒരു മിനിറ്റ്',\n            mm: '%d മിനിറ്റ്',\n            h: 'ഒരു മണിക്കൂർ',\n            hh: '%d മണിക്കൂർ',\n            d: 'ഒരു ദിവസം',\n            dd: '%d ദിവസം',\n            M: 'ഒരു മാസം',\n            MM: '%d മാസം',\n            y: 'ഒരു വർഷം',\n            yy: '%d വർഷം',\n        },\n        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'രാത്രി' && hour >= 4) ||\n                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n                meridiem === 'വൈകുന്നേരം'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'രാത്രി';\n            } else if (hour < 12) {\n                return 'രാവിലെ';\n            } else if (hour < 17) {\n                return 'ഉച്ച കഴിഞ്ഞ്';\n            } else if (hour < 20) {\n                return 'വൈകുന്നേരം';\n            } else {\n                return 'രാത്രി';\n            }\n        },\n    });\n\n    return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 's':\n                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n            case 'ss':\n                return number + (withoutSuffix ? ' секунд' : ' секундын');\n            case 'm':\n            case 'mm':\n                return number + (withoutSuffix ? ' минут' : ' минутын');\n            case 'h':\n            case 'hh':\n                return number + (withoutSuffix ? ' цаг' : ' цагийн');\n            case 'd':\n            case 'dd':\n                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n            case 'M':\n            case 'MM':\n                return number + (withoutSuffix ? ' сар' : ' сарын');\n            case 'y':\n            case 'yy':\n                return number + (withoutSuffix ? ' жил' : ' жилийн');\n            default:\n                return number;\n        }\n    }\n\n    var mn = moment.defineLocale('mn', {\n        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n            '_'\n        ),\n        monthsShort:\n            '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY оны MMMMын D',\n            LLL: 'YYYY оны MMMMын D HH:mm',\n            LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n        },\n        meridiemParse: /ҮӨ|ҮХ/i,\n        isPM: function (input) {\n            return input === 'ҮХ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ҮӨ';\n            } else {\n                return 'ҮХ';\n            }\n        },\n        calendar: {\n            sameDay: '[Өнөөдөр] LT',\n            nextDay: '[Маргааш] LT',\n            nextWeek: '[Ирэх] dddd LT',\n            lastDay: '[Өчигдөр] LT',\n            lastWeek: '[Өнгөрсөн] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s дараа',\n            past: '%s өмнө',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + ' өдөр';\n                default:\n                    return number;\n            }\n        },\n    });\n\n    return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n        var output = '';\n        if (withoutSuffix) {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंद';\n                    break;\n                case 'ss':\n                    output = '%d सेकंद';\n                    break;\n                case 'm':\n                    output = 'एक मिनिट';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटे';\n                    break;\n                case 'h':\n                    output = 'एक तास';\n                    break;\n                case 'hh':\n                    output = '%d तास';\n                    break;\n                case 'd':\n                    output = 'एक दिवस';\n                    break;\n                case 'dd':\n                    output = '%d दिवस';\n                    break;\n                case 'M':\n                    output = 'एक महिना';\n                    break;\n                case 'MM':\n                    output = '%d महिने';\n                    break;\n                case 'y':\n                    output = 'एक वर्ष';\n                    break;\n                case 'yy':\n                    output = '%d वर्षे';\n                    break;\n            }\n        } else {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंदां';\n                    break;\n                case 'ss':\n                    output = '%d सेकंदां';\n                    break;\n                case 'm':\n                    output = 'एका मिनिटा';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटां';\n                    break;\n                case 'h':\n                    output = 'एका तासा';\n                    break;\n                case 'hh':\n                    output = '%d तासां';\n                    break;\n                case 'd':\n                    output = 'एका दिवसा';\n                    break;\n                case 'dd':\n                    output = '%d दिवसां';\n                    break;\n                case 'M':\n                    output = 'एका महिन्या';\n                    break;\n                case 'MM':\n                    output = '%d महिन्यां';\n                    break;\n                case 'y':\n                    output = 'एका वर्षा';\n                    break;\n                case 'yy':\n                    output = '%d वर्षां';\n                    break;\n            }\n        }\n        return output.replace(/%d/i, number);\n    }\n\n    var mr = moment.defineLocale('mr', {\n        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm वाजता',\n            LTS: 'A h:mm:ss वाजता',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm वाजता',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[उद्या] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[मागील] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमध्ये',\n            past: '%sपूर्वी',\n            s: relativeTimeMr,\n            ss: relativeTimeMr,\n            m: relativeTimeMr,\n            mm: relativeTimeMr,\n            h: relativeTimeMr,\n            hh: relativeTimeMr,\n            d: relativeTimeMr,\n            dd: relativeTimeMr,\n            M: relativeTimeMr,\n            MM: relativeTimeMr,\n            y: relativeTimeMr,\n            yy: relativeTimeMr,\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n                return hour;\n            } else if (\n                meridiem === 'दुपारी' ||\n                meridiem === 'सायंकाळी' ||\n                meridiem === 'रात्री'\n            ) {\n                return hour >= 12 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour >= 0 && hour < 6) {\n                return 'पहाटे';\n            } else if (hour < 12) {\n                return 'सकाळी';\n            } else if (hour < 17) {\n                return 'दुपारी';\n            } else if (hour < 20) {\n                return 'सायंकाळी';\n            } else {\n                return 'रात्री';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var msMy = moment.defineLocale('ms-my', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ms = moment.defineLocale('ms', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mt = moment.defineLocale('mt', {\n        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n        weekdays:\n            'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n                '_'\n            ),\n        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Illum fil-]LT',\n            nextDay: '[Għada fil-]LT',\n            nextWeek: 'dddd [fil-]LT',\n            lastDay: '[Il-bieraħ fil-]LT',\n            lastWeek: 'dddd [li għadda] [fil-]LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'f’ %s',\n            past: '%s ilu',\n            s: 'ftit sekondi',\n            ss: '%d sekondi',\n            m: 'minuta',\n            mm: '%d minuti',\n            h: 'siegħa',\n            hh: '%d siegħat',\n            d: 'ġurnata',\n            dd: '%d ġranet',\n            M: 'xahar',\n            MM: '%d xhur',\n            y: 'sena',\n            yy: '%d sni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '၁',\n            2: '၂',\n            3: '၃',\n            4: '၄',\n            5: '၅',\n            6: '၆',\n            7: '၇',\n            8: '၈',\n            9: '၉',\n            0: '၀',\n        },\n        numberMap = {\n            '၁': '1',\n            '၂': '2',\n            '၃': '3',\n            '၄': '4',\n            '၅': '5',\n            '၆': '6',\n            '၇': '7',\n            '၈': '8',\n            '၉': '9',\n            '၀': '0',\n        };\n\n    var my = moment.defineLocale('my', {\n        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n            '_'\n        ),\n        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n            '_'\n        ),\n        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ယနေ.] LT [မှာ]',\n            nextDay: '[မနက်ဖြန်] LT [မှာ]',\n            nextWeek: 'dddd LT [မှာ]',\n            lastDay: '[မနေ.က] LT [မှာ]',\n            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'လာမည့် %s မှာ',\n            past: 'လွန်ခဲ့သော %s က',\n            s: 'စက္ကန်.အနည်းငယ်',\n            ss: '%d စက္ကန့်',\n            m: 'တစ်မိနစ်',\n            mm: '%d မိနစ်',\n            h: 'တစ်နာရီ',\n            hh: '%d နာရီ',\n            d: 'တစ်ရက်',\n            dd: '%d ရက်',\n            M: 'တစ်လ',\n            MM: '%d လ',\n            y: 'တစ်နှစ်',\n            yy: '%d နှစ်',\n        },\n        preparse: function (string) {\n            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//!           Sigurd Gartmann : https://github.com/sigurdga\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nb = moment.defineLocale('nb', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[forrige] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'noen sekunder',\n            ss: '%d sekunder',\n            m: 'ett minutt',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dager',\n            w: 'en uke',\n            ww: '%d uker',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    var ne = moment.defineLocale('ne', {\n        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n            '_'\n        ),\n        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'Aको h:mm बजे',\n            LTS: 'Aको h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, Aको h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राति') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'बिहान') {\n                return hour;\n            } else if (meridiem === 'दिउँसो') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'साँझ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 3) {\n                return 'राति';\n            } else if (hour < 12) {\n                return 'बिहान';\n            } else if (hour < 16) {\n                return 'दिउँसो';\n            } else if (hour < 20) {\n                return 'साँझ';\n            } else {\n                return 'राति';\n            }\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[भोलि] LT',\n            nextWeek: '[आउँदो] dddd[,] LT',\n            lastDay: '[हिजो] LT',\n            lastWeek: '[गएको] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमा',\n            past: '%s अगाडि',\n            s: 'केही क्षण',\n            ss: '%d सेकेण्ड',\n            m: 'एक मिनेट',\n            mm: '%d मिनेट',\n            h: 'एक घण्टा',\n            hh: '%d घण्टा',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महिना',\n            MM: '%d महिना',\n            y: 'एक बर्ष',\n            yy: '%d बर्ष',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^maart|mrt.?$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nlBe = moment.defineLocale('nl-be', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^maart|mrt.?$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nl = moment.defineLocale('nl', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            w: 'één week',\n            ww: '%d weken',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nn = moment.defineLocale('nn', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n        weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n        weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[I dag klokka] LT',\n            nextDay: '[I morgon klokka] LT',\n            nextWeek: 'dddd [klokka] LT',\n            lastDay: '[I går klokka] LT',\n            lastWeek: '[Føregåande] dddd [klokka] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s sidan',\n            s: 'nokre sekund',\n            ss: '%d sekund',\n            m: 'eit minutt',\n            mm: '%d minutt',\n            h: 'ein time',\n            hh: '%d timar',\n            d: 'ein dag',\n            dd: '%d dagar',\n            w: 'ei veke',\n            ww: '%d veker',\n            M: 'ein månad',\n            MM: '%d månader',\n            y: 'eit år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ocLnc = moment.defineLocale('oc-lnc', {\n        months: {\n            standalone:\n                'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n                    '_'\n                ),\n            format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n            '_'\n        ),\n        weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: '[uèi a] LT',\n            nextDay: '[deman a] LT',\n            nextWeek: 'dddd [a] LT',\n            lastDay: '[ièr a] LT',\n            lastWeek: 'dddd [passat a] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'unas segondas',\n            ss: '%d segondas',\n            m: 'una minuta',\n            mm: '%d minutas',\n            h: 'una ora',\n            hh: '%d oras',\n            d: 'un jorn',\n            dd: '%d jorns',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                    ? 'n'\n                    : number === 3\n                    ? 'r'\n                    : number === 4\n                    ? 't'\n                    : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4,\n        },\n    });\n\n    return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '੧',\n            2: '੨',\n            3: '੩',\n            4: '੪',\n            5: '੫',\n            6: '੬',\n            7: '੭',\n            8: '੮',\n            9: '੯',\n            0: '੦',\n        },\n        numberMap = {\n            '੧': '1',\n            '੨': '2',\n            '੩': '3',\n            '੪': '4',\n            '੫': '5',\n            '੬': '6',\n            '੭': '7',\n            '੮': '8',\n            '੯': '9',\n            '੦': '0',\n        };\n\n    var paIn = moment.defineLocale('pa-in', {\n        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n                '_'\n            ),\n        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm ਵਜੇ',\n            LTS: 'A h:mm:ss ਵਜੇ',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n        },\n        calendar: {\n            sameDay: '[ਅਜ] LT',\n            nextDay: '[ਕਲ] LT',\n            nextWeek: '[ਅਗਲਾ] dddd, LT',\n            lastDay: '[ਕਲ] LT',\n            lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ਵਿੱਚ',\n            past: '%s ਪਿਛਲੇ',\n            s: 'ਕੁਝ ਸਕਿੰਟ',\n            ss: '%d ਸਕਿੰਟ',\n            m: 'ਇਕ ਮਿੰਟ',\n            mm: '%d ਮਿੰਟ',\n            h: 'ਇੱਕ ਘੰਟਾ',\n            hh: '%d ਘੰਟੇ',\n            d: 'ਇੱਕ ਦਿਨ',\n            dd: '%d ਦਿਨ',\n            M: 'ਇੱਕ ਮਹੀਨਾ',\n            MM: '%d ਮਹੀਨੇ',\n            y: 'ਇੱਕ ਸਾਲ',\n            yy: '%d ਸਾਲ',\n        },\n        preparse: function (string) {\n            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ਰਾਤ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ਸਵੇਰ') {\n                return hour;\n            } else if (meridiem === 'ਦੁਪਹਿਰ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ਸ਼ਾਮ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ਰਾਤ';\n            } else if (hour < 10) {\n                return 'ਸਵੇਰ';\n            } else if (hour < 17) {\n                return 'ਦੁਪਹਿਰ';\n            } else if (hour < 20) {\n                return 'ਸ਼ਾਮ';\n            } else {\n                return 'ਰਾਤ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsNominative =\n            'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n                '_'\n            ),\n        monthsSubjective =\n            'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n                '_'\n            ),\n        monthsParse = [\n            /^sty/i,\n            /^lut/i,\n            /^mar/i,\n            /^kwi/i,\n            /^maj/i,\n            /^cze/i,\n            /^lip/i,\n            /^sie/i,\n            /^wrz/i,\n            /^paź/i,\n            /^lis/i,\n            /^gru/i,\n        ];\n    function plural(n) {\n        return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n    }\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                return result + (plural(number) ? 'sekundy' : 'sekund');\n            case 'm':\n                return withoutSuffix ? 'minuta' : 'minutę';\n            case 'mm':\n                return result + (plural(number) ? 'minuty' : 'minut');\n            case 'h':\n                return withoutSuffix ? 'godzina' : 'godzinę';\n            case 'hh':\n                return result + (plural(number) ? 'godziny' : 'godzin');\n            case 'ww':\n                return result + (plural(number) ? 'tygodnie' : 'tygodni');\n            case 'MM':\n                return result + (plural(number) ? 'miesiące' : 'miesięcy');\n            case 'yy':\n                return result + (plural(number) ? 'lata' : 'lat');\n        }\n    }\n\n    var pl = moment.defineLocale('pl', {\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return monthsNominative;\n            } else if (/D MMMM/.test(format)) {\n                return monthsSubjective[momentToFormat.month()];\n            } else {\n                return monthsNominative[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays:\n            'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Dziś o] LT',\n            nextDay: '[Jutro o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W niedzielę o] LT';\n\n                    case 2:\n                        return '[We wtorek o] LT';\n\n                    case 3:\n                        return '[W środę o] LT';\n\n                    case 6:\n                        return '[W sobotę o] LT';\n\n                    default:\n                        return '[W] dddd [o] LT';\n                }\n            },\n            lastDay: '[Wczoraj o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W zeszłą niedzielę o] LT';\n                    case 3:\n                        return '[W zeszłą środę o] LT';\n                    case 6:\n                        return '[W zeszłą sobotę o] LT';\n                    default:\n                        return '[W zeszły] dddd [o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: '%s temu',\n            s: 'kilka sekund',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: '1 dzień',\n            dd: '%d dni',\n            w: 'tydzień',\n            ww: translate,\n            M: 'miesiąc',\n            MM: translate,\n            y: 'rok',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ptBr = moment.defineLocale('pt-br', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n        weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'poucos segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        invalidDate: 'Data inválida',\n    });\n\n    return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pt = moment.defineLocale('pt', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            w: 'uma semana',\n            ww: '%d semanas',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n                ss: 'secunde',\n                mm: 'minute',\n                hh: 'ore',\n                dd: 'zile',\n                ww: 'săptămâni',\n                MM: 'luni',\n                yy: 'ani',\n            },\n            separator = ' ';\n        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n            separator = ' de ';\n        }\n        return number + separator + format[key];\n    }\n\n    var ro = moment.defineLocale('ro', {\n        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n            '_'\n        ),\n        monthsShort:\n            'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[azi la] LT',\n            nextDay: '[mâine la] LT',\n            nextWeek: 'dddd [la] LT',\n            lastDay: '[ieri la] LT',\n            lastWeek: '[fosta] dddd [la] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'peste %s',\n            past: '%s în urmă',\n            s: 'câteva secunde',\n            ss: relativeTimeWithPlural,\n            m: 'un minut',\n            mm: relativeTimeWithPlural,\n            h: 'o oră',\n            hh: relativeTimeWithPlural,\n            d: 'o zi',\n            dd: relativeTimeWithPlural,\n            w: 'o săptămână',\n            ww: relativeTimeWithPlural,\n            M: 'o lună',\n            MM: relativeTimeWithPlural,\n            y: 'un an',\n            yy: relativeTimeWithPlural,\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n            hh: 'час_часа_часов',\n            dd: 'день_дня_дней',\n            ww: 'неделя_недели_недель',\n            MM: 'месяц_месяца_месяцев',\n            yy: 'год_года_лет',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'минута' : 'минуту';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    var monthsParse = [\n        /^янв/i,\n        /^фев/i,\n        /^мар/i,\n        /^апр/i,\n        /^ма[йя]/i,\n        /^июн/i,\n        /^июл/i,\n        /^авг/i,\n        /^сен/i,\n        /^окт/i,\n        /^ноя/i,\n        /^дек/i,\n    ];\n\n    // http://new.gramota.ru/spravka/rules/139-prop : § 103\n    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n    var ru = moment.defineLocale('ru', {\n        months: {\n            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n                '_'\n            ),\n            standalone:\n                'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n                    '_'\n                ),\n        },\n        monthsShort: {\n            // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n                '_'\n            ),\n            standalone:\n                'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n                    '_'\n                ),\n        },\n        weekdays: {\n            standalone:\n                'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n                    '_'\n                ),\n            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n                '_'\n            ),\n            isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n        },\n        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n        monthsRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // копия предыдущего\n        monthsShortRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // полные названия с падежами\n        monthsStrictRegex:\n            /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n        // Выражение, которое соответствует только сокращённым формам\n        monthsShortStrictRegex:\n            /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., H:mm',\n            LLLL: 'dddd, D MMMM YYYY г., H:mm',\n        },\n        calendar: {\n            sameDay: '[Сегодня, в] LT',\n            nextDay: '[Завтра, в] LT',\n            lastDay: '[Вчера, в] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В следующее] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В следующий] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В следующую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            lastWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В прошлое] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В прошлый] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В прошлую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'через %s',\n            past: '%s назад',\n            s: 'несколько секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'час',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            w: 'неделя',\n            ww: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночи|утра|дня|вечера/i,\n        isPM: function (input) {\n            return /^(дня|вечера)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночи';\n            } else if (hour < 12) {\n                return 'утра';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечера';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                case 'w':\n                case 'W':\n                    return number + '-я';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوري',\n            'فيبروري',\n            'مارچ',\n            'اپريل',\n            'مئي',\n            'جون',\n            'جولاءِ',\n            'آگسٽ',\n            'سيپٽمبر',\n            'آڪٽوبر',\n            'نومبر',\n            'ڊسمبر',\n        ],\n        days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n    var sd = moment.defineLocale('sd', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[اڄ] LT',\n            nextDay: '[سڀاڻي] LT',\n            nextWeek: 'dddd [اڳين هفتي تي] LT',\n            lastDay: '[ڪالهه] LT',\n            lastWeek: '[گزريل هفتي] dddd [تي] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s پوء',\n            past: '%s اڳ',\n            s: 'چند سيڪنڊ',\n            ss: '%d سيڪنڊ',\n            m: 'هڪ منٽ',\n            mm: '%d منٽ',\n            h: 'هڪ ڪلاڪ',\n            hh: '%d ڪلاڪ',\n            d: 'هڪ ڏينهن',\n            dd: '%d ڏينهن',\n            M: 'هڪ مهينو',\n            MM: '%d مهينا',\n            y: 'هڪ سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var se = moment.defineLocale('se', {\n        months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n            '_'\n        ),\n        monthsShort:\n            'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n        weekdays:\n            'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n                '_'\n            ),\n        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'MMMM D. [b.] YYYY',\n            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[otne ti] LT',\n            nextDay: '[ihttin ti] LT',\n            nextWeek: 'dddd [ti] LT',\n            lastDay: '[ikte ti] LT',\n            lastWeek: '[ovddit] dddd [ti] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s geažes',\n            past: 'maŋit %s',\n            s: 'moadde sekunddat',\n            ss: '%d sekunddat',\n            m: 'okta minuhta',\n            mm: '%d minuhtat',\n            h: 'okta diimmu',\n            hh: '%d diimmut',\n            d: 'okta beaivi',\n            dd: '%d beaivvit',\n            M: 'okta mánnu',\n            MM: '%d mánut',\n            y: 'okta jahki',\n            yy: '%d jagit',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    /*jshint -W100*/\n    var si = moment.defineLocale('si', {\n        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n            '_'\n        ),\n        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n            '_'\n        ),\n        weekdays:\n            'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n                '_'\n            ),\n        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'a h:mm',\n            LTS: 'a h:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY MMMM D',\n            LLL: 'YYYY MMMM D, a h:mm',\n            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n        },\n        calendar: {\n            sameDay: '[අද] LT[ට]',\n            nextDay: '[හෙට] LT[ට]',\n            nextWeek: 'dddd LT[ට]',\n            lastDay: '[ඊයේ] LT[ට]',\n            lastWeek: '[පසුගිය] dddd LT[ට]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sකින්',\n            past: '%sකට පෙර',\n            s: 'තත්පර කිහිපය',\n            ss: 'තත්පර %d',\n            m: 'මිනිත්තුව',\n            mm: 'මිනිත්තු %d',\n            h: 'පැය',\n            hh: 'පැය %d',\n            d: 'දිනය',\n            dd: 'දින %d',\n            M: 'මාසය',\n            MM: 'මාස %d',\n            y: 'වසර',\n            yy: 'වසර %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n        ordinal: function (number) {\n            return number + ' වැනි';\n        },\n        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n        isPM: function (input) {\n            return input === 'ප.ව.' || input === 'පස් වරු';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'ප.ව.' : 'පස් වරු';\n            } else {\n                return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n            }\n        },\n    });\n\n    return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months =\n            'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n                '_'\n            ),\n        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n    function plural(n) {\n        return n > 1 && n < 5;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekúnd');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minúty' : 'minút');\n                } else {\n                    return result + 'minútami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodín');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'deň' : 'dňom';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dni' : 'dní');\n                } else {\n                    return result + 'dňami';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'mesiace' : 'mesiacov');\n                } else {\n                    return result + 'mesiacmi';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokom';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'rokov');\n                } else {\n                    return result + 'rokmi';\n                }\n        }\n    }\n\n    var sk = moment.defineLocale('sk', {\n        months: months,\n        monthsShort: monthsShort,\n        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[dnes o] LT',\n            nextDay: '[zajtra o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [o] LT';\n                    case 3:\n                        return '[v stredu o] LT';\n                    case 4:\n                        return '[vo štvrtok o] LT';\n                    case 5:\n                        return '[v piatok o] LT';\n                    case 6:\n                        return '[v sobotu o] LT';\n                }\n            },\n            lastDay: '[včera o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulú nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[minulý] dddd [o] LT';\n                    case 3:\n                        return '[minulú stredu o] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [o] LT';\n                    case 6:\n                        return '[minulú sobotu o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pred %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nekaj sekund'\n                    : 'nekaj sekundami';\n            case 'ss':\n                if (number === 1) {\n                    result += withoutSuffix ? 'sekundo' : 'sekundi';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n                } else {\n                    result += 'sekund';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'ena minuta' : 'eno minuto';\n            case 'mm':\n                if (number === 1) {\n                    result += withoutSuffix ? 'minuta' : 'minuto';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'ena ura' : 'eno uro';\n            case 'hh':\n                if (number === 1) {\n                    result += withoutSuffix ? 'ura' : 'uro';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'uri' : 'urama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'ure' : 'urami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'ur' : 'urami';\n                }\n                return result;\n            case 'd':\n                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n            case 'dd':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n                } else {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n                }\n                return result;\n            case 'M':\n                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n            case 'MM':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n                } else {\n                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n                }\n                return result;\n            case 'y':\n                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n            case 'yy':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'leto' : 'letom';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'leta' : 'leti';\n                } else {\n                    result += withoutSuffix || isFuture ? 'let' : 'leti';\n                }\n                return result;\n        }\n    }\n\n    var sl = moment.defineLocale('sl', {\n        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD. MM. YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danes ob] LT',\n            nextDay: '[jutri ob] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[v] [sredo] [ob] LT';\n                    case 6:\n                        return '[v] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[v] dddd [ob] LT';\n                }\n            },\n            lastDay: '[včeraj ob] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prejšnjo] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[prejšnjo] [sredo] [ob] LT';\n                    case 6:\n                        return '[prejšnjo] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prejšnji] dddd [ob] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'čez %s',\n            past: 'pred %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sq = moment.defineLocale('sq', {\n        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n            '_'\n        ),\n        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /PD|MD/,\n        isPM: function (input) {\n            return input.charAt(0) === 'M';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            return hours < 12 ? 'PD' : 'MD';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Sot në] LT',\n            nextDay: '[Nesër në] LT',\n            nextWeek: 'dddd [në] LT',\n            lastDay: '[Dje në] LT',\n            lastWeek: 'dddd [e kaluar në] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'në %s',\n            past: '%s më parë',\n            s: 'disa sekonda',\n            ss: '%d sekonda',\n            m: 'një minutë',\n            mm: '%d minuta',\n            h: 'një orë',\n            hh: '%d orë',\n            d: 'një ditë',\n            dd: '%d ditë',\n            M: 'një muaj',\n            MM: '%d muaj',\n            y: 'një vit',\n            yy: '%d vite',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['секунда', 'секунде', 'секунди'],\n            m: ['један минут', 'једног минута'],\n            mm: ['минут', 'минута', 'минута'],\n            h: ['један сат', 'једног сата'],\n            hh: ['сат', 'сата', 'сати'],\n            d: ['један дан', 'једног дана'],\n            dd: ['дан', 'дана', 'дана'],\n            M: ['један месец', 'једног месеца'],\n            MM: ['месец', 'месеца', 'месеци'],\n            y: ['једну годину', 'једне године'],\n            yy: ['годину', 'године', 'година'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'једна година';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'годину') {\n                return number + ' година';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var srCyrl = moment.defineLocale('sr-cyrl', {\n        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n            '_'\n        ),\n        monthsShort:\n            'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[данас у] LT',\n            nextDay: '[сутра у] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[у] [недељу] [у] LT';\n                    case 3:\n                        return '[у] [среду] [у] LT';\n                    case 6:\n                        return '[у] [суботу] [у] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[у] dddd [у] LT';\n                }\n            },\n            lastDay: '[јуче у] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[прошле] [недеље] [у] LT',\n                    '[прошлог] [понедељка] [у] LT',\n                    '[прошлог] [уторка] [у] LT',\n                    '[прошле] [среде] [у] LT',\n                    '[прошлог] [четвртка] [у] LT',\n                    '[прошлог] [петка] [у] LT',\n                    '[прошле] [суботе] [у] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пре %s',\n            s: 'неколико секунди',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekunda', 'sekunde', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            d: ['jedan dan', 'jednog dana'],\n            dd: ['dan', 'dana', 'dana'],\n            M: ['jedan mesec', 'jednog meseca'],\n            MM: ['mesec', 'meseca', 'meseci'],\n            y: ['jednu godinu', 'jedne godine'],\n            yy: ['godinu', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'jedna godina';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'godinu') {\n                return number + ' godina';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var sr = moment.defineLocale('sr', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedelju] [u] LT';\n                    case 3:\n                        return '[u] [sredu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedelje] [u] LT',\n                    '[prošlog] [ponedeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pre %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ss = moment.defineLocale('ss', {\n        months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n            '_'\n        ),\n        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n        weekdays:\n            'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n                '_'\n            ),\n        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Namuhla nga] LT',\n            nextDay: '[Kusasa nga] LT',\n            nextWeek: 'dddd [nga] LT',\n            lastDay: '[Itolo nga] LT',\n            lastWeek: 'dddd [leliphelile] [nga] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'nga %s',\n            past: 'wenteka nga %s',\n            s: 'emizuzwana lomcane',\n            ss: '%d mzuzwana',\n            m: 'umzuzu',\n            mm: '%d emizuzu',\n            h: 'lihora',\n            hh: '%d emahora',\n            d: 'lilanga',\n            dd: '%d emalanga',\n            M: 'inyanga',\n            MM: '%d tinyanga',\n            y: 'umnyaka',\n            yy: '%d iminyaka',\n        },\n        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'ekuseni';\n            } else if (hours < 15) {\n                return 'emini';\n            } else if (hours < 19) {\n                return 'entsambama';\n            } else {\n                return 'ebusuku';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ekuseni') {\n                return hour;\n            } else if (meridiem === 'emini') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n                if (hour === 0) {\n                    return 0;\n                }\n                return hour + 12;\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: '%d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sv = moment.defineLocale('sv', {\n        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Idag] LT',\n            nextDay: '[Imorgon] LT',\n            lastDay: '[Igår] LT',\n            nextWeek: '[På] dddd LT',\n            lastWeek: '[I] dddd[s] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: 'för %s sedan',\n            s: 'några sekunder',\n            ss: '%d sekunder',\n            m: 'en minut',\n            mm: '%d minuter',\n            h: 'en timme',\n            hh: '%d timmar',\n            d: 'en dag',\n            dd: '%d dagar',\n            M: 'en månad',\n            MM: '%d månader',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? ':e'\n                        : b === 1\n                        ? ':a'\n                        : b === 2\n                        ? ':a'\n                        : b === 3\n                        ? ':e'\n                        : ':e';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sw = moment.defineLocale('sw', {\n        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n        weekdays:\n            'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n                '_'\n            ),\n        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'hh:mm A',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[leo saa] LT',\n            nextDay: '[kesho saa] LT',\n            nextWeek: '[wiki ijayo] dddd [saat] LT',\n            lastDay: '[jana] LT',\n            lastWeek: '[wiki iliyopita] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s baadaye',\n            past: 'tokea %s',\n            s: 'hivi punde',\n            ss: 'sekunde %d',\n            m: 'dakika moja',\n            mm: 'dakika %d',\n            h: 'saa limoja',\n            hh: 'masaa %d',\n            d: 'siku moja',\n            dd: 'siku %d',\n            M: 'mwezi mmoja',\n            MM: 'miezi %d',\n            y: 'mwaka mmoja',\n            yy: 'miaka %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '௧',\n            2: '௨',\n            3: '௩',\n            4: '௪',\n            5: '௫',\n            6: '௬',\n            7: '௭',\n            8: '௮',\n            9: '௯',\n            0: '௦',\n        },\n        numberMap = {\n            '௧': '1',\n            '௨': '2',\n            '௩': '3',\n            '௪': '4',\n            '௫': '5',\n            '௬': '6',\n            '௭': '7',\n            '௮': '8',\n            '௯': '9',\n            '௦': '0',\n        };\n\n    var ta = moment.defineLocale('ta', {\n        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n            '_'\n        ),\n        monthsShort:\n            'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n                '_'\n            ),\n        weekdays:\n            'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n                '_'\n            ),\n        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n            '_'\n        ),\n        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, HH:mm',\n            LLLL: 'dddd, D MMMM YYYY, HH:mm',\n        },\n        calendar: {\n            sameDay: '[இன்று] LT',\n            nextDay: '[நாளை] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[நேற்று] LT',\n            lastWeek: '[கடந்த வாரம்] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s இல்',\n            past: '%s முன்',\n            s: 'ஒரு சில விநாடிகள்',\n            ss: '%d விநாடிகள்',\n            m: 'ஒரு நிமிடம்',\n            mm: '%d நிமிடங்கள்',\n            h: 'ஒரு மணி நேரம்',\n            hh: '%d மணி நேரம்',\n            d: 'ஒரு நாள்',\n            dd: '%d நாட்கள்',\n            M: 'ஒரு மாதம்',\n            MM: '%d மாதங்கள்',\n            y: 'ஒரு வருடம்',\n            yy: '%d ஆண்டுகள்',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n        ordinal: function (number) {\n            return number + 'வது';\n        },\n        preparse: function (string) {\n            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // refer http://ta.wikipedia.org/s/1er1\n        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 2) {\n                return ' யாமம்';\n            } else if (hour < 6) {\n                return ' வைகறை'; // வைகறை\n            } else if (hour < 10) {\n                return ' காலை'; // காலை\n            } else if (hour < 14) {\n                return ' நண்பகல்'; // நண்பகல்\n            } else if (hour < 18) {\n                return ' எற்பாடு'; // எற்பாடு\n            } else if (hour < 22) {\n                return ' மாலை'; // மாலை\n            } else {\n                return ' யாமம்';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'யாமம்') {\n                return hour < 2 ? hour : hour + 12;\n            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n                return hour;\n            } else if (meridiem === 'நண்பகல்') {\n                return hour >= 10 ? hour : hour + 12;\n            } else {\n                return hour + 12;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var te = moment.defineLocale('te', {\n        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n            '_'\n        ),\n        monthsShort:\n            'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n                '_'\n            ),\n        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[నేడు] LT',\n            nextDay: '[రేపు] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[నిన్న] LT',\n            lastWeek: '[గత] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s లో',\n            past: '%s క్రితం',\n            s: 'కొన్ని క్షణాలు',\n            ss: '%d సెకన్లు',\n            m: 'ఒక నిమిషం',\n            mm: '%d నిమిషాలు',\n            h: 'ఒక గంట',\n            hh: '%d గంటలు',\n            d: 'ఒక రోజు',\n            dd: '%d రోజులు',\n            M: 'ఒక నెల',\n            MM: '%d నెలలు',\n            y: 'ఒక సంవత్సరం',\n            yy: '%d సంవత్సరాలు',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n        ordinal: '%dవ',\n        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'రాత్రి') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ఉదయం') {\n                return hour;\n            } else if (meridiem === 'మధ్యాహ్నం') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'సాయంత్రం') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'రాత్రి';\n            } else if (hour < 10) {\n                return 'ఉదయం';\n            } else if (hour < 17) {\n                return 'మధ్యాహ్నం';\n            } else if (hour < 20) {\n                return 'సాయంత్రం';\n            } else {\n                return 'రాత్రి';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tet = moment.defineLocale('tet', {\n        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Ohin iha] LT',\n            nextDay: '[Aban iha] LT',\n            nextWeek: 'dddd [iha] LT',\n            lastDay: '[Horiseik iha] LT',\n            lastWeek: 'dddd [semana kotuk] [iha] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'iha %s',\n            past: '%s liuba',\n            s: 'segundu balun',\n            ss: 'segundu %d',\n            m: 'minutu ida',\n            mm: 'minutu %d',\n            h: 'oras ida',\n            hh: 'oras %d',\n            d: 'loron ida',\n            dd: 'loron %d',\n            M: 'fulan ida',\n            MM: 'fulan %d',\n            y: 'tinan ida',\n            yy: 'tinan %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ум',\n        1: '-ум',\n        2: '-юм',\n        3: '-юм',\n        4: '-ум',\n        5: '-ум',\n        6: '-ум',\n        7: '-ум',\n        8: '-ум',\n        9: '-ум',\n        10: '-ум',\n        12: '-ум',\n        13: '-ум',\n        20: '-ум',\n        30: '-юм',\n        40: '-ум',\n        50: '-ум',\n        60: '-ум',\n        70: '-ум',\n        80: '-ум',\n        90: '-ум',\n        100: '-ум',\n    };\n\n    var tg = moment.defineLocale('tg', {\n        months: {\n            format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n                '_'\n            ),\n            standalone:\n                'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n            '_'\n        ),\n        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Имрӯз соати] LT',\n            nextDay: '[Фардо соати] LT',\n            lastDay: '[Дирӯз соати] LT',\n            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'баъди %s',\n            past: '%s пеш',\n            s: 'якчанд сония',\n            m: 'як дақиқа',\n            mm: '%d дақиқа',\n            h: 'як соат',\n            hh: '%d соат',\n            d: 'як рӯз',\n            dd: '%d рӯз',\n            M: 'як моҳ',\n            MM: '%d моҳ',\n            y: 'як сол',\n            yy: '%d сол',\n        },\n        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'шаб') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'субҳ') {\n                return hour;\n            } else if (meridiem === 'рӯз') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'бегоҳ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'шаб';\n            } else if (hour < 11) {\n                return 'субҳ';\n            } else if (hour < 16) {\n                return 'рӯз';\n            } else if (hour < 19) {\n                return 'бегоҳ';\n            } else {\n                return 'шаб';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1th is the first week of the year.\n        },\n    });\n\n    return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var th = moment.defineLocale('th', {\n        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n            '_'\n        ),\n        monthsShort:\n            'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY เวลา H:mm',\n            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n        },\n        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n        isPM: function (input) {\n            return input === 'หลังเที่ยง';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ก่อนเที่ยง';\n            } else {\n                return 'หลังเที่ยง';\n            }\n        },\n        calendar: {\n            sameDay: '[วันนี้ เวลา] LT',\n            nextDay: '[พรุ่งนี้ เวลา] LT',\n            nextWeek: 'dddd[หน้า เวลา] LT',\n            lastDay: '[เมื่อวานนี้ เวลา] LT',\n            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'อีก %s',\n            past: '%sที่แล้ว',\n            s: 'ไม่กี่วินาที',\n            ss: '%d วินาที',\n            m: '1 นาที',\n            mm: '%d นาที',\n            h: '1 ชั่วโมง',\n            hh: '%d ชั่วโมง',\n            d: '1 วัน',\n            dd: '%d วัน',\n            w: '1 สัปดาห์',\n            ww: '%d สัปดาห์',\n            M: '1 เดือน',\n            MM: '%d เดือน',\n            y: '1 ปี',\n            yy: '%d ปี',\n        },\n    });\n\n    return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inji\",\n        5: \"'inji\",\n        8: \"'inji\",\n        70: \"'inji\",\n        80: \"'inji\",\n        2: \"'nji\",\n        7: \"'nji\",\n        20: \"'nji\",\n        50: \"'nji\",\n        3: \"'ünji\",\n        4: \"'ünji\",\n        100: \"'ünji\",\n        6: \"'njy\",\n        9: \"'unjy\",\n        10: \"'unjy\",\n        30: \"'unjy\",\n        60: \"'ynjy\",\n        90: \"'ynjy\",\n    };\n\n    var tk = moment.defineLocale('tk', {\n        months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n        weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n            '_'\n        ),\n        weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n        weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün sagat] LT',\n            nextDay: '[ertir sagat] LT',\n            nextWeek: '[indiki] dddd [sagat] LT',\n            lastDay: '[düýn] LT',\n            lastWeek: '[geçen] dddd [sagat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s soň',\n            past: '%s öň',\n            s: 'birnäçe sekunt',\n            m: 'bir minut',\n            mm: '%d minut',\n            h: 'bir sagat',\n            hh: '%d sagat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir aý',\n            MM: '%d aý',\n            y: 'bir ýyl',\n            yy: '%d ýyl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'unjy\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tlPh = moment.defineLocale('tl-ph', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n    function translateFuture(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'leS'\n                : output.indexOf('jar') !== -1\n                ? time.slice(0, -3) + 'waQ'\n                : output.indexOf('DIS') !== -1\n                ? time.slice(0, -3) + 'nem'\n                : time + ' pIq';\n        return time;\n    }\n\n    function translatePast(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'Hu’'\n                : output.indexOf('jar') !== -1\n                ? time.slice(0, -3) + 'wen'\n                : output.indexOf('DIS') !== -1\n                ? time.slice(0, -3) + 'ben'\n                : time + ' ret';\n        return time;\n    }\n\n    function translate(number, withoutSuffix, string, isFuture) {\n        var numberNoun = numberAsNoun(number);\n        switch (string) {\n            case 'ss':\n                return numberNoun + ' lup';\n            case 'mm':\n                return numberNoun + ' tup';\n            case 'hh':\n                return numberNoun + ' rep';\n            case 'dd':\n                return numberNoun + ' jaj';\n            case 'MM':\n                return numberNoun + ' jar';\n            case 'yy':\n                return numberNoun + ' DIS';\n        }\n    }\n\n    function numberAsNoun(number) {\n        var hundred = Math.floor((number % 1000) / 100),\n            ten = Math.floor((number % 100) / 10),\n            one = number % 10,\n            word = '';\n        if (hundred > 0) {\n            word += numbersNouns[hundred] + 'vatlh';\n        }\n        if (ten > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n        }\n        if (one > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[one];\n        }\n        return word === '' ? 'pagh' : word;\n    }\n\n    var tlh = moment.defineLocale('tlh', {\n        months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n            '_'\n        ),\n        monthsShort:\n            'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        weekdaysShort:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        weekdaysMin:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[DaHjaj] LT',\n            nextDay: '[wa’leS] LT',\n            nextWeek: 'LLL',\n            lastDay: '[wa’Hu’] LT',\n            lastWeek: 'LLL',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: translateFuture,\n            past: translatePast,\n            s: 'puS lup',\n            ss: translate,\n            m: 'wa’ tup',\n            mm: translate,\n            h: 'wa’ rep',\n            hh: translate,\n            d: 'wa’ jaj',\n            dd: translate,\n            M: 'wa’ jar',\n            MM: translate,\n            y: 'wa’ DIS',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//!           Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inci\",\n        5: \"'inci\",\n        8: \"'inci\",\n        70: \"'inci\",\n        80: \"'inci\",\n        2: \"'nci\",\n        7: \"'nci\",\n        20: \"'nci\",\n        50: \"'nci\",\n        3: \"'üncü\",\n        4: \"'üncü\",\n        100: \"'üncü\",\n        6: \"'ncı\",\n        9: \"'uncu\",\n        10: \"'uncu\",\n        30: \"'uncu\",\n        60: \"'ıncı\",\n        90: \"'ıncı\",\n    };\n\n    var tr = moment.defineLocale('tr', {\n        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n            '_'\n        ),\n        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n            '_'\n        ),\n        weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'öö' : 'ÖÖ';\n            } else {\n                return isLower ? 'ös' : 'ÖS';\n            }\n        },\n        meridiemParse: /öö|ÖÖ|ös|ÖS/,\n        isPM: function (input) {\n            return input === 'ös' || input === 'ÖS';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[yarın saat] LT',\n            nextWeek: '[gelecek] dddd [saat] LT',\n            lastDay: '[dün] LT',\n            lastWeek: '[geçen] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s önce',\n            s: 'birkaç saniye',\n            ss: '%d saniye',\n            m: 'bir dakika',\n            mm: '%d dakika',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            w: 'bir hafta',\n            ww: '%d hafta',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir yıl',\n            yy: '%d yıl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'ıncı\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n    // This is currently too difficult (maybe even impossible) to add.\n    var tzl = moment.defineLocale('tzl', {\n        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM [dallas] YYYY',\n            LLL: 'D. MMMM [dallas] YYYY HH.mm',\n            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n        },\n        meridiemParse: /d\\'o|d\\'a/i,\n        isPM: function (input) {\n            return \"d'o\" === input.toLowerCase();\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? \"d'o\" : \"D'O\";\n            } else {\n                return isLower ? \"d'a\" : \"D'A\";\n            }\n        },\n        calendar: {\n            sameDay: '[oxhi à] LT',\n            nextDay: '[demà à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[ieiri à] LT',\n            lastWeek: '[sür el] dddd [lasteu à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'osprei %s',\n            past: 'ja%s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['viensas secunds', \"'iensas secunds\"],\n            ss: [number + ' secunds', '' + number + ' secunds'],\n            m: [\"'n míut\", \"'iens míut\"],\n            mm: [number + ' míuts', '' + number + ' míuts'],\n            h: [\"'n þora\", \"'iensa þora\"],\n            hh: [number + ' þoras', '' + number + ' þoras'],\n            d: [\"'n ziua\", \"'iensa ziua\"],\n            dd: [number + ' ziuas', '' + number + ' ziuas'],\n            M: [\"'n mes\", \"'iens mes\"],\n            MM: [number + ' mesen', '' + number + ' mesen'],\n            y: [\"'n ar\", \"'iens ar\"],\n            yy: [number + ' ars', '' + number + ' ars'],\n        };\n        return isFuture\n            ? format[key][0]\n            : withoutSuffix\n            ? format[key][0]\n            : format[key][1];\n    }\n\n    return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzmLatn = moment.defineLocale('tzm-latn', {\n        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n            '_'\n        ),\n        monthsShort:\n            'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n                '_'\n            ),\n        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[asdkh g] LT',\n            nextDay: '[aska g] LT',\n            nextWeek: 'dddd [g] LT',\n            lastDay: '[assant g] LT',\n            lastWeek: 'dddd [g] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dadkh s yan %s',\n            past: 'yan %s',\n            s: 'imik',\n            ss: '%d imik',\n            m: 'minuḍ',\n            mm: '%d minuḍ',\n            h: 'saɛa',\n            hh: '%d tassaɛin',\n            d: 'ass',\n            dd: '%d ossan',\n            M: 'ayowr',\n            MM: '%d iyyirn',\n            y: 'asgas',\n            yy: '%d isgasn',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzm = moment.defineLocale('tzm', {\n        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n                '_'\n            ),\n        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n            nextWeek: 'dddd [ⴴ] LT',\n            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n            lastWeek: 'dddd [ⴴ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n            past: 'ⵢⴰⵏ %s',\n            s: 'ⵉⵎⵉⴽ',\n            ss: '%d ⵉⵎⵉⴽ',\n            m: 'ⵎⵉⵏⵓⴺ',\n            mm: '%d ⵎⵉⵏⵓⴺ',\n            h: 'ⵙⴰⵄⴰ',\n            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n            d: 'ⴰⵙⵙ',\n            dd: '%d oⵙⵙⴰⵏ',\n            M: 'ⴰⵢoⵓⵔ',\n            MM: '%d ⵉⵢⵢⵉⵔⵏ',\n            y: 'ⴰⵙⴳⴰⵙ',\n            yy: '%d ⵉⵙⴳⴰⵙⵏ',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ugCn = moment.defineLocale('ug-cn', {\n        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n                '_'\n            ),\n        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n            '_'\n        ),\n        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n        },\n        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                meridiem === 'يېرىم كېچە' ||\n                meridiem === 'سەھەر' ||\n                meridiem === 'چۈشتىن بۇرۇن'\n            ) {\n                return hour;\n            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n                return hour + 12;\n            } else {\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return 'يېرىم كېچە';\n            } else if (hm < 900) {\n                return 'سەھەر';\n            } else if (hm < 1130) {\n                return 'چۈشتىن بۇرۇن';\n            } else if (hm < 1230) {\n                return 'چۈش';\n            } else if (hm < 1800) {\n                return 'چۈشتىن كېيىن';\n            } else {\n                return 'كەچ';\n            }\n        },\n        calendar: {\n            sameDay: '[بۈگۈن سائەت] LT',\n            nextDay: '[ئەتە سائەت] LT',\n            nextWeek: '[كېلەركى] dddd [سائەت] LT',\n            lastDay: '[تۆنۈگۈن] LT',\n            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s كېيىن',\n            past: '%s بۇرۇن',\n            s: 'نەچچە سېكونت',\n            ss: '%d سېكونت',\n            m: 'بىر مىنۇت',\n            mm: '%d مىنۇت',\n            h: 'بىر سائەت',\n            hh: '%d سائەت',\n            d: 'بىر كۈن',\n            dd: '%d كۈن',\n            M: 'بىر ئاي',\n            MM: '%d ئاي',\n            y: 'بىر يىل',\n            yy: '%d يىل',\n        },\n\n        dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '-كۈنى';\n                case 'w':\n                case 'W':\n                    return number + '-ھەپتە';\n                default:\n                    return number;\n            }\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n            mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n            hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n            dd: 'день_дні_днів',\n            MM: 'місяць_місяці_місяців',\n            yy: 'рік_роки_років',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвилина' : 'хвилину';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'година' : 'годину';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    function weekdaysCaseReplace(m, format) {\n        var weekdays = {\n                nominative:\n                    'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n                        '_'\n                    ),\n                accusative:\n                    'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n                        '_'\n                    ),\n                genitive:\n                    'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n                        '_'\n                    ),\n            },\n            nounCase;\n\n        if (m === true) {\n            return weekdays['nominative']\n                .slice(1, 7)\n                .concat(weekdays['nominative'].slice(0, 1));\n        }\n        if (!m) {\n            return weekdays['nominative'];\n        }\n\n        nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n            ? 'accusative'\n            : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n            ? 'genitive'\n            : 'nominative';\n        return weekdays[nounCase][m.day()];\n    }\n    function processHoursFunction(str) {\n        return function () {\n            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n        };\n    }\n\n    var uk = moment.defineLocale('uk', {\n        months: {\n            format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n                '_'\n            ),\n            standalone:\n                'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n            '_'\n        ),\n        weekdays: weekdaysCaseReplace,\n        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY р.',\n            LLL: 'D MMMM YYYY р., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n        },\n        calendar: {\n            sameDay: processHoursFunction('[Сьогодні '),\n            nextDay: processHoursFunction('[Завтра '),\n            lastDay: processHoursFunction('[Вчора '),\n            nextWeek: processHoursFunction('[У] dddd ['),\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return processHoursFunction('[Минулої] dddd [').call(this);\n                    case 1:\n                    case 2:\n                    case 4:\n                        return processHoursFunction('[Минулого] dddd [').call(this);\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: '%s тому',\n            s: 'декілька секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'годину',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            M: 'місяць',\n            MM: relativeTimeWithPlural,\n            y: 'рік',\n            yy: relativeTimeWithPlural,\n        },\n        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n        meridiemParse: /ночі|ранку|дня|вечора/,\n        isPM: function (input) {\n            return /^(дня|вечора)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночі';\n            } else if (hour < 12) {\n                return 'ранку';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечора';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوری',\n            'فروری',\n            'مارچ',\n            'اپریل',\n            'مئی',\n            'جون',\n            'جولائی',\n            'اگست',\n            'ستمبر',\n            'اکتوبر',\n            'نومبر',\n            'دسمبر',\n        ],\n        days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n    var ur = moment.defineLocale('ur', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[آج بوقت] LT',\n            nextDay: '[کل بوقت] LT',\n            nextWeek: 'dddd [بوقت] LT',\n            lastDay: '[گذشتہ روز بوقت] LT',\n            lastWeek: '[گذشتہ] dddd [بوقت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s بعد',\n            past: '%s قبل',\n            s: 'چند سیکنڈ',\n            ss: '%d سیکنڈ',\n            m: 'ایک منٹ',\n            mm: '%d منٹ',\n            h: 'ایک گھنٹہ',\n            hh: '%d گھنٹے',\n            d: 'ایک دن',\n            dd: '%d دن',\n            M: 'ایک ماہ',\n            MM: '%d ماہ',\n            y: 'ایک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uzLatn = moment.defineLocale('uz-latn', {\n        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n        weekdays:\n            'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n                '_'\n            ),\n        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bugun soat] LT [da]',\n            nextDay: '[Ertaga] LT [da]',\n            nextWeek: 'dddd [kuni soat] LT [da]',\n            lastDay: '[Kecha soat] LT [da]',\n            lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Yaqin %s ichida',\n            past: 'Bir necha %s oldin',\n            s: 'soniya',\n            ss: '%d soniya',\n            m: 'bir daqiqa',\n            mm: '%d daqiqa',\n            h: 'bir soat',\n            hh: '%d soat',\n            d: 'bir kun',\n            dd: '%d kun',\n            M: 'bir oy',\n            MM: '%d oy',\n            y: 'bir yil',\n            yy: '%d yil',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uz = moment.defineLocale('uz', {\n        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бугун соат] LT [да]',\n            nextDay: '[Эртага] LT [да]',\n            nextWeek: 'dddd [куни соат] LT [да]',\n            lastDay: '[Кеча соат] LT [да]',\n            lastWeek: '[Утган] dddd [куни соат] LT [да]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Якин %s ичида',\n            past: 'Бир неча %s олдин',\n            s: 'фурсат',\n            ss: '%d фурсат',\n            m: 'бир дакика',\n            mm: '%d дакика',\n            h: 'бир соат',\n            hh: '%d соат',\n            d: 'бир кун',\n            dd: '%d кун',\n            M: 'бир ой',\n            MM: '%d ой',\n            y: 'бир йил',\n            yy: '%d йил',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var vi = moment.defineLocale('vi', {\n        months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n            '_'\n        ),\n        monthsShort:\n            'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n            '_'\n        ),\n        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /sa|ch/i,\n        isPM: function (input) {\n            return /^ch$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'sa' : 'SA';\n            } else {\n                return isLower ? 'ch' : 'CH';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [năm] YYYY',\n            LLL: 'D MMMM [năm] YYYY HH:mm',\n            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n            l: 'DD/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hôm nay lúc] LT',\n            nextDay: '[Ngày mai lúc] LT',\n            nextWeek: 'dddd [tuần tới lúc] LT',\n            lastDay: '[Hôm qua lúc] LT',\n            lastWeek: 'dddd [tuần trước lúc] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s tới',\n            past: '%s trước',\n            s: 'vài giây',\n            ss: '%d giây',\n            m: 'một phút',\n            mm: '%d phút',\n            h: 'một giờ',\n            hh: '%d giờ',\n            d: 'một ngày',\n            dd: '%d ngày',\n            w: 'một tuần',\n            ww: '%d tuần',\n            M: 'một tháng',\n            MM: '%d tháng',\n            y: 'một năm',\n            yy: '%d năm',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var xPseudo = moment.defineLocale('x-pseudo', {\n        months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n            '_'\n        ),\n        monthsShort:\n            'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n                '_'\n            ),\n        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[T~ódá~ý át] LT',\n            nextDay: '[T~ómó~rró~w át] LT',\n            nextWeek: 'dddd [át] LT',\n            lastDay: '[Ý~ést~érdá~ý át] LT',\n            lastWeek: '[L~ást] dddd [át] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'í~ñ %s',\n            past: '%s á~gó',\n            s: 'á ~féw ~sécó~ñds',\n            ss: '%d s~écóñ~ds',\n            m: 'á ~míñ~úté',\n            mm: '%d m~íñú~tés',\n            h: 'á~ñ hó~úr',\n            hh: '%d h~óúrs',\n            d: 'á ~dáý',\n            dd: '%d d~áýs',\n            M: 'á ~móñ~th',\n            MM: '%d m~óñt~hs',\n            y: 'á ~ýéár',\n            yy: '%d ý~éárs',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var yo = moment.defineLocale('yo', {\n        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n            '_'\n        ),\n        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Ònì ni] LT',\n            nextDay: '[Ọ̀la ni] LT',\n            nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n            lastDay: '[Àna ni] LT',\n            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ní %s',\n            past: '%s kọjá',\n            s: 'ìsẹjú aayá die',\n            ss: 'aayá %d',\n            m: 'ìsẹjú kan',\n            mm: 'ìsẹjú %d',\n            h: 'wákati kan',\n            hh: 'wákati %d',\n            d: 'ọjọ́ kan',\n            dd: 'ọjọ́ %d',\n            M: 'osù kan',\n            MM: 'osù %d',\n            y: 'ọdún kan',\n            yy: 'ọdún %d',\n        },\n        dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n        ordinal: 'ọjọ́ %d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhCn = moment.defineLocale('zh-cn', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日Ah点mm分',\n            LLLL: 'YYYY年M月D日ddddAh点mm分',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            } else {\n                // '中午'\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[下]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            lastDay: '[昨天]LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[上]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '周';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s后',\n            past: '%s前',\n            s: '几秒',\n            ss: '%d 秒',\n            m: '1 分钟',\n            mm: '%d 分钟',\n            h: '1 小时',\n            hh: '%d 小时',\n            d: '1 天',\n            dd: '%d 天',\n            w: '1 周',\n            ww: '%d 周',\n            M: '1 个月',\n            MM: '%d 个月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhHk = moment.defineLocale('zh-hk', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1200) {\n                return '上午';\n            } else if (hm === 1200) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: '[下]ddddLT',\n            lastDay: '[昨天]LT',\n            lastWeek: '[上]ddddLT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhMo = moment.defineLocale('zh-mo', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s內',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhTw = moment.defineLocale('zh-tw', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhTw;\n\n})));\n","var map = {\n\t\"./af\": 157,\n\t\"./af.js\": 157,\n\t\"./ar\": 158,\n\t\"./ar-dz\": 159,\n\t\"./ar-dz.js\": 159,\n\t\"./ar-kw\": 160,\n\t\"./ar-kw.js\": 160,\n\t\"./ar-ly\": 161,\n\t\"./ar-ly.js\": 161,\n\t\"./ar-ma\": 162,\n\t\"./ar-ma.js\": 162,\n\t\"./ar-sa\": 163,\n\t\"./ar-sa.js\": 163,\n\t\"./ar-tn\": 164,\n\t\"./ar-tn.js\": 164,\n\t\"./ar.js\": 158,\n\t\"./az\": 165,\n\t\"./az.js\": 165,\n\t\"./be\": 166,\n\t\"./be.js\": 166,\n\t\"./bg\": 167,\n\t\"./bg.js\": 167,\n\t\"./bm\": 168,\n\t\"./bm.js\": 168,\n\t\"./bn\": 169,\n\t\"./bn-bd\": 170,\n\t\"./bn-bd.js\": 170,\n\t\"./bn.js\": 169,\n\t\"./bo\": 171,\n\t\"./bo.js\": 171,\n\t\"./br\": 172,\n\t\"./br.js\": 172,\n\t\"./bs\": 173,\n\t\"./bs.js\": 173,\n\t\"./ca\": 174,\n\t\"./ca.js\": 174,\n\t\"./cs\": 175,\n\t\"./cs.js\": 175,\n\t\"./cv\": 176,\n\t\"./cv.js\": 176,\n\t\"./cy\": 177,\n\t\"./cy.js\": 177,\n\t\"./da\": 178,\n\t\"./da.js\": 178,\n\t\"./de\": 179,\n\t\"./de-at\": 180,\n\t\"./de-at.js\": 180,\n\t\"./de-ch\": 181,\n\t\"./de-ch.js\": 181,\n\t\"./de.js\": 179,\n\t\"./dv\": 182,\n\t\"./dv.js\": 182,\n\t\"./el\": 183,\n\t\"./el.js\": 183,\n\t\"./en-au\": 184,\n\t\"./en-au.js\": 184,\n\t\"./en-ca\": 185,\n\t\"./en-ca.js\": 185,\n\t\"./en-gb\": 186,\n\t\"./en-gb.js\": 186,\n\t\"./en-ie\": 187,\n\t\"./en-ie.js\": 187,\n\t\"./en-il\": 188,\n\t\"./en-il.js\": 188,\n\t\"./en-in\": 189,\n\t\"./en-in.js\": 189,\n\t\"./en-nz\": 190,\n\t\"./en-nz.js\": 190,\n\t\"./en-sg\": 191,\n\t\"./en-sg.js\": 191,\n\t\"./eo\": 192,\n\t\"./eo.js\": 192,\n\t\"./es\": 193,\n\t\"./es-do\": 194,\n\t\"./es-do.js\": 194,\n\t\"./es-mx\": 195,\n\t\"./es-mx.js\": 195,\n\t\"./es-us\": 196,\n\t\"./es-us.js\": 196,\n\t\"./es.js\": 193,\n\t\"./et\": 197,\n\t\"./et.js\": 197,\n\t\"./eu\": 198,\n\t\"./eu.js\": 198,\n\t\"./fa\": 199,\n\t\"./fa.js\": 199,\n\t\"./fi\": 200,\n\t\"./fi.js\": 200,\n\t\"./fil\": 201,\n\t\"./fil.js\": 201,\n\t\"./fo\": 202,\n\t\"./fo.js\": 202,\n\t\"./fr\": 203,\n\t\"./fr-ca\": 204,\n\t\"./fr-ca.js\": 204,\n\t\"./fr-ch\": 205,\n\t\"./fr-ch.js\": 205,\n\t\"./fr.js\": 203,\n\t\"./fy\": 206,\n\t\"./fy.js\": 206,\n\t\"./ga\": 207,\n\t\"./ga.js\": 207,\n\t\"./gd\": 208,\n\t\"./gd.js\": 208,\n\t\"./gl\": 209,\n\t\"./gl.js\": 209,\n\t\"./gom-deva\": 210,\n\t\"./gom-deva.js\": 210,\n\t\"./gom-latn\": 211,\n\t\"./gom-latn.js\": 211,\n\t\"./gu\": 212,\n\t\"./gu.js\": 212,\n\t\"./he\": 213,\n\t\"./he.js\": 213,\n\t\"./hi\": 214,\n\t\"./hi.js\": 214,\n\t\"./hr\": 215,\n\t\"./hr.js\": 215,\n\t\"./hu\": 216,\n\t\"./hu.js\": 216,\n\t\"./hy-am\": 217,\n\t\"./hy-am.js\": 217,\n\t\"./id\": 218,\n\t\"./id.js\": 218,\n\t\"./is\": 219,\n\t\"./is.js\": 219,\n\t\"./it\": 220,\n\t\"./it-ch\": 221,\n\t\"./it-ch.js\": 221,\n\t\"./it.js\": 220,\n\t\"./ja\": 222,\n\t\"./ja.js\": 222,\n\t\"./jv\": 223,\n\t\"./jv.js\": 223,\n\t\"./ka\": 224,\n\t\"./ka.js\": 224,\n\t\"./kk\": 225,\n\t\"./kk.js\": 225,\n\t\"./km\": 226,\n\t\"./km.js\": 226,\n\t\"./kn\": 227,\n\t\"./kn.js\": 227,\n\t\"./ko\": 228,\n\t\"./ko.js\": 228,\n\t\"./ku\": 229,\n\t\"./ku.js\": 229,\n\t\"./ky\": 230,\n\t\"./ky.js\": 230,\n\t\"./lb\": 231,\n\t\"./lb.js\": 231,\n\t\"./lo\": 232,\n\t\"./lo.js\": 232,\n\t\"./lt\": 233,\n\t\"./lt.js\": 233,\n\t\"./lv\": 234,\n\t\"./lv.js\": 234,\n\t\"./me\": 235,\n\t\"./me.js\": 235,\n\t\"./mi\": 236,\n\t\"./mi.js\": 236,\n\t\"./mk\": 237,\n\t\"./mk.js\": 237,\n\t\"./ml\": 238,\n\t\"./ml.js\": 238,\n\t\"./mn\": 239,\n\t\"./mn.js\": 239,\n\t\"./mr\": 240,\n\t\"./mr.js\": 240,\n\t\"./ms\": 241,\n\t\"./ms-my\": 242,\n\t\"./ms-my.js\": 242,\n\t\"./ms.js\": 241,\n\t\"./mt\": 243,\n\t\"./mt.js\": 243,\n\t\"./my\": 244,\n\t\"./my.js\": 244,\n\t\"./nb\": 245,\n\t\"./nb.js\": 245,\n\t\"./ne\": 246,\n\t\"./ne.js\": 246,\n\t\"./nl\": 247,\n\t\"./nl-be\": 248,\n\t\"./nl-be.js\": 248,\n\t\"./nl.js\": 247,\n\t\"./nn\": 249,\n\t\"./nn.js\": 249,\n\t\"./oc-lnc\": 250,\n\t\"./oc-lnc.js\": 250,\n\t\"./pa-in\": 251,\n\t\"./pa-in.js\": 251,\n\t\"./pl\": 252,\n\t\"./pl.js\": 252,\n\t\"./pt\": 253,\n\t\"./pt-br\": 254,\n\t\"./pt-br.js\": 254,\n\t\"./pt.js\": 253,\n\t\"./ro\": 255,\n\t\"./ro.js\": 255,\n\t\"./ru\": 256,\n\t\"./ru.js\": 256,\n\t\"./sd\": 257,\n\t\"./sd.js\": 257,\n\t\"./se\": 258,\n\t\"./se.js\": 258,\n\t\"./si\": 259,\n\t\"./si.js\": 259,\n\t\"./sk\": 260,\n\t\"./sk.js\": 260,\n\t\"./sl\": 261,\n\t\"./sl.js\": 261,\n\t\"./sq\": 262,\n\t\"./sq.js\": 262,\n\t\"./sr\": 263,\n\t\"./sr-cyrl\": 264,\n\t\"./sr-cyrl.js\": 264,\n\t\"./sr.js\": 263,\n\t\"./ss\": 265,\n\t\"./ss.js\": 265,\n\t\"./sv\": 266,\n\t\"./sv.js\": 266,\n\t\"./sw\": 267,\n\t\"./sw.js\": 267,\n\t\"./ta\": 268,\n\t\"./ta.js\": 268,\n\t\"./te\": 269,\n\t\"./te.js\": 269,\n\t\"./tet\": 270,\n\t\"./tet.js\": 270,\n\t\"./tg\": 271,\n\t\"./tg.js\": 271,\n\t\"./th\": 272,\n\t\"./th.js\": 272,\n\t\"./tk\": 273,\n\t\"./tk.js\": 273,\n\t\"./tl-ph\": 274,\n\t\"./tl-ph.js\": 274,\n\t\"./tlh\": 275,\n\t\"./tlh.js\": 275,\n\t\"./tr\": 276,\n\t\"./tr.js\": 276,\n\t\"./tzl\": 277,\n\t\"./tzl.js\": 277,\n\t\"./tzm\": 278,\n\t\"./tzm-latn\": 279,\n\t\"./tzm-latn.js\": 279,\n\t\"./tzm.js\": 278,\n\t\"./ug-cn\": 280,\n\t\"./ug-cn.js\": 280,\n\t\"./uk\": 281,\n\t\"./uk.js\": 281,\n\t\"./ur\": 282,\n\t\"./ur.js\": 282,\n\t\"./uz\": 283,\n\t\"./uz-latn\": 284,\n\t\"./uz-latn.js\": 284,\n\t\"./uz.js\": 283,\n\t\"./vi\": 285,\n\t\"./vi.js\": 285,\n\t\"./x-pseudo\": 286,\n\t\"./x-pseudo.js\": 286,\n\t\"./yo\": 287,\n\t\"./yo.js\": 287,\n\t\"./zh-cn\": 288,\n\t\"./zh-cn.js\": 288,\n\t\"./zh-hk\": 289,\n\t\"./zh-hk.js\": 289,\n\t\"./zh-mo\": 290,\n\t\"./zh-mo.js\": 290,\n\t\"./zh-tw\": 291,\n\t\"./zh-tw.js\": 291\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 654;","//! moment.js\n//! version : 2.29.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\n    var hookCallback;\n\n    function hooks() {\n        return hookCallback.apply(null, arguments);\n    }\n\n    // This is done to register the method called with moment()\n    // without creating circular dependencies.\n    function setHookCallback(callback) {\n        hookCallback = callback;\n    }\n\n    function isArray(input) {\n        return (\n            input instanceof Array ||\n            Object.prototype.toString.call(input) === '[object Array]'\n        );\n    }\n\n    function isObject(input) {\n        // IE8 will treat undefined and null as object if it wasn't for\n        // input != null\n        return (\n            input != null &&\n            Object.prototype.toString.call(input) === '[object Object]'\n        );\n    }\n\n    function hasOwnProp(a, b) {\n        return Object.prototype.hasOwnProperty.call(a, b);\n    }\n\n    function isObjectEmpty(obj) {\n        if (Object.getOwnPropertyNames) {\n            return Object.getOwnPropertyNames(obj).length === 0;\n        } else {\n            var k;\n            for (k in obj) {\n                if (hasOwnProp(obj, k)) {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n\n    function isUndefined(input) {\n        return input === void 0;\n    }\n\n    function isNumber(input) {\n        return (\n            typeof input === 'number' ||\n            Object.prototype.toString.call(input) === '[object Number]'\n        );\n    }\n\n    function isDate(input) {\n        return (\n            input instanceof Date ||\n            Object.prototype.toString.call(input) === '[object Date]'\n        );\n    }\n\n    function map(arr, fn) {\n        var res = [],\n            i,\n            arrLen = arr.length;\n        for (i = 0; i < arrLen; ++i) {\n            res.push(fn(arr[i], i));\n        }\n        return res;\n    }\n\n    function extend(a, b) {\n        for (var i in b) {\n            if (hasOwnProp(b, i)) {\n                a[i] = b[i];\n            }\n        }\n\n        if (hasOwnProp(b, 'toString')) {\n            a.toString = b.toString;\n        }\n\n        if (hasOwnProp(b, 'valueOf')) {\n            a.valueOf = b.valueOf;\n        }\n\n        return a;\n    }\n\n    function createUTC(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, true).utc();\n    }\n\n    function defaultParsingFlags() {\n        // We need to deep clone this object.\n        return {\n            empty: false,\n            unusedTokens: [],\n            unusedInput: [],\n            overflow: -2,\n            charsLeftOver: 0,\n            nullInput: false,\n            invalidEra: null,\n            invalidMonth: null,\n            invalidFormat: false,\n            userInvalidated: false,\n            iso: false,\n            parsedDateParts: [],\n            era: null,\n            meridiem: null,\n            rfc2822: false,\n            weekdayMismatch: false,\n        };\n    }\n\n    function getParsingFlags(m) {\n        if (m._pf == null) {\n            m._pf = defaultParsingFlags();\n        }\n        return m._pf;\n    }\n\n    var some;\n    if (Array.prototype.some) {\n        some = Array.prototype.some;\n    } else {\n        some = function (fun) {\n            var t = Object(this),\n                len = t.length >>> 0,\n                i;\n\n            for (i = 0; i < len; i++) {\n                if (i in t && fun.call(this, t[i], i, t)) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n    }\n\n    function isValid(m) {\n        if (m._isValid == null) {\n            var flags = getParsingFlags(m),\n                parsedParts = some.call(flags.parsedDateParts, function (i) {\n                    return i != null;\n                }),\n                isNowValid =\n                    !isNaN(m._d.getTime()) &&\n                    flags.overflow < 0 &&\n                    !flags.empty &&\n                    !flags.invalidEra &&\n                    !flags.invalidMonth &&\n                    !flags.invalidWeekday &&\n                    !flags.weekdayMismatch &&\n                    !flags.nullInput &&\n                    !flags.invalidFormat &&\n                    !flags.userInvalidated &&\n                    (!flags.meridiem || (flags.meridiem && parsedParts));\n\n            if (m._strict) {\n                isNowValid =\n                    isNowValid &&\n                    flags.charsLeftOver === 0 &&\n                    flags.unusedTokens.length === 0 &&\n                    flags.bigHour === undefined;\n            }\n\n            if (Object.isFrozen == null || !Object.isFrozen(m)) {\n                m._isValid = isNowValid;\n            } else {\n                return isNowValid;\n            }\n        }\n        return m._isValid;\n    }\n\n    function createInvalid(flags) {\n        var m = createUTC(NaN);\n        if (flags != null) {\n            extend(getParsingFlags(m), flags);\n        } else {\n            getParsingFlags(m).userInvalidated = true;\n        }\n\n        return m;\n    }\n\n    // Plugins that add properties should also add the key here (null value),\n    // so we can properly clone ourselves.\n    var momentProperties = (hooks.momentProperties = []),\n        updateInProgress = false;\n\n    function copyConfig(to, from) {\n        var i,\n            prop,\n            val,\n            momentPropertiesLen = momentProperties.length;\n\n        if (!isUndefined(from._isAMomentObject)) {\n            to._isAMomentObject = from._isAMomentObject;\n        }\n        if (!isUndefined(from._i)) {\n            to._i = from._i;\n        }\n        if (!isUndefined(from._f)) {\n            to._f = from._f;\n        }\n        if (!isUndefined(from._l)) {\n            to._l = from._l;\n        }\n        if (!isUndefined(from._strict)) {\n            to._strict = from._strict;\n        }\n        if (!isUndefined(from._tzm)) {\n            to._tzm = from._tzm;\n        }\n        if (!isUndefined(from._isUTC)) {\n            to._isUTC = from._isUTC;\n        }\n        if (!isUndefined(from._offset)) {\n            to._offset = from._offset;\n        }\n        if (!isUndefined(from._pf)) {\n            to._pf = getParsingFlags(from);\n        }\n        if (!isUndefined(from._locale)) {\n            to._locale = from._locale;\n        }\n\n        if (momentPropertiesLen > 0) {\n            for (i = 0; i < momentPropertiesLen; i++) {\n                prop = momentProperties[i];\n                val = from[prop];\n                if (!isUndefined(val)) {\n                    to[prop] = val;\n                }\n            }\n        }\n\n        return to;\n    }\n\n    // Moment prototype object\n    function Moment(config) {\n        copyConfig(this, config);\n        this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n        if (!this.isValid()) {\n            this._d = new Date(NaN);\n        }\n        // Prevent infinite loop in case updateOffset creates new moment\n        // objects.\n        if (updateInProgress === false) {\n            updateInProgress = true;\n            hooks.updateOffset(this);\n            updateInProgress = false;\n        }\n    }\n\n    function isMoment(obj) {\n        return (\n            obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n        );\n    }\n\n    function warn(msg) {\n        if (\n            hooks.suppressDeprecationWarnings === false &&\n            typeof console !== 'undefined' &&\n            console.warn\n        ) {\n            console.warn('Deprecation warning: ' + msg);\n        }\n    }\n\n    function deprecate(msg, fn) {\n        var firstTime = true;\n\n        return extend(function () {\n            if (hooks.deprecationHandler != null) {\n                hooks.deprecationHandler(null, msg);\n            }\n            if (firstTime) {\n                var args = [],\n                    arg,\n                    i,\n                    key,\n                    argLen = arguments.length;\n                for (i = 0; i < argLen; i++) {\n                    arg = '';\n                    if (typeof arguments[i] === 'object') {\n                        arg += '\\n[' + i + '] ';\n                        for (key in arguments[0]) {\n                            if (hasOwnProp(arguments[0], key)) {\n                                arg += key + ': ' + arguments[0][key] + ', ';\n                            }\n                        }\n                        arg = arg.slice(0, -2); // Remove trailing comma and space\n                    } else {\n                        arg = arguments[i];\n                    }\n                    args.push(arg);\n                }\n                warn(\n                    msg +\n                        '\\nArguments: ' +\n                        Array.prototype.slice.call(args).join('') +\n                        '\\n' +\n                        new Error().stack\n                );\n                firstTime = false;\n            }\n            return fn.apply(this, arguments);\n        }, fn);\n    }\n\n    var deprecations = {};\n\n    function deprecateSimple(name, msg) {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(name, msg);\n        }\n        if (!deprecations[name]) {\n            warn(msg);\n            deprecations[name] = true;\n        }\n    }\n\n    hooks.suppressDeprecationWarnings = false;\n    hooks.deprecationHandler = null;\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    function set(config) {\n        var prop, i;\n        for (i in config) {\n            if (hasOwnProp(config, i)) {\n                prop = config[i];\n                if (isFunction(prop)) {\n                    this[i] = prop;\n                } else {\n                    this['_' + i] = prop;\n                }\n            }\n        }\n        this._config = config;\n        // Lenient ordinal parsing accepts just a number in addition to\n        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        this._dayOfMonthOrdinalParseLenient = new RegExp(\n            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n                '|' +\n                /\\d{1,2}/.source\n        );\n    }\n\n    function mergeConfigs(parentConfig, childConfig) {\n        var res = extend({}, parentConfig),\n            prop;\n        for (prop in childConfig) {\n            if (hasOwnProp(childConfig, prop)) {\n                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                    res[prop] = {};\n                    extend(res[prop], parentConfig[prop]);\n                    extend(res[prop], childConfig[prop]);\n                } else if (childConfig[prop] != null) {\n                    res[prop] = childConfig[prop];\n                } else {\n                    delete res[prop];\n                }\n            }\n        }\n        for (prop in parentConfig) {\n            if (\n                hasOwnProp(parentConfig, prop) &&\n                !hasOwnProp(childConfig, prop) &&\n                isObject(parentConfig[prop])\n            ) {\n                // make sure changes to properties don't modify parent config\n                res[prop] = extend({}, res[prop]);\n            }\n        }\n        return res;\n    }\n\n    function Locale(config) {\n        if (config != null) {\n            this.set(config);\n        }\n    }\n\n    var keys;\n\n    if (Object.keys) {\n        keys = Object.keys;\n    } else {\n        keys = function (obj) {\n            var i,\n                res = [];\n            for (i in obj) {\n                if (hasOwnProp(obj, i)) {\n                    res.push(i);\n                }\n            }\n            return res;\n        };\n    }\n\n    var defaultCalendar = {\n        sameDay: '[Today at] LT',\n        nextDay: '[Tomorrow at] LT',\n        nextWeek: 'dddd [at] LT',\n        lastDay: '[Yesterday at] LT',\n        lastWeek: '[Last] dddd [at] LT',\n        sameElse: 'L',\n    };\n\n    function calendar(key, mom, now) {\n        var output = this._calendar[key] || this._calendar['sameElse'];\n        return isFunction(output) ? output.call(mom, now) : output;\n    }\n\n    function zeroFill(number, targetLength, forceSign) {\n        var absNumber = '' + Math.abs(number),\n            zerosToFill = targetLength - absNumber.length,\n            sign = number >= 0;\n        return (\n            (sign ? (forceSign ? '+' : '') : '-') +\n            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n            absNumber\n        );\n    }\n\n    var formattingTokens =\n            /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n        localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n        formatFunctions = {},\n        formatTokenFunctions = {};\n\n    // token:    'M'\n    // padded:   ['MM', 2]\n    // ordinal:  'Mo'\n    // callback: function () { this.month() + 1 }\n    function addFormatToken(token, padded, ordinal, callback) {\n        var func = callback;\n        if (typeof callback === 'string') {\n            func = function () {\n                return this[callback]();\n            };\n        }\n        if (token) {\n            formatTokenFunctions[token] = func;\n        }\n        if (padded) {\n            formatTokenFunctions[padded[0]] = function () {\n                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n            };\n        }\n        if (ordinal) {\n            formatTokenFunctions[ordinal] = function () {\n                return this.localeData().ordinal(\n                    func.apply(this, arguments),\n                    token\n                );\n            };\n        }\n    }\n\n    function removeFormattingTokens(input) {\n        if (input.match(/\\[[\\s\\S]/)) {\n            return input.replace(/^\\[|\\]$/g, '');\n        }\n        return input.replace(/\\\\/g, '');\n    }\n\n    function makeFormatFunction(format) {\n        var array = format.match(formattingTokens),\n            i,\n            length;\n\n        for (i = 0, length = array.length; i < length; i++) {\n            if (formatTokenFunctions[array[i]]) {\n                array[i] = formatTokenFunctions[array[i]];\n            } else {\n                array[i] = removeFormattingTokens(array[i]);\n            }\n        }\n\n        return function (mom) {\n            var output = '',\n                i;\n            for (i = 0; i < length; i++) {\n                output += isFunction(array[i])\n                    ? array[i].call(mom, format)\n                    : array[i];\n            }\n            return output;\n        };\n    }\n\n    // format date using native date object\n    function formatMoment(m, format) {\n        if (!m.isValid()) {\n            return m.localeData().invalidDate();\n        }\n\n        format = expandFormat(format, m.localeData());\n        formatFunctions[format] =\n            formatFunctions[format] || makeFormatFunction(format);\n\n        return formatFunctions[format](m);\n    }\n\n    function expandFormat(format, locale) {\n        var i = 5;\n\n        function replaceLongDateFormatTokens(input) {\n            return locale.longDateFormat(input) || input;\n        }\n\n        localFormattingTokens.lastIndex = 0;\n        while (i >= 0 && localFormattingTokens.test(format)) {\n            format = format.replace(\n                localFormattingTokens,\n                replaceLongDateFormatTokens\n            );\n            localFormattingTokens.lastIndex = 0;\n            i -= 1;\n        }\n\n        return format;\n    }\n\n    var defaultLongDateFormat = {\n        LTS: 'h:mm:ss A',\n        LT: 'h:mm A',\n        L: 'MM/DD/YYYY',\n        LL: 'MMMM D, YYYY',\n        LLL: 'MMMM D, YYYY h:mm A',\n        LLLL: 'dddd, MMMM D, YYYY h:mm A',\n    };\n\n    function longDateFormat(key) {\n        var format = this._longDateFormat[key],\n            formatUpper = this._longDateFormat[key.toUpperCase()];\n\n        if (format || !formatUpper) {\n            return format;\n        }\n\n        this._longDateFormat[key] = formatUpper\n            .match(formattingTokens)\n            .map(function (tok) {\n                if (\n                    tok === 'MMMM' ||\n                    tok === 'MM' ||\n                    tok === 'DD' ||\n                    tok === 'dddd'\n                ) {\n                    return tok.slice(1);\n                }\n                return tok;\n            })\n            .join('');\n\n        return this._longDateFormat[key];\n    }\n\n    var defaultInvalidDate = 'Invalid date';\n\n    function invalidDate() {\n        return this._invalidDate;\n    }\n\n    var defaultOrdinal = '%d',\n        defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n    function ordinal(number) {\n        return this._ordinal.replace('%d', number);\n    }\n\n    var defaultRelativeTime = {\n        future: 'in %s',\n        past: '%s ago',\n        s: 'a few seconds',\n        ss: '%d seconds',\n        m: 'a minute',\n        mm: '%d minutes',\n        h: 'an hour',\n        hh: '%d hours',\n        d: 'a day',\n        dd: '%d days',\n        w: 'a week',\n        ww: '%d weeks',\n        M: 'a month',\n        MM: '%d months',\n        y: 'a year',\n        yy: '%d years',\n    };\n\n    function relativeTime(number, withoutSuffix, string, isFuture) {\n        var output = this._relativeTime[string];\n        return isFunction(output)\n            ? output(number, withoutSuffix, string, isFuture)\n            : output.replace(/%d/i, number);\n    }\n\n    function pastFuture(diff, output) {\n        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n        return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n    }\n\n    var aliases = {};\n\n    function addUnitAlias(unit, shorthand) {\n        var lowerCase = unit.toLowerCase();\n        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n    }\n\n    function normalizeUnits(units) {\n        return typeof units === 'string'\n            ? aliases[units] || aliases[units.toLowerCase()]\n            : undefined;\n    }\n\n    function normalizeObjectUnits(inputObject) {\n        var normalizedInput = {},\n            normalizedProp,\n            prop;\n\n        for (prop in inputObject) {\n            if (hasOwnProp(inputObject, prop)) {\n                normalizedProp = normalizeUnits(prop);\n                if (normalizedProp) {\n                    normalizedInput[normalizedProp] = inputObject[prop];\n                }\n            }\n        }\n\n        return normalizedInput;\n    }\n\n    var priorities = {};\n\n    function addUnitPriority(unit, priority) {\n        priorities[unit] = priority;\n    }\n\n    function getPrioritizedUnits(unitsObj) {\n        var units = [],\n            u;\n        for (u in unitsObj) {\n            if (hasOwnProp(unitsObj, u)) {\n                units.push({ unit: u, priority: priorities[u] });\n            }\n        }\n        units.sort(function (a, b) {\n            return a.priority - b.priority;\n        });\n        return units;\n    }\n\n    function isLeapYear(year) {\n        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n    }\n\n    function absFloor(number) {\n        if (number < 0) {\n            // -0 -> 0\n            return Math.ceil(number) || 0;\n        } else {\n            return Math.floor(number);\n        }\n    }\n\n    function toInt(argumentForCoercion) {\n        var coercedNumber = +argumentForCoercion,\n            value = 0;\n\n        if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n            value = absFloor(coercedNumber);\n        }\n\n        return value;\n    }\n\n    function makeGetSet(unit, keepTime) {\n        return function (value) {\n            if (value != null) {\n                set$1(this, unit, value);\n                hooks.updateOffset(this, keepTime);\n                return this;\n            } else {\n                return get(this, unit);\n            }\n        };\n    }\n\n    function get(mom, unit) {\n        return mom.isValid()\n            ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n            : NaN;\n    }\n\n    function set$1(mom, unit, value) {\n        if (mom.isValid() && !isNaN(value)) {\n            if (\n                unit === 'FullYear' &&\n                isLeapYear(mom.year()) &&\n                mom.month() === 1 &&\n                mom.date() === 29\n            ) {\n                value = toInt(value);\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n                    value,\n                    mom.month(),\n                    daysInMonth(value, mom.month())\n                );\n            } else {\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function stringGet(units) {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units]();\n        }\n        return this;\n    }\n\n    function stringSet(units, value) {\n        if (typeof units === 'object') {\n            units = normalizeObjectUnits(units);\n            var prioritized = getPrioritizedUnits(units),\n                i,\n                prioritizedLen = prioritized.length;\n            for (i = 0; i < prioritizedLen; i++) {\n                this[prioritized[i].unit](units[prioritized[i].unit]);\n            }\n        } else {\n            units = normalizeUnits(units);\n            if (isFunction(this[units])) {\n                return this[units](value);\n            }\n        }\n        return this;\n    }\n\n    var match1 = /\\d/, //       0 - 9\n        match2 = /\\d\\d/, //      00 - 99\n        match3 = /\\d{3}/, //     000 - 999\n        match4 = /\\d{4}/, //    0000 - 9999\n        match6 = /[+-]?\\d{6}/, // -999999 - 999999\n        match1to2 = /\\d\\d?/, //       0 - 99\n        match3to4 = /\\d\\d\\d\\d?/, //     999 - 9999\n        match5to6 = /\\d\\d\\d\\d\\d\\d?/, //   99999 - 999999\n        match1to3 = /\\d{1,3}/, //       0 - 999\n        match1to4 = /\\d{1,4}/, //       0 - 9999\n        match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n        matchUnsigned = /\\d+/, //       0 - inf\n        matchSigned = /[+-]?\\d+/, //    -inf - inf\n        matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n        matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n        matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n        // any word (or two) characters or numbers including two/three word month in arabic.\n        // includes scottish gaelic two word and hyphenated months\n        matchWord =\n            /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n        regexes;\n\n    regexes = {};\n\n    function addRegexToken(token, regex, strictRegex) {\n        regexes[token] = isFunction(regex)\n            ? regex\n            : function (isStrict, localeData) {\n                  return isStrict && strictRegex ? strictRegex : regex;\n              };\n    }\n\n    function getParseRegexForToken(token, config) {\n        if (!hasOwnProp(regexes, token)) {\n            return new RegExp(unescapeFormat(token));\n        }\n\n        return regexes[token](config._strict, config._locale);\n    }\n\n    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n    function unescapeFormat(s) {\n        return regexEscape(\n            s\n                .replace('\\\\', '')\n                .replace(\n                    /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n                    function (matched, p1, p2, p3, p4) {\n                        return p1 || p2 || p3 || p4;\n                    }\n                )\n        );\n    }\n\n    function regexEscape(s) {\n        return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    var tokens = {};\n\n    function addParseToken(token, callback) {\n        var i,\n            func = callback,\n            tokenLen;\n        if (typeof token === 'string') {\n            token = [token];\n        }\n        if (isNumber(callback)) {\n            func = function (input, array) {\n                array[callback] = toInt(input);\n            };\n        }\n        tokenLen = token.length;\n        for (i = 0; i < tokenLen; i++) {\n            tokens[token[i]] = func;\n        }\n    }\n\n    function addWeekParseToken(token, callback) {\n        addParseToken(token, function (input, array, config, token) {\n            config._w = config._w || {};\n            callback(input, config._w, config, token);\n        });\n    }\n\n    function addTimeToArrayFromToken(token, input, config) {\n        if (input != null && hasOwnProp(tokens, token)) {\n            tokens[token](input, config._a, config, token);\n        }\n    }\n\n    var YEAR = 0,\n        MONTH = 1,\n        DATE = 2,\n        HOUR = 3,\n        MINUTE = 4,\n        SECOND = 5,\n        MILLISECOND = 6,\n        WEEK = 7,\n        WEEKDAY = 8;\n\n    function mod(n, x) {\n        return ((n % x) + x) % x;\n    }\n\n    var indexOf;\n\n    if (Array.prototype.indexOf) {\n        indexOf = Array.prototype.indexOf;\n    } else {\n        indexOf = function (o) {\n            // I know\n            var i;\n            for (i = 0; i < this.length; ++i) {\n                if (this[i] === o) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n    }\n\n    function daysInMonth(year, month) {\n        if (isNaN(year) || isNaN(month)) {\n            return NaN;\n        }\n        var modMonth = mod(month, 12);\n        year += (month - modMonth) / 12;\n        return modMonth === 1\n            ? isLeapYear(year)\n                ? 29\n                : 28\n            : 31 - ((modMonth % 7) % 2);\n    }\n\n    // FORMATTING\n\n    addFormatToken('M', ['MM', 2], 'Mo', function () {\n        return this.month() + 1;\n    });\n\n    addFormatToken('MMM', 0, 0, function (format) {\n        return this.localeData().monthsShort(this, format);\n    });\n\n    addFormatToken('MMMM', 0, 0, function (format) {\n        return this.localeData().months(this, format);\n    });\n\n    // ALIASES\n\n    addUnitAlias('month', 'M');\n\n    // PRIORITY\n\n    addUnitPriority('month', 8);\n\n    // PARSING\n\n    addRegexToken('M', match1to2);\n    addRegexToken('MM', match1to2, match2);\n    addRegexToken('MMM', function (isStrict, locale) {\n        return locale.monthsShortRegex(isStrict);\n    });\n    addRegexToken('MMMM', function (isStrict, locale) {\n        return locale.monthsRegex(isStrict);\n    });\n\n    addParseToken(['M', 'MM'], function (input, array) {\n        array[MONTH] = toInt(input) - 1;\n    });\n\n    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n        var month = config._locale.monthsParse(input, token, config._strict);\n        // if we didn't find a month name, mark the date as invalid.\n        if (month != null) {\n            array[MONTH] = month;\n        } else {\n            getParsingFlags(config).invalidMonth = input;\n        }\n    });\n\n    // LOCALES\n\n    var defaultLocaleMonths =\n            'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n                '_'\n            ),\n        defaultLocaleMonthsShort =\n            'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n        defaultMonthsShortRegex = matchWord,\n        defaultMonthsRegex = matchWord;\n\n    function localeMonths(m, format) {\n        if (!m) {\n            return isArray(this._months)\n                ? this._months\n                : this._months['standalone'];\n        }\n        return isArray(this._months)\n            ? this._months[m.month()]\n            : this._months[\n                  (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n                      ? 'format'\n                      : 'standalone'\n              ][m.month()];\n    }\n\n    function localeMonthsShort(m, format) {\n        if (!m) {\n            return isArray(this._monthsShort)\n                ? this._monthsShort\n                : this._monthsShort['standalone'];\n        }\n        return isArray(this._monthsShort)\n            ? this._monthsShort[m.month()]\n            : this._monthsShort[\n                  MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n              ][m.month()];\n    }\n\n    function handleStrictParse(monthName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = monthName.toLocaleLowerCase();\n        if (!this._monthsParse) {\n            // this is not used\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n            for (i = 0; i < 12; ++i) {\n                mom = createUTC([2000, i]);\n                this._shortMonthsParse[i] = this.monthsShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeMonthsParse(monthName, format, strict) {\n        var i, mom, regex;\n\n        if (this._monthsParseExact) {\n            return handleStrictParse.call(this, monthName, format, strict);\n        }\n\n        if (!this._monthsParse) {\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n        }\n\n        // TODO: add sorting\n        // Sorting makes sure if one month (or abbr) is a prefix of another\n        // see sorting in computeMonthsParse\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            if (strict && !this._longMonthsParse[i]) {\n                this._longMonthsParse[i] = new RegExp(\n                    '^' + this.months(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n                this._shortMonthsParse[i] = new RegExp(\n                    '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n            }\n            if (!strict && !this._monthsParse[i]) {\n                regex =\n                    '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'MMMM' &&\n                this._longMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'MMM' &&\n                this._shortMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (!strict && this._monthsParse[i].test(monthName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function setMonth(mom, value) {\n        var dayOfMonth;\n\n        if (!mom.isValid()) {\n            // No op\n            return mom;\n        }\n\n        if (typeof value === 'string') {\n            if (/^\\d+$/.test(value)) {\n                value = toInt(value);\n            } else {\n                value = mom.localeData().monthsParse(value);\n                // TODO: Another silent failure?\n                if (!isNumber(value)) {\n                    return mom;\n                }\n            }\n        }\n\n        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n        return mom;\n    }\n\n    function getSetMonth(value) {\n        if (value != null) {\n            setMonth(this, value);\n            hooks.updateOffset(this, true);\n            return this;\n        } else {\n            return get(this, 'Month');\n        }\n    }\n\n    function getDaysInMonth() {\n        return daysInMonth(this.year(), this.month());\n    }\n\n    function monthsShortRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsShortStrictRegex;\n            } else {\n                return this._monthsShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsShortRegex')) {\n                this._monthsShortRegex = defaultMonthsShortRegex;\n            }\n            return this._monthsShortStrictRegex && isStrict\n                ? this._monthsShortStrictRegex\n                : this._monthsShortRegex;\n        }\n    }\n\n    function monthsRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsStrictRegex;\n            } else {\n                return this._monthsRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                this._monthsRegex = defaultMonthsRegex;\n            }\n            return this._monthsStrictRegex && isStrict\n                ? this._monthsStrictRegex\n                : this._monthsRegex;\n        }\n    }\n\n    function computeMonthsParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom;\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            shortPieces.push(this.monthsShort(mom, ''));\n            longPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.monthsShort(mom, ''));\n        }\n        // Sorting makes sure if one month (or abbr) is a prefix of another it\n        // will match the longer piece.\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n        for (i = 0; i < 12; i++) {\n            shortPieces[i] = regexEscape(shortPieces[i]);\n            longPieces[i] = regexEscape(longPieces[i]);\n        }\n        for (i = 0; i < 24; i++) {\n            mixedPieces[i] = regexEscape(mixedPieces[i]);\n        }\n\n        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._monthsShortRegex = this._monthsRegex;\n        this._monthsStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._monthsShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken('Y', 0, 0, function () {\n        var y = this.year();\n        return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n    });\n\n    addFormatToken(0, ['YY', 2], 0, function () {\n        return this.year() % 100;\n    });\n\n    addFormatToken(0, ['YYYY', 4], 0, 'year');\n    addFormatToken(0, ['YYYYY', 5], 0, 'year');\n    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n    // ALIASES\n\n    addUnitAlias('year', 'y');\n\n    // PRIORITIES\n\n    addUnitPriority('year', 1);\n\n    // PARSING\n\n    addRegexToken('Y', matchSigned);\n    addRegexToken('YY', match1to2, match2);\n    addRegexToken('YYYY', match1to4, match4);\n    addRegexToken('YYYYY', match1to6, match6);\n    addRegexToken('YYYYYY', match1to6, match6);\n\n    addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n    addParseToken('YYYY', function (input, array) {\n        array[YEAR] =\n            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n    });\n    addParseToken('YY', function (input, array) {\n        array[YEAR] = hooks.parseTwoDigitYear(input);\n    });\n    addParseToken('Y', function (input, array) {\n        array[YEAR] = parseInt(input, 10);\n    });\n\n    // HELPERS\n\n    function daysInYear(year) {\n        return isLeapYear(year) ? 366 : 365;\n    }\n\n    // HOOKS\n\n    hooks.parseTwoDigitYear = function (input) {\n        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n    };\n\n    // MOMENTS\n\n    var getSetYear = makeGetSet('FullYear', true);\n\n    function getIsLeapYear() {\n        return isLeapYear(this.year());\n    }\n\n    function createDate(y, m, d, h, M, s, ms) {\n        // can't just apply() to create a date:\n        // https://stackoverflow.com/q/181348\n        var date;\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            date = new Date(y + 400, m, d, h, M, s, ms);\n            if (isFinite(date.getFullYear())) {\n                date.setFullYear(y);\n            }\n        } else {\n            date = new Date(y, m, d, h, M, s, ms);\n        }\n\n        return date;\n    }\n\n    function createUTCDate(y) {\n        var date, args;\n        // the Date.UTC function remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            args = Array.prototype.slice.call(arguments);\n            // preserve leap years using a full 400 year cycle, then reset\n            args[0] = y + 400;\n            date = new Date(Date.UTC.apply(null, args));\n            if (isFinite(date.getUTCFullYear())) {\n                date.setUTCFullYear(y);\n            }\n        } else {\n            date = new Date(Date.UTC.apply(null, arguments));\n        }\n\n        return date;\n    }\n\n    // start-of-first-week - start-of-year\n    function firstWeekOffset(year, dow, doy) {\n        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n            fwd = 7 + dow - doy,\n            // first-week day local weekday -- which local weekday is fwd\n            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n        return -fwdlw + fwd - 1;\n    }\n\n    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n        var localWeekday = (7 + weekday - dow) % 7,\n            weekOffset = firstWeekOffset(year, dow, doy),\n            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n            resYear,\n            resDayOfYear;\n\n        if (dayOfYear <= 0) {\n            resYear = year - 1;\n            resDayOfYear = daysInYear(resYear) + dayOfYear;\n        } else if (dayOfYear > daysInYear(year)) {\n            resYear = year + 1;\n            resDayOfYear = dayOfYear - daysInYear(year);\n        } else {\n            resYear = year;\n            resDayOfYear = dayOfYear;\n        }\n\n        return {\n            year: resYear,\n            dayOfYear: resDayOfYear,\n        };\n    }\n\n    function weekOfYear(mom, dow, doy) {\n        var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n            resWeek,\n            resYear;\n\n        if (week < 1) {\n            resYear = mom.year() - 1;\n            resWeek = week + weeksInYear(resYear, dow, doy);\n        } else if (week > weeksInYear(mom.year(), dow, doy)) {\n            resWeek = week - weeksInYear(mom.year(), dow, doy);\n            resYear = mom.year() + 1;\n        } else {\n            resYear = mom.year();\n            resWeek = week;\n        }\n\n        return {\n            week: resWeek,\n            year: resYear,\n        };\n    }\n\n    function weeksInYear(year, dow, doy) {\n        var weekOffset = firstWeekOffset(year, dow, doy),\n            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n    }\n\n    // FORMATTING\n\n    addFormatToken('w', ['ww', 2], 'wo', 'week');\n    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n    // ALIASES\n\n    addUnitAlias('week', 'w');\n    addUnitAlias('isoWeek', 'W');\n\n    // PRIORITIES\n\n    addUnitPriority('week', 5);\n    addUnitPriority('isoWeek', 5);\n\n    // PARSING\n\n    addRegexToken('w', match1to2);\n    addRegexToken('ww', match1to2, match2);\n    addRegexToken('W', match1to2);\n    addRegexToken('WW', match1to2, match2);\n\n    addWeekParseToken(\n        ['w', 'ww', 'W', 'WW'],\n        function (input, week, config, token) {\n            week[token.substr(0, 1)] = toInt(input);\n        }\n    );\n\n    // HELPERS\n\n    // LOCALES\n\n    function localeWeek(mom) {\n        return weekOfYear(mom, this._week.dow, this._week.doy).week;\n    }\n\n    var defaultLocaleWeek = {\n        dow: 0, // Sunday is the first day of the week.\n        doy: 6, // The week that contains Jan 6th is the first week of the year.\n    };\n\n    function localeFirstDayOfWeek() {\n        return this._week.dow;\n    }\n\n    function localeFirstDayOfYear() {\n        return this._week.doy;\n    }\n\n    // MOMENTS\n\n    function getSetWeek(input) {\n        var week = this.localeData().week(this);\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    function getSetISOWeek(input) {\n        var week = weekOfYear(this, 1, 4).week;\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('d', 0, 'do', 'day');\n\n    addFormatToken('dd', 0, 0, function (format) {\n        return this.localeData().weekdaysMin(this, format);\n    });\n\n    addFormatToken('ddd', 0, 0, function (format) {\n        return this.localeData().weekdaysShort(this, format);\n    });\n\n    addFormatToken('dddd', 0, 0, function (format) {\n        return this.localeData().weekdays(this, format);\n    });\n\n    addFormatToken('e', 0, 0, 'weekday');\n    addFormatToken('E', 0, 0, 'isoWeekday');\n\n    // ALIASES\n\n    addUnitAlias('day', 'd');\n    addUnitAlias('weekday', 'e');\n    addUnitAlias('isoWeekday', 'E');\n\n    // PRIORITY\n    addUnitPriority('day', 11);\n    addUnitPriority('weekday', 11);\n    addUnitPriority('isoWeekday', 11);\n\n    // PARSING\n\n    addRegexToken('d', match1to2);\n    addRegexToken('e', match1to2);\n    addRegexToken('E', match1to2);\n    addRegexToken('dd', function (isStrict, locale) {\n        return locale.weekdaysMinRegex(isStrict);\n    });\n    addRegexToken('ddd', function (isStrict, locale) {\n        return locale.weekdaysShortRegex(isStrict);\n    });\n    addRegexToken('dddd', function (isStrict, locale) {\n        return locale.weekdaysRegex(isStrict);\n    });\n\n    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n        var weekday = config._locale.weekdaysParse(input, token, config._strict);\n        // if we didn't get a weekday name, mark the date as invalid\n        if (weekday != null) {\n            week.d = weekday;\n        } else {\n            getParsingFlags(config).invalidWeekday = input;\n        }\n    });\n\n    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n        week[token] = toInt(input);\n    });\n\n    // HELPERS\n\n    function parseWeekday(input, locale) {\n        if (typeof input !== 'string') {\n            return input;\n        }\n\n        if (!isNaN(input)) {\n            return parseInt(input, 10);\n        }\n\n        input = locale.weekdaysParse(input);\n        if (typeof input === 'number') {\n            return input;\n        }\n\n        return null;\n    }\n\n    function parseIsoWeekday(input, locale) {\n        if (typeof input === 'string') {\n            return locale.weekdaysParse(input) % 7 || 7;\n        }\n        return isNaN(input) ? null : input;\n    }\n\n    // LOCALES\n    function shiftWeekdays(ws, n) {\n        return ws.slice(n, 7).concat(ws.slice(0, n));\n    }\n\n    var defaultLocaleWeekdays =\n            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        defaultWeekdaysRegex = matchWord,\n        defaultWeekdaysShortRegex = matchWord,\n        defaultWeekdaysMinRegex = matchWord;\n\n    function localeWeekdays(m, format) {\n        var weekdays = isArray(this._weekdays)\n            ? this._weekdays\n            : this._weekdays[\n                  m && m !== true && this._weekdays.isFormat.test(format)\n                      ? 'format'\n                      : 'standalone'\n              ];\n        return m === true\n            ? shiftWeekdays(weekdays, this._week.dow)\n            : m\n            ? weekdays[m.day()]\n            : weekdays;\n    }\n\n    function localeWeekdaysShort(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n            : m\n            ? this._weekdaysShort[m.day()]\n            : this._weekdaysShort;\n    }\n\n    function localeWeekdaysMin(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n            : m\n            ? this._weekdaysMin[m.day()]\n            : this._weekdaysMin;\n    }\n\n    function handleStrictParse$1(weekdayName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = weekdayName.toLocaleLowerCase();\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._minWeekdaysParse = [];\n\n            for (i = 0; i < 7; ++i) {\n                mom = createUTC([2000, 1]).day(i);\n                this._minWeekdaysParse[i] = this.weekdaysMin(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._shortWeekdaysParse[i] = this.weekdaysShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeWeekdaysParse(weekdayName, format, strict) {\n        var i, mom, regex;\n\n        if (this._weekdaysParseExact) {\n            return handleStrictParse$1.call(this, weekdayName, format, strict);\n        }\n\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._minWeekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._fullWeekdaysParse = [];\n        }\n\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n\n            mom = createUTC([2000, 1]).day(i);\n            if (strict && !this._fullWeekdaysParse[i]) {\n                this._fullWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._shortWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._minWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n            }\n            if (!this._weekdaysParse[i]) {\n                regex =\n                    '^' +\n                    this.weekdays(mom, '') +\n                    '|^' +\n                    this.weekdaysShort(mom, '') +\n                    '|^' +\n                    this.weekdaysMin(mom, '');\n                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'dddd' &&\n                this._fullWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'ddd' &&\n                this._shortWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'dd' &&\n                this._minWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function getSetDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n        if (input != null) {\n            input = parseWeekday(input, this.localeData());\n            return this.add(input - day, 'd');\n        } else {\n            return day;\n        }\n    }\n\n    function getSetLocaleDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n        return input == null ? weekday : this.add(input - weekday, 'd');\n    }\n\n    function getSetISODayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        // behaves the same as moment#day except\n        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n        // as a setter, sunday should belong to the previous week.\n\n        if (input != null) {\n            var weekday = parseIsoWeekday(input, this.localeData());\n            return this.day(this.day() % 7 ? weekday : weekday - 7);\n        } else {\n            return this.day() || 7;\n        }\n    }\n\n    function weekdaysRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysStrictRegex;\n            } else {\n                return this._weekdaysRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                this._weekdaysRegex = defaultWeekdaysRegex;\n            }\n            return this._weekdaysStrictRegex && isStrict\n                ? this._weekdaysStrictRegex\n                : this._weekdaysRegex;\n        }\n    }\n\n    function weekdaysShortRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysShortStrictRegex;\n            } else {\n                return this._weekdaysShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n                this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n            }\n            return this._weekdaysShortStrictRegex && isStrict\n                ? this._weekdaysShortStrictRegex\n                : this._weekdaysShortRegex;\n        }\n    }\n\n    function weekdaysMinRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysMinStrictRegex;\n            } else {\n                return this._weekdaysMinRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n                this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n            }\n            return this._weekdaysMinStrictRegex && isStrict\n                ? this._weekdaysMinStrictRegex\n                : this._weekdaysMinRegex;\n        }\n    }\n\n    function computeWeekdaysParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var minPieces = [],\n            shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            minp,\n            shortp,\n            longp;\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, 1]).day(i);\n            minp = regexEscape(this.weekdaysMin(mom, ''));\n            shortp = regexEscape(this.weekdaysShort(mom, ''));\n            longp = regexEscape(this.weekdays(mom, ''));\n            minPieces.push(minp);\n            shortPieces.push(shortp);\n            longPieces.push(longp);\n            mixedPieces.push(minp);\n            mixedPieces.push(shortp);\n            mixedPieces.push(longp);\n        }\n        // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n        // will match the longer piece.\n        minPieces.sort(cmpLenRev);\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._weekdaysShortRegex = this._weekdaysRegex;\n        this._weekdaysMinRegex = this._weekdaysRegex;\n\n        this._weekdaysStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysMinStrictRegex = new RegExp(\n            '^(' + minPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    function hFormat() {\n        return this.hours() % 12 || 12;\n    }\n\n    function kFormat() {\n        return this.hours() || 24;\n    }\n\n    addFormatToken('H', ['HH', 2], 0, 'hour');\n    addFormatToken('h', ['hh', 2], 0, hFormat);\n    addFormatToken('k', ['kk', 2], 0, kFormat);\n\n    addFormatToken('hmm', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('hmmss', 0, 0, function () {\n        return (\n            '' +\n            hFormat.apply(this) +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    addFormatToken('Hmm', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('Hmmss', 0, 0, function () {\n        return (\n            '' +\n            this.hours() +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    function meridiem(token, lowercase) {\n        addFormatToken(token, 0, 0, function () {\n            return this.localeData().meridiem(\n                this.hours(),\n                this.minutes(),\n                lowercase\n            );\n        });\n    }\n\n    meridiem('a', true);\n    meridiem('A', false);\n\n    // ALIASES\n\n    addUnitAlias('hour', 'h');\n\n    // PRIORITY\n    addUnitPriority('hour', 13);\n\n    // PARSING\n\n    function matchMeridiem(isStrict, locale) {\n        return locale._meridiemParse;\n    }\n\n    addRegexToken('a', matchMeridiem);\n    addRegexToken('A', matchMeridiem);\n    addRegexToken('H', match1to2);\n    addRegexToken('h', match1to2);\n    addRegexToken('k', match1to2);\n    addRegexToken('HH', match1to2, match2);\n    addRegexToken('hh', match1to2, match2);\n    addRegexToken('kk', match1to2, match2);\n\n    addRegexToken('hmm', match3to4);\n    addRegexToken('hmmss', match5to6);\n    addRegexToken('Hmm', match3to4);\n    addRegexToken('Hmmss', match5to6);\n\n    addParseToken(['H', 'HH'], HOUR);\n    addParseToken(['k', 'kk'], function (input, array, config) {\n        var kInput = toInt(input);\n        array[HOUR] = kInput === 24 ? 0 : kInput;\n    });\n    addParseToken(['a', 'A'], function (input, array, config) {\n        config._isPm = config._locale.isPM(input);\n        config._meridiem = input;\n    });\n    addParseToken(['h', 'hh'], function (input, array, config) {\n        array[HOUR] = toInt(input);\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('Hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n    });\n    addParseToken('Hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n    });\n\n    // LOCALES\n\n    function localeIsPM(input) {\n        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n        // Using charAt should be more compatible.\n        return (input + '').toLowerCase().charAt(0) === 'p';\n    }\n\n    var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n        // Setting the hour should keep the time, because the user explicitly\n        // specified which hour they want. So trying to maintain the same hour (in\n        // a new timezone) makes sense. Adding/subtracting hours does not follow\n        // this rule.\n        getSetHour = makeGetSet('Hours', true);\n\n    function localeMeridiem(hours, minutes, isLower) {\n        if (hours > 11) {\n            return isLower ? 'pm' : 'PM';\n        } else {\n            return isLower ? 'am' : 'AM';\n        }\n    }\n\n    var baseConfig = {\n        calendar: defaultCalendar,\n        longDateFormat: defaultLongDateFormat,\n        invalidDate: defaultInvalidDate,\n        ordinal: defaultOrdinal,\n        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n        relativeTime: defaultRelativeTime,\n\n        months: defaultLocaleMonths,\n        monthsShort: defaultLocaleMonthsShort,\n\n        week: defaultLocaleWeek,\n\n        weekdays: defaultLocaleWeekdays,\n        weekdaysMin: defaultLocaleWeekdaysMin,\n        weekdaysShort: defaultLocaleWeekdaysShort,\n\n        meridiemParse: defaultLocaleMeridiemParse,\n    };\n\n    // internal storage for locale config files\n    var locales = {},\n        localeFamilies = {},\n        globalLocale;\n\n    function commonPrefix(arr1, arr2) {\n        var i,\n            minl = Math.min(arr1.length, arr2.length);\n        for (i = 0; i < minl; i += 1) {\n            if (arr1[i] !== arr2[i]) {\n                return i;\n            }\n        }\n        return minl;\n    }\n\n    function normalizeLocale(key) {\n        return key ? key.toLowerCase().replace('_', '-') : key;\n    }\n\n    // pick the locale from the array\n    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n    function chooseLocale(names) {\n        var i = 0,\n            j,\n            next,\n            locale,\n            split;\n\n        while (i < names.length) {\n            split = normalizeLocale(names[i]).split('-');\n            j = split.length;\n            next = normalizeLocale(names[i + 1]);\n            next = next ? next.split('-') : null;\n            while (j > 0) {\n                locale = loadLocale(split.slice(0, j).join('-'));\n                if (locale) {\n                    return locale;\n                }\n                if (\n                    next &&\n                    next.length >= j &&\n                    commonPrefix(split, next) >= j - 1\n                ) {\n                    //the next array item is better than a shallower substring of this one\n                    break;\n                }\n                j--;\n            }\n            i++;\n        }\n        return globalLocale;\n    }\n\n    function isLocaleNameSane(name) {\n        // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n        return name.match('^[^/\\\\\\\\]*$') != null;\n    }\n\n    function loadLocale(name) {\n        var oldLocale = null,\n            aliasedRequire;\n        // TODO: Find a better way to register and load all the locales in Node\n        if (\n            locales[name] === undefined &&\n            typeof module !== 'undefined' &&\n            module &&\n            module.exports &&\n            isLocaleNameSane(name)\n        ) {\n            try {\n                oldLocale = globalLocale._abbr;\n                aliasedRequire = require;\n                aliasedRequire('./locale/' + name);\n                getSetGlobalLocale(oldLocale);\n            } catch (e) {\n                // mark as not found to avoid repeating expensive file require call causing high CPU\n                // when trying to find en-US, en_US, en-us for every format call\n                locales[name] = null; // null means not found\n            }\n        }\n        return locales[name];\n    }\n\n    // This function will load locale and then set the global locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    function getSetGlobalLocale(key, values) {\n        var data;\n        if (key) {\n            if (isUndefined(values)) {\n                data = getLocale(key);\n            } else {\n                data = defineLocale(key, values);\n            }\n\n            if (data) {\n                // moment.duration._locale = moment._locale = data;\n                globalLocale = data;\n            } else {\n                if (typeof console !== 'undefined' && console.warn) {\n                    //warn user if arguments are passed but the locale could not be set\n                    console.warn(\n                        'Locale ' + key + ' not found. Did you forget to load it?'\n                    );\n                }\n            }\n        }\n\n        return globalLocale._abbr;\n    }\n\n    function defineLocale(name, config) {\n        if (config !== null) {\n            var locale,\n                parentConfig = baseConfig;\n            config.abbr = name;\n            if (locales[name] != null) {\n                deprecateSimple(\n                    'defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                        'an existing locale. moment.defineLocale(localeName, ' +\n                        'config) should only be used for creating a new locale ' +\n                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n                );\n                parentConfig = locales[name]._config;\n            } else if (config.parentLocale != null) {\n                if (locales[config.parentLocale] != null) {\n                    parentConfig = locales[config.parentLocale]._config;\n                } else {\n                    locale = loadLocale(config.parentLocale);\n                    if (locale != null) {\n                        parentConfig = locale._config;\n                    } else {\n                        if (!localeFamilies[config.parentLocale]) {\n                            localeFamilies[config.parentLocale] = [];\n                        }\n                        localeFamilies[config.parentLocale].push({\n                            name: name,\n                            config: config,\n                        });\n                        return null;\n                    }\n                }\n            }\n            locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n            if (localeFamilies[name]) {\n                localeFamilies[name].forEach(function (x) {\n                    defineLocale(x.name, x.config);\n                });\n            }\n\n            // backwards compat for now: also set the locale\n            // make sure we set the locale AFTER all child locales have been\n            // created, so we won't end up with the child locale set.\n            getSetGlobalLocale(name);\n\n            return locales[name];\n        } else {\n            // useful for testing\n            delete locales[name];\n            return null;\n        }\n    }\n\n    function updateLocale(name, config) {\n        if (config != null) {\n            var locale,\n                tmpLocale,\n                parentConfig = baseConfig;\n\n            if (locales[name] != null && locales[name].parentLocale != null) {\n                // Update existing child locale in-place to avoid memory-leaks\n                locales[name].set(mergeConfigs(locales[name]._config, config));\n            } else {\n                // MERGE\n                tmpLocale = loadLocale(name);\n                if (tmpLocale != null) {\n                    parentConfig = tmpLocale._config;\n                }\n                config = mergeConfigs(parentConfig, config);\n                if (tmpLocale == null) {\n                    // updateLocale is called for creating a new locale\n                    // Set abbr so it will have a name (getters return\n                    // undefined otherwise).\n                    config.abbr = name;\n                }\n                locale = new Locale(config);\n                locale.parentLocale = locales[name];\n                locales[name] = locale;\n            }\n\n            // backwards compat for now: also set the locale\n            getSetGlobalLocale(name);\n        } else {\n            // pass null for config to unupdate, useful for tests\n            if (locales[name] != null) {\n                if (locales[name].parentLocale != null) {\n                    locales[name] = locales[name].parentLocale;\n                    if (name === getSetGlobalLocale()) {\n                        getSetGlobalLocale(name);\n                    }\n                } else if (locales[name] != null) {\n                    delete locales[name];\n                }\n            }\n        }\n        return locales[name];\n    }\n\n    // returns locale data\n    function getLocale(key) {\n        var locale;\n\n        if (key && key._locale && key._locale._abbr) {\n            key = key._locale._abbr;\n        }\n\n        if (!key) {\n            return globalLocale;\n        }\n\n        if (!isArray(key)) {\n            //short-circuit everything else\n            locale = loadLocale(key);\n            if (locale) {\n                return locale;\n            }\n            key = [key];\n        }\n\n        return chooseLocale(key);\n    }\n\n    function listLocales() {\n        return keys(locales);\n    }\n\n    function checkOverflow(m) {\n        var overflow,\n            a = m._a;\n\n        if (a && getParsingFlags(m).overflow === -2) {\n            overflow =\n                a[MONTH] < 0 || a[MONTH] > 11\n                    ? MONTH\n                    : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n                    ? DATE\n                    : a[HOUR] < 0 ||\n                      a[HOUR] > 24 ||\n                      (a[HOUR] === 24 &&\n                          (a[MINUTE] !== 0 ||\n                              a[SECOND] !== 0 ||\n                              a[MILLISECOND] !== 0))\n                    ? HOUR\n                    : a[MINUTE] < 0 || a[MINUTE] > 59\n                    ? MINUTE\n                    : a[SECOND] < 0 || a[SECOND] > 59\n                    ? SECOND\n                    : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n                    ? MILLISECOND\n                    : -1;\n\n            if (\n                getParsingFlags(m)._overflowDayOfYear &&\n                (overflow < YEAR || overflow > DATE)\n            ) {\n                overflow = DATE;\n            }\n            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n                overflow = WEEK;\n            }\n            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n                overflow = WEEKDAY;\n            }\n\n            getParsingFlags(m).overflow = overflow;\n        }\n\n        return m;\n    }\n\n    // iso 8601 regex\n    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n    var extendedIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        basicIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n        isoDates = [\n            ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n            ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n            ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n            ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n            ['YYYY-DDD', /\\d{4}-\\d{3}/],\n            ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n            ['YYYYYYMMDD', /[+-]\\d{10}/],\n            ['YYYYMMDD', /\\d{8}/],\n            ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n            ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n            ['YYYYDDD', /\\d{7}/],\n            ['YYYYMM', /\\d{6}/, false],\n            ['YYYY', /\\d{4}/, false],\n        ],\n        // iso time formats and regexes\n        isoTimes = [\n            ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n            ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n            ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n            ['HH:mm', /\\d\\d:\\d\\d/],\n            ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n            ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n            ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n            ['HHmm', /\\d\\d\\d\\d/],\n            ['HH', /\\d\\d/],\n        ],\n        aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n        // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n        rfc2822 =\n            /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n        obsOffsets = {\n            UT: 0,\n            GMT: 0,\n            EDT: -4 * 60,\n            EST: -5 * 60,\n            CDT: -5 * 60,\n            CST: -6 * 60,\n            MDT: -6 * 60,\n            MST: -7 * 60,\n            PDT: -7 * 60,\n            PST: -8 * 60,\n        };\n\n    // date from iso format\n    function configFromISO(config) {\n        var i,\n            l,\n            string = config._i,\n            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n            allowTime,\n            dateFormat,\n            timeFormat,\n            tzFormat,\n            isoDatesLen = isoDates.length,\n            isoTimesLen = isoTimes.length;\n\n        if (match) {\n            getParsingFlags(config).iso = true;\n            for (i = 0, l = isoDatesLen; i < l; i++) {\n                if (isoDates[i][1].exec(match[1])) {\n                    dateFormat = isoDates[i][0];\n                    allowTime = isoDates[i][2] !== false;\n                    break;\n                }\n            }\n            if (dateFormat == null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[3]) {\n                for (i = 0, l = isoTimesLen; i < l; i++) {\n                    if (isoTimes[i][1].exec(match[3])) {\n                        // match[2] should be 'T' or space\n                        timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                        break;\n                    }\n                }\n                if (timeFormat == null) {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            if (!allowTime && timeFormat != null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[4]) {\n                if (tzRegex.exec(match[4])) {\n                    tzFormat = 'Z';\n                } else {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n            configFromStringAndFormat(config);\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    function extractFromRFC2822Strings(\n        yearStr,\n        monthStr,\n        dayStr,\n        hourStr,\n        minuteStr,\n        secondStr\n    ) {\n        var result = [\n            untruncateYear(yearStr),\n            defaultLocaleMonthsShort.indexOf(monthStr),\n            parseInt(dayStr, 10),\n            parseInt(hourStr, 10),\n            parseInt(minuteStr, 10),\n        ];\n\n        if (secondStr) {\n            result.push(parseInt(secondStr, 10));\n        }\n\n        return result;\n    }\n\n    function untruncateYear(yearStr) {\n        var year = parseInt(yearStr, 10);\n        if (year <= 49) {\n            return 2000 + year;\n        } else if (year <= 999) {\n            return 1900 + year;\n        }\n        return year;\n    }\n\n    function preprocessRFC2822(s) {\n        // Remove comments and folding whitespace and replace multiple-spaces with a single space\n        return s\n            .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n            .replace(/(\\s\\s+)/g, ' ')\n            .replace(/^\\s\\s*/, '')\n            .replace(/\\s\\s*$/, '');\n    }\n\n    function checkWeekday(weekdayStr, parsedInput, config) {\n        if (weekdayStr) {\n            // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n                weekdayActual = new Date(\n                    parsedInput[0],\n                    parsedInput[1],\n                    parsedInput[2]\n                ).getDay();\n            if (weekdayProvided !== weekdayActual) {\n                getParsingFlags(config).weekdayMismatch = true;\n                config._isValid = false;\n                return false;\n            }\n        }\n        return true;\n    }\n\n    function calculateOffset(obsOffset, militaryOffset, numOffset) {\n        if (obsOffset) {\n            return obsOffsets[obsOffset];\n        } else if (militaryOffset) {\n            // the only allowed military tz is Z\n            return 0;\n        } else {\n            var hm = parseInt(numOffset, 10),\n                m = hm % 100,\n                h = (hm - m) / 100;\n            return h * 60 + m;\n        }\n    }\n\n    // date and time from ref 2822 format\n    function configFromRFC2822(config) {\n        var match = rfc2822.exec(preprocessRFC2822(config._i)),\n            parsedArray;\n        if (match) {\n            parsedArray = extractFromRFC2822Strings(\n                match[4],\n                match[3],\n                match[2],\n                match[5],\n                match[6],\n                match[7]\n            );\n            if (!checkWeekday(match[1], parsedArray, config)) {\n                return;\n            }\n\n            config._a = parsedArray;\n            config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n            config._d = createUTCDate.apply(null, config._a);\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n            getParsingFlags(config).rfc2822 = true;\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n    function configFromString(config) {\n        var matched = aspNetJsonRegex.exec(config._i);\n        if (matched !== null) {\n            config._d = new Date(+matched[1]);\n            return;\n        }\n\n        configFromISO(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        configFromRFC2822(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        if (config._strict) {\n            config._isValid = false;\n        } else {\n            // Final attempt, use Input Fallback\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    hooks.createFromInputFallback = deprecate(\n        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n            'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n            'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n        function (config) {\n            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n        }\n    );\n\n    // Pick the first defined of two or three arguments.\n    function defaults(a, b, c) {\n        if (a != null) {\n            return a;\n        }\n        if (b != null) {\n            return b;\n        }\n        return c;\n    }\n\n    function currentDateArray(config) {\n        // hooks is actually the exported moment object\n        var nowValue = new Date(hooks.now());\n        if (config._useUTC) {\n            return [\n                nowValue.getUTCFullYear(),\n                nowValue.getUTCMonth(),\n                nowValue.getUTCDate(),\n            ];\n        }\n        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n    }\n\n    // convert an array to a date.\n    // the array should mirror the parameters below\n    // note: all values past the year are optional and will default to the lowest possible value.\n    // [year, month, day , hour, minute, second, millisecond]\n    function configFromArray(config) {\n        var i,\n            date,\n            input = [],\n            currentDate,\n            expectedWeekday,\n            yearToUse;\n\n        if (config._d) {\n            return;\n        }\n\n        currentDate = currentDateArray(config);\n\n        //compute day of the year from weeks and weekdays\n        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n            dayOfYearFromWeekInfo(config);\n        }\n\n        //if the day of the year is set, figure out what it is\n        if (config._dayOfYear != null) {\n            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n            if (\n                config._dayOfYear > daysInYear(yearToUse) ||\n                config._dayOfYear === 0\n            ) {\n                getParsingFlags(config)._overflowDayOfYear = true;\n            }\n\n            date = createUTCDate(yearToUse, 0, config._dayOfYear);\n            config._a[MONTH] = date.getUTCMonth();\n            config._a[DATE] = date.getUTCDate();\n        }\n\n        // Default to current date.\n        // * if no year, month, day of month are given, default to today\n        // * if day of month is given, default month and year\n        // * if month is given, default only year\n        // * if year is given, don't default anything\n        for (i = 0; i < 3 && config._a[i] == null; ++i) {\n            config._a[i] = input[i] = currentDate[i];\n        }\n\n        // Zero out whatever was not defaulted, including time\n        for (; i < 7; i++) {\n            config._a[i] = input[i] =\n                config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n        }\n\n        // Check for 24:00:00.000\n        if (\n            config._a[HOUR] === 24 &&\n            config._a[MINUTE] === 0 &&\n            config._a[SECOND] === 0 &&\n            config._a[MILLISECOND] === 0\n        ) {\n            config._nextDay = true;\n            config._a[HOUR] = 0;\n        }\n\n        config._d = (config._useUTC ? createUTCDate : createDate).apply(\n            null,\n            input\n        );\n        expectedWeekday = config._useUTC\n            ? config._d.getUTCDay()\n            : config._d.getDay();\n\n        // Apply timezone offset from input. The actual utcOffset can be changed\n        // with parseZone.\n        if (config._tzm != null) {\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n        }\n\n        if (config._nextDay) {\n            config._a[HOUR] = 24;\n        }\n\n        // check for mismatching day of week\n        if (\n            config._w &&\n            typeof config._w.d !== 'undefined' &&\n            config._w.d !== expectedWeekday\n        ) {\n            getParsingFlags(config).weekdayMismatch = true;\n        }\n    }\n\n    function dayOfYearFromWeekInfo(config) {\n        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n        w = config._w;\n        if (w.GG != null || w.W != null || w.E != null) {\n            dow = 1;\n            doy = 4;\n\n            // TODO: We need to take the current isoWeekYear, but that depends on\n            // how we interpret now (local, utc, fixed offset). So create\n            // a now version of current config (take local/utc/offset flags, and\n            // create now).\n            weekYear = defaults(\n                w.GG,\n                config._a[YEAR],\n                weekOfYear(createLocal(), 1, 4).year\n            );\n            week = defaults(w.W, 1);\n            weekday = defaults(w.E, 1);\n            if (weekday < 1 || weekday > 7) {\n                weekdayOverflow = true;\n            }\n        } else {\n            dow = config._locale._week.dow;\n            doy = config._locale._week.doy;\n\n            curWeek = weekOfYear(createLocal(), dow, doy);\n\n            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n            // Default to current week.\n            week = defaults(w.w, curWeek.week);\n\n            if (w.d != null) {\n                // weekday -- low day numbers are considered next week\n                weekday = w.d;\n                if (weekday < 0 || weekday > 6) {\n                    weekdayOverflow = true;\n                }\n            } else if (w.e != null) {\n                // local weekday -- counting starts from beginning of week\n                weekday = w.e + dow;\n                if (w.e < 0 || w.e > 6) {\n                    weekdayOverflow = true;\n                }\n            } else {\n                // default to beginning of week\n                weekday = dow;\n            }\n        }\n        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n            getParsingFlags(config)._overflowWeeks = true;\n        } else if (weekdayOverflow != null) {\n            getParsingFlags(config)._overflowWeekday = true;\n        } else {\n            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n            config._a[YEAR] = temp.year;\n            config._dayOfYear = temp.dayOfYear;\n        }\n    }\n\n    // constant that refers to the ISO standard\n    hooks.ISO_8601 = function () {};\n\n    // constant that refers to the RFC 2822 form\n    hooks.RFC_2822 = function () {};\n\n    // date from string and format string\n    function configFromStringAndFormat(config) {\n        // TODO: Move this to another part of the creation flow to prevent circular deps\n        if (config._f === hooks.ISO_8601) {\n            configFromISO(config);\n            return;\n        }\n        if (config._f === hooks.RFC_2822) {\n            configFromRFC2822(config);\n            return;\n        }\n        config._a = [];\n        getParsingFlags(config).empty = true;\n\n        // This array is used to make a Date, either with `new Date` or `Date.UTC`\n        var string = '' + config._i,\n            i,\n            parsedInput,\n            tokens,\n            token,\n            skipped,\n            stringLength = string.length,\n            totalParsedInputLength = 0,\n            era,\n            tokenLen;\n\n        tokens =\n            expandFormat(config._f, config._locale).match(formattingTokens) || [];\n        tokenLen = tokens.length;\n        for (i = 0; i < tokenLen; i++) {\n            token = tokens[i];\n            parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n                [])[0];\n            if (parsedInput) {\n                skipped = string.substr(0, string.indexOf(parsedInput));\n                if (skipped.length > 0) {\n                    getParsingFlags(config).unusedInput.push(skipped);\n                }\n                string = string.slice(\n                    string.indexOf(parsedInput) + parsedInput.length\n                );\n                totalParsedInputLength += parsedInput.length;\n            }\n            // don't parse if it's not a known token\n            if (formatTokenFunctions[token]) {\n                if (parsedInput) {\n                    getParsingFlags(config).empty = false;\n                } else {\n                    getParsingFlags(config).unusedTokens.push(token);\n                }\n                addTimeToArrayFromToken(token, parsedInput, config);\n            } else if (config._strict && !parsedInput) {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n        }\n\n        // add remaining unparsed input length to the string\n        getParsingFlags(config).charsLeftOver =\n            stringLength - totalParsedInputLength;\n        if (string.length > 0) {\n            getParsingFlags(config).unusedInput.push(string);\n        }\n\n        // clear _12h flag if hour is <= 12\n        if (\n            config._a[HOUR] <= 12 &&\n            getParsingFlags(config).bigHour === true &&\n            config._a[HOUR] > 0\n        ) {\n            getParsingFlags(config).bigHour = undefined;\n        }\n\n        getParsingFlags(config).parsedDateParts = config._a.slice(0);\n        getParsingFlags(config).meridiem = config._meridiem;\n        // handle meridiem\n        config._a[HOUR] = meridiemFixWrap(\n            config._locale,\n            config._a[HOUR],\n            config._meridiem\n        );\n\n        // handle era\n        era = getParsingFlags(config).era;\n        if (era !== null) {\n            config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n        }\n\n        configFromArray(config);\n        checkOverflow(config);\n    }\n\n    function meridiemFixWrap(locale, hour, meridiem) {\n        var isPm;\n\n        if (meridiem == null) {\n            // nothing to do\n            return hour;\n        }\n        if (locale.meridiemHour != null) {\n            return locale.meridiemHour(hour, meridiem);\n        } else if (locale.isPM != null) {\n            // Fallback\n            isPm = locale.isPM(meridiem);\n            if (isPm && hour < 12) {\n                hour += 12;\n            }\n            if (!isPm && hour === 12) {\n                hour = 0;\n            }\n            return hour;\n        } else {\n            // this is not supposed to happen\n            return hour;\n        }\n    }\n\n    // date from string and array of format strings\n    function configFromStringAndArray(config) {\n        var tempConfig,\n            bestMoment,\n            scoreToBeat,\n            i,\n            currentScore,\n            validFormatFound,\n            bestFormatIsValid = false,\n            configfLen = config._f.length;\n\n        if (configfLen === 0) {\n            getParsingFlags(config).invalidFormat = true;\n            config._d = new Date(NaN);\n            return;\n        }\n\n        for (i = 0; i < configfLen; i++) {\n            currentScore = 0;\n            validFormatFound = false;\n            tempConfig = copyConfig({}, config);\n            if (config._useUTC != null) {\n                tempConfig._useUTC = config._useUTC;\n            }\n            tempConfig._f = config._f[i];\n            configFromStringAndFormat(tempConfig);\n\n            if (isValid(tempConfig)) {\n                validFormatFound = true;\n            }\n\n            // if there is any input that was not parsed add a penalty for that format\n            currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n            //or tokens\n            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n            getParsingFlags(tempConfig).score = currentScore;\n\n            if (!bestFormatIsValid) {\n                if (\n                    scoreToBeat == null ||\n                    currentScore < scoreToBeat ||\n                    validFormatFound\n                ) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                    if (validFormatFound) {\n                        bestFormatIsValid = true;\n                    }\n                }\n            } else {\n                if (currentScore < scoreToBeat) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                }\n            }\n        }\n\n        extend(config, bestMoment || tempConfig);\n    }\n\n    function configFromObject(config) {\n        if (config._d) {\n            return;\n        }\n\n        var i = normalizeObjectUnits(config._i),\n            dayOrDate = i.day === undefined ? i.date : i.day;\n        config._a = map(\n            [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n            function (obj) {\n                return obj && parseInt(obj, 10);\n            }\n        );\n\n        configFromArray(config);\n    }\n\n    function createFromConfig(config) {\n        var res = new Moment(checkOverflow(prepareConfig(config)));\n        if (res._nextDay) {\n            // Adding is smart enough around DST\n            res.add(1, 'd');\n            res._nextDay = undefined;\n        }\n\n        return res;\n    }\n\n    function prepareConfig(config) {\n        var input = config._i,\n            format = config._f;\n\n        config._locale = config._locale || getLocale(config._l);\n\n        if (input === null || (format === undefined && input === '')) {\n            return createInvalid({ nullInput: true });\n        }\n\n        if (typeof input === 'string') {\n            config._i = input = config._locale.preparse(input);\n        }\n\n        if (isMoment(input)) {\n            return new Moment(checkOverflow(input));\n        } else if (isDate(input)) {\n            config._d = input;\n        } else if (isArray(format)) {\n            configFromStringAndArray(config);\n        } else if (format) {\n            configFromStringAndFormat(config);\n        } else {\n            configFromInput(config);\n        }\n\n        if (!isValid(config)) {\n            config._d = null;\n        }\n\n        return config;\n    }\n\n    function configFromInput(config) {\n        var input = config._i;\n        if (isUndefined(input)) {\n            config._d = new Date(hooks.now());\n        } else if (isDate(input)) {\n            config._d = new Date(input.valueOf());\n        } else if (typeof input === 'string') {\n            configFromString(config);\n        } else if (isArray(input)) {\n            config._a = map(input.slice(0), function (obj) {\n                return parseInt(obj, 10);\n            });\n            configFromArray(config);\n        } else if (isObject(input)) {\n            configFromObject(config);\n        } else if (isNumber(input)) {\n            // from milliseconds\n            config._d = new Date(input);\n        } else {\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    function createLocalOrUTC(input, format, locale, strict, isUTC) {\n        var c = {};\n\n        if (format === true || format === false) {\n            strict = format;\n            format = undefined;\n        }\n\n        if (locale === true || locale === false) {\n            strict = locale;\n            locale = undefined;\n        }\n\n        if (\n            (isObject(input) && isObjectEmpty(input)) ||\n            (isArray(input) && input.length === 0)\n        ) {\n            input = undefined;\n        }\n        // object construction must be done this way.\n        // https://github.com/moment/moment/issues/1423\n        c._isAMomentObject = true;\n        c._useUTC = c._isUTC = isUTC;\n        c._l = locale;\n        c._i = input;\n        c._f = format;\n        c._strict = strict;\n\n        return createFromConfig(c);\n    }\n\n    function createLocal(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, false);\n    }\n\n    var prototypeMin = deprecate(\n            'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other < this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        ),\n        prototypeMax = deprecate(\n            'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other > this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        );\n\n    // Pick a moment m from moments so that m[fn](other) is true for all\n    // other. This relies on the function fn to be transitive.\n    //\n    // moments should either be an array of moment objects or an array, whose\n    // first element is an array of moment objects.\n    function pickBy(fn, moments) {\n        var res, i;\n        if (moments.length === 1 && isArray(moments[0])) {\n            moments = moments[0];\n        }\n        if (!moments.length) {\n            return createLocal();\n        }\n        res = moments[0];\n        for (i = 1; i < moments.length; ++i) {\n            if (!moments[i].isValid() || moments[i][fn](res)) {\n                res = moments[i];\n            }\n        }\n        return res;\n    }\n\n    // TODO: Use [].sort instead?\n    function min() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isBefore', args);\n    }\n\n    function max() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isAfter', args);\n    }\n\n    var now = function () {\n        return Date.now ? Date.now() : +new Date();\n    };\n\n    var ordering = [\n        'year',\n        'quarter',\n        'month',\n        'week',\n        'day',\n        'hour',\n        'minute',\n        'second',\n        'millisecond',\n    ];\n\n    function isDurationValid(m) {\n        var key,\n            unitHasDecimal = false,\n            i,\n            orderLen = ordering.length;\n        for (key in m) {\n            if (\n                hasOwnProp(m, key) &&\n                !(\n                    indexOf.call(ordering, key) !== -1 &&\n                    (m[key] == null || !isNaN(m[key]))\n                )\n            ) {\n                return false;\n            }\n        }\n\n        for (i = 0; i < orderLen; ++i) {\n            if (m[ordering[i]]) {\n                if (unitHasDecimal) {\n                    return false; // only allow non-integers for smallest unit\n                }\n                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                    unitHasDecimal = true;\n                }\n            }\n        }\n\n        return true;\n    }\n\n    function isValid$1() {\n        return this._isValid;\n    }\n\n    function createInvalid$1() {\n        return createDuration(NaN);\n    }\n\n    function Duration(duration) {\n        var normalizedInput = normalizeObjectUnits(duration),\n            years = normalizedInput.year || 0,\n            quarters = normalizedInput.quarter || 0,\n            months = normalizedInput.month || 0,\n            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n            days = normalizedInput.day || 0,\n            hours = normalizedInput.hour || 0,\n            minutes = normalizedInput.minute || 0,\n            seconds = normalizedInput.second || 0,\n            milliseconds = normalizedInput.millisecond || 0;\n\n        this._isValid = isDurationValid(normalizedInput);\n\n        // representation for dateAddRemove\n        this._milliseconds =\n            +milliseconds +\n            seconds * 1e3 + // 1000\n            minutes * 6e4 + // 1000 * 60\n            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n        // Because of dateAddRemove treats 24 hours as different from a\n        // day when working around DST, we need to store them separately\n        this._days = +days + weeks * 7;\n        // It is impossible to translate months into days without knowing\n        // which months you are are talking about, so we have to store\n        // it separately.\n        this._months = +months + quarters * 3 + years * 12;\n\n        this._data = {};\n\n        this._locale = getLocale();\n\n        this._bubble();\n    }\n\n    function isDuration(obj) {\n        return obj instanceof Duration;\n    }\n\n    function absRound(number) {\n        if (number < 0) {\n            return Math.round(-1 * number) * -1;\n        } else {\n            return Math.round(number);\n        }\n    }\n\n    // compare two arrays, return the number of differences\n    function compareArrays(array1, array2, dontConvert) {\n        var len = Math.min(array1.length, array2.length),\n            lengthDiff = Math.abs(array1.length - array2.length),\n            diffs = 0,\n            i;\n        for (i = 0; i < len; i++) {\n            if (\n                (dontConvert && array1[i] !== array2[i]) ||\n                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n            ) {\n                diffs++;\n            }\n        }\n        return diffs + lengthDiff;\n    }\n\n    // FORMATTING\n\n    function offset(token, separator) {\n        addFormatToken(token, 0, 0, function () {\n            var offset = this.utcOffset(),\n                sign = '+';\n            if (offset < 0) {\n                offset = -offset;\n                sign = '-';\n            }\n            return (\n                sign +\n                zeroFill(~~(offset / 60), 2) +\n                separator +\n                zeroFill(~~offset % 60, 2)\n            );\n        });\n    }\n\n    offset('Z', ':');\n    offset('ZZ', '');\n\n    // PARSING\n\n    addRegexToken('Z', matchShortOffset);\n    addRegexToken('ZZ', matchShortOffset);\n    addParseToken(['Z', 'ZZ'], function (input, array, config) {\n        config._useUTC = true;\n        config._tzm = offsetFromString(matchShortOffset, input);\n    });\n\n    // HELPERS\n\n    // timezone chunker\n    // '+10:00' > ['10',  '00']\n    // '-1530'  > ['-15', '30']\n    var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n    function offsetFromString(matcher, string) {\n        var matches = (string || '').match(matcher),\n            chunk,\n            parts,\n            minutes;\n\n        if (matches === null) {\n            return null;\n        }\n\n        chunk = matches[matches.length - 1] || [];\n        parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n        minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n        return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n    }\n\n    // Return a moment from input, that is local/utc/zone equivalent to model.\n    function cloneWithOffset(input, model) {\n        var res, diff;\n        if (model._isUTC) {\n            res = model.clone();\n            diff =\n                (isMoment(input) || isDate(input)\n                    ? input.valueOf()\n                    : createLocal(input).valueOf()) - res.valueOf();\n            // Use low-level api, because this fn is low-level api.\n            res._d.setTime(res._d.valueOf() + diff);\n            hooks.updateOffset(res, false);\n            return res;\n        } else {\n            return createLocal(input).local();\n        }\n    }\n\n    function getDateOffset(m) {\n        // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n        // https://github.com/moment/moment/pull/1871\n        return -Math.round(m._d.getTimezoneOffset());\n    }\n\n    // HOOKS\n\n    // This function will be called whenever a moment is mutated.\n    // It is intended to keep the offset in sync with the timezone.\n    hooks.updateOffset = function () {};\n\n    // MOMENTS\n\n    // keepLocalTime = true means only change the timezone, without\n    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n    // +0200, so we adjust the time as needed, to be valid.\n    //\n    // Keeping the time actually adds/subtracts (one hour)\n    // from the actual represented time. That is why we call updateOffset\n    // a second time. In case it wants us to change the offset again\n    // _changeInProgress == true case, then we have to adjust, because\n    // there is no such time in the given timezone.\n    function getSetOffset(input, keepLocalTime, keepMinutes) {\n        var offset = this._offset || 0,\n            localAdjust;\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        if (input != null) {\n            if (typeof input === 'string') {\n                input = offsetFromString(matchShortOffset, input);\n                if (input === null) {\n                    return this;\n                }\n            } else if (Math.abs(input) < 16 && !keepMinutes) {\n                input = input * 60;\n            }\n            if (!this._isUTC && keepLocalTime) {\n                localAdjust = getDateOffset(this);\n            }\n            this._offset = input;\n            this._isUTC = true;\n            if (localAdjust != null) {\n                this.add(localAdjust, 'm');\n            }\n            if (offset !== input) {\n                if (!keepLocalTime || this._changeInProgress) {\n                    addSubtract(\n                        this,\n                        createDuration(input - offset, 'm'),\n                        1,\n                        false\n                    );\n                } else if (!this._changeInProgress) {\n                    this._changeInProgress = true;\n                    hooks.updateOffset(this, true);\n                    this._changeInProgress = null;\n                }\n            }\n            return this;\n        } else {\n            return this._isUTC ? offset : getDateOffset(this);\n        }\n    }\n\n    function getSetZone(input, keepLocalTime) {\n        if (input != null) {\n            if (typeof input !== 'string') {\n                input = -input;\n            }\n\n            this.utcOffset(input, keepLocalTime);\n\n            return this;\n        } else {\n            return -this.utcOffset();\n        }\n    }\n\n    function setOffsetToUTC(keepLocalTime) {\n        return this.utcOffset(0, keepLocalTime);\n    }\n\n    function setOffsetToLocal(keepLocalTime) {\n        if (this._isUTC) {\n            this.utcOffset(0, keepLocalTime);\n            this._isUTC = false;\n\n            if (keepLocalTime) {\n                this.subtract(getDateOffset(this), 'm');\n            }\n        }\n        return this;\n    }\n\n    function setOffsetToParsedOffset() {\n        if (this._tzm != null) {\n            this.utcOffset(this._tzm, false, true);\n        } else if (typeof this._i === 'string') {\n            var tZone = offsetFromString(matchOffset, this._i);\n            if (tZone != null) {\n                this.utcOffset(tZone);\n            } else {\n                this.utcOffset(0, true);\n            }\n        }\n        return this;\n    }\n\n    function hasAlignedHourOffset(input) {\n        if (!this.isValid()) {\n            return false;\n        }\n        input = input ? createLocal(input).utcOffset() : 0;\n\n        return (this.utcOffset() - input) % 60 === 0;\n    }\n\n    function isDaylightSavingTime() {\n        return (\n            this.utcOffset() > this.clone().month(0).utcOffset() ||\n            this.utcOffset() > this.clone().month(5).utcOffset()\n        );\n    }\n\n    function isDaylightSavingTimeShifted() {\n        if (!isUndefined(this._isDSTShifted)) {\n            return this._isDSTShifted;\n        }\n\n        var c = {},\n            other;\n\n        copyConfig(c, this);\n        c = prepareConfig(c);\n\n        if (c._a) {\n            other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n            this._isDSTShifted =\n                this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n        } else {\n            this._isDSTShifted = false;\n        }\n\n        return this._isDSTShifted;\n    }\n\n    function isLocal() {\n        return this.isValid() ? !this._isUTC : false;\n    }\n\n    function isUtcOffset() {\n        return this.isValid() ? this._isUTC : false;\n    }\n\n    function isUtc() {\n        return this.isValid() ? this._isUTC && this._offset === 0 : false;\n    }\n\n    // ASP.NET json date format regex\n    var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n        // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n        // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n        // and further modified to allow for strings containing both week and day\n        isoRegex =\n            /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n    function createDuration(input, key) {\n        var duration = input,\n            // matching against regexp is expensive, do it on demand\n            match = null,\n            sign,\n            ret,\n            diffRes;\n\n        if (isDuration(input)) {\n            duration = {\n                ms: input._milliseconds,\n                d: input._days,\n                M: input._months,\n            };\n        } else if (isNumber(input) || !isNaN(+input)) {\n            duration = {};\n            if (key) {\n                duration[key] = +input;\n            } else {\n                duration.milliseconds = +input;\n            }\n        } else if ((match = aspNetRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: 0,\n                d: toInt(match[DATE]) * sign,\n                h: toInt(match[HOUR]) * sign,\n                m: toInt(match[MINUTE]) * sign,\n                s: toInt(match[SECOND]) * sign,\n                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n            };\n        } else if ((match = isoRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: parseIso(match[2], sign),\n                M: parseIso(match[3], sign),\n                w: parseIso(match[4], sign),\n                d: parseIso(match[5], sign),\n                h: parseIso(match[6], sign),\n                m: parseIso(match[7], sign),\n                s: parseIso(match[8], sign),\n            };\n        } else if (duration == null) {\n            // checks for null or undefined\n            duration = {};\n        } else if (\n            typeof duration === 'object' &&\n            ('from' in duration || 'to' in duration)\n        ) {\n            diffRes = momentsDifference(\n                createLocal(duration.from),\n                createLocal(duration.to)\n            );\n\n            duration = {};\n            duration.ms = diffRes.milliseconds;\n            duration.M = diffRes.months;\n        }\n\n        ret = new Duration(duration);\n\n        if (isDuration(input) && hasOwnProp(input, '_locale')) {\n            ret._locale = input._locale;\n        }\n\n        if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n            ret._isValid = input._isValid;\n        }\n\n        return ret;\n    }\n\n    createDuration.fn = Duration.prototype;\n    createDuration.invalid = createInvalid$1;\n\n    function parseIso(inp, sign) {\n        // We'd normally use ~~inp for this, but unfortunately it also\n        // converts floats to ints.\n        // inp may be undefined, so careful calling replace on it.\n        var res = inp && parseFloat(inp.replace(',', '.'));\n        // apply sign while we're at it\n        return (isNaN(res) ? 0 : res) * sign;\n    }\n\n    function positiveMomentsDifference(base, other) {\n        var res = {};\n\n        res.months =\n            other.month() - base.month() + (other.year() - base.year()) * 12;\n        if (base.clone().add(res.months, 'M').isAfter(other)) {\n            --res.months;\n        }\n\n        res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n        return res;\n    }\n\n    function momentsDifference(base, other) {\n        var res;\n        if (!(base.isValid() && other.isValid())) {\n            return { milliseconds: 0, months: 0 };\n        }\n\n        other = cloneWithOffset(other, base);\n        if (base.isBefore(other)) {\n            res = positiveMomentsDifference(base, other);\n        } else {\n            res = positiveMomentsDifference(other, base);\n            res.milliseconds = -res.milliseconds;\n            res.months = -res.months;\n        }\n\n        return res;\n    }\n\n    // TODO: remove 'name' arg after deprecation is removed\n    function createAdder(direction, name) {\n        return function (val, period) {\n            var dur, tmp;\n            //invert the arguments, but complain about it\n            if (period !== null && !isNaN(+period)) {\n                deprecateSimple(\n                    name,\n                    'moment().' +\n                        name +\n                        '(period, number) is deprecated. Please use moment().' +\n                        name +\n                        '(number, period). ' +\n                        'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n                );\n                tmp = val;\n                val = period;\n                period = tmp;\n            }\n\n            dur = createDuration(val, period);\n            addSubtract(this, dur, direction);\n            return this;\n        };\n    }\n\n    function addSubtract(mom, duration, isAdding, updateOffset) {\n        var milliseconds = duration._milliseconds,\n            days = absRound(duration._days),\n            months = absRound(duration._months);\n\n        if (!mom.isValid()) {\n            // No op\n            return;\n        }\n\n        updateOffset = updateOffset == null ? true : updateOffset;\n\n        if (months) {\n            setMonth(mom, get(mom, 'Month') + months * isAdding);\n        }\n        if (days) {\n            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n        }\n        if (milliseconds) {\n            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n        }\n        if (updateOffset) {\n            hooks.updateOffset(mom, days || months);\n        }\n    }\n\n    var add = createAdder(1, 'add'),\n        subtract = createAdder(-1, 'subtract');\n\n    function isString(input) {\n        return typeof input === 'string' || input instanceof String;\n    }\n\n    // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n    function isMomentInput(input) {\n        return (\n            isMoment(input) ||\n            isDate(input) ||\n            isString(input) ||\n            isNumber(input) ||\n            isNumberOrStringArray(input) ||\n            isMomentInputObject(input) ||\n            input === null ||\n            input === undefined\n        );\n    }\n\n    function isMomentInputObject(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'years',\n                'year',\n                'y',\n                'months',\n                'month',\n                'M',\n                'days',\n                'day',\n                'd',\n                'dates',\n                'date',\n                'D',\n                'hours',\n                'hour',\n                'h',\n                'minutes',\n                'minute',\n                'm',\n                'seconds',\n                'second',\n                's',\n                'milliseconds',\n                'millisecond',\n                'ms',\n            ],\n            i,\n            property,\n            propertyLen = properties.length;\n\n        for (i = 0; i < propertyLen; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function isNumberOrStringArray(input) {\n        var arrayTest = isArray(input),\n            dataTypeTest = false;\n        if (arrayTest) {\n            dataTypeTest =\n                input.filter(function (item) {\n                    return !isNumber(item) && isString(input);\n                }).length === 0;\n        }\n        return arrayTest && dataTypeTest;\n    }\n\n    function isCalendarSpec(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'sameDay',\n                'nextDay',\n                'lastDay',\n                'nextWeek',\n                'lastWeek',\n                'sameElse',\n            ],\n            i,\n            property;\n\n        for (i = 0; i < properties.length; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function getCalendarFormat(myMoment, now) {\n        var diff = myMoment.diff(now, 'days', true);\n        return diff < -6\n            ? 'sameElse'\n            : diff < -1\n            ? 'lastWeek'\n            : diff < 0\n            ? 'lastDay'\n            : diff < 1\n            ? 'sameDay'\n            : diff < 2\n            ? 'nextDay'\n            : diff < 7\n            ? 'nextWeek'\n            : 'sameElse';\n    }\n\n    function calendar$1(time, formats) {\n        // Support for single parameter, formats only overload to the calendar function\n        if (arguments.length === 1) {\n            if (!arguments[0]) {\n                time = undefined;\n                formats = undefined;\n            } else if (isMomentInput(arguments[0])) {\n                time = arguments[0];\n                formats = undefined;\n            } else if (isCalendarSpec(arguments[0])) {\n                formats = arguments[0];\n                time = undefined;\n            }\n        }\n        // We want to compare the start of today, vs this.\n        // Getting start-of-today depends on whether we're local/utc/offset or not.\n        var now = time || createLocal(),\n            sod = cloneWithOffset(now, this).startOf('day'),\n            format = hooks.calendarFormat(this, sod) || 'sameElse',\n            output =\n                formats &&\n                (isFunction(formats[format])\n                    ? formats[format].call(this, now)\n                    : formats[format]);\n\n        return this.format(\n            output || this.localeData().calendar(format, this, createLocal(now))\n        );\n    }\n\n    function clone() {\n        return new Moment(this);\n    }\n\n    function isAfter(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() > localInput.valueOf();\n        } else {\n            return localInput.valueOf() < this.clone().startOf(units).valueOf();\n        }\n    }\n\n    function isBefore(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() < localInput.valueOf();\n        } else {\n            return this.clone().endOf(units).valueOf() < localInput.valueOf();\n        }\n    }\n\n    function isBetween(from, to, units, inclusivity) {\n        var localFrom = isMoment(from) ? from : createLocal(from),\n            localTo = isMoment(to) ? to : createLocal(to);\n        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n            return false;\n        }\n        inclusivity = inclusivity || '()';\n        return (\n            (inclusivity[0] === '('\n                ? this.isAfter(localFrom, units)\n                : !this.isBefore(localFrom, units)) &&\n            (inclusivity[1] === ')'\n                ? this.isBefore(localTo, units)\n                : !this.isAfter(localTo, units))\n        );\n    }\n\n    function isSame(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input),\n            inputMs;\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() === localInput.valueOf();\n        } else {\n            inputMs = localInput.valueOf();\n            return (\n                this.clone().startOf(units).valueOf() <= inputMs &&\n                inputMs <= this.clone().endOf(units).valueOf()\n            );\n        }\n    }\n\n    function isSameOrAfter(input, units) {\n        return this.isSame(input, units) || this.isAfter(input, units);\n    }\n\n    function isSameOrBefore(input, units) {\n        return this.isSame(input, units) || this.isBefore(input, units);\n    }\n\n    function diff(input, units, asFloat) {\n        var that, zoneDelta, output;\n\n        if (!this.isValid()) {\n            return NaN;\n        }\n\n        that = cloneWithOffset(input, this);\n\n        if (!that.isValid()) {\n            return NaN;\n        }\n\n        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n        units = normalizeUnits(units);\n\n        switch (units) {\n            case 'year':\n                output = monthDiff(this, that) / 12;\n                break;\n            case 'month':\n                output = monthDiff(this, that);\n                break;\n            case 'quarter':\n                output = monthDiff(this, that) / 3;\n                break;\n            case 'second':\n                output = (this - that) / 1e3;\n                break; // 1000\n            case 'minute':\n                output = (this - that) / 6e4;\n                break; // 1000 * 60\n            case 'hour':\n                output = (this - that) / 36e5;\n                break; // 1000 * 60 * 60\n            case 'day':\n                output = (this - that - zoneDelta) / 864e5;\n                break; // 1000 * 60 * 60 * 24, negate dst\n            case 'week':\n                output = (this - that - zoneDelta) / 6048e5;\n                break; // 1000 * 60 * 60 * 24 * 7, negate dst\n            default:\n                output = this - that;\n        }\n\n        return asFloat ? output : absFloor(output);\n    }\n\n    function monthDiff(a, b) {\n        if (a.date() < b.date()) {\n            // end-of-month calculations work correct when the start month has more\n            // days than the end month.\n            return -monthDiff(b, a);\n        }\n        // difference in months\n        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n            // b is in (anchor - 1 month, anchor + 1 month)\n            anchor = a.clone().add(wholeMonthDiff, 'months'),\n            anchor2,\n            adjust;\n\n        if (b - anchor < 0) {\n            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor - anchor2);\n        } else {\n            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor2 - anchor);\n        }\n\n        //check for negative zero, return zero if negative zero\n        return -(wholeMonthDiff + adjust) || 0;\n    }\n\n    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n    function toString() {\n        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n    }\n\n    function toISOString(keepOffset) {\n        if (!this.isValid()) {\n            return null;\n        }\n        var utc = keepOffset !== true,\n            m = utc ? this.clone().utc() : this;\n        if (m.year() < 0 || m.year() > 9999) {\n            return formatMoment(\n                m,\n                utc\n                    ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n                    : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n            );\n        }\n        if (isFunction(Date.prototype.toISOString)) {\n            // native implementation is ~50x faster, use it when we can\n            if (utc) {\n                return this.toDate().toISOString();\n            } else {\n                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n                    .toISOString()\n                    .replace('Z', formatMoment(m, 'Z'));\n            }\n        }\n        return formatMoment(\n            m,\n            utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n        );\n    }\n\n    /**\n     * Return a human readable representation of a moment that can\n     * also be evaluated to get a new moment which is the same\n     *\n     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n     */\n    function inspect() {\n        if (!this.isValid()) {\n            return 'moment.invalid(/* ' + this._i + ' */)';\n        }\n        var func = 'moment',\n            zone = '',\n            prefix,\n            year,\n            datetime,\n            suffix;\n        if (!this.isLocal()) {\n            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n            zone = 'Z';\n        }\n        prefix = '[' + func + '(\"]';\n        year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n        datetime = '-MM-DD[T]HH:mm:ss.SSS';\n        suffix = zone + '[\")]';\n\n        return this.format(prefix + year + datetime + suffix);\n    }\n\n    function format(inputString) {\n        if (!inputString) {\n            inputString = this.isUtc()\n                ? hooks.defaultFormatUtc\n                : hooks.defaultFormat;\n        }\n        var output = formatMoment(this, inputString);\n        return this.localeData().postformat(output);\n    }\n\n    function from(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ to: this, from: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function fromNow(withoutSuffix) {\n        return this.from(createLocal(), withoutSuffix);\n    }\n\n    function to(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ from: this, to: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function toNow(withoutSuffix) {\n        return this.to(createLocal(), withoutSuffix);\n    }\n\n    // If passed a locale key, it will set the locale for this\n    // instance.  Otherwise, it will return the locale configuration\n    // variables for this instance.\n    function locale(key) {\n        var newLocaleData;\n\n        if (key === undefined) {\n            return this._locale._abbr;\n        } else {\n            newLocaleData = getLocale(key);\n            if (newLocaleData != null) {\n                this._locale = newLocaleData;\n            }\n            return this;\n        }\n    }\n\n    var lang = deprecate(\n        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n        function (key) {\n            if (key === undefined) {\n                return this.localeData();\n            } else {\n                return this.locale(key);\n            }\n        }\n    );\n\n    function localeData() {\n        return this._locale;\n    }\n\n    var MS_PER_SECOND = 1000,\n        MS_PER_MINUTE = 60 * MS_PER_SECOND,\n        MS_PER_HOUR = 60 * MS_PER_MINUTE,\n        MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n    // actual modulo - handles negative numbers (for dates before 1970):\n    function mod$1(dividend, divisor) {\n        return ((dividend % divisor) + divisor) % divisor;\n    }\n\n    function localStartOfDate(y, m, d) {\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return new Date(y, m, d).valueOf();\n        }\n    }\n\n    function utcStartOfDate(y, m, d) {\n        // Date.UTC remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return Date.UTC(y, m, d);\n        }\n    }\n\n    function startOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year(), 0, 1);\n                break;\n            case 'quarter':\n                time = startOfDate(\n                    this.year(),\n                    this.month() - (this.month() % 3),\n                    1\n                );\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month(), 1);\n                break;\n            case 'week':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - this.weekday()\n                );\n                break;\n            case 'isoWeek':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - (this.isoWeekday() - 1)\n                );\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date());\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time -= mod$1(\n                    time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                    MS_PER_HOUR\n                );\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_MINUTE);\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_SECOND);\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function endOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year() + 1, 0, 1) - 1;\n                break;\n            case 'quarter':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month() - (this.month() % 3) + 3,\n                        1\n                    ) - 1;\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n                break;\n            case 'week':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - this.weekday() + 7\n                    ) - 1;\n                break;\n            case 'isoWeek':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - (this.isoWeekday() - 1) + 7\n                    ) - 1;\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time +=\n                    MS_PER_HOUR -\n                    mod$1(\n                        time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                        MS_PER_HOUR\n                    ) -\n                    1;\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function valueOf() {\n        return this._d.valueOf() - (this._offset || 0) * 60000;\n    }\n\n    function unix() {\n        return Math.floor(this.valueOf() / 1000);\n    }\n\n    function toDate() {\n        return new Date(this.valueOf());\n    }\n\n    function toArray() {\n        var m = this;\n        return [\n            m.year(),\n            m.month(),\n            m.date(),\n            m.hour(),\n            m.minute(),\n            m.second(),\n            m.millisecond(),\n        ];\n    }\n\n    function toObject() {\n        var m = this;\n        return {\n            years: m.year(),\n            months: m.month(),\n            date: m.date(),\n            hours: m.hours(),\n            minutes: m.minutes(),\n            seconds: m.seconds(),\n            milliseconds: m.milliseconds(),\n        };\n    }\n\n    function toJSON() {\n        // new Date(NaN).toJSON() === null\n        return this.isValid() ? this.toISOString() : null;\n    }\n\n    function isValid$2() {\n        return isValid(this);\n    }\n\n    function parsingFlags() {\n        return extend({}, getParsingFlags(this));\n    }\n\n    function invalidAt() {\n        return getParsingFlags(this).overflow;\n    }\n\n    function creationData() {\n        return {\n            input: this._i,\n            format: this._f,\n            locale: this._locale,\n            isUTC: this._isUTC,\n            strict: this._strict,\n        };\n    }\n\n    addFormatToken('N', 0, 0, 'eraAbbr');\n    addFormatToken('NN', 0, 0, 'eraAbbr');\n    addFormatToken('NNN', 0, 0, 'eraAbbr');\n    addFormatToken('NNNN', 0, 0, 'eraName');\n    addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n    addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n    addFormatToken('y', ['yy', 2], 0, 'eraYear');\n    addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n    addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n    addRegexToken('N', matchEraAbbr);\n    addRegexToken('NN', matchEraAbbr);\n    addRegexToken('NNN', matchEraAbbr);\n    addRegexToken('NNNN', matchEraName);\n    addRegexToken('NNNNN', matchEraNarrow);\n\n    addParseToken(\n        ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n        function (input, array, config, token) {\n            var era = config._locale.erasParse(input, token, config._strict);\n            if (era) {\n                getParsingFlags(config).era = era;\n            } else {\n                getParsingFlags(config).invalidEra = input;\n            }\n        }\n    );\n\n    addRegexToken('y', matchUnsigned);\n    addRegexToken('yy', matchUnsigned);\n    addRegexToken('yyy', matchUnsigned);\n    addRegexToken('yyyy', matchUnsigned);\n    addRegexToken('yo', matchEraYearOrdinal);\n\n    addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n    addParseToken(['yo'], function (input, array, config, token) {\n        var match;\n        if (config._locale._eraYearOrdinalRegex) {\n            match = input.match(config._locale._eraYearOrdinalRegex);\n        }\n\n        if (config._locale.eraYearOrdinalParse) {\n            array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n        } else {\n            array[YEAR] = parseInt(input, 10);\n        }\n    });\n\n    function localeEras(m, format) {\n        var i,\n            l,\n            date,\n            eras = this._eras || getLocale('en')._eras;\n        for (i = 0, l = eras.length; i < l; ++i) {\n            switch (typeof eras[i].since) {\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].since).startOf('day');\n                    eras[i].since = date.valueOf();\n                    break;\n            }\n\n            switch (typeof eras[i].until) {\n                case 'undefined':\n                    eras[i].until = +Infinity;\n                    break;\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].until).startOf('day').valueOf();\n                    eras[i].until = date.valueOf();\n                    break;\n            }\n        }\n        return eras;\n    }\n\n    function localeErasParse(eraName, format, strict) {\n        var i,\n            l,\n            eras = this.eras(),\n            name,\n            abbr,\n            narrow;\n        eraName = eraName.toUpperCase();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            name = eras[i].name.toUpperCase();\n            abbr = eras[i].abbr.toUpperCase();\n            narrow = eras[i].narrow.toUpperCase();\n\n            if (strict) {\n                switch (format) {\n                    case 'N':\n                    case 'NN':\n                    case 'NNN':\n                        if (abbr === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNN':\n                        if (name === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNNN':\n                        if (narrow === eraName) {\n                            return eras[i];\n                        }\n                        break;\n                }\n            } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n                return eras[i];\n            }\n        }\n    }\n\n    function localeErasConvertYear(era, year) {\n        var dir = era.since <= era.until ? +1 : -1;\n        if (year === undefined) {\n            return hooks(era.since).year();\n        } else {\n            return hooks(era.since).year() + (year - era.offset) * dir;\n        }\n    }\n\n    function getEraName() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].name;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].name;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraNarrow() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].narrow;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].narrow;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraAbbr() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].abbr;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].abbr;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraYear() {\n        var i,\n            l,\n            dir,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (\n                (eras[i].since <= val && val <= eras[i].until) ||\n                (eras[i].until <= val && val <= eras[i].since)\n            ) {\n                return (\n                    (this.year() - hooks(eras[i].since).year()) * dir +\n                    eras[i].offset\n                );\n            }\n        }\n\n        return this.year();\n    }\n\n    function erasNameRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNameRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNameRegex : this._erasRegex;\n    }\n\n    function erasAbbrRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasAbbrRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasAbbrRegex : this._erasRegex;\n    }\n\n    function erasNarrowRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNarrowRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNarrowRegex : this._erasRegex;\n    }\n\n    function matchEraAbbr(isStrict, locale) {\n        return locale.erasAbbrRegex(isStrict);\n    }\n\n    function matchEraName(isStrict, locale) {\n        return locale.erasNameRegex(isStrict);\n    }\n\n    function matchEraNarrow(isStrict, locale) {\n        return locale.erasNarrowRegex(isStrict);\n    }\n\n    function matchEraYearOrdinal(isStrict, locale) {\n        return locale._eraYearOrdinalRegex || matchUnsigned;\n    }\n\n    function computeErasParse() {\n        var abbrPieces = [],\n            namePieces = [],\n            narrowPieces = [],\n            mixedPieces = [],\n            i,\n            l,\n            eras = this.eras();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            namePieces.push(regexEscape(eras[i].name));\n            abbrPieces.push(regexEscape(eras[i].abbr));\n            narrowPieces.push(regexEscape(eras[i].narrow));\n\n            mixedPieces.push(regexEscape(eras[i].name));\n            mixedPieces.push(regexEscape(eras[i].abbr));\n            mixedPieces.push(regexEscape(eras[i].narrow));\n        }\n\n        this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n        this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n        this._erasNarrowRegex = new RegExp(\n            '^(' + narrowPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken(0, ['gg', 2], 0, function () {\n        return this.weekYear() % 100;\n    });\n\n    addFormatToken(0, ['GG', 2], 0, function () {\n        return this.isoWeekYear() % 100;\n    });\n\n    function addWeekYearFormatToken(token, getter) {\n        addFormatToken(0, [token, token.length], 0, getter);\n    }\n\n    addWeekYearFormatToken('gggg', 'weekYear');\n    addWeekYearFormatToken('ggggg', 'weekYear');\n    addWeekYearFormatToken('GGGG', 'isoWeekYear');\n    addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n    // ALIASES\n\n    addUnitAlias('weekYear', 'gg');\n    addUnitAlias('isoWeekYear', 'GG');\n\n    // PRIORITY\n\n    addUnitPriority('weekYear', 1);\n    addUnitPriority('isoWeekYear', 1);\n\n    // PARSING\n\n    addRegexToken('G', matchSigned);\n    addRegexToken('g', matchSigned);\n    addRegexToken('GG', match1to2, match2);\n    addRegexToken('gg', match1to2, match2);\n    addRegexToken('GGGG', match1to4, match4);\n    addRegexToken('gggg', match1to4, match4);\n    addRegexToken('GGGGG', match1to6, match6);\n    addRegexToken('ggggg', match1to6, match6);\n\n    addWeekParseToken(\n        ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n        function (input, week, config, token) {\n            week[token.substr(0, 2)] = toInt(input);\n        }\n    );\n\n    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n        week[token] = hooks.parseTwoDigitYear(input);\n    });\n\n    // MOMENTS\n\n    function getSetWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.week(),\n            this.weekday(),\n            this.localeData()._week.dow,\n            this.localeData()._week.doy\n        );\n    }\n\n    function getSetISOWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.isoWeek(),\n            this.isoWeekday(),\n            1,\n            4\n        );\n    }\n\n    function getISOWeeksInYear() {\n        return weeksInYear(this.year(), 1, 4);\n    }\n\n    function getISOWeeksInISOWeekYear() {\n        return weeksInYear(this.isoWeekYear(), 1, 4);\n    }\n\n    function getWeeksInYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getWeeksInWeekYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n        var weeksTarget;\n        if (input == null) {\n            return weekOfYear(this, dow, doy).year;\n        } else {\n            weeksTarget = weeksInYear(input, dow, doy);\n            if (week > weeksTarget) {\n                week = weeksTarget;\n            }\n            return setWeekAll.call(this, input, week, weekday, dow, doy);\n        }\n    }\n\n    function setWeekAll(weekYear, week, weekday, dow, doy) {\n        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n        this.year(date.getUTCFullYear());\n        this.month(date.getUTCMonth());\n        this.date(date.getUTCDate());\n        return this;\n    }\n\n    // FORMATTING\n\n    addFormatToken('Q', 0, 'Qo', 'quarter');\n\n    // ALIASES\n\n    addUnitAlias('quarter', 'Q');\n\n    // PRIORITY\n\n    addUnitPriority('quarter', 7);\n\n    // PARSING\n\n    addRegexToken('Q', match1);\n    addParseToken('Q', function (input, array) {\n        array[MONTH] = (toInt(input) - 1) * 3;\n    });\n\n    // MOMENTS\n\n    function getSetQuarter(input) {\n        return input == null\n            ? Math.ceil((this.month() + 1) / 3)\n            : this.month((input - 1) * 3 + (this.month() % 3));\n    }\n\n    // FORMATTING\n\n    addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n    // ALIASES\n\n    addUnitAlias('date', 'D');\n\n    // PRIORITY\n    addUnitPriority('date', 9);\n\n    // PARSING\n\n    addRegexToken('D', match1to2);\n    addRegexToken('DD', match1to2, match2);\n    addRegexToken('Do', function (isStrict, locale) {\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        return isStrict\n            ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n            : locale._dayOfMonthOrdinalParseLenient;\n    });\n\n    addParseToken(['D', 'DD'], DATE);\n    addParseToken('Do', function (input, array) {\n        array[DATE] = toInt(input.match(match1to2)[0]);\n    });\n\n    // MOMENTS\n\n    var getSetDayOfMonth = makeGetSet('Date', true);\n\n    // FORMATTING\n\n    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n    // ALIASES\n\n    addUnitAlias('dayOfYear', 'DDD');\n\n    // PRIORITY\n    addUnitPriority('dayOfYear', 4);\n\n    // PARSING\n\n    addRegexToken('DDD', match1to3);\n    addRegexToken('DDDD', match3);\n    addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n        config._dayOfYear = toInt(input);\n    });\n\n    // HELPERS\n\n    // MOMENTS\n\n    function getSetDayOfYear(input) {\n        var dayOfYear =\n            Math.round(\n                (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n            ) + 1;\n        return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('m', ['mm', 2], 0, 'minute');\n\n    // ALIASES\n\n    addUnitAlias('minute', 'm');\n\n    // PRIORITY\n\n    addUnitPriority('minute', 14);\n\n    // PARSING\n\n    addRegexToken('m', match1to2);\n    addRegexToken('mm', match1to2, match2);\n    addParseToken(['m', 'mm'], MINUTE);\n\n    // MOMENTS\n\n    var getSetMinute = makeGetSet('Minutes', false);\n\n    // FORMATTING\n\n    addFormatToken('s', ['ss', 2], 0, 'second');\n\n    // ALIASES\n\n    addUnitAlias('second', 's');\n\n    // PRIORITY\n\n    addUnitPriority('second', 15);\n\n    // PARSING\n\n    addRegexToken('s', match1to2);\n    addRegexToken('ss', match1to2, match2);\n    addParseToken(['s', 'ss'], SECOND);\n\n    // MOMENTS\n\n    var getSetSecond = makeGetSet('Seconds', false);\n\n    // FORMATTING\n\n    addFormatToken('S', 0, 0, function () {\n        return ~~(this.millisecond() / 100);\n    });\n\n    addFormatToken(0, ['SS', 2], 0, function () {\n        return ~~(this.millisecond() / 10);\n    });\n\n    addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n    addFormatToken(0, ['SSSS', 4], 0, function () {\n        return this.millisecond() * 10;\n    });\n    addFormatToken(0, ['SSSSS', 5], 0, function () {\n        return this.millisecond() * 100;\n    });\n    addFormatToken(0, ['SSSSSS', 6], 0, function () {\n        return this.millisecond() * 1000;\n    });\n    addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n        return this.millisecond() * 10000;\n    });\n    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n        return this.millisecond() * 100000;\n    });\n    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n        return this.millisecond() * 1000000;\n    });\n\n    // ALIASES\n\n    addUnitAlias('millisecond', 'ms');\n\n    // PRIORITY\n\n    addUnitPriority('millisecond', 16);\n\n    // PARSING\n\n    addRegexToken('S', match1to3, match1);\n    addRegexToken('SS', match1to3, match2);\n    addRegexToken('SSS', match1to3, match3);\n\n    var token, getSetMillisecond;\n    for (token = 'SSSS'; token.length <= 9; token += 'S') {\n        addRegexToken(token, matchUnsigned);\n    }\n\n    function parseMs(input, array) {\n        array[MILLISECOND] = toInt(('0.' + input) * 1000);\n    }\n\n    for (token = 'S'; token.length <= 9; token += 'S') {\n        addParseToken(token, parseMs);\n    }\n\n    getSetMillisecond = makeGetSet('Milliseconds', false);\n\n    // FORMATTING\n\n    addFormatToken('z', 0, 0, 'zoneAbbr');\n    addFormatToken('zz', 0, 0, 'zoneName');\n\n    // MOMENTS\n\n    function getZoneAbbr() {\n        return this._isUTC ? 'UTC' : '';\n    }\n\n    function getZoneName() {\n        return this._isUTC ? 'Coordinated Universal Time' : '';\n    }\n\n    var proto = Moment.prototype;\n\n    proto.add = add;\n    proto.calendar = calendar$1;\n    proto.clone = clone;\n    proto.diff = diff;\n    proto.endOf = endOf;\n    proto.format = format;\n    proto.from = from;\n    proto.fromNow = fromNow;\n    proto.to = to;\n    proto.toNow = toNow;\n    proto.get = stringGet;\n    proto.invalidAt = invalidAt;\n    proto.isAfter = isAfter;\n    proto.isBefore = isBefore;\n    proto.isBetween = isBetween;\n    proto.isSame = isSame;\n    proto.isSameOrAfter = isSameOrAfter;\n    proto.isSameOrBefore = isSameOrBefore;\n    proto.isValid = isValid$2;\n    proto.lang = lang;\n    proto.locale = locale;\n    proto.localeData = localeData;\n    proto.max = prototypeMax;\n    proto.min = prototypeMin;\n    proto.parsingFlags = parsingFlags;\n    proto.set = stringSet;\n    proto.startOf = startOf;\n    proto.subtract = subtract;\n    proto.toArray = toArray;\n    proto.toObject = toObject;\n    proto.toDate = toDate;\n    proto.toISOString = toISOString;\n    proto.inspect = inspect;\n    if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n        proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n            return 'Moment<' + this.format() + '>';\n        };\n    }\n    proto.toJSON = toJSON;\n    proto.toString = toString;\n    proto.unix = unix;\n    proto.valueOf = valueOf;\n    proto.creationData = creationData;\n    proto.eraName = getEraName;\n    proto.eraNarrow = getEraNarrow;\n    proto.eraAbbr = getEraAbbr;\n    proto.eraYear = getEraYear;\n    proto.year = getSetYear;\n    proto.isLeapYear = getIsLeapYear;\n    proto.weekYear = getSetWeekYear;\n    proto.isoWeekYear = getSetISOWeekYear;\n    proto.quarter = proto.quarters = getSetQuarter;\n    proto.month = getSetMonth;\n    proto.daysInMonth = getDaysInMonth;\n    proto.week = proto.weeks = getSetWeek;\n    proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n    proto.weeksInYear = getWeeksInYear;\n    proto.weeksInWeekYear = getWeeksInWeekYear;\n    proto.isoWeeksInYear = getISOWeeksInYear;\n    proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n    proto.date = getSetDayOfMonth;\n    proto.day = proto.days = getSetDayOfWeek;\n    proto.weekday = getSetLocaleDayOfWeek;\n    proto.isoWeekday = getSetISODayOfWeek;\n    proto.dayOfYear = getSetDayOfYear;\n    proto.hour = proto.hours = getSetHour;\n    proto.minute = proto.minutes = getSetMinute;\n    proto.second = proto.seconds = getSetSecond;\n    proto.millisecond = proto.milliseconds = getSetMillisecond;\n    proto.utcOffset = getSetOffset;\n    proto.utc = setOffsetToUTC;\n    proto.local = setOffsetToLocal;\n    proto.parseZone = setOffsetToParsedOffset;\n    proto.hasAlignedHourOffset = hasAlignedHourOffset;\n    proto.isDST = isDaylightSavingTime;\n    proto.isLocal = isLocal;\n    proto.isUtcOffset = isUtcOffset;\n    proto.isUtc = isUtc;\n    proto.isUTC = isUtc;\n    proto.zoneAbbr = getZoneAbbr;\n    proto.zoneName = getZoneName;\n    proto.dates = deprecate(\n        'dates accessor is deprecated. Use date instead.',\n        getSetDayOfMonth\n    );\n    proto.months = deprecate(\n        'months accessor is deprecated. Use month instead',\n        getSetMonth\n    );\n    proto.years = deprecate(\n        'years accessor is deprecated. Use year instead',\n        getSetYear\n    );\n    proto.zone = deprecate(\n        'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n        getSetZone\n    );\n    proto.isDSTShifted = deprecate(\n        'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n        isDaylightSavingTimeShifted\n    );\n\n    function createUnix(input) {\n        return createLocal(input * 1000);\n    }\n\n    function createInZone() {\n        return createLocal.apply(null, arguments).parseZone();\n    }\n\n    function preParsePostFormat(string) {\n        return string;\n    }\n\n    var proto$1 = Locale.prototype;\n\n    proto$1.calendar = calendar;\n    proto$1.longDateFormat = longDateFormat;\n    proto$1.invalidDate = invalidDate;\n    proto$1.ordinal = ordinal;\n    proto$1.preparse = preParsePostFormat;\n    proto$1.postformat = preParsePostFormat;\n    proto$1.relativeTime = relativeTime;\n    proto$1.pastFuture = pastFuture;\n    proto$1.set = set;\n    proto$1.eras = localeEras;\n    proto$1.erasParse = localeErasParse;\n    proto$1.erasConvertYear = localeErasConvertYear;\n    proto$1.erasAbbrRegex = erasAbbrRegex;\n    proto$1.erasNameRegex = erasNameRegex;\n    proto$1.erasNarrowRegex = erasNarrowRegex;\n\n    proto$1.months = localeMonths;\n    proto$1.monthsShort = localeMonthsShort;\n    proto$1.monthsParse = localeMonthsParse;\n    proto$1.monthsRegex = monthsRegex;\n    proto$1.monthsShortRegex = monthsShortRegex;\n    proto$1.week = localeWeek;\n    proto$1.firstDayOfYear = localeFirstDayOfYear;\n    proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n    proto$1.weekdays = localeWeekdays;\n    proto$1.weekdaysMin = localeWeekdaysMin;\n    proto$1.weekdaysShort = localeWeekdaysShort;\n    proto$1.weekdaysParse = localeWeekdaysParse;\n\n    proto$1.weekdaysRegex = weekdaysRegex;\n    proto$1.weekdaysShortRegex = weekdaysShortRegex;\n    proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n    proto$1.isPM = localeIsPM;\n    proto$1.meridiem = localeMeridiem;\n\n    function get$1(format, index, field, setter) {\n        var locale = getLocale(),\n            utc = createUTC().set(setter, index);\n        return locale[field](utc, format);\n    }\n\n    function listMonthsImpl(format, index, field) {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n\n        if (index != null) {\n            return get$1(format, index, field, 'month');\n        }\n\n        var i,\n            out = [];\n        for (i = 0; i < 12; i++) {\n            out[i] = get$1(format, i, field, 'month');\n        }\n        return out;\n    }\n\n    // ()\n    // (5)\n    // (fmt, 5)\n    // (fmt)\n    // (true)\n    // (true, 5)\n    // (true, fmt, 5)\n    // (true, fmt)\n    function listWeekdaysImpl(localeSorted, format, index, field) {\n        if (typeof localeSorted === 'boolean') {\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        } else {\n            format = localeSorted;\n            index = format;\n            localeSorted = false;\n\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        }\n\n        var locale = getLocale(),\n            shift = localeSorted ? locale._week.dow : 0,\n            i,\n            out = [];\n\n        if (index != null) {\n            return get$1(format, (index + shift) % 7, field, 'day');\n        }\n\n        for (i = 0; i < 7; i++) {\n            out[i] = get$1(format, (i + shift) % 7, field, 'day');\n        }\n        return out;\n    }\n\n    function listMonths(format, index) {\n        return listMonthsImpl(format, index, 'months');\n    }\n\n    function listMonthsShort(format, index) {\n        return listMonthsImpl(format, index, 'monthsShort');\n    }\n\n    function listWeekdays(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n    }\n\n    function listWeekdaysShort(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n    }\n\n    function listWeekdaysMin(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n    }\n\n    getSetGlobalLocale('en', {\n        eras: [\n            {\n                since: '0001-01-01',\n                until: +Infinity,\n                offset: 1,\n                name: 'Anno Domini',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: 'Before Christ',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    toInt((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    // Side effect imports\n\n    hooks.lang = deprecate(\n        'moment.lang is deprecated. Use moment.locale instead.',\n        getSetGlobalLocale\n    );\n    hooks.langData = deprecate(\n        'moment.langData is deprecated. Use moment.localeData instead.',\n        getLocale\n    );\n\n    var mathAbs = Math.abs;\n\n    function abs() {\n        var data = this._data;\n\n        this._milliseconds = mathAbs(this._milliseconds);\n        this._days = mathAbs(this._days);\n        this._months = mathAbs(this._months);\n\n        data.milliseconds = mathAbs(data.milliseconds);\n        data.seconds = mathAbs(data.seconds);\n        data.minutes = mathAbs(data.minutes);\n        data.hours = mathAbs(data.hours);\n        data.months = mathAbs(data.months);\n        data.years = mathAbs(data.years);\n\n        return this;\n    }\n\n    function addSubtract$1(duration, input, value, direction) {\n        var other = createDuration(input, value);\n\n        duration._milliseconds += direction * other._milliseconds;\n        duration._days += direction * other._days;\n        duration._months += direction * other._months;\n\n        return duration._bubble();\n    }\n\n    // supports only 2.0-style add(1, 's') or add(duration)\n    function add$1(input, value) {\n        return addSubtract$1(this, input, value, 1);\n    }\n\n    // supports only 2.0-style subtract(1, 's') or subtract(duration)\n    function subtract$1(input, value) {\n        return addSubtract$1(this, input, value, -1);\n    }\n\n    function absCeil(number) {\n        if (number < 0) {\n            return Math.floor(number);\n        } else {\n            return Math.ceil(number);\n        }\n    }\n\n    function bubble() {\n        var milliseconds = this._milliseconds,\n            days = this._days,\n            months = this._months,\n            data = this._data,\n            seconds,\n            minutes,\n            hours,\n            years,\n            monthsFromDays;\n\n        // if we have a mix of positive and negative values, bubble down first\n        // check: https://github.com/moment/moment/issues/2166\n        if (\n            !(\n                (milliseconds >= 0 && days >= 0 && months >= 0) ||\n                (milliseconds <= 0 && days <= 0 && months <= 0)\n            )\n        ) {\n            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n            days = 0;\n            months = 0;\n        }\n\n        // The following code bubbles up values, see the tests for\n        // examples of what that means.\n        data.milliseconds = milliseconds % 1000;\n\n        seconds = absFloor(milliseconds / 1000);\n        data.seconds = seconds % 60;\n\n        minutes = absFloor(seconds / 60);\n        data.minutes = minutes % 60;\n\n        hours = absFloor(minutes / 60);\n        data.hours = hours % 24;\n\n        days += absFloor(hours / 24);\n\n        // convert days to months\n        monthsFromDays = absFloor(daysToMonths(days));\n        months += monthsFromDays;\n        days -= absCeil(monthsToDays(monthsFromDays));\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        data.days = days;\n        data.months = months;\n        data.years = years;\n\n        return this;\n    }\n\n    function daysToMonths(days) {\n        // 400 years have 146097 days (taking into account leap year rules)\n        // 400 years have 12 months === 4800\n        return (days * 4800) / 146097;\n    }\n\n    function monthsToDays(months) {\n        // the reverse of daysToMonths\n        return (months * 146097) / 4800;\n    }\n\n    function as(units) {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        var days,\n            months,\n            milliseconds = this._milliseconds;\n\n        units = normalizeUnits(units);\n\n        if (units === 'month' || units === 'quarter' || units === 'year') {\n            days = this._days + milliseconds / 864e5;\n            months = this._months + daysToMonths(days);\n            switch (units) {\n                case 'month':\n                    return months;\n                case 'quarter':\n                    return months / 3;\n                case 'year':\n                    return months / 12;\n            }\n        } else {\n            // handle milliseconds separately because of floating point math errors (issue #1867)\n            days = this._days + Math.round(monthsToDays(this._months));\n            switch (units) {\n                case 'week':\n                    return days / 7 + milliseconds / 6048e5;\n                case 'day':\n                    return days + milliseconds / 864e5;\n                case 'hour':\n                    return days * 24 + milliseconds / 36e5;\n                case 'minute':\n                    return days * 1440 + milliseconds / 6e4;\n                case 'second':\n                    return days * 86400 + milliseconds / 1000;\n                // Math.floor prevents floating point math errors here\n                case 'millisecond':\n                    return Math.floor(days * 864e5) + milliseconds;\n                default:\n                    throw new Error('Unknown unit ' + units);\n            }\n        }\n    }\n\n    // TODO: Use this.as('ms')?\n    function valueOf$1() {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        return (\n            this._milliseconds +\n            this._days * 864e5 +\n            (this._months % 12) * 2592e6 +\n            toInt(this._months / 12) * 31536e6\n        );\n    }\n\n    function makeAs(alias) {\n        return function () {\n            return this.as(alias);\n        };\n    }\n\n    var asMilliseconds = makeAs('ms'),\n        asSeconds = makeAs('s'),\n        asMinutes = makeAs('m'),\n        asHours = makeAs('h'),\n        asDays = makeAs('d'),\n        asWeeks = makeAs('w'),\n        asMonths = makeAs('M'),\n        asQuarters = makeAs('Q'),\n        asYears = makeAs('y');\n\n    function clone$1() {\n        return createDuration(this);\n    }\n\n    function get$2(units) {\n        units = normalizeUnits(units);\n        return this.isValid() ? this[units + 's']() : NaN;\n    }\n\n    function makeGetter(name) {\n        return function () {\n            return this.isValid() ? this._data[name] : NaN;\n        };\n    }\n\n    var milliseconds = makeGetter('milliseconds'),\n        seconds = makeGetter('seconds'),\n        minutes = makeGetter('minutes'),\n        hours = makeGetter('hours'),\n        days = makeGetter('days'),\n        months = makeGetter('months'),\n        years = makeGetter('years');\n\n    function weeks() {\n        return absFloor(this.days() / 7);\n    }\n\n    var round = Math.round,\n        thresholds = {\n            ss: 44, // a few seconds to seconds\n            s: 45, // seconds to minute\n            m: 45, // minutes to hour\n            h: 22, // hours to day\n            d: 26, // days to month/week\n            w: null, // weeks to month\n            M: 11, // months to year\n        };\n\n    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n    }\n\n    function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n        var duration = createDuration(posNegDuration).abs(),\n            seconds = round(duration.as('s')),\n            minutes = round(duration.as('m')),\n            hours = round(duration.as('h')),\n            days = round(duration.as('d')),\n            months = round(duration.as('M')),\n            weeks = round(duration.as('w')),\n            years = round(duration.as('y')),\n            a =\n                (seconds <= thresholds.ss && ['s', seconds]) ||\n                (seconds < thresholds.s && ['ss', seconds]) ||\n                (minutes <= 1 && ['m']) ||\n                (minutes < thresholds.m && ['mm', minutes]) ||\n                (hours <= 1 && ['h']) ||\n                (hours < thresholds.h && ['hh', hours]) ||\n                (days <= 1 && ['d']) ||\n                (days < thresholds.d && ['dd', days]);\n\n        if (thresholds.w != null) {\n            a =\n                a ||\n                (weeks <= 1 && ['w']) ||\n                (weeks < thresholds.w && ['ww', weeks]);\n        }\n        a = a ||\n            (months <= 1 && ['M']) ||\n            (months < thresholds.M && ['MM', months]) ||\n            (years <= 1 && ['y']) || ['yy', years];\n\n        a[2] = withoutSuffix;\n        a[3] = +posNegDuration > 0;\n        a[4] = locale;\n        return substituteTimeAgo.apply(null, a);\n    }\n\n    // This function allows you to set the rounding function for relative time strings\n    function getSetRelativeTimeRounding(roundingFunction) {\n        if (roundingFunction === undefined) {\n            return round;\n        }\n        if (typeof roundingFunction === 'function') {\n            round = roundingFunction;\n            return true;\n        }\n        return false;\n    }\n\n    // This function allows you to set a threshold for relative time strings\n    function getSetRelativeTimeThreshold(threshold, limit) {\n        if (thresholds[threshold] === undefined) {\n            return false;\n        }\n        if (limit === undefined) {\n            return thresholds[threshold];\n        }\n        thresholds[threshold] = limit;\n        if (threshold === 's') {\n            thresholds.ss = limit - 1;\n        }\n        return true;\n    }\n\n    function humanize(argWithSuffix, argThresholds) {\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var withSuffix = false,\n            th = thresholds,\n            locale,\n            output;\n\n        if (typeof argWithSuffix === 'object') {\n            argThresholds = argWithSuffix;\n            argWithSuffix = false;\n        }\n        if (typeof argWithSuffix === 'boolean') {\n            withSuffix = argWithSuffix;\n        }\n        if (typeof argThresholds === 'object') {\n            th = Object.assign({}, thresholds, argThresholds);\n            if (argThresholds.s != null && argThresholds.ss == null) {\n                th.ss = argThresholds.s - 1;\n            }\n        }\n\n        locale = this.localeData();\n        output = relativeTime$1(this, !withSuffix, th, locale);\n\n        if (withSuffix) {\n            output = locale.pastFuture(+this, output);\n        }\n\n        return locale.postformat(output);\n    }\n\n    var abs$1 = Math.abs;\n\n    function sign(x) {\n        return (x > 0) - (x < 0) || +x;\n    }\n\n    function toISOString$1() {\n        // for ISO strings we do not use the normal bubbling rules:\n        //  * milliseconds bubble up until they become hours\n        //  * days do not bubble at all\n        //  * months bubble up until they become years\n        // This is because there is no context-free conversion between hours and days\n        // (think of clock changes)\n        // and also not between days and months (28-31 days per month)\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var seconds = abs$1(this._milliseconds) / 1000,\n            days = abs$1(this._days),\n            months = abs$1(this._months),\n            minutes,\n            hours,\n            years,\n            s,\n            total = this.asSeconds(),\n            totalSign,\n            ymSign,\n            daysSign,\n            hmsSign;\n\n        if (!total) {\n            // this is the same as C#'s (Noda) and python (isodate)...\n            // but not other JS (goog.date)\n            return 'P0D';\n        }\n\n        // 3600 seconds -> 60 minutes -> 1 hour\n        minutes = absFloor(seconds / 60);\n        hours = absFloor(minutes / 60);\n        seconds %= 60;\n        minutes %= 60;\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n        s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n        totalSign = total < 0 ? '-' : '';\n        ymSign = sign(this._months) !== sign(total) ? '-' : '';\n        daysSign = sign(this._days) !== sign(total) ? '-' : '';\n        hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n        return (\n            totalSign +\n            'P' +\n            (years ? ymSign + years + 'Y' : '') +\n            (months ? ymSign + months + 'M' : '') +\n            (days ? daysSign + days + 'D' : '') +\n            (hours || minutes || seconds ? 'T' : '') +\n            (hours ? hmsSign + hours + 'H' : '') +\n            (minutes ? hmsSign + minutes + 'M' : '') +\n            (seconds ? hmsSign + s + 'S' : '')\n        );\n    }\n\n    var proto$2 = Duration.prototype;\n\n    proto$2.isValid = isValid$1;\n    proto$2.abs = abs;\n    proto$2.add = add$1;\n    proto$2.subtract = subtract$1;\n    proto$2.as = as;\n    proto$2.asMilliseconds = asMilliseconds;\n    proto$2.asSeconds = asSeconds;\n    proto$2.asMinutes = asMinutes;\n    proto$2.asHours = asHours;\n    proto$2.asDays = asDays;\n    proto$2.asWeeks = asWeeks;\n    proto$2.asMonths = asMonths;\n    proto$2.asQuarters = asQuarters;\n    proto$2.asYears = asYears;\n    proto$2.valueOf = valueOf$1;\n    proto$2._bubble = bubble;\n    proto$2.clone = clone$1;\n    proto$2.get = get$2;\n    proto$2.milliseconds = milliseconds;\n    proto$2.seconds = seconds;\n    proto$2.minutes = minutes;\n    proto$2.hours = hours;\n    proto$2.days = days;\n    proto$2.weeks = weeks;\n    proto$2.months = months;\n    proto$2.years = years;\n    proto$2.humanize = humanize;\n    proto$2.toISOString = toISOString$1;\n    proto$2.toString = toISOString$1;\n    proto$2.toJSON = toISOString$1;\n    proto$2.locale = locale;\n    proto$2.localeData = localeData;\n\n    proto$2.toIsoString = deprecate(\n        'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n        toISOString$1\n    );\n    proto$2.lang = lang;\n\n    // FORMATTING\n\n    addFormatToken('X', 0, 0, 'unix');\n    addFormatToken('x', 0, 0, 'valueOf');\n\n    // PARSING\n\n    addRegexToken('x', matchSigned);\n    addRegexToken('X', matchTimestamp);\n    addParseToken('X', function (input, array, config) {\n        config._d = new Date(parseFloat(input) * 1000);\n    });\n    addParseToken('x', function (input, array, config) {\n        config._d = new Date(toInt(input));\n    });\n\n    //! moment.js\n\n    hooks.version = '2.29.3';\n\n    setHookCallback(createLocal);\n\n    hooks.fn = proto;\n    hooks.min = min;\n    hooks.max = max;\n    hooks.now = now;\n    hooks.utc = createUTC;\n    hooks.unix = createUnix;\n    hooks.months = listMonths;\n    hooks.isDate = isDate;\n    hooks.locale = getSetGlobalLocale;\n    hooks.invalid = createInvalid;\n    hooks.duration = createDuration;\n    hooks.isMoment = isMoment;\n    hooks.weekdays = listWeekdays;\n    hooks.parseZone = createInZone;\n    hooks.localeData = getLocale;\n    hooks.isDuration = isDuration;\n    hooks.monthsShort = listMonthsShort;\n    hooks.weekdaysMin = listWeekdaysMin;\n    hooks.defineLocale = defineLocale;\n    hooks.updateLocale = updateLocale;\n    hooks.locales = listLocales;\n    hooks.weekdaysShort = listWeekdaysShort;\n    hooks.normalizeUnits = normalizeUnits;\n    hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n    hooks.calendarFormat = getCalendarFormat;\n    hooks.prototype = proto;\n\n    // currently HTML5 input type only supports 24-hour formats\n    hooks.HTML5_FMT = {\n        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n        DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n        TIME: 'HH:mm', // <input type=\"time\" />\n        TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n        TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n        WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n        MONTH: 'YYYY-MM', // <input type=\"month\" />\n    };\n\n    return hooks;\n\n})));\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function define(obj, key, value) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n    return obj[key];\n  }\n  try {\n    // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n    define({}, \"\");\n  } catch (err) {\n    define = function(obj, key, value) {\n      return obj[key] = value;\n    };\n  }\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  define(IteratorPrototype, iteratorSymbol, function () {\n    return this;\n  });\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = GeneratorFunctionPrototype;\n  define(Gp, \"constructor\", GeneratorFunctionPrototype);\n  define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n  GeneratorFunction.displayName = define(\n    GeneratorFunctionPrototype,\n    toStringTagSymbol,\n    \"GeneratorFunction\"\n  );\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      define(prototype, method, function(arg) {\n        return this._invoke(method, arg);\n      });\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n    return this;\n  });\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  define(Gp, toStringTagSymbol, \"Generator\");\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  define(Gp, iteratorSymbol, function() {\n    return this;\n  });\n\n  define(Gp, \"toString\", function() {\n    return \"[object Generator]\";\n  });\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, in modern engines\n  // we can explicitly access globalThis. In older engines we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  if (typeof globalThis === \"object\") {\n    globalThis.regeneratorRuntime = runtime;\n  } else {\n    Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n  }\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _RestClient_instances, _RestClient_baseUrl, _RestClient_makeUrl, _RestClient_makeRequest, _APIResponse_jsonMimeTypes;\n// @ts-ignore\nimport ENVIRONMENT from '../environment';\nexport class RestClient {\n    constructor() {\n        _RestClient_instances.add(this);\n        _RestClient_baseUrl.set(this, void 0);\n        Object.defineProperty(this, \"auth\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        __classPrivateFieldSet(this, _RestClient_baseUrl, new URL(ENVIRONMENT.APP_API_BASE_URL), \"f\");\n        this.auth = new RestAuth();\n    }\n    // Retrieve the device fingerprint from local storage\n    get xhrFingerprint() {\n        return localStorage.getItem('xhr-fingerprint');\n    }\n    // Execute the fetch and handle API response\n    async fetch(request) {\n        try {\n            const response = await fetch(request);\n            const apiResponse = await APIResponse.from(response);\n            if (!apiResponse.ok) {\n                const errorMessages = apiResponse.data?.errors?.map((err) => err.msg).join(\", \") || \"Server error\";\n                console.warn(`[rest-client] ${apiResponse.status} error: ${errorMessages}`);\n            }\n            return apiResponse;\n        }\n        catch (error) {\n            console.error(\"[rest-client] Fetch error:\", error);\n            throw error;\n        }\n    }\n    // GET request with optional query parameters\n    get(endpoint, data) {\n        const url = __classPrivateFieldGet(this, _RestClient_instances, \"m\", _RestClient_makeUrl).call(this, endpoint);\n        if (data) {\n            url.search = new URLSearchParams([...url.search, ...data]).toString();\n        }\n        const request = __classPrivateFieldGet(this, _RestClient_instances, \"m\", _RestClient_makeRequest).call(this, url, \"GET\");\n        return this.fetch(request);\n    }\n}\n_RestClient_baseUrl = new WeakMap(), _RestClient_instances = new WeakSet(), _RestClient_makeUrl = function _RestClient_makeUrl(endpoint) {\n    return new URL(`${__classPrivateFieldGet(this, _RestClient_baseUrl, \"f\")}${endpoint}`);\n}, _RestClient_makeRequest = function _RestClient_makeRequest(url, method, data) {\n    const headers = new Headers({\n        \"Accept-Language\": \"it\",\n        \"Content-Type\": \"application/vnd.api+json\",\n        \"X-api-client-name\": ENVIRONMENT.APP_API_CLIENT_NAME,\n        \"X-api-key\": ENVIRONMENT.APP_API_KEY,\n        \"X-api-client-version\": ENVIRONMENT.APP_API_CLIENT_VERSION,\n    });\n    if (ENVIRONMENT.APP_DEBUG === \"true\") {\n        headers.append(\"X-ignore-test-agreements\", \"ignore\");\n    }\n    if (this.xhrFingerprint) {\n        headers.append(\"X-Device-Fingerprint\", this.xhrFingerprint);\n    }\n    if (this.auth.accessToken) {\n        headers.append(\"Authorization\", `Bearer ${this.auth.accessToken}`);\n    }\n    const options = {\n        method,\n        headers,\n        body: data ? JSON.stringify(data) : null,\n    };\n    return new Request(url.toString(), options);\n};\nclass APIResponse {\n    constructor(config = {}) {\n        Object.defineProperty(this, \"data\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"meta\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"headers\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: new Headers()\n        });\n        Object.defineProperty(this, \"ok\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: true\n        });\n        Object.defineProperty(this, \"status\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: 200\n        });\n        _APIResponse_jsonMimeTypes.set(this, [\n            \"application/json\",\n            \"application/ld+json\",\n            \"application/vnd.api+json\",\n            \"application/x-javascript\",\n            \"text/javascript\",\n            \"text/x-javascript\",\n            \"text/x-json\",\n        ]);\n        Object.assign(this, config);\n    }\n    // Check if APIResponse's content type is JSON\n    isJson() {\n        const contentType = (this.headers.get(\"Content-Type\") || \"\").replace(/\\s*[,;].*$/, \"\");\n        return __classPrivateFieldGet(this, _APIResponse_jsonMimeTypes, \"f\").includes(contentType);\n    }\n    // Factory method to create APIResponse from a fetch response\n    static async from(response) {\n        const apiResponse = new this({\n            headers: response.headers,\n            ok: response.ok,\n            status: response.status,\n        });\n        apiResponse.data = apiResponse.isJson() ? await response.json() : await response.text();\n        return apiResponse;\n    }\n}\n_APIResponse_jsonMimeTypes = new WeakMap();\nexport class RestAuth {\n    get accessToken() {\n        return localStorage.getItem(\"access_token\");\n    }\n    set accessToken(accessToken) {\n        if (accessToken) {\n            localStorage.setItem(\"access_token\", accessToken);\n        }\n        else {\n            localStorage.removeItem(\"access_token\");\n        }\n    }\n    get refreshToken() {\n        return localStorage.getItem(\"refresh_token\");\n    }\n    set refreshToken(refreshToken) {\n        if (refreshToken) {\n            localStorage.setItem(\"refresh_token\", refreshToken);\n        }\n        else {\n            localStorage.removeItem(\"refresh_token\");\n        }\n    }\n    // Check if the user is authenticated\n    get isAuthenticated() {\n        return !!this.accessToken && !!this.refreshToken;\n    }\n}\n","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n  // lazy load so that environments that need to polyfill have a chance to do so\n  if (!getRandomValues) {\n    // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n    // find the complete implementation of crypto (msCrypto) on IE11.\n    getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n    if (!getRandomValues) {\n      throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n    }\n  }\n\n  return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n  byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n  var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n  // Note: Be careful editing this code!  It's been tuned for performance\n  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n  var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one\n  // of the following:\n  // - One or more input array values don't map to a hex octet (leading to\n  // \"undefined\" in the uuid)\n  // - Invalid input values for the RFC `version` or `variant` fields\n\n  if (!validate(uuid)) {\n    throw TypeError('Stringified UUID is invalid');\n  }\n\n  return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n  options = options || {};\n  var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n  rnds[6] = rnds[6] & 0x0f | 0x40;\n  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n  if (buf) {\n    offset = offset || 0;\n\n    for (var i = 0; i < 16; ++i) {\n      buf[offset + i] = rnds[i];\n    }\n\n    return buf;\n  }\n\n  return stringify(rnds);\n}\n\nexport default v4;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n  return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n    ...platform,\n    detectOverflow\n  };\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let resetCount = 0;\n  const middlewareData = {};\n  for (let i = 0; i < middleware.length; i++) {\n    const currentMiddleware = middleware[i];\n    if (!currentMiddleware) {\n      continue;\n    }\n    const {\n      name,\n      fn\n    } = currentMiddleware;\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform: platformWithDetectOverflow,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData[name] = {\n      ...middlewareData[name],\n      ...data\n    };\n    if (reset && resetCount < MAX_RESET_COUNT) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects,\n        platform\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        platform\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n  let top = firstRect.top;\n  let right = firstRect.right;\n  let bottom = firstRect.bottom;\n  let left = firstRect.left;\n  for (let i = 1; i < clippingAncestors.length; i++) {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n    top = max(rect.top, top);\n    right = min(rect.right, right);\n    bottom = min(rect.bottom, bottom);\n    left = max(rect.left, left);\n  }\n  return {\n    width: right - left,\n    height: bottom - top,\n    x: left,\n    y: top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    if (floating) {\n      resizeObserver.observe(floating);\n    }\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n  return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  try {\n    if (element.matches(':popover-open')) {\n      return true;\n    }\n  } catch (_e) {\n    // no-op\n  }\n  try {\n    return element.matches(':modal');\n  } catch (_e) {\n    return false;\n  }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (isWebKitValue == null) {\n    isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n  }\n  return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n  return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  } else {\n    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n  }\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  const firstChar = placement[0];\n  return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  const side = getSide(placement);\n  return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          // Try next placement and re-run the lifecycle.\n          return {\n            data: {\n              index: nextIndex,\n              overflows: overflowsData\n            },\n            reset: {\n              placement: nextPlacement\n            }\n          };\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = ['top', 'left'].includes(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n  return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  return [':popover-open', ':modal'].some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (e) {\n      return false;\n    }\n  });\n}\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n  return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n  const lr = ['left', 'right'];\n  const rl = ['right', 'left'];\n  const tb = ['top', 'bottom'];\n  const bt = ['bottom', 'top'];\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rl : lr;\n      return isStart ? lr : rl;\n    case 'left':\n    case 'right':\n      return isStart ? tb : bt;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import Duration from \"./duration.js\";\nimport Interval from \"./interval.js\";\nimport Settings from \"./settings.js\";\nimport Info from \"./info.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport FixedOffsetZone from \"./zones/fixedOffsetZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport {\n  isUndefined,\n  maybeArray,\n  isDate,\n  isNumber,\n  bestBy,\n  daysInMonth,\n  daysInYear,\n  isLeapYear,\n  weeksInWeekYear,\n  normalizeObject,\n  roundTo,\n  objToLocalTS,\n  padStart,\n} from \"./impl/util.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport diff from \"./impl/diff.js\";\nimport { parseRFC2822Date, parseISODate, parseHTTPDate, parseSQL } from \"./impl/regexParser.js\";\nimport {\n  parseFromTokens,\n  explainFromTokens,\n  formatOptsToTokens,\n  expandMacroTokens,\n} from \"./impl/tokenParser.js\";\nimport {\n  gregorianToWeek,\n  weekToGregorian,\n  gregorianToOrdinal,\n  ordinalToGregorian,\n  hasInvalidGregorianData,\n  hasInvalidWeekData,\n  hasInvalidOrdinalData,\n  hasInvalidTimeData,\n} from \"./impl/conversions.js\";\nimport * as Formats from \"./impl/formats.js\";\nimport {\n  InvalidArgumentError,\n  ConflictingSpecificationError,\n  InvalidUnitError,\n  InvalidDateTimeError,\n} from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\n\nfunction unsupportedZone(zone) {\n  return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\nfunction possiblyCachedWeekData(dt) {\n  if (dt.weekData === null) {\n    dt.weekData = gregorianToWeek(dt.c);\n  }\n  return dt.weekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n  const current = {\n    ts: inst.ts,\n    zone: inst.zone,\n    c: inst.c,\n    o: inst.o,\n    loc: inst.loc,\n    invalid: inst.invalid,\n  };\n  return new DateTime({ ...current, ...alts, old: current });\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n  // Our UTC time is just a guess because our offset is just a guess\n  let utcGuess = localTS - o * 60 * 1000;\n\n  // Test whether the zone matches the offset for this ts\n  const o2 = tz.offset(utcGuess);\n\n  // If so, offset didn't change and we're done\n  if (o === o2) {\n    return [utcGuess, o];\n  }\n\n  // If not, change the ts by the difference in the offset\n  utcGuess -= (o2 - o) * 60 * 1000;\n\n  // If that gives us the local time we want, we're done\n  const o3 = tz.offset(utcGuess);\n  if (o2 === o3) {\n    return [utcGuess, o2];\n  }\n\n  // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n  return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n  ts += offset * 60 * 1000;\n\n  const d = new Date(ts);\n\n  return {\n    year: d.getUTCFullYear(),\n    month: d.getUTCMonth() + 1,\n    day: d.getUTCDate(),\n    hour: d.getUTCHours(),\n    minute: d.getUTCMinutes(),\n    second: d.getUTCSeconds(),\n    millisecond: d.getUTCMilliseconds(),\n  };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n  return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n  const oPre = inst.o,\n    year = inst.c.year + Math.trunc(dur.years),\n    month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n    c = {\n      ...inst.c,\n      year,\n      month,\n      day:\n        Math.min(inst.c.day, daysInMonth(year, month)) +\n        Math.trunc(dur.days) +\n        Math.trunc(dur.weeks) * 7,\n    },\n    millisToAdd = Duration.fromObject({\n      years: dur.years - Math.trunc(dur.years),\n      quarters: dur.quarters - Math.trunc(dur.quarters),\n      months: dur.months - Math.trunc(dur.months),\n      weeks: dur.weeks - Math.trunc(dur.weeks),\n      days: dur.days - Math.trunc(dur.days),\n      hours: dur.hours,\n      minutes: dur.minutes,\n      seconds: dur.seconds,\n      milliseconds: dur.milliseconds,\n    }).as(\"milliseconds\"),\n    localTS = objToLocalTS(c);\n\n  let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n\n  if (millisToAdd !== 0) {\n    ts += millisToAdd;\n    // that could have changed the offset by going over a DST, but we want to keep the ts the same\n    o = inst.zone.offset(ts);\n  }\n\n  return { ts, o };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n  const { setZone, zone } = opts;\n  if ((parsed && Object.keys(parsed).length !== 0) || parsedZone) {\n    const interpretationZone = parsedZone || zone,\n      inst = DateTime.fromObject(parsed, {\n        ...opts,\n        zone: interpretationZone,\n        specificOffset,\n      });\n    return setZone ? inst : inst.setZone(zone);\n  } else {\n    return DateTime.invalid(\n      new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`)\n    );\n  }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n  return dt.isValid\n    ? Formatter.create(Locale.create(\"en-US\"), {\n        allowZ,\n        forceSimple: true,\n      }).formatDateTimeFromString(dt, format)\n    : null;\n}\n\nfunction toISODate(o, extended) {\n  const longFormat = o.c.year > 9999 || o.c.year < 0;\n  let c = \"\";\n  if (longFormat && o.c.year >= 0) c += \"+\";\n  c += padStart(o.c.year, longFormat ? 6 : 4);\n\n  if (extended) {\n    c += \"-\";\n    c += padStart(o.c.month);\n    c += \"-\";\n    c += padStart(o.c.day);\n  } else {\n    c += padStart(o.c.month);\n    c += padStart(o.c.day);\n  }\n  return c;\n}\n\nfunction toISOTime(\n  o,\n  extended,\n  suppressSeconds,\n  suppressMilliseconds,\n  includeOffset,\n  extendedZone\n) {\n  let c = padStart(o.c.hour);\n  if (extended) {\n    c += \":\";\n    c += padStart(o.c.minute);\n    if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n      c += \":\";\n    }\n  } else {\n    c += padStart(o.c.minute);\n  }\n\n  if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n    c += padStart(o.c.second);\n\n    if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n      c += \".\";\n      c += padStart(o.c.millisecond, 3);\n    }\n  }\n\n  if (includeOffset) {\n    if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n      c += \"Z\";\n    } else if (o.o < 0) {\n      c += \"-\";\n      c += padStart(Math.trunc(-o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(-o.o % 60));\n    } else {\n      c += \"+\";\n      c += padStart(Math.trunc(o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(o.o % 60));\n    }\n  }\n\n  if (extendedZone) {\n    c += \"[\" + o.zone.ianaName + \"]\";\n  }\n  return c;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n    month: 1,\n    day: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  },\n  defaultWeekUnitValues = {\n    weekNumber: 1,\n    weekday: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  },\n  defaultOrdinalUnitValues = {\n    ordinal: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedWeekUnits = [\n    \"weekYear\",\n    \"weekNumber\",\n    \"weekday\",\n    \"hour\",\n    \"minute\",\n    \"second\",\n    \"millisecond\",\n  ],\n  orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n  const normalized = {\n    year: \"year\",\n    years: \"year\",\n    month: \"month\",\n    months: \"month\",\n    day: \"day\",\n    days: \"day\",\n    hour: \"hour\",\n    hours: \"hour\",\n    minute: \"minute\",\n    minutes: \"minute\",\n    quarter: \"quarter\",\n    quarters: \"quarter\",\n    second: \"second\",\n    seconds: \"second\",\n    millisecond: \"millisecond\",\n    milliseconds: \"millisecond\",\n    weekday: \"weekday\",\n    weekdays: \"weekday\",\n    weeknumber: \"weekNumber\",\n    weeksnumber: \"weekNumber\",\n    weeknumbers: \"weekNumber\",\n    weekyear: \"weekYear\",\n    weekyears: \"weekYear\",\n    ordinal: \"ordinal\",\n  }[unit.toLowerCase()];\n\n  if (!normalized) throw new InvalidUnitError(unit);\n\n  return normalized;\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n  const zone = normalizeZone(opts.zone, Settings.defaultZone),\n    loc = Locale.fromObject(opts),\n    tsNow = Settings.now();\n\n  let ts, o;\n\n  // assume we have the higher-order units\n  if (!isUndefined(obj.year)) {\n    for (const u of orderedUnits) {\n      if (isUndefined(obj[u])) {\n        obj[u] = defaultUnitValues[u];\n      }\n    }\n\n    const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    const offsetProvis = zone.offset(tsNow);\n    [ts, o] = objToTS(obj, offsetProvis, zone);\n  } else {\n    ts = tsNow;\n  }\n\n  return new DateTime({ ts, zone, loc, o });\n}\n\nfunction diffRelative(start, end, opts) {\n  const round = isUndefined(opts.round) ? true : opts.round,\n    format = (c, unit) => {\n      c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n      const formatter = end.loc.clone(opts).relFormatter(opts);\n      return formatter.format(c, unit);\n    },\n    differ = (unit) => {\n      if (opts.calendary) {\n        if (!end.hasSame(start, unit)) {\n          return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n        } else return 0;\n      } else {\n        return end.diff(start, unit).get(unit);\n      }\n    };\n\n  if (opts.unit) {\n    return format(differ(opts.unit), opts.unit);\n  }\n\n  for (const unit of opts.units) {\n    const count = differ(unit);\n    if (Math.abs(count) >= 1) {\n      return format(count, unit);\n    }\n  }\n  return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\n\nfunction lastOpts(argList) {\n  let opts = {},\n    args;\n  if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n    opts = argList[argList.length - 1];\n    args = Array.from(argList).slice(0, argList.length - 1);\n  } else {\n    args = Array.from(argList);\n  }\n  return [opts, args];\n}\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nexport default class DateTime {\n  /**\n   * @access private\n   */\n  constructor(config) {\n    const zone = config.zone || Settings.defaultZone;\n\n    let invalid =\n      config.invalid ||\n      (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) ||\n      (!zone.isValid ? unsupportedZone(zone) : null);\n    /**\n     * @access private\n     */\n    this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n\n    let c = null,\n      o = null;\n    if (!invalid) {\n      const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n\n      if (unchanged) {\n        [c, o] = [config.old.c, config.old.o];\n      } else {\n        const ot = zone.offset(this.ts);\n        c = tsToObj(this.ts, ot);\n        invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n        c = invalid ? null : c;\n        o = invalid ? null : ot;\n      }\n    }\n\n    /**\n     * @access private\n     */\n    this._zone = zone;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.invalid = invalid;\n    /**\n     * @access private\n     */\n    this.weekData = null;\n    /**\n     * @access private\n     */\n    this.c = c;\n    /**\n     * @access private\n     */\n    this.o = o;\n    /**\n     * @access private\n     */\n    this.isLuxonDateTime = true;\n  }\n\n  // CONSTRUCT\n\n  /**\n   * Create a DateTime for the current instant, in the system's time zone.\n   *\n   * Use Settings to override these default values if needed.\n   * @example DateTime.now().toISO() //~> now in the ISO format\n   * @return {DateTime}\n   */\n  static now() {\n    return new DateTime({});\n  }\n\n  /**\n   * Create a local DateTime\n   * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month, 1-indexed\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @example DateTime.local()                                  //~> now\n   * @example DateTime.local({ zone: \"America/New_York\" })      //~> now, in US east coast time\n   * @example DateTime.local(2017)                              //~> 2017-01-01T00:00:00\n   * @example DateTime.local(2017, 3)                           //~> 2017-03-01T00:00:00\n   * @example DateTime.local(2017, 3, 12, { locale: \"fr\" })     //~> 2017-03-12T00:00:00, with a French locale\n   * @example DateTime.local(2017, 3, 12, 5)                    //~> 2017-03-12T05:00:00\n   * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" })   //~> 2017-03-12T05:00:00, in UTC\n   * @example DateTime.local(2017, 3, 12, 5, 45)                //~> 2017-03-12T05:45:00\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10)            //~> 2017-03-12T05:45:10\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765)       //~> 2017-03-12T05:45:10.765\n   * @return {DateTime}\n   */\n  static local() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n    return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n  }\n\n  /**\n   * Create a DateTime in UTC\n   * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.utc()                                              //~> now\n   * @example DateTime.utc(2017)                                          //~> 2017-01-01T00:00:00Z\n   * @example DateTime.utc(2017, 3)                                       //~> 2017-03-01T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12)                                   //~> 2017-03-12T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5)                                //~> 2017-03-12T05:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45)                            //~> 2017-03-12T05:45:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" })          //~> 2017-03-12T05:45:00Z with a French locale\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10)                        //~> 2017-03-12T05:45:10Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n   * @return {DateTime}\n   */\n  static utc() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n\n    opts.zone = FixedOffsetZone.utcInstance;\n    return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n  }\n\n  /**\n   * Create a DateTime from a JavaScript Date object. Uses the default zone.\n   * @param {Date} date - a JavaScript Date object\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @return {DateTime}\n   */\n  static fromJSDate(date, options = {}) {\n    const ts = isDate(date) ? date.valueOf() : NaN;\n    if (Number.isNaN(ts)) {\n      return DateTime.invalid(\"invalid input\");\n    }\n\n    const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n\n    return new DateTime({\n      ts: ts,\n      zone: zoneToUse,\n      loc: Locale.fromObject(options),\n    });\n  }\n\n  /**\n   * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromMillis(milliseconds, options = {}) {\n    if (!isNumber(milliseconds)) {\n      throw new InvalidArgumentError(\n        `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`\n      );\n    } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n      // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start\n      return DateTime.invalid(\"Timestamp out of range\");\n    } else {\n      return new DateTime({\n        ts: milliseconds,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options),\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} seconds - a number of seconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromSeconds(seconds, options = {}) {\n    if (!isNumber(seconds)) {\n      throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n    } else {\n      return new DateTime({\n        ts: seconds * 1000,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options),\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.year - a year, such as 1987\n   * @param {number} obj.month - a month, 1-12\n   * @param {number} obj.day - a day of the month, 1-31, depending on the month\n   * @param {number} obj.ordinal - day of the year, 1-365 or 366\n   * @param {number} obj.weekYear - an ISO week year\n   * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n   * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n   * @param {number} obj.hour - hour of the day, 0-23\n   * @param {number} obj.minute - minute of the hour, 0-59\n   * @param {number} obj.second - second of the minute, 0-59\n   * @param {number} obj.millisecond - millisecond of the second, 0-999\n   * @param {Object} opts - options for creating this DateTime\n   * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n   * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n   * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n   * @return {DateTime}\n   */\n  static fromObject(obj, opts = {}) {\n    obj = obj || {};\n    const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n\n    const tsNow = Settings.now(),\n      offsetProvis = !isUndefined(opts.specificOffset)\n        ? opts.specificOffset\n        : zoneToUse.offset(tsNow),\n      normalized = normalizeObject(obj, normalizeUnit),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber,\n      loc = Locale.fromObject(opts);\n\n    // cases:\n    // just a weekday -> this week's instance of that weekday, no worries\n    // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n    // (gregorian month or day) + ordinal -> error\n    // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\n        \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n      );\n    }\n\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n\n    const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor);\n\n    // configure ourselves to deal with gregorian dates or week stuff\n    let units,\n      defaultValues,\n      objNow = tsToObj(tsNow, offsetProvis);\n    if (useWeekData) {\n      units = orderedWeekUnits;\n      defaultValues = defaultWeekUnitValues;\n      objNow = gregorianToWeek(objNow);\n    } else if (containsOrdinal) {\n      units = orderedOrdinalUnits;\n      defaultValues = defaultOrdinalUnitValues;\n      objNow = gregorianToOrdinal(objNow);\n    } else {\n      units = orderedUnits;\n      defaultValues = defaultUnitValues;\n    }\n\n    // set default values for missing stuff\n    let foundFirst = false;\n    for (const u of units) {\n      const v = normalized[u];\n      if (!isUndefined(v)) {\n        foundFirst = true;\n      } else if (foundFirst) {\n        normalized[u] = defaultValues[u];\n      } else {\n        normalized[u] = objNow[u];\n      }\n    }\n\n    // make sure the values we have are in range\n    const higherOrderInvalid = useWeekData\n        ? hasInvalidWeekData(normalized)\n        : containsOrdinal\n        ? hasInvalidOrdinalData(normalized)\n        : hasInvalidGregorianData(normalized),\n      invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    // compute the actual time\n    const gregorian = useWeekData\n        ? weekToGregorian(normalized)\n        : containsOrdinal\n        ? ordinalToGregorian(normalized)\n        : normalized,\n      [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n      inst = new DateTime({\n        ts: tsFinal,\n        zone: zoneToUse,\n        o: offsetFinal,\n        loc,\n      });\n\n    // gregorian data + weekday serves only to validate\n    if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n      return DateTime.invalid(\n        \"mismatched weekday\",\n        `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`\n      );\n    }\n\n    return inst;\n  }\n\n  /**\n   * Create a DateTime from an ISO 8601 string\n   * @param {string} text - the ISO string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n   * @example DateTime.fromISO('2016-W05-4')\n   * @return {DateTime}\n   */\n  static fromISO(text, opts = {}) {\n    const [vals, parsedZone] = parseISODate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n  }\n\n  /**\n   * Create a DateTime from an RFC 2822 string\n   * @param {string} text - the RFC 2822 string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n   * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n   * @return {DateTime}\n   */\n  static fromRFC2822(text, opts = {}) {\n    const [vals, parsedZone] = parseRFC2822Date(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n  }\n\n  /**\n   * Create a DateTime from an HTTP header date\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @param {string} text - the HTTP header date\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sun Nov  6 08:49:37 1994')\n   * @return {DateTime}\n   */\n  static fromHTTP(text, opts = {}) {\n    const [vals, parsedZone] = parseHTTPDate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n  }\n\n  /**\n   * Create a DateTime from an input string and format string.\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromFormat(text, fmt, opts = {}) {\n    if (isUndefined(text) || isUndefined(fmt)) {\n      throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n    }\n\n    const { locale = null, numberingSystem = null } = opts,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true,\n      }),\n      [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    } else {\n      return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);\n    }\n  }\n\n  /**\n   * @deprecated use fromFormat instead\n   */\n  static fromString(text, fmt, opts = {}) {\n    return DateTime.fromFormat(text, fmt, opts);\n  }\n\n  /**\n   * Create a DateTime from a SQL date, time, or datetime\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale\n   * @param {string} text - the string to parse\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @example DateTime.fromSQL('2017-05-15')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n   * @example DateTime.fromSQL('09:12:34.342')\n   * @return {DateTime}\n   */\n  static fromSQL(text, opts = {}) {\n    const [vals, parsedZone] = parseSQL(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n  }\n\n  /**\n   * Create an invalid DateTime.\n   * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {DateTime}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDateTimeError(invalid);\n    } else {\n      return new DateTime({ invalid });\n    }\n  }\n\n  /**\n   * Check if an object is an instance of DateTime. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDateTime(o) {\n    return (o && o.isLuxonDateTime) || false;\n  }\n\n  /**\n   * Produce the format string for a set of options\n   * @param formatOpts\n   * @param localeOpts\n   * @returns {string}\n   */\n  static parseFormatForOpts(formatOpts, localeOpts = {}) {\n    const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n    return !tokenList ? null : tokenList.map((t) => (t ? t.val : null)).join(\"\");\n  }\n\n  /**\n   * Produce the the fully expanded format token for the locale\n   * Does NOT quote characters, so quoted tokens will not round trip correctly\n   * @param fmt\n   * @param localeOpts\n   * @returns {string}\n   */\n  static expandFormat(fmt, localeOpts = {}) {\n    const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n    return expanded.map((t) => t.val).join(\"\");\n  }\n\n  // INFO\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n   * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n   * @return {number}\n   */\n  get(unit) {\n    return this[unit];\n  }\n\n  /**\n   * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n   * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n   * * The DateTime was created by an operation on another invalid date\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get outputCalendar() {\n    return this.isValid ? this.loc.outputCalendar : null;\n  }\n\n  /**\n   * Get the time zone associated with this DateTime.\n   * @type {Zone}\n   */\n  get zone() {\n    return this._zone;\n  }\n\n  /**\n   * Get the name of the time zone.\n   * @type {string}\n   */\n  get zoneName() {\n    return this.isValid ? this.zone.name : null;\n  }\n\n  /**\n   * Get the year\n   * @example DateTime.local(2017, 5, 25).year //=> 2017\n   * @type {number}\n   */\n  get year() {\n    return this.isValid ? this.c.year : NaN;\n  }\n\n  /**\n   * Get the quarter\n   * @example DateTime.local(2017, 5, 25).quarter //=> 2\n   * @type {number}\n   */\n  get quarter() {\n    return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n  }\n\n  /**\n   * Get the month (1-12).\n   * @example DateTime.local(2017, 5, 25).month //=> 5\n   * @type {number}\n   */\n  get month() {\n    return this.isValid ? this.c.month : NaN;\n  }\n\n  /**\n   * Get the day of the month (1-30ish).\n   * @example DateTime.local(2017, 5, 25).day //=> 25\n   * @type {number}\n   */\n  get day() {\n    return this.isValid ? this.c.day : NaN;\n  }\n\n  /**\n   * Get the hour of the day (0-23).\n   * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n   * @type {number}\n   */\n  get hour() {\n    return this.isValid ? this.c.hour : NaN;\n  }\n\n  /**\n   * Get the minute of the hour (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n   * @type {number}\n   */\n  get minute() {\n    return this.isValid ? this.c.minute : NaN;\n  }\n\n  /**\n   * Get the second of the minute (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n   * @type {number}\n   */\n  get second() {\n    return this.isValid ? this.c.second : NaN;\n  }\n\n  /**\n   * Get the millisecond of the second (0-999).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n   * @type {number}\n   */\n  get millisecond() {\n    return this.isValid ? this.c.millisecond : NaN;\n  }\n\n  /**\n   * Get the week year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n   * @type {number}\n   */\n  get weekYear() {\n    return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n  }\n\n  /**\n   * Get the week number of the week year (1-52ish).\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n   * @type {number}\n   */\n  get weekNumber() {\n    return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n  }\n\n  /**\n   * Get the day of the week.\n   * 1 is Monday and 7 is Sunday\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 11, 31).weekday //=> 4\n   * @type {number}\n   */\n  get weekday() {\n    return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n  }\n\n  /**\n   * Get the ordinal (meaning the day of the year)\n   * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n   * @type {number|DateTime}\n   */\n  get ordinal() {\n    return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n  }\n\n  /**\n   * Get the human readable short month name, such as 'Oct'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n   * @type {string}\n   */\n  get monthShort() {\n    return this.isValid ? Info.months(\"short\", { locObj: this.loc })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable long month name, such as 'October'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthLong //=> October\n   * @type {string}\n   */\n  get monthLong() {\n    return this.isValid ? Info.months(\"long\", { locObj: this.loc })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable short weekday, such as 'Mon'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n   * @type {string}\n   */\n  get weekdayShort() {\n    return this.isValid ? Info.weekdays(\"short\", { locObj: this.loc })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the human readable long weekday, such as 'Monday'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n   * @type {string}\n   */\n  get weekdayLong() {\n    return this.isValid ? Info.weekdays(\"long\", { locObj: this.loc })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the UTC offset of this DateTime in minutes\n   * @example DateTime.now().offset //=> -240\n   * @example DateTime.utc().offset //=> 0\n   * @type {number}\n   */\n  get offset() {\n    return this.isValid ? +this.o : NaN;\n  }\n\n  /**\n   * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameShort() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"short\",\n        locale: this.locale,\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameLong() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"long\",\n        locale: this.locale,\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get whether this zone's offset ever changes, as in a DST.\n   * @type {boolean}\n   */\n  get isOffsetFixed() {\n    return this.isValid ? this.zone.isUniversal : null;\n  }\n\n  /**\n   * Get whether the DateTime is in a DST.\n   * @type {boolean}\n   */\n  get isInDST() {\n    if (this.isOffsetFixed) {\n      return false;\n    } else {\n      return (\n        this.offset > this.set({ month: 1, day: 1 }).offset ||\n        this.offset > this.set({ month: 5 }).offset\n      );\n    }\n  }\n\n  /**\n   * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n   * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n   * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n   * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n   * @returns {DateTime[]}\n   */\n  getPossibleOffsets() {\n    if (!this.isValid || this.isOffsetFixed) {\n      return [this];\n    }\n    const dayMs = 86400000;\n    const minuteMs = 60000;\n    const localTS = objToLocalTS(this.c);\n    const oEarlier = this.zone.offset(localTS - dayMs);\n    const oLater = this.zone.offset(localTS + dayMs);\n\n    const o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n    const o2 = this.zone.offset(localTS - oLater * minuteMs);\n    if (o1 === o2) {\n      return [this];\n    }\n    const ts1 = localTS - o1 * minuteMs;\n    const ts2 = localTS - o2 * minuteMs;\n    const c1 = tsToObj(ts1, o1);\n    const c2 = tsToObj(ts2, o2);\n    if (\n      c1.hour === c2.hour &&\n      c1.minute === c2.minute &&\n      c1.second === c2.second &&\n      c1.millisecond === c2.millisecond\n    ) {\n      return [clone(this, { ts: ts1 }), clone(this, { ts: ts2 })];\n    }\n    return [this];\n  }\n\n  /**\n   * Returns true if this DateTime is in a leap year, false otherwise\n   * @example DateTime.local(2016).isInLeapYear //=> true\n   * @example DateTime.local(2013).isInLeapYear //=> false\n   * @type {boolean}\n   */\n  get isInLeapYear() {\n    return isLeapYear(this.year);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's month\n   * @example DateTime.local(2016, 2).daysInMonth //=> 29\n   * @example DateTime.local(2016, 3).daysInMonth //=> 31\n   * @type {number}\n   */\n  get daysInMonth() {\n    return daysInMonth(this.year, this.month);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's year\n   * @example DateTime.local(2016).daysInYear //=> 366\n   * @example DateTime.local(2013).daysInYear //=> 365\n   * @type {number}\n   */\n  get daysInYear() {\n    return this.isValid ? daysInYear(this.year) : NaN;\n  }\n\n  /**\n   * Returns the number of weeks in this DateTime's year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2004).weeksInWeekYear //=> 53\n   * @example DateTime.local(2013).weeksInWeekYear //=> 52\n   * @type {number}\n   */\n  get weeksInWeekYear() {\n    return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n  }\n\n  /**\n   * Returns the resolved Intl options for this DateTime.\n   * This is useful in understanding the behavior of formatting methods\n   * @param {Object} opts - the same options as toLocaleString\n   * @return {Object}\n   */\n  resolvedLocaleOptions(opts = {}) {\n    const { locale, numberingSystem, calendar } = Formatter.create(\n      this.loc.clone(opts),\n      opts\n    ).resolvedOptions(this);\n    return { locale, numberingSystem, outputCalendar: calendar };\n  }\n\n  // TRANSFORM\n\n  /**\n   * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to {@link DateTime#setZone}('utc')\n   * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n   * @param {Object} [opts={}] - options to pass to `setZone()`\n   * @return {DateTime}\n   */\n  toUTC(offset = 0, opts = {}) {\n    return this.setZone(FixedOffsetZone.instance(offset), opts);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to `setZone('local')`\n   * @return {DateTime}\n   */\n  toLocal() {\n    return this.setZone(Settings.defaultZone);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n   *\n   * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n   * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n   * @return {DateTime}\n   */\n  setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) {\n    zone = normalizeZone(zone, Settings.defaultZone);\n    if (zone.equals(this.zone)) {\n      return this;\n    } else if (!zone.isValid) {\n      return DateTime.invalid(unsupportedZone(zone));\n    } else {\n      let newTS = this.ts;\n      if (keepLocalTime || keepCalendarTime) {\n        const offsetGuess = zone.offset(this.ts);\n        const asObj = this.toObject();\n        [newTS] = objToTS(asObj, offsetGuess, zone);\n      }\n      return clone(this, { ts: newTS, zone });\n    }\n  }\n\n  /**\n   * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n   * @param {Object} properties - the properties to set\n   * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n   * @return {DateTime}\n   */\n  reconfigure({ locale, numberingSystem, outputCalendar } = {}) {\n    const loc = this.loc.clone({ locale, numberingSystem, outputCalendar });\n    return clone(this, { loc });\n  }\n\n  /**\n   * \"Set\" the locale. Returns a newly-constructed DateTime.\n   * Just a convenient alias for reconfigure({ locale })\n   * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n   * @return {DateTime}\n   */\n  setLocale(locale) {\n    return this.reconfigure({ locale });\n  }\n\n  /**\n   * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n   * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dt.set({ year: 2017 })\n   * @example dt.set({ hour: 8, minute: 30 })\n   * @example dt.set({ weekday: 5 })\n   * @example dt.set({ year: 2005, ordinal: 234 })\n   * @return {DateTime}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n\n    const normalized = normalizeObject(values, normalizeUnit),\n      settingWeekStuff =\n        !isUndefined(normalized.weekYear) ||\n        !isUndefined(normalized.weekNumber) ||\n        !isUndefined(normalized.weekday),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\n        \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n      );\n    }\n\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n\n    let mixed;\n    if (settingWeekStuff) {\n      mixed = weekToGregorian({ ...gregorianToWeek(this.c), ...normalized });\n    } else if (!isUndefined(normalized.ordinal)) {\n      mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), ...normalized });\n    } else {\n      mixed = { ...this.toObject(), ...normalized };\n\n      // if we didn't set the day but we ended up on an overflow date,\n      // use the last day of the right month\n      if (isUndefined(normalized.day)) {\n        mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n      }\n    }\n\n    const [ts, o] = objToTS(mixed, this.o, this.zone);\n    return clone(this, { ts, o });\n  }\n\n  /**\n   * Add a period of time to this DateTime and return the resulting DateTime\n   *\n   * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @example DateTime.now().plus(123) //~> in 123 milliseconds\n   * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n   * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n   * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n   * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n   * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n   * @return {DateTime}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration);\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * Subtract a period of time to this DateTime and return the resulting DateTime\n   * See {@link DateTime#plus}\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   @return {DateTime}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration).negate();\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * \"Set\" this DateTime to the beginning of a unit of time.\n   * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n   * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n   * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n   * @return {DateTime}\n   */\n  startOf(unit) {\n    if (!this.isValid) return this;\n    const o = {},\n      normalizedUnit = Duration.normalizeUnit(unit);\n    switch (normalizedUnit) {\n      case \"years\":\n        o.month = 1;\n      // falls through\n      case \"quarters\":\n      case \"months\":\n        o.day = 1;\n      // falls through\n      case \"weeks\":\n      case \"days\":\n        o.hour = 0;\n      // falls through\n      case \"hours\":\n        o.minute = 0;\n      // falls through\n      case \"minutes\":\n        o.second = 0;\n      // falls through\n      case \"seconds\":\n        o.millisecond = 0;\n        break;\n      case \"milliseconds\":\n        break;\n      // no default, invalid units throw in normalizeUnit()\n    }\n\n    if (normalizedUnit === \"weeks\") {\n      o.weekday = 1;\n    }\n\n    if (normalizedUnit === \"quarters\") {\n      const q = Math.ceil(this.month / 3);\n      o.month = (q - 1) * 3 + 1;\n    }\n\n    return this.set(o);\n  }\n\n  /**\n   * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n   * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n   * @return {DateTime}\n   */\n  endOf(unit) {\n    return this.isValid\n      ? this.plus({ [unit]: 1 })\n          .startOf(unit)\n          .minus(1)\n      : this;\n  }\n\n  // OUTPUT\n\n  /**\n   * Returns a string representation of this DateTime formatted according to the specified format string.\n   * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n   * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt)\n      : INVALID;\n  }\n\n  /**\n   * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n   * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n   * of the DateTime in the assigned locale.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n   * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n   * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n   * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n   * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n   * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n   * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n   * @return {string}\n   */\n  toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this)\n      : INVALID;\n  }\n\n  /**\n   * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n   * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n   * @example DateTime.now().toLocaleParts(); //=> [\n   *                                   //=>   { type: 'day', value: '25' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'month', value: '05' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'year', value: '1982' }\n   *                                   //=> ]\n   */\n  toLocaleParts(opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this)\n      : [];\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n   * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n   * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n   * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n   * @return {string}\n   */\n  toISO({\n    format = \"extended\",\n    suppressSeconds = false,\n    suppressMilliseconds = false,\n    includeOffset = true,\n    extendedZone = false,\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    const ext = format === \"extended\";\n\n    let c = toISODate(this, ext);\n    c += \"T\";\n    c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n    return c;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's date component\n   * @param {Object} opts - options\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n   * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n   * @return {string}\n   */\n  toISODate({ format = \"extended\" } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    return toISODate(this, format === \"extended\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's week date\n   * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n   * @return {string}\n   */\n  toISOWeekDate() {\n    return toTechFormat(this, \"kkkk-'W'WW-c\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's time component\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n   * @return {string}\n   */\n  toISOTime({\n    suppressMilliseconds = false,\n    suppressSeconds = false,\n    includeOffset = true,\n    includePrefix = false,\n    extendedZone = false,\n    format = \"extended\",\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    let c = includePrefix ? \"T\" : \"\";\n    return (\n      c +\n      toISOTime(\n        this,\n        format === \"extended\",\n        suppressSeconds,\n        suppressMilliseconds,\n        includeOffset,\n        extendedZone\n      )\n    );\n  }\n\n  /**\n   * Returns an RFC 2822-compatible string representation of this DateTime\n   * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n   * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n   * @return {string}\n   */\n  toRFC2822() {\n    return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n   * Specifically, the string conforms to RFC 1123.\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n   * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n   * @return {string}\n   */\n  toHTTP() {\n    return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Date\n   * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n   * @return {string}\n   */\n  toSQLDate() {\n    if (!this.isValid) {\n      return null;\n    }\n    return toISODate(this, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Time\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n   * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n   * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n   * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n   * @return {string}\n   */\n  toSQLTime({ includeOffset = true, includeZone = false, includeOffsetSpace = true } = {}) {\n    let fmt = \"HH:mm:ss.SSS\";\n\n    if (includeZone || includeOffset) {\n      if (includeOffsetSpace) {\n        fmt += \" \";\n      }\n      if (includeZone) {\n        fmt += \"z\";\n      } else if (includeOffset) {\n        fmt += \"ZZ\";\n      }\n    }\n\n    return toTechFormat(this, fmt, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n   * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n   * @return {string}\n   */\n  toSQL(opts = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for debugging\n   * @return {string}\n   */\n  toString() {\n    return this.isValid ? this.toISO() : INVALID;\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime.\n   * @return {number}\n   */\n  toMillis() {\n    return this.isValid ? this.ts : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds of this DateTime.\n   * @return {number}\n   */\n  toSeconds() {\n    return this.isValid ? this.ts / 1000 : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds (as a whole number) of this DateTime.\n   * @return {number}\n   */\n  toUnixInteger() {\n    return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a BSON serializable equivalent to this DateTime.\n   * @return {Date}\n   */\n  toBSON() {\n    return this.toJSDate();\n  }\n\n  /**\n   * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n   * @param opts - options for generating the object\n   * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n   * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n   * @return {Object}\n   */\n  toObject(opts = {}) {\n    if (!this.isValid) return {};\n\n    const base = { ...this.c };\n\n    if (opts.includeConfig) {\n      base.outputCalendar = this.outputCalendar;\n      base.numberingSystem = this.loc.numberingSystem;\n      base.locale = this.loc.locale;\n    }\n    return base;\n  }\n\n  /**\n   * Returns a JavaScript Date equivalent to this DateTime.\n   * @return {Date}\n   */\n  toJSDate() {\n    return new Date(this.isValid ? this.ts : NaN);\n  }\n\n  // COMPARE\n\n  /**\n   * Return the difference between two DateTimes as a Duration.\n   * @param {DateTime} otherDateTime - the DateTime to compare this one to\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example\n   * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n   *     i2 = DateTime.fromISO('1983-10-14T10:30');\n   * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n   * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n   * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n   * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n   * @return {Duration}\n   */\n  diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n    if (!this.isValid || !otherDateTime.isValid) {\n      return Duration.invalid(\"created by diffing an invalid DateTime\");\n    }\n\n    const durOpts = { locale: this.locale, numberingSystem: this.numberingSystem, ...opts };\n\n    const units = maybeArray(unit).map(Duration.normalizeUnit),\n      otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n      earlier = otherIsLater ? this : otherDateTime,\n      later = otherIsLater ? otherDateTime : this,\n      diffed = diff(earlier, later, units, durOpts);\n\n    return otherIsLater ? diffed.negate() : diffed;\n  }\n\n  /**\n   * Return the difference between this DateTime and right now.\n   * See {@link DateTime#diff}\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  diffNow(unit = \"milliseconds\", opts = {}) {\n    return this.diff(DateTime.now(), unit, opts);\n  }\n\n  /**\n   * Return an Interval spanning between this DateTime and another DateTime\n   * @param {DateTime} otherDateTime - the other end point of the Interval\n   * @return {Interval}\n   */\n  until(otherDateTime) {\n    return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n  }\n\n  /**\n   * Return whether this DateTime is in the same unit of time as another DateTime.\n   * Higher-order units must also be identical for this function to return `true`.\n   * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n   * @param {DateTime} otherDateTime - the other DateTime\n   * @param {string} unit - the unit of time to check sameness on\n   * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n   * @return {boolean}\n   */\n  hasSame(otherDateTime, unit) {\n    if (!this.isValid) return false;\n\n    const inputMs = otherDateTime.valueOf();\n    const adjustedToZone = this.setZone(otherDateTime.zone, { keepLocalTime: true });\n    return adjustedToZone.startOf(unit) <= inputMs && inputMs <= adjustedToZone.endOf(unit);\n  }\n\n  /**\n   * Equality check\n   * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n   * To compare just the millisecond values, use `+dt1 === +dt2`.\n   * @param {DateTime} other - the other DateTime\n   * @return {boolean}\n   */\n  equals(other) {\n    return (\n      this.isValid &&\n      other.isValid &&\n      this.valueOf() === other.valueOf() &&\n      this.zone.equals(other.zone) &&\n      this.loc.equals(other.loc)\n    );\n  }\n\n  /**\n   * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n   * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n   * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n   * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n   * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n   * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n   * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n   * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n   */\n  toRelative(options = {}) {\n    if (!this.isValid) return null;\n    const base = options.base || DateTime.fromObject({}, { zone: this.zone }),\n      padding = options.padding ? (this < base ? -options.padding : options.padding) : 0;\n    let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n    let unit = options.unit;\n    if (Array.isArray(options.unit)) {\n      units = options.unit;\n      unit = undefined;\n    }\n    return diffRelative(base, this.plus(padding), {\n      ...options,\n      numeric: \"always\",\n      units,\n      unit,\n    });\n  }\n\n  /**\n   * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n   * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n   * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n   * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n   */\n  toRelativeCalendar(options = {}) {\n    if (!this.isValid) return null;\n\n    return diffRelative(options.base || DateTime.fromObject({}, { zone: this.zone }), this, {\n      ...options,\n      numeric: \"auto\",\n      units: [\"years\", \"months\", \"days\"],\n      calendary: true,\n    });\n  }\n\n  /**\n   * Return the min of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n   * @return {DateTime} the min DateTime, or undefined if called with no argument\n   */\n  static min(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, (i) => i.valueOf(), Math.min);\n  }\n\n  /**\n   * Return the max of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n   * @return {DateTime} the max DateTime, or undefined if called with no argument\n   */\n  static max(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, (i) => i.valueOf(), Math.max);\n  }\n\n  // MISC\n\n  /**\n   * Explain how a string would be parsed by fromFormat()\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see description)\n   * @param {Object} options - options taken by fromFormat()\n   * @return {Object}\n   */\n  static fromFormatExplain(text, fmt, options = {}) {\n    const { locale = null, numberingSystem = null } = options,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true,\n      });\n    return explainFromTokens(localeToUse, text, fmt);\n  }\n\n  /**\n   * @deprecated use fromFormatExplain instead\n   */\n  static fromStringExplain(text, fmt, options = {}) {\n    return DateTime.fromFormatExplain(text, fmt, options);\n  }\n\n  // FORMAT PRESETS\n\n  /**\n   * {@link DateTime#toLocaleString} format like 10/14/1983\n   * @type {Object}\n   */\n  static get DATE_SHORT() {\n    return Formats.DATE_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED() {\n    return Formats.DATE_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED_WITH_WEEKDAY() {\n    return Formats.DATE_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_FULL() {\n    return Formats.DATE_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_HUGE() {\n    return Formats.DATE_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_SIMPLE() {\n    return Formats.TIME_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SECONDS() {\n    return Formats.TIME_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SHORT_OFFSET() {\n    return Formats.TIME_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_LONG_OFFSET() {\n    return Formats.TIME_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_SIMPLE() {\n    return Formats.TIME_24_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SECONDS() {\n    return Formats.TIME_24_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SHORT_OFFSET() {\n    return Formats.TIME_24_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_LONG_OFFSET() {\n    return Formats.TIME_24_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT() {\n    return Formats.DATETIME_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT_WITH_SECONDS() {\n    return Formats.DATETIME_SHORT_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED() {\n    return Formats.DATETIME_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_SECONDS() {\n    return Formats.DATETIME_MED_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_WEEKDAY() {\n    return Formats.DATETIME_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL() {\n    return Formats.DATETIME_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL_WITH_SECONDS() {\n    return Formats.DATETIME_FULL_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE() {\n    return Formats.DATETIME_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE_WITH_SECONDS() {\n    return Formats.DATETIME_HUGE_WITH_SECONDS;\n  }\n}\n\n/**\n * @private\n */\nexport function friendlyDateTime(dateTimeish) {\n  if (DateTime.isDateTime(dateTimeish)) {\n    return dateTimeish;\n  } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n    return DateTime.fromJSDate(dateTimeish);\n  } else if (dateTimeish && typeof dateTimeish === \"object\") {\n    return DateTime.fromObject(dateTimeish);\n  } else {\n    throw new InvalidArgumentError(\n      `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`\n    );\n  }\n}\n","import { InvalidArgumentError, InvalidDurationError, InvalidUnitError } from \"./errors.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Locale from \"./impl/locale.js\";\nimport { parseISODuration, parseISOTimeOnly } from \"./impl/regexParser.js\";\nimport {\n  asNumber,\n  hasOwnProperty,\n  isNumber,\n  isUndefined,\n  normalizeObject,\n  roundTo,\n} from \"./impl/util.js\";\nimport Settings from \"./settings.js\";\nimport DateTime from \"./datetime.js\";\n\nconst INVALID = \"Invalid Duration\";\n\n// unit conversion constants\nexport const lowOrderMatrix = {\n    weeks: {\n      days: 7,\n      hours: 7 * 24,\n      minutes: 7 * 24 * 60,\n      seconds: 7 * 24 * 60 * 60,\n      milliseconds: 7 * 24 * 60 * 60 * 1000,\n    },\n    days: {\n      hours: 24,\n      minutes: 24 * 60,\n      seconds: 24 * 60 * 60,\n      milliseconds: 24 * 60 * 60 * 1000,\n    },\n    hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 },\n    minutes: { seconds: 60, milliseconds: 60 * 1000 },\n    seconds: { milliseconds: 1000 },\n  },\n  casualMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: 52,\n      days: 365,\n      hours: 365 * 24,\n      minutes: 365 * 24 * 60,\n      seconds: 365 * 24 * 60 * 60,\n      milliseconds: 365 * 24 * 60 * 60 * 1000,\n    },\n    quarters: {\n      months: 3,\n      weeks: 13,\n      days: 91,\n      hours: 91 * 24,\n      minutes: 91 * 24 * 60,\n      seconds: 91 * 24 * 60 * 60,\n      milliseconds: 91 * 24 * 60 * 60 * 1000,\n    },\n    months: {\n      weeks: 4,\n      days: 30,\n      hours: 30 * 24,\n      minutes: 30 * 24 * 60,\n      seconds: 30 * 24 * 60 * 60,\n      milliseconds: 30 * 24 * 60 * 60 * 1000,\n    },\n\n    ...lowOrderMatrix,\n  },\n  daysInYearAccurate = 146097.0 / 400,\n  daysInMonthAccurate = 146097.0 / 4800,\n  accurateMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: daysInYearAccurate / 7,\n      days: daysInYearAccurate,\n      hours: daysInYearAccurate * 24,\n      minutes: daysInYearAccurate * 24 * 60,\n      seconds: daysInYearAccurate * 24 * 60 * 60,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000,\n    },\n    quarters: {\n      months: 3,\n      weeks: daysInYearAccurate / 28,\n      days: daysInYearAccurate / 4,\n      hours: (daysInYearAccurate * 24) / 4,\n      minutes: (daysInYearAccurate * 24 * 60) / 4,\n      seconds: (daysInYearAccurate * 24 * 60 * 60) / 4,\n      milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4,\n    },\n    months: {\n      weeks: daysInMonthAccurate / 7,\n      days: daysInMonthAccurate,\n      hours: daysInMonthAccurate * 24,\n      minutes: daysInMonthAccurate * 24 * 60,\n      seconds: daysInMonthAccurate * 24 * 60 * 60,\n      milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000,\n    },\n    ...lowOrderMatrix,\n  };\n\n// units ordered by size\nconst orderedUnits = [\n  \"years\",\n  \"quarters\",\n  \"months\",\n  \"weeks\",\n  \"days\",\n  \"hours\",\n  \"minutes\",\n  \"seconds\",\n  \"milliseconds\",\n];\n\nconst reverseUnits = orderedUnits.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone(dur, alts, clear = false) {\n  // deep merge for vals\n  const conf = {\n    values: clear ? alts.values : { ...dur.values, ...(alts.values || {}) },\n    loc: dur.loc.clone(alts.loc),\n    conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n    matrix: alts.matrix || dur.matrix,\n  };\n  return new Duration(conf);\n}\n\n// this is needed since in some test cases it would return 0.9999999999999999 instead of 1\nfunction removePrecisionIssue(a) {\n  return Math.trunc(a * 1e3) / 1e3;\n}\n\n// NB: mutates parameters\nfunction convert(matrix, fromMap, fromUnit, toMap, toUnit) {\n  const conv = matrix[toUnit][fromUnit],\n    raw = fromMap[fromUnit] / conv,\n    added = Math.floor(raw);\n\n  toMap[toUnit] = removePrecisionIssue(toMap[toUnit] + added);\n  fromMap[fromUnit] = removePrecisionIssue(fromMap[fromUnit] - added * conv);\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n  reverseUnits.reduce((previous, current) => {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        convert(matrix, vals, previous, vals, current);\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n  const newVals = {};\n  for (const [key, value] of Object.entries(vals)) {\n    if (value !== 0) {\n      newVals[key] = value;\n    }\n  }\n  return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See  {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nexport default class Duration {\n  /**\n   * @private\n   */\n  constructor(config) {\n    const accurate = config.conversionAccuracy === \"longterm\" || false;\n    let matrix = accurate ? accurateMatrix : casualMatrix;\n\n    if (config.matrix) {\n      matrix = config.matrix;\n    }\n\n    /**\n     * @access private\n     */\n    this.values = config.values;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.matrix = matrix;\n    /**\n     * @access private\n     */\n    this.isLuxonDuration = true;\n  }\n\n  /**\n   * Create Duration from a number of milliseconds.\n   * @param {number} count of milliseconds\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  static fromMillis(count, opts) {\n    return Duration.fromObject({ milliseconds: count }, opts);\n  }\n\n  /**\n   * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n   * If this object is empty then a zero milliseconds duration is returned.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.years\n   * @param {number} obj.quarters\n   * @param {number} obj.months\n   * @param {number} obj.weeks\n   * @param {number} obj.days\n   * @param {number} obj.hours\n   * @param {number} obj.minutes\n   * @param {number} obj.seconds\n   * @param {number} obj.milliseconds\n   * @param {Object} [opts=[]] - options for creating this Duration\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the custom conversion system to use\n   * @return {Duration}\n   */\n  static fromObject(obj, opts = {}) {\n    if (obj == null || typeof obj !== \"object\") {\n      throw new InvalidArgumentError(\n        `Duration.fromObject: argument expected to be an object, got ${\n          obj === null ? \"null\" : typeof obj\n        }`\n      );\n    }\n\n    return new Duration({\n      values: normalizeObject(obj, Duration.normalizeUnit),\n      loc: Locale.fromObject(opts),\n      conversionAccuracy: opts.conversionAccuracy,\n      matrix: opts.matrix,\n    });\n  }\n\n  /**\n   * Create a Duration from DurationLike.\n   *\n   * @param {Object | number | Duration} durationLike\n   * One of:\n   * - object with keys like 'years' and 'hours'.\n   * - number representing milliseconds\n   * - Duration instance\n   * @return {Duration}\n   */\n  static fromDurationLike(durationLike) {\n    if (isNumber(durationLike)) {\n      return Duration.fromMillis(durationLike);\n    } else if (Duration.isDuration(durationLike)) {\n      return durationLike;\n    } else if (typeof durationLike === \"object\") {\n      return Duration.fromObject(durationLike);\n    } else {\n      throw new InvalidArgumentError(\n        `Unknown duration argument ${durationLike} of type ${typeof durationLike}`\n      );\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 duration string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the preset conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n   * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n   * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n   * @return {Duration}\n   */\n  static fromISO(text, opts) {\n    const [parsed] = parseISODuration(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 time string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n   * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @return {Duration}\n   */\n  static fromISOTime(text, opts) {\n    const [parsed] = parseISOTimeOnly(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create an invalid Duration.\n   * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Duration}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDurationError(invalid);\n    } else {\n      return new Duration({ invalid });\n    }\n  }\n\n  /**\n   * @private\n   */\n  static normalizeUnit(unit) {\n    const normalized = {\n      year: \"years\",\n      years: \"years\",\n      quarter: \"quarters\",\n      quarters: \"quarters\",\n      month: \"months\",\n      months: \"months\",\n      week: \"weeks\",\n      weeks: \"weeks\",\n      day: \"days\",\n      days: \"days\",\n      hour: \"hours\",\n      hours: \"hours\",\n      minute: \"minutes\",\n      minutes: \"minutes\",\n      second: \"seconds\",\n      seconds: \"seconds\",\n      millisecond: \"milliseconds\",\n      milliseconds: \"milliseconds\",\n    }[unit ? unit.toLowerCase() : unit];\n\n    if (!normalized) throw new InvalidUnitError(unit);\n\n    return normalized;\n  }\n\n  /**\n   * Check if an object is a Duration. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDuration(o) {\n    return (o && o.isLuxonDuration) || false;\n  }\n\n  /**\n   * Get  the locale of a Duration, such 'en-GB'\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n   * * `S` for milliseconds\n   * * `s` for seconds\n   * * `m` for minutes\n   * * `h` for hours\n   * * `d` for days\n   * * `w` for weeks\n   * * `M` for months\n   * * `y` for years\n   * Notes:\n   * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n   * * Tokens can be escaped by wrapping with single quotes.\n   * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - options\n   * @param {boolean} [opts.floor=true] - floor numerical values\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n    const fmtOpts = {\n      ...opts,\n      floor: opts.round !== false && opts.floor !== false,\n    };\n    return this.isValid\n      ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt)\n      : INVALID;\n  }\n\n  /**\n   * Returns a string representation of a Duration with all units included.\n   * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat\n   * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`.\n   * @example\n   * ```js\n   * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n   * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n   * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n   * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n   * ```\n   */\n  toHuman(opts = {}) {\n    const l = orderedUnits\n      .map((unit) => {\n        const val = this.values[unit];\n        if (isUndefined(val)) {\n          return null;\n        }\n        return this.loc\n          .numberFormatter({ style: \"unit\", unitDisplay: \"long\", ...opts, unit: unit.slice(0, -1) })\n          .format(val);\n      })\n      .filter((n) => n);\n\n    return this.loc\n      .listFormatter({ type: \"conjunction\", style: opts.listStyle || \"narrow\", ...opts })\n      .format(l);\n  }\n\n  /**\n   * Returns a JavaScript object with this Duration's values.\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n   * @return {Object}\n   */\n  toObject() {\n    if (!this.isValid) return {};\n    return { ...this.values };\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n   * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n   * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n   * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n   * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n   * @return {string}\n   */\n  toISO() {\n    // we could use the formatter, but this is an easier way to get the minimum string\n    if (!this.isValid) return null;\n\n    let s = \"P\";\n    if (this.years !== 0) s += this.years + \"Y\";\n    if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n    if (this.weeks !== 0) s += this.weeks + \"W\";\n    if (this.days !== 0) s += this.days + \"D\";\n    if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0)\n      s += \"T\";\n    if (this.hours !== 0) s += this.hours + \"H\";\n    if (this.minutes !== 0) s += this.minutes + \"M\";\n    if (this.seconds !== 0 || this.milliseconds !== 0)\n      // this will handle \"floating point madness\" by removing extra decimal places\n      // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n      s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n    if (s === \"P\") s += \"T0S\";\n    return s;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n   * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n   * @return {string}\n   */\n  toISOTime(opts = {}) {\n    if (!this.isValid) return null;\n\n    const millis = this.toMillis();\n    if (millis < 0 || millis >= 86400000) return null;\n\n    opts = {\n      suppressMilliseconds: false,\n      suppressSeconds: false,\n      includePrefix: false,\n      format: \"extended\",\n      ...opts,\n      includeOffset: false,\n    };\n\n    const dateTime = DateTime.fromMillis(millis, { zone: \"UTC\" });\n    return dateTime.toISOTime(opts);\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n   * @return {string}\n   */\n  toString() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration.\n   * @return {number}\n   */\n  toMillis() {\n    let sum = this.values.milliseconds ?? 0;\n    for (let unit of reverseUnits.slice(1)) {\n      if (this.values?.[unit]) {\n        sum += this.values[unit] * this.matrix[unit][\"milliseconds\"];\n      }\n    }\n    return sum;\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n\n    const dur = Duration.fromDurationLike(duration),\n      result = {};\n\n    for (const k of orderedUnits) {\n      if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n        result[k] = dur.get(k) + this.get(k);\n      }\n    }\n\n    return clone(this, { values: result }, true);\n  }\n\n  /**\n   * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n\n    const dur = Duration.fromDurationLike(duration);\n    return this.plus(dur.negate());\n  }\n\n  /**\n   * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n   * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n   * @return {Duration}\n   */\n  mapUnits(fn) {\n    if (!this.isValid) return this;\n    const result = {};\n    for (const k of Object.keys(this.values)) {\n      result[k] = asNumber(fn(this.values[k], k));\n    }\n    return clone(this, { values: result }, true);\n  }\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n   * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n   * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n   * @return {number}\n   */\n  get(unit) {\n    return this[Duration.normalizeUnit(unit)];\n  }\n\n  /**\n   * \"Set\" the values of specified units. Return a newly-constructed Duration.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dur.set({ years: 2017 })\n   * @example dur.set({ hours: 8, minutes: 30 })\n   * @return {Duration}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n\n    const mixed = { ...this.values, ...normalizeObject(values, Duration.normalizeUnit) };\n    return clone(this, { values: mixed });\n  }\n\n  /**\n   * \"Set\" the locale and/or numberingSystem.  Returns a newly-constructed Duration.\n   * @example dur.reconfigure({ locale: 'en-GB' })\n   * @return {Duration}\n   */\n  reconfigure({ locale, numberingSystem, conversionAccuracy, matrix } = {}) {\n    const loc = this.loc.clone({ locale, numberingSystem });\n    const opts = { loc, matrix, conversionAccuracy };\n    return clone(this, opts);\n  }\n\n  /**\n   * Return the length of the duration in the specified unit.\n   * @param {string} unit - a unit such as 'minutes' or 'days'\n   * @example Duration.fromObject({years: 1}).as('days') //=> 365\n   * @example Duration.fromObject({years: 1}).as('months') //=> 12\n   * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n   * @return {number}\n   */\n  as(unit) {\n    return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n  }\n\n  /**\n   * Reduce this Duration to its canonical representation in its current units.\n   * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n   * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n   * @return {Duration}\n   */\n  normalize() {\n    if (!this.isValid) return this;\n    const vals = this.toObject();\n    if (this.valueOf() >= 0) {\n      normalizeValues(this.matrix, vals);\n      return clone(this, { values: vals }, true);\n    }\n    return this.negate().normalize().negate();\n  }\n\n  /**\n   * Rescale units to its largest representation\n   * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n   * @return {Duration}\n   */\n  rescale() {\n    if (!this.isValid) return this;\n    const vals = removeZeroes(this.normalize().shiftToAll().toObject());\n    return clone(this, { values: vals }, true);\n  }\n\n  /**\n   * Convert this Duration into its representation in a different set of units.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n   * @return {Duration}\n   */\n  shiftTo(...units) {\n    if (!this.isValid) return this;\n\n    if (units.length === 0) {\n      return this;\n    }\n\n    units = units.map((u) => Duration.normalizeUnit(u));\n\n    const built = {},\n      accumulated = {},\n      vals = this.toObject();\n    let lastUnit;\n\n    for (const k of orderedUnits) {\n      if (units.indexOf(k) >= 0) {\n        lastUnit = k;\n\n        let own = 0;\n\n        // anything we haven't boiled down yet should get boiled to this unit\n        for (const ak in accumulated) {\n          own += this.matrix[ak][k] * accumulated[ak];\n          accumulated[ak] = 0;\n        }\n\n        // plus anything that's already in this unit\n        if (isNumber(vals[k])) {\n          own += vals[k];\n        }\n\n        const i = Math.trunc(own);\n        built[k] = i;\n        accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n        // plus anything further down the chain that should be rolled up in to this\n        for (const down in vals) {\n          if (orderedUnits.indexOf(down) > orderedUnits.indexOf(k)) {\n            convert(this.matrix, vals, down, built, k);\n          }\n        }\n        // otherwise, keep it in the wings to boil it later\n      } else if (isNumber(vals[k])) {\n        accumulated[k] = vals[k];\n      }\n    }\n\n    // anything leftover becomes the decimal for the last unit\n    // lastUnit must be defined since units is not empty\n    for (const key in accumulated) {\n      if (accumulated[key] !== 0) {\n        built[lastUnit] +=\n          key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n      }\n    }\n\n    return clone(this, { values: built }, true).normalize();\n  }\n\n  /**\n   * Shift this Duration to all available units.\n   * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n   * @return {Duration}\n   */\n  shiftToAll() {\n    if (!this.isValid) return this;\n    return this.shiftTo(\n      \"years\",\n      \"months\",\n      \"weeks\",\n      \"days\",\n      \"hours\",\n      \"minutes\",\n      \"seconds\",\n      \"milliseconds\"\n    );\n  }\n\n  /**\n   * Return the negative of this Duration.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n   * @return {Duration}\n   */\n  negate() {\n    if (!this.isValid) return this;\n    const negated = {};\n    for (const k of Object.keys(this.values)) {\n      negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n    }\n    return clone(this, { values: negated }, true);\n  }\n\n  /**\n   * Get the years.\n   * @type {number}\n   */\n  get years() {\n    return this.isValid ? this.values.years || 0 : NaN;\n  }\n\n  /**\n   * Get the quarters.\n   * @type {number}\n   */\n  get quarters() {\n    return this.isValid ? this.values.quarters || 0 : NaN;\n  }\n\n  /**\n   * Get the months.\n   * @type {number}\n   */\n  get months() {\n    return this.isValid ? this.values.months || 0 : NaN;\n  }\n\n  /**\n   * Get the weeks\n   * @type {number}\n   */\n  get weeks() {\n    return this.isValid ? this.values.weeks || 0 : NaN;\n  }\n\n  /**\n   * Get the days.\n   * @type {number}\n   */\n  get days() {\n    return this.isValid ? this.values.days || 0 : NaN;\n  }\n\n  /**\n   * Get the hours.\n   * @type {number}\n   */\n  get hours() {\n    return this.isValid ? this.values.hours || 0 : NaN;\n  }\n\n  /**\n   * Get the minutes.\n   * @type {number}\n   */\n  get minutes() {\n    return this.isValid ? this.values.minutes || 0 : NaN;\n  }\n\n  /**\n   * Get the seconds.\n   * @return {number}\n   */\n  get seconds() {\n    return this.isValid ? this.values.seconds || 0 : NaN;\n  }\n\n  /**\n   * Get the milliseconds.\n   * @return {number}\n   */\n  get milliseconds() {\n    return this.isValid ? this.values.milliseconds || 0 : NaN;\n  }\n\n  /**\n   * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n   * on invalid DateTimes or Intervals.\n   * @return {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this Duration became invalid, or null if the Duration is valid\n   * @return {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Equality check\n   * Two Durations are equal iff they have the same units and the same values for each unit.\n   * @param {Duration} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n\n    if (!this.loc.equals(other.loc)) {\n      return false;\n    }\n\n    function eq(v1, v2) {\n      // Consider 0 and undefined as equal\n      if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n      return v1 === v2;\n    }\n\n    for (const u of orderedUnits) {\n      if (!eq(this.values[u], other.values[u])) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n","// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nexport class InvalidDateTimeError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid DateTime: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidIntervalError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Interval: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidDurationError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Duration: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nexport class InvalidUnitError extends LuxonError {\n  constructor(unit) {\n    super(`Invalid unit ${unit}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nexport class ZoneIsAbstractError extends LuxonError {\n  constructor() {\n    super(\"Zone is an abstract class\");\n  }\n}\n","import {\n  integerBetween,\n  isLeapYear,\n  timeObject,\n  daysInYear,\n  daysInMonth,\n  weeksInWeekYear,\n  isInteger,\n} from \"./util.js\";\nimport Invalid from \"./invalid.js\";\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n  leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n\nfunction unitOutOfRange(unit, value) {\n  return new Invalid(\n    \"unit out of range\",\n    `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`\n  );\n}\n\nfunction dayOfWeek(year, month, day) {\n  const d = new Date(Date.UTC(year, month - 1, day));\n\n  if (year < 100 && year >= 0) {\n    d.setUTCFullYear(d.getUTCFullYear() - 1900);\n  }\n\n  const js = d.getUTCDay();\n\n  return js === 0 ? 7 : js;\n}\n\nfunction computeOrdinal(year, month, day) {\n  return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\n\nfunction uncomputeOrdinal(year, ordinal) {\n  const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n    month0 = table.findIndex((i) => i < ordinal),\n    day = ordinal - table[month0];\n  return { month: month0 + 1, day };\n}\n\n/**\n * @private\n */\n\nexport function gregorianToWeek(gregObj) {\n  const { year, month, day } = gregObj,\n    ordinal = computeOrdinal(year, month, day),\n    weekday = dayOfWeek(year, month, day);\n\n  let weekNumber = Math.floor((ordinal - weekday + 10) / 7),\n    weekYear;\n\n  if (weekNumber < 1) {\n    weekYear = year - 1;\n    weekNumber = weeksInWeekYear(weekYear);\n  } else if (weekNumber > weeksInWeekYear(year)) {\n    weekYear = year + 1;\n    weekNumber = 1;\n  } else {\n    weekYear = year;\n  }\n\n  return { weekYear, weekNumber, weekday, ...timeObject(gregObj) };\n}\n\nexport function weekToGregorian(weekData) {\n  const { weekYear, weekNumber, weekday } = weekData,\n    weekdayOfJan4 = dayOfWeek(weekYear, 1, 4),\n    yearInDays = daysInYear(weekYear);\n\n  let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3,\n    year;\n\n  if (ordinal < 1) {\n    year = weekYear - 1;\n    ordinal += daysInYear(year);\n  } else if (ordinal > yearInDays) {\n    year = weekYear + 1;\n    ordinal -= daysInYear(weekYear);\n  } else {\n    year = weekYear;\n  }\n\n  const { month, day } = uncomputeOrdinal(year, ordinal);\n  return { year, month, day, ...timeObject(weekData) };\n}\n\nexport function gregorianToOrdinal(gregData) {\n  const { year, month, day } = gregData;\n  const ordinal = computeOrdinal(year, month, day);\n  return { year, ordinal, ...timeObject(gregData) };\n}\n\nexport function ordinalToGregorian(ordinalData) {\n  const { year, ordinal } = ordinalData;\n  const { month, day } = uncomputeOrdinal(year, ordinal);\n  return { year, month, day, ...timeObject(ordinalData) };\n}\n\nexport function hasInvalidWeekData(obj) {\n  const validYear = isInteger(obj.weekYear),\n    validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)),\n    validWeekday = integerBetween(obj.weekday, 1, 7);\n\n  if (!validYear) {\n    return unitOutOfRange(\"weekYear\", obj.weekYear);\n  } else if (!validWeek) {\n    return unitOutOfRange(\"week\", obj.week);\n  } else if (!validWeekday) {\n    return unitOutOfRange(\"weekday\", obj.weekday);\n  } else return false;\n}\n\nexport function hasInvalidOrdinalData(obj) {\n  const validYear = isInteger(obj.year),\n    validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validOrdinal) {\n    return unitOutOfRange(\"ordinal\", obj.ordinal);\n  } else return false;\n}\n\nexport function hasInvalidGregorianData(obj) {\n  const validYear = isInteger(obj.year),\n    validMonth = integerBetween(obj.month, 1, 12),\n    validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validMonth) {\n    return unitOutOfRange(\"month\", obj.month);\n  } else if (!validDay) {\n    return unitOutOfRange(\"day\", obj.day);\n  } else return false;\n}\n\nexport function hasInvalidTimeData(obj) {\n  const { hour, minute, second, millisecond } = obj;\n  const validHour =\n      integerBetween(hour, 0, 23) ||\n      (hour === 24 && minute === 0 && second === 0 && millisecond === 0),\n    validMinute = integerBetween(minute, 0, 59),\n    validSecond = integerBetween(second, 0, 59),\n    validMillisecond = integerBetween(millisecond, 0, 999);\n\n  if (!validHour) {\n    return unitOutOfRange(\"hour\", hour);\n  } else if (!validMinute) {\n    return unitOutOfRange(\"minute\", minute);\n  } else if (!validSecond) {\n    return unitOutOfRange(\"second\", second);\n  } else if (!validMillisecond) {\n    return unitOutOfRange(\"millisecond\", millisecond);\n  } else return false;\n}\n","import Duration from \"../duration.js\";\n\nfunction dayDiff(earlier, later) {\n  const utcDayStart = (dt) => dt.toUTC(0, { keepLocalTime: true }).startOf(\"day\").valueOf(),\n    ms = utcDayStart(later) - utcDayStart(earlier);\n  return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\n\nfunction highOrderDiffs(cursor, later, units) {\n  const differs = [\n    [\"years\", (a, b) => b.year - a.year],\n    [\"quarters\", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4],\n    [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12],\n    [\n      \"weeks\",\n      (a, b) => {\n        const days = dayDiff(a, b);\n        return (days - (days % 7)) / 7;\n      },\n    ],\n    [\"days\", dayDiff],\n  ];\n\n  const results = {};\n  const earlier = cursor;\n  let lowestOrder, highWater;\n\n  /* This loop tries to diff using larger units first.\n     If we overshoot, we backtrack and try the next smaller unit.\n     \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n     as we use smaller and smaller units.\n     highWater keeps track of where we would be if we added one more of the smallest unit,\n     this is used later to potentially convert any difference smaller than the smallest higher order unit\n     into a fraction of that smallest higher order unit\n  */\n  for (const [unit, differ] of differs) {\n    if (units.indexOf(unit) >= 0) {\n      lowestOrder = unit;\n\n      results[unit] = differ(cursor, later);\n      highWater = earlier.plus(results);\n\n      if (highWater > later) {\n        // we overshot the end point, backtrack cursor by 1\n        results[unit]--;\n        cursor = earlier.plus(results);\n\n        // if we are still overshooting now, we need to backtrack again\n        // this happens in certain situations when diffing times in different zones,\n        // because this calculation ignores time zones\n        if (cursor > later) {\n          // keep the \"overshot by 1\" around as highWater\n          highWater = cursor;\n          // backtrack cursor by 1\n          results[unit]--;\n          cursor = earlier.plus(results);\n        }\n      } else {\n        cursor = highWater;\n      }\n    }\n  }\n\n  return [cursor, results, highWater, lowestOrder];\n}\n\nexport default function (earlier, later, units, opts) {\n  let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n\n  const remainingMillis = later - cursor;\n\n  const lowerOrderUnits = units.filter(\n    (u) => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0\n  );\n\n  if (lowerOrderUnits.length === 0) {\n    if (highWater < later) {\n      highWater = cursor.plus({ [lowestOrder]: 1 });\n    }\n\n    if (highWater !== cursor) {\n      results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n    }\n  }\n\n  const duration = Duration.fromObject(results, opts);\n\n  if (lowerOrderUnits.length > 0) {\n    return Duration.fromMillis(remainingMillis, opts)\n      .shiftTo(...lowerOrderUnits)\n      .plus(duration);\n  } else {\n    return duration;\n  }\n}\n","const numberingSystems = {\n  arab: \"[\\u0660-\\u0669]\",\n  arabext: \"[\\u06F0-\\u06F9]\",\n  bali: \"[\\u1B50-\\u1B59]\",\n  beng: \"[\\u09E6-\\u09EF]\",\n  deva: \"[\\u0966-\\u096F]\",\n  fullwide: \"[\\uFF10-\\uFF19]\",\n  gujr: \"[\\u0AE6-\\u0AEF]\",\n  hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n  khmr: \"[\\u17E0-\\u17E9]\",\n  knda: \"[\\u0CE6-\\u0CEF]\",\n  laoo: \"[\\u0ED0-\\u0ED9]\",\n  limb: \"[\\u1946-\\u194F]\",\n  mlym: \"[\\u0D66-\\u0D6F]\",\n  mong: \"[\\u1810-\\u1819]\",\n  mymr: \"[\\u1040-\\u1049]\",\n  orya: \"[\\u0B66-\\u0B6F]\",\n  tamldec: \"[\\u0BE6-\\u0BEF]\",\n  telu: \"[\\u0C66-\\u0C6F]\",\n  thai: \"[\\u0E50-\\u0E59]\",\n  tibt: \"[\\u0F20-\\u0F29]\",\n  latn: \"\\\\d\",\n};\n\nconst numberingSystemsUTF16 = {\n  arab: [1632, 1641],\n  arabext: [1776, 1785],\n  bali: [6992, 7001],\n  beng: [2534, 2543],\n  deva: [2406, 2415],\n  fullwide: [65296, 65303],\n  gujr: [2790, 2799],\n  khmr: [6112, 6121],\n  knda: [3302, 3311],\n  laoo: [3792, 3801],\n  limb: [6470, 6479],\n  mlym: [3430, 3439],\n  mong: [6160, 6169],\n  mymr: [4160, 4169],\n  orya: [2918, 2927],\n  tamldec: [3046, 3055],\n  telu: [3174, 3183],\n  thai: [3664, 3673],\n  tibt: [3872, 3881],\n};\n\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\n\nexport function parseDigits(str) {\n  let value = parseInt(str, 10);\n  if (isNaN(value)) {\n    value = \"\";\n    for (let i = 0; i < str.length; i++) {\n      const code = str.charCodeAt(i);\n\n      if (str[i].search(numberingSystems.hanidec) !== -1) {\n        value += hanidecChars.indexOf(str[i]);\n      } else {\n        for (const key in numberingSystemsUTF16) {\n          const [min, max] = numberingSystemsUTF16[key];\n          if (code >= min && code <= max) {\n            value += code - min;\n          }\n        }\n      }\n    }\n    return parseInt(value, 10);\n  } else {\n    return value;\n  }\n}\n\nexport function digitRegex({ numberingSystem }, append = \"\") {\n  return new RegExp(`${numberingSystems[numberingSystem || \"latn\"]}${append}`);\n}\n","import * as Formats from \"./formats.js\";\nimport { pick } from \"./util.js\";\n\nfunction stringify(obj) {\n  return JSON.stringify(obj, Object.keys(obj).sort());\n}\n\n/**\n * @private\n */\n\nexport const monthsLong = [\n  \"January\",\n  \"February\",\n  \"March\",\n  \"April\",\n  \"May\",\n  \"June\",\n  \"July\",\n  \"August\",\n  \"September\",\n  \"October\",\n  \"November\",\n  \"December\",\n];\n\nexport const monthsShort = [\n  \"Jan\",\n  \"Feb\",\n  \"Mar\",\n  \"Apr\",\n  \"May\",\n  \"Jun\",\n  \"Jul\",\n  \"Aug\",\n  \"Sep\",\n  \"Oct\",\n  \"Nov\",\n  \"Dec\",\n];\n\nexport const monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\n\nexport function months(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...monthsNarrow];\n    case \"short\":\n      return [...monthsShort];\n    case \"long\":\n      return [...monthsLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n    case \"2-digit\":\n      return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n    default:\n      return null;\n  }\n}\n\nexport const weekdaysLong = [\n  \"Monday\",\n  \"Tuesday\",\n  \"Wednesday\",\n  \"Thursday\",\n  \"Friday\",\n  \"Saturday\",\n  \"Sunday\",\n];\n\nexport const weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nexport const weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\nexport function weekdays(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...weekdaysNarrow];\n    case \"short\":\n      return [...weekdaysShort];\n    case \"long\":\n      return [...weekdaysLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n    default:\n      return null;\n  }\n}\n\nexport const meridiems = [\"AM\", \"PM\"];\n\nexport const erasLong = [\"Before Christ\", \"Anno Domini\"];\n\nexport const erasShort = [\"BC\", \"AD\"];\n\nexport const erasNarrow = [\"B\", \"A\"];\n\nexport function eras(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...erasNarrow];\n    case \"short\":\n      return [...erasShort];\n    case \"long\":\n      return [...erasLong];\n    default:\n      return null;\n  }\n}\n\nexport function meridiemForDateTime(dt) {\n  return meridiems[dt.hour < 12 ? 0 : 1];\n}\n\nexport function weekdayForDateTime(dt, length) {\n  return weekdays(length)[dt.weekday - 1];\n}\n\nexport function monthForDateTime(dt, length) {\n  return months(length)[dt.month - 1];\n}\n\nexport function eraForDateTime(dt, length) {\n  return eras(length)[dt.year < 0 ? 0 : 1];\n}\n\nexport function formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n  const units = {\n    years: [\"year\", \"yr.\"],\n    quarters: [\"quarter\", \"qtr.\"],\n    months: [\"month\", \"mo.\"],\n    weeks: [\"week\", \"wk.\"],\n    days: [\"day\", \"day\", \"days\"],\n    hours: [\"hour\", \"hr.\"],\n    minutes: [\"minute\", \"min.\"],\n    seconds: [\"second\", \"sec.\"],\n  };\n\n  const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n\n  if (numeric === \"auto\" && lastable) {\n    const isDay = unit === \"days\";\n    switch (count) {\n      case 1:\n        return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n      case -1:\n        return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n      case 0:\n        return isDay ? \"today\" : `this ${units[unit][0]}`;\n      default: // fall through\n    }\n  }\n\n  const isInPast = Object.is(count, -0) || count < 0,\n    fmtValue = Math.abs(count),\n    singular = fmtValue === 1,\n    lilUnits = units[unit],\n    fmtUnit = narrow\n      ? singular\n        ? lilUnits[1]\n        : lilUnits[2] || lilUnits[1]\n      : singular\n      ? units[unit][0]\n      : unit;\n  return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nexport function formatString(knownFormat) {\n  // these all have the offsets removed because we don't have access to them\n  // without all the intl stuff this is backfilling\n  const filtered = pick(knownFormat, [\n      \"weekday\",\n      \"era\",\n      \"year\",\n      \"month\",\n      \"day\",\n      \"hour\",\n      \"minute\",\n      \"second\",\n      \"timeZoneName\",\n      \"hourCycle\",\n    ]),\n    key = stringify(filtered),\n    dateTimeHuge = \"EEEE, LLLL d, yyyy, h:mm a\";\n  switch (key) {\n    case stringify(Formats.DATE_SHORT):\n      return \"M/d/yyyy\";\n    case stringify(Formats.DATE_MED):\n      return \"LLL d, yyyy\";\n    case stringify(Formats.DATE_MED_WITH_WEEKDAY):\n      return \"EEE, LLL d, yyyy\";\n    case stringify(Formats.DATE_FULL):\n      return \"LLLL d, yyyy\";\n    case stringify(Formats.DATE_HUGE):\n      return \"EEEE, LLLL d, yyyy\";\n    case stringify(Formats.TIME_SIMPLE):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_WITH_SECONDS):\n      return \"h:mm:ss a\";\n    case stringify(Formats.TIME_WITH_SHORT_OFFSET):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_WITH_LONG_OFFSET):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_24_SIMPLE):\n      return \"HH:mm\";\n    case stringify(Formats.TIME_24_WITH_SECONDS):\n      return \"HH:mm:ss\";\n    case stringify(Formats.TIME_24_WITH_SHORT_OFFSET):\n      return \"HH:mm\";\n    case stringify(Formats.TIME_24_WITH_LONG_OFFSET):\n      return \"HH:mm\";\n    case stringify(Formats.DATETIME_SHORT):\n      return \"M/d/yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_MED):\n      return \"LLL d, yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_FULL):\n      return \"LLLL d, yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_HUGE):\n      return dateTimeHuge;\n    case stringify(Formats.DATETIME_SHORT_WITH_SECONDS):\n      return \"M/d/yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_MED_WITH_SECONDS):\n      return \"LLL d, yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_MED_WITH_WEEKDAY):\n      return \"EEE, d LLL yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_FULL_WITH_SECONDS):\n      return \"LLLL d, yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_HUGE_WITH_SECONDS):\n      return \"EEEE, LLLL d, yyyy, h:mm:ss a\";\n    default:\n      return dateTimeHuge;\n  }\n}\n","/**\n * @private\n */\n\nconst n = \"numeric\",\n  s = \"short\",\n  l = \"long\";\n\nexport const DATE_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n};\n\nexport const DATE_MED = {\n  year: n,\n  month: s,\n  day: n,\n};\n\nexport const DATE_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n};\n\nexport const DATE_FULL = {\n  year: n,\n  month: l,\n  day: n,\n};\n\nexport const DATE_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n};\n\nexport const TIME_SIMPLE = {\n  hour: n,\n  minute: n,\n};\n\nexport const TIME_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const TIME_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s,\n};\n\nexport const TIME_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l,\n};\n\nexport const TIME_24_SIMPLE = {\n  hour: n,\n  minute: n,\n  hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: s,\n};\n\nexport const TIME_24_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: l,\n};\n\nexport const DATETIME_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_SHORT_WITH_SECONDS = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const DATETIME_MED = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_MED_WITH_SECONDS = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const DATETIME_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_FULL = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  timeZoneName: s,\n};\n\nexport const DATETIME_FULL_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s,\n};\n\nexport const DATETIME_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  timeZoneName: l,\n};\n\nexport const DATETIME_HUGE_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l,\n};\n","import * as English from \"./english.js\";\nimport * as Formats from \"./formats.js\";\nimport { padStart } from \"./util.js\";\n\nfunction stringifyTokens(splits, tokenToString) {\n  let s = \"\";\n  for (const token of splits) {\n    if (token.literal) {\n      s += token.val;\n    } else {\n      s += tokenToString(token.val);\n    }\n  }\n  return s;\n}\n\nconst macroTokenToFormatOpts = {\n  D: Formats.DATE_SHORT,\n  DD: Formats.DATE_MED,\n  DDD: Formats.DATE_FULL,\n  DDDD: Formats.DATE_HUGE,\n  t: Formats.TIME_SIMPLE,\n  tt: Formats.TIME_WITH_SECONDS,\n  ttt: Formats.TIME_WITH_SHORT_OFFSET,\n  tttt: Formats.TIME_WITH_LONG_OFFSET,\n  T: Formats.TIME_24_SIMPLE,\n  TT: Formats.TIME_24_WITH_SECONDS,\n  TTT: Formats.TIME_24_WITH_SHORT_OFFSET,\n  TTTT: Formats.TIME_24_WITH_LONG_OFFSET,\n  f: Formats.DATETIME_SHORT,\n  ff: Formats.DATETIME_MED,\n  fff: Formats.DATETIME_FULL,\n  ffff: Formats.DATETIME_HUGE,\n  F: Formats.DATETIME_SHORT_WITH_SECONDS,\n  FF: Formats.DATETIME_MED_WITH_SECONDS,\n  FFF: Formats.DATETIME_FULL_WITH_SECONDS,\n  FFFF: Formats.DATETIME_HUGE_WITH_SECONDS,\n};\n\n/**\n * @private\n */\n\nexport default class Formatter {\n  static create(locale, opts = {}) {\n    return new Formatter(locale, opts);\n  }\n\n  static parseFormat(fmt) {\n    // white-space is always considered a literal in user-provided formats\n    // the \" \" token has a special meaning (see unitForToken)\n\n    let current = null,\n      currentFull = \"\",\n      bracketed = false;\n    const splits = [];\n    for (let i = 0; i < fmt.length; i++) {\n      const c = fmt.charAt(i);\n      if (c === \"'\") {\n        if (currentFull.length > 0) {\n          splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n        }\n        current = null;\n        currentFull = \"\";\n        bracketed = !bracketed;\n      } else if (bracketed) {\n        currentFull += c;\n      } else if (c === current) {\n        currentFull += c;\n      } else {\n        if (currentFull.length > 0) {\n          splits.push({ literal: /^\\s+$/.test(currentFull), val: currentFull });\n        }\n        currentFull = c;\n        current = c;\n      }\n    }\n\n    if (currentFull.length > 0) {\n      splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n    }\n\n    return splits;\n  }\n\n  static macroTokenToFormatOpts(token) {\n    return macroTokenToFormatOpts[token];\n  }\n\n  constructor(locale, formatOpts) {\n    this.opts = formatOpts;\n    this.loc = locale;\n    this.systemLoc = null;\n  }\n\n  formatWithSystemDefault(dt, opts) {\n    if (this.systemLoc === null) {\n      this.systemLoc = this.loc.redefaultToSystem();\n    }\n    const df = this.systemLoc.dtFormatter(dt, { ...this.opts, ...opts });\n    return df.format();\n  }\n\n  dtFormatter(dt, opts = {}) {\n    return this.loc.dtFormatter(dt, { ...this.opts, ...opts });\n  }\n\n  formatDateTime(dt, opts) {\n    return this.dtFormatter(dt, opts).format();\n  }\n\n  formatDateTimeParts(dt, opts) {\n    return this.dtFormatter(dt, opts).formatToParts();\n  }\n\n  formatInterval(interval, opts) {\n    const df = this.dtFormatter(interval.start, opts);\n    return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n  }\n\n  resolvedOptions(dt, opts) {\n    return this.dtFormatter(dt, opts).resolvedOptions();\n  }\n\n  num(n, p = 0) {\n    // we get some perf out of doing this here, annoyingly\n    if (this.opts.forceSimple) {\n      return padStart(n, p);\n    }\n\n    const opts = { ...this.opts };\n\n    if (p > 0) {\n      opts.padTo = p;\n    }\n\n    return this.loc.numberFormatter(opts).format(n);\n  }\n\n  formatDateTimeFromString(dt, fmt) {\n    const knownEnglish = this.loc.listingMode() === \"en\",\n      useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n      string = (opts, extract) => this.loc.extract(dt, opts, extract),\n      formatOffset = (opts) => {\n        if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n          return \"Z\";\n        }\n\n        return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n      },\n      meridiem = () =>\n        knownEnglish\n          ? English.meridiemForDateTime(dt)\n          : string({ hour: \"numeric\", hourCycle: \"h12\" }, \"dayperiod\"),\n      month = (length, standalone) =>\n        knownEnglish\n          ? English.monthForDateTime(dt, length)\n          : string(standalone ? { month: length } : { month: length, day: \"numeric\" }, \"month\"),\n      weekday = (length, standalone) =>\n        knownEnglish\n          ? English.weekdayForDateTime(dt, length)\n          : string(\n              standalone ? { weekday: length } : { weekday: length, month: \"long\", day: \"numeric\" },\n              \"weekday\"\n            ),\n      maybeMacro = (token) => {\n        const formatOpts = Formatter.macroTokenToFormatOpts(token);\n        if (formatOpts) {\n          return this.formatWithSystemDefault(dt, formatOpts);\n        } else {\n          return token;\n        }\n      },\n      era = (length) =>\n        knownEnglish ? English.eraForDateTime(dt, length) : string({ era: length }, \"era\"),\n      tokenToString = (token) => {\n        // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n        switch (token) {\n          // ms\n          case \"S\":\n            return this.num(dt.millisecond);\n          case \"u\":\n          // falls through\n          case \"SSS\":\n            return this.num(dt.millisecond, 3);\n          // seconds\n          case \"s\":\n            return this.num(dt.second);\n          case \"ss\":\n            return this.num(dt.second, 2);\n          // fractional seconds\n          case \"uu\":\n            return this.num(Math.floor(dt.millisecond / 10), 2);\n          case \"uuu\":\n            return this.num(Math.floor(dt.millisecond / 100));\n          // minutes\n          case \"m\":\n            return this.num(dt.minute);\n          case \"mm\":\n            return this.num(dt.minute, 2);\n          // hours\n          case \"h\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n          case \"hh\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n          case \"H\":\n            return this.num(dt.hour);\n          case \"HH\":\n            return this.num(dt.hour, 2);\n          // offset\n          case \"Z\":\n            // like +6\n            return formatOffset({ format: \"narrow\", allowZ: this.opts.allowZ });\n          case \"ZZ\":\n            // like +06:00\n            return formatOffset({ format: \"short\", allowZ: this.opts.allowZ });\n          case \"ZZZ\":\n            // like +0600\n            return formatOffset({ format: \"techie\", allowZ: this.opts.allowZ });\n          case \"ZZZZ\":\n            // like EST\n            return dt.zone.offsetName(dt.ts, { format: \"short\", locale: this.loc.locale });\n          case \"ZZZZZ\":\n            // like Eastern Standard Time\n            return dt.zone.offsetName(dt.ts, { format: \"long\", locale: this.loc.locale });\n          // zone\n          case \"z\":\n            // like America/New_York\n            return dt.zoneName;\n          // meridiems\n          case \"a\":\n            return meridiem();\n          // dates\n          case \"d\":\n            return useDateTimeFormatter ? string({ day: \"numeric\" }, \"day\") : this.num(dt.day);\n          case \"dd\":\n            return useDateTimeFormatter ? string({ day: \"2-digit\" }, \"day\") : this.num(dt.day, 2);\n          // weekdays - standalone\n          case \"c\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"ccc\":\n            // like 'Tues'\n            return weekday(\"short\", true);\n          case \"cccc\":\n            // like 'Tuesday'\n            return weekday(\"long\", true);\n          case \"ccccc\":\n            // like 'T'\n            return weekday(\"narrow\", true);\n          // weekdays - format\n          case \"E\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"EEE\":\n            // like 'Tues'\n            return weekday(\"short\", false);\n          case \"EEEE\":\n            // like 'Tuesday'\n            return weekday(\"long\", false);\n          case \"EEEEE\":\n            // like 'T'\n            return weekday(\"narrow\", false);\n          // months - standalone\n          case \"L\":\n            // like 1\n            return useDateTimeFormatter\n              ? string({ month: \"numeric\", day: \"numeric\" }, \"month\")\n              : this.num(dt.month);\n          case \"LL\":\n            // like 01, doesn't seem to work\n            return useDateTimeFormatter\n              ? string({ month: \"2-digit\", day: \"numeric\" }, \"month\")\n              : this.num(dt.month, 2);\n          case \"LLL\":\n            // like Jan\n            return month(\"short\", true);\n          case \"LLLL\":\n            // like January\n            return month(\"long\", true);\n          case \"LLLLL\":\n            // like J\n            return month(\"narrow\", true);\n          // months - format\n          case \"M\":\n            // like 1\n            return useDateTimeFormatter\n              ? string({ month: \"numeric\" }, \"month\")\n              : this.num(dt.month);\n          case \"MM\":\n            // like 01\n            return useDateTimeFormatter\n              ? string({ month: \"2-digit\" }, \"month\")\n              : this.num(dt.month, 2);\n          case \"MMM\":\n            // like Jan\n            return month(\"short\", false);\n          case \"MMMM\":\n            // like January\n            return month(\"long\", false);\n          case \"MMMMM\":\n            // like J\n            return month(\"narrow\", false);\n          // years\n          case \"y\":\n            // like 2014\n            return useDateTimeFormatter ? string({ year: \"numeric\" }, \"year\") : this.num(dt.year);\n          case \"yy\":\n            // like 14\n            return useDateTimeFormatter\n              ? string({ year: \"2-digit\" }, \"year\")\n              : this.num(dt.year.toString().slice(-2), 2);\n          case \"yyyy\":\n            // like 0012\n            return useDateTimeFormatter\n              ? string({ year: \"numeric\" }, \"year\")\n              : this.num(dt.year, 4);\n          case \"yyyyyy\":\n            // like 000012\n            return useDateTimeFormatter\n              ? string({ year: \"numeric\" }, \"year\")\n              : this.num(dt.year, 6);\n          // eras\n          case \"G\":\n            // like AD\n            return era(\"short\");\n          case \"GG\":\n            // like Anno Domini\n            return era(\"long\");\n          case \"GGGGG\":\n            return era(\"narrow\");\n          case \"kk\":\n            return this.num(dt.weekYear.toString().slice(-2), 2);\n          case \"kkkk\":\n            return this.num(dt.weekYear, 4);\n          case \"W\":\n            return this.num(dt.weekNumber);\n          case \"WW\":\n            return this.num(dt.weekNumber, 2);\n          case \"o\":\n            return this.num(dt.ordinal);\n          case \"ooo\":\n            return this.num(dt.ordinal, 3);\n          case \"q\":\n            // like 1\n            return this.num(dt.quarter);\n          case \"qq\":\n            // like 01\n            return this.num(dt.quarter, 2);\n          case \"X\":\n            return this.num(Math.floor(dt.ts / 1000));\n          case \"x\":\n            return this.num(dt.ts);\n          default:\n            return maybeMacro(token);\n        }\n      };\n\n    return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n  }\n\n  formatDurationFromString(dur, fmt) {\n    const tokenToField = (token) => {\n        switch (token[0]) {\n          case \"S\":\n            return \"millisecond\";\n          case \"s\":\n            return \"second\";\n          case \"m\":\n            return \"minute\";\n          case \"h\":\n            return \"hour\";\n          case \"d\":\n            return \"day\";\n          case \"w\":\n            return \"week\";\n          case \"M\":\n            return \"month\";\n          case \"y\":\n            return \"year\";\n          default:\n            return null;\n        }\n      },\n      tokenToString = (lildur) => (token) => {\n        const mapped = tokenToField(token);\n        if (mapped) {\n          return this.num(lildur.get(mapped), token.length);\n        } else {\n          return token;\n        }\n      },\n      tokens = Formatter.parseFormat(fmt),\n      realTokens = tokens.reduce(\n        (found, { literal, val }) => (literal ? found : found.concat(val)),\n        []\n      ),\n      collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter((t) => t));\n    return stringifyTokens(tokens, tokenToString(collapsed));\n  }\n}\n","export default class Invalid {\n  constructor(reason, explanation) {\n    this.reason = reason;\n    this.explanation = explanation;\n  }\n\n  toMessage() {\n    if (this.explanation) {\n      return `${this.reason}: ${this.explanation}`;\n    } else {\n      return this.reason;\n    }\n  }\n}\n","import { padStart, roundTo, hasRelative, formatOffset } from \"./util.js\";\nimport * as English from \"./english.js\";\nimport Settings from \"../settings.js\";\nimport DateTime from \"../datetime.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n// todo - remap caching\n\nlet intlLFCache = {};\nfunction getCachedLF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlLFCache[key];\n  if (!dtf) {\n    dtf = new Intl.ListFormat(locString, opts);\n    intlLFCache[key] = dtf;\n  }\n  return dtf;\n}\n\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlDTCache[key];\n  if (!dtf) {\n    dtf = new Intl.DateTimeFormat(locString, opts);\n    intlDTCache[key] = dtf;\n  }\n  return dtf;\n}\n\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let inf = intlNumCache[key];\n  if (!inf) {\n    inf = new Intl.NumberFormat(locString, opts);\n    intlNumCache[key] = inf;\n  }\n  return inf;\n}\n\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n  const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options\n  const key = JSON.stringify([locString, cacheKeyOpts]);\n  let inf = intlRelCache[key];\n  if (!inf) {\n    inf = new Intl.RelativeTimeFormat(locString, opts);\n    intlRelCache[key] = inf;\n  }\n  return inf;\n}\n\nlet sysLocaleCache = null;\nfunction systemLocale() {\n  if (sysLocaleCache) {\n    return sysLocaleCache;\n  } else {\n    sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n    return sysLocaleCache;\n  }\n}\n\nfunction parseLocaleString(localeStr) {\n  // I really want to avoid writing a BCP 47 parser\n  // see, e.g. https://github.com/wooorm/bcp-47\n  // Instead, we'll do this:\n\n  // a) if the string has no -u extensions, just leave it alone\n  // b) if it does, use Intl to resolve everything\n  // c) if Intl fails, try again without the -u\n\n  // private subtags and unicode subtags have ordering requirements,\n  // and we're not properly parsing this, so just strip out the\n  // private ones if they exist.\n  const xIndex = localeStr.indexOf(\"-x-\");\n  if (xIndex !== -1) {\n    localeStr = localeStr.substring(0, xIndex);\n  }\n\n  const uIndex = localeStr.indexOf(\"-u-\");\n  if (uIndex === -1) {\n    return [localeStr];\n  } else {\n    let options;\n    let selectedStr;\n    try {\n      options = getCachedDTF(localeStr).resolvedOptions();\n      selectedStr = localeStr;\n    } catch (e) {\n      const smaller = localeStr.substring(0, uIndex);\n      options = getCachedDTF(smaller).resolvedOptions();\n      selectedStr = smaller;\n    }\n\n    const { numberingSystem, calendar } = options;\n    return [selectedStr, numberingSystem, calendar];\n  }\n}\n\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n  if (outputCalendar || numberingSystem) {\n    if (!localeStr.includes(\"-u-\")) {\n      localeStr += \"-u\";\n    }\n\n    if (outputCalendar) {\n      localeStr += `-ca-${outputCalendar}`;\n    }\n\n    if (numberingSystem) {\n      localeStr += `-nu-${numberingSystem}`;\n    }\n    return localeStr;\n  } else {\n    return localeStr;\n  }\n}\n\nfunction mapMonths(f) {\n  const ms = [];\n  for (let i = 1; i <= 12; i++) {\n    const dt = DateTime.utc(2009, i, 1);\n    ms.push(f(dt));\n  }\n  return ms;\n}\n\nfunction mapWeekdays(f) {\n  const ms = [];\n  for (let i = 1; i <= 7; i++) {\n    const dt = DateTime.utc(2016, 11, 13 + i);\n    ms.push(f(dt));\n  }\n  return ms;\n}\n\nfunction listStuff(loc, length, englishFn, intlFn) {\n  const mode = loc.listingMode();\n\n  if (mode === \"error\") {\n    return null;\n  } else if (mode === \"en\") {\n    return englishFn(length);\n  } else {\n    return intlFn(length);\n  }\n}\n\nfunction supportsFastNumbers(loc) {\n  if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n    return false;\n  } else {\n    return (\n      loc.numberingSystem === \"latn\" ||\n      !loc.locale ||\n      loc.locale.startsWith(\"en\") ||\n      new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\"\n    );\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n  constructor(intl, forceSimple, opts) {\n    this.padTo = opts.padTo || 0;\n    this.floor = opts.floor || false;\n\n    const { padTo, floor, ...otherOpts } = opts;\n\n    if (!forceSimple || Object.keys(otherOpts).length > 0) {\n      const intlOpts = { useGrouping: false, ...opts };\n      if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n      this.inf = getCachedINF(intl, intlOpts);\n    }\n  }\n\n  format(i) {\n    if (this.inf) {\n      const fixed = this.floor ? Math.floor(i) : i;\n      return this.inf.format(fixed);\n    } else {\n      // to match the browser's numberformatter defaults\n      const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n      return padStart(fixed, this.padTo);\n    }\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n  constructor(dt, intl, opts) {\n    this.opts = opts;\n    this.originalZone = undefined;\n\n    let z = undefined;\n    if (this.opts.timeZone) {\n      // Don't apply any workarounds if a timeZone is explicitly provided in opts\n      this.dt = dt;\n    } else if (dt.zone.type === \"fixed\") {\n      // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n      // That is why fixed-offset TZ is set to that unless it is:\n      // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n      // 2. Unsupported by the browser:\n      //    - some do not support Etc/\n      //    - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n      const gmtOffset = -1 * (dt.offset / 60);\n      const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n      if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n        z = offsetZ;\n        this.dt = dt;\n      } else {\n        // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n        // we manually apply the offset and substitute the zone as needed.\n        z = \"UTC\";\n        this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n        this.originalZone = dt.zone;\n      }\n    } else if (dt.zone.type === \"system\") {\n      this.dt = dt;\n    } else if (dt.zone.type === \"iana\") {\n      this.dt = dt;\n      z = dt.zone.name;\n    } else {\n      // Custom zones can have any offset / offsetName so we just manually\n      // apply the offset and substitute the zone as needed.\n      z = \"UTC\";\n      this.dt = dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n      this.originalZone = dt.zone;\n    }\n\n    const intlOpts = { ...this.opts };\n    intlOpts.timeZone = intlOpts.timeZone || z;\n    this.dtf = getCachedDTF(intl, intlOpts);\n  }\n\n  format() {\n    if (this.originalZone) {\n      // If we have to substitute in the actual zone name, we have to use\n      // formatToParts so that the timezone can be replaced.\n      return this.formatToParts()\n        .map(({ value }) => value)\n        .join(\"\");\n    }\n    return this.dtf.format(this.dt.toJSDate());\n  }\n\n  formatToParts() {\n    const parts = this.dtf.formatToParts(this.dt.toJSDate());\n    if (this.originalZone) {\n      return parts.map((part) => {\n        if (part.type === \"timeZoneName\") {\n          const offsetName = this.originalZone.offsetName(this.dt.ts, {\n            locale: this.dt.locale,\n            format: this.opts.timeZoneName,\n          });\n          return {\n            ...part,\n            value: offsetName,\n          };\n        } else {\n          return part;\n        }\n      });\n    }\n    return parts;\n  }\n\n  resolvedOptions() {\n    return this.dtf.resolvedOptions();\n  }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n  constructor(intl, isEnglish, opts) {\n    this.opts = { style: \"long\", ...opts };\n    if (!isEnglish && hasRelative()) {\n      this.rtf = getCachedRTF(intl, opts);\n    }\n  }\n\n  format(count, unit) {\n    if (this.rtf) {\n      return this.rtf.format(count, unit);\n    } else {\n      return English.formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n    }\n  }\n\n  formatToParts(count, unit) {\n    if (this.rtf) {\n      return this.rtf.formatToParts(count, unit);\n    } else {\n      return [];\n    }\n  }\n}\n\n/**\n * @private\n */\n\nexport default class Locale {\n  static fromOpts(opts) {\n    return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN);\n  }\n\n  static create(locale, numberingSystem, outputCalendar, defaultToEN = false) {\n    const specifiedLocale = locale || Settings.defaultLocale;\n    // the system locale is useful for human readable strings but annoying for parsing/formatting known formats\n    const localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n    const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n    const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n    return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale);\n  }\n\n  static resetCache() {\n    sysLocaleCache = null;\n    intlDTCache = {};\n    intlNumCache = {};\n    intlRelCache = {};\n  }\n\n  static fromObject({ locale, numberingSystem, outputCalendar } = {}) {\n    return Locale.create(locale, numberingSystem, outputCalendar);\n  }\n\n  constructor(locale, numbering, outputCalendar, specifiedLocale) {\n    const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n\n    this.locale = parsedLocale;\n    this.numberingSystem = numbering || parsedNumberingSystem || null;\n    this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n    this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n\n    this.weekdaysCache = { format: {}, standalone: {} };\n    this.monthsCache = { format: {}, standalone: {} };\n    this.meridiemCache = null;\n    this.eraCache = {};\n\n    this.specifiedLocale = specifiedLocale;\n    this.fastNumbersCached = null;\n  }\n\n  get fastNumbers() {\n    if (this.fastNumbersCached == null) {\n      this.fastNumbersCached = supportsFastNumbers(this);\n    }\n\n    return this.fastNumbersCached;\n  }\n\n  listingMode() {\n    const isActuallyEn = this.isEnglish();\n    const hasNoWeirdness =\n      (this.numberingSystem === null || this.numberingSystem === \"latn\") &&\n      (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n    return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n  }\n\n  clone(alts) {\n    if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n      return this;\n    } else {\n      return Locale.create(\n        alts.locale || this.specifiedLocale,\n        alts.numberingSystem || this.numberingSystem,\n        alts.outputCalendar || this.outputCalendar,\n        alts.defaultToEN || false\n      );\n    }\n  }\n\n  redefaultToEN(alts = {}) {\n    return this.clone({ ...alts, defaultToEN: true });\n  }\n\n  redefaultToSystem(alts = {}) {\n    return this.clone({ ...alts, defaultToEN: false });\n  }\n\n  months(length, format = false) {\n    return listStuff(this, length, English.months, () => {\n      const intl = format ? { month: length, day: \"numeric\" } : { month: length },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.monthsCache[formatStr][length]) {\n        this.monthsCache[formatStr][length] = mapMonths((dt) => this.extract(dt, intl, \"month\"));\n      }\n      return this.monthsCache[formatStr][length];\n    });\n  }\n\n  weekdays(length, format = false) {\n    return listStuff(this, length, English.weekdays, () => {\n      const intl = format\n          ? { weekday: length, year: \"numeric\", month: \"long\", day: \"numeric\" }\n          : { weekday: length },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.weekdaysCache[formatStr][length]) {\n        this.weekdaysCache[formatStr][length] = mapWeekdays((dt) =>\n          this.extract(dt, intl, \"weekday\")\n        );\n      }\n      return this.weekdaysCache[formatStr][length];\n    });\n  }\n\n  meridiems() {\n    return listStuff(\n      this,\n      undefined,\n      () => English.meridiems,\n      () => {\n        // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n        // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n        if (!this.meridiemCache) {\n          const intl = { hour: \"numeric\", hourCycle: \"h12\" };\n          this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(\n            (dt) => this.extract(dt, intl, \"dayperiod\")\n          );\n        }\n\n        return this.meridiemCache;\n      }\n    );\n  }\n\n  eras(length) {\n    return listStuff(this, length, English.eras, () => {\n      const intl = { era: length };\n\n      // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n      // to definitely enumerate them.\n      if (!this.eraCache[length]) {\n        this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map((dt) =>\n          this.extract(dt, intl, \"era\")\n        );\n      }\n\n      return this.eraCache[length];\n    });\n  }\n\n  extract(dt, intlOpts, field) {\n    const df = this.dtFormatter(dt, intlOpts),\n      results = df.formatToParts(),\n      matching = results.find((m) => m.type.toLowerCase() === field);\n    return matching ? matching.value : null;\n  }\n\n  numberFormatter(opts = {}) {\n    // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n    // (in contrast, the rest of the condition is used heavily)\n    return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n  }\n\n  dtFormatter(dt, intlOpts = {}) {\n    return new PolyDateFormatter(dt, this.intl, intlOpts);\n  }\n\n  relFormatter(opts = {}) {\n    return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n  }\n\n  listFormatter(opts = {}) {\n    return getCachedLF(this.intl, opts);\n  }\n\n  isEnglish() {\n    return (\n      this.locale === \"en\" ||\n      this.locale.toLowerCase() === \"en-us\" ||\n      new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\")\n    );\n  }\n\n  equals(other) {\n    return (\n      this.locale === other.locale &&\n      this.numberingSystem === other.numberingSystem &&\n      this.outputCalendar === other.outputCalendar\n    );\n  }\n}\n","import {\n  untruncateYear,\n  signedOffset,\n  parseInteger,\n  parseMillis,\n  isUndefined,\n  parseFloating,\n} from \"./util.js\";\nimport * as English from \"./english.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nconst ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\n\nfunction combineRegexes(...regexes) {\n  const full = regexes.reduce((f, r) => f + r.source, \"\");\n  return RegExp(`^${full}$`);\n}\n\nfunction combineExtractors(...extractors) {\n  return (m) =>\n    extractors\n      .reduce(\n        ([mergedVals, mergedZone, cursor], ex) => {\n          const [val, zone, next] = ex(m, cursor);\n          return [{ ...mergedVals, ...val }, zone || mergedZone, next];\n        },\n        [{}, null, 1]\n      )\n      .slice(0, 2);\n}\n\nfunction parse(s, ...patterns) {\n  if (s == null) {\n    return [null, null];\n  }\n\n  for (const [regex, extractor] of patterns) {\n    const m = regex.exec(s);\n    if (m) {\n      return extractor(m);\n    }\n  }\n  return [null, null];\n}\n\nfunction simpleParse(...keys) {\n  return (match, cursor) => {\n    const ret = {};\n    let i;\n\n    for (i = 0; i < keys.length; i++) {\n      ret[keys[i]] = parseInteger(match[cursor + i]);\n    }\n    return [ret, null, cursor + i];\n  };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nconst isoExtendedZone = `(?:${offsetRegex.source}?(?:\\\\[(${ianaRegex.source})\\\\])?)?`;\nconst isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nconst isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);\nconst isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);\nconst isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nconst isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nconst isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nconst extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nconst extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nconst sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nconst sqlTimeRegex = RegExp(\n  `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`\n);\nconst sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\n\nfunction int(match, pos, fallback) {\n  const m = match[pos];\n  return isUndefined(m) ? fallback : parseInteger(m);\n}\n\nfunction extractISOYmd(match, cursor) {\n  const item = {\n    year: int(match, cursor),\n    month: int(match, cursor + 1, 1),\n    day: int(match, cursor + 2, 1),\n  };\n\n  return [item, null, cursor + 3];\n}\n\nfunction extractISOTime(match, cursor) {\n  const item = {\n    hours: int(match, cursor, 0),\n    minutes: int(match, cursor + 1, 0),\n    seconds: int(match, cursor + 2, 0),\n    milliseconds: parseMillis(match[cursor + 3]),\n  };\n\n  return [item, null, cursor + 4];\n}\n\nfunction extractISOOffset(match, cursor) {\n  const local = !match[cursor] && !match[cursor + 1],\n    fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n    zone = local ? null : FixedOffsetZone.instance(fullOffset);\n  return [{}, zone, cursor + 3];\n}\n\nfunction extractIANAZone(match, cursor) {\n  const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n  return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration =\n  /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\n\nfunction extractISODuration(match) {\n  const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] =\n    match;\n\n  const hasNegativePrefix = s[0] === \"-\";\n  const negativeSeconds = secondStr && secondStr[0] === \"-\";\n\n  const maybeNegate = (num, force = false) =>\n    num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num;\n\n  return [\n    {\n      years: maybeNegate(parseFloating(yearStr)),\n      months: maybeNegate(parseFloating(monthStr)),\n      weeks: maybeNegate(parseFloating(weekStr)),\n      days: maybeNegate(parseFloating(dayStr)),\n      hours: maybeNegate(parseFloating(hourStr)),\n      minutes: maybeNegate(parseFloating(minuteStr)),\n      seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n      milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds),\n    },\n  ];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n  GMT: 0,\n  EDT: -4 * 60,\n  EST: -5 * 60,\n  CDT: -5 * 60,\n  CST: -6 * 60,\n  MDT: -6 * 60,\n  MST: -7 * 60,\n  PDT: -7 * 60,\n  PST: -8 * 60,\n};\n\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n  const result = {\n    year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n    month: English.monthsShort.indexOf(monthStr) + 1,\n    day: parseInteger(dayStr),\n    hour: parseInteger(hourStr),\n    minute: parseInteger(minuteStr),\n  };\n\n  if (secondStr) result.second = parseInteger(secondStr);\n  if (weekdayStr) {\n    result.weekday =\n      weekdayStr.length > 3\n        ? English.weekdaysLong.indexOf(weekdayStr) + 1\n        : English.weekdaysShort.indexOf(weekdayStr) + 1;\n  }\n\n  return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 =\n  /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\n\nfunction extractRFC2822(match) {\n  const [\n      ,\n      weekdayStr,\n      dayStr,\n      monthStr,\n      yearStr,\n      hourStr,\n      minuteStr,\n      secondStr,\n      obsOffset,\n      milOffset,\n      offHourStr,\n      offMinuteStr,\n    ] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n\n  let offset;\n  if (obsOffset) {\n    offset = obsOffsets[obsOffset];\n  } else if (milOffset) {\n    offset = 0;\n  } else {\n    offset = signedOffset(offHourStr, offMinuteStr);\n  }\n\n  return [result, new FixedOffsetZone(offset)];\n}\n\nfunction preprocessRFC2822(s) {\n  // Remove comments and folding whitespace and replace multiple-spaces with a single space\n  return s\n    .replace(/\\([^()]*\\)|[\\n\\t]/g, \" \")\n    .replace(/(\\s\\s+)/g, \" \")\n    .trim();\n}\n\n// http date\n\nconst rfc1123 =\n    /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  rfc850 =\n    /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  ascii =\n    /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\n\nfunction extractRFC1123Or850(match) {\n  const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\n\nfunction extractASCII(match) {\n  const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\n\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\n\nconst extractISOYmdTimeAndOffset = combineExtractors(\n  extractISOYmd,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOWeekTimeAndOffset = combineExtractors(\n  extractISOWeekData,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOOrdinalDateAndTime = combineExtractors(\n  extractISOOrdinalData,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOTimeAndOffset = combineExtractors(\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\n\n/*\n * @private\n */\n\nexport function parseISODate(s) {\n  return parse(\n    s,\n    [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n    [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset],\n    [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime],\n    [isoTimeCombinedRegex, extractISOTimeAndOffset]\n  );\n}\n\nexport function parseRFC2822Date(s) {\n  return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\n\nexport function parseHTTPDate(s) {\n  return parse(\n    s,\n    [rfc1123, extractRFC1123Or850],\n    [rfc850, extractRFC1123Or850],\n    [ascii, extractASCII]\n  );\n}\n\nexport function parseISODuration(s) {\n  return parse(s, [isoDuration, extractISODuration]);\n}\n\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\n\nexport function parseISOTimeOnly(s) {\n  return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\n\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\n\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\n\nexport function parseSQL(s) {\n  return parse(\n    s,\n    [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n    [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]\n  );\n}\n","import { parseMillis, isUndefined, untruncateYear, signedOffset, hasOwnProperty } from \"./util.js\";\nimport Formatter from \"./formatter.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport DateTime from \"../datetime.js\";\nimport { digitRegex, parseDigits } from \"./digits.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\n\nfunction intUnit(regex, post = (i) => i) {\n  return { regex, deser: ([s]) => post(parseDigits(s)) };\n}\n\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `[ ${NBSP}]`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\n\nfunction fixListRegex(s) {\n  // make dots optional and also make them literal\n  // make space and non breakable space characters interchangeable\n  return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\n\nfunction stripInsensitivities(s) {\n  return s\n    .replace(/\\./g, \"\") // ignore dots that were made optional\n    .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n    .toLowerCase();\n}\n\nfunction oneOf(strings, startIndex) {\n  if (strings === null) {\n    return null;\n  } else {\n    return {\n      regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n      deser: ([s]) =>\n        strings.findIndex((i) => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex,\n    };\n  }\n}\n\nfunction offset(regex, groups) {\n  return { regex, deser: ([, h, m]) => signedOffset(h, m), groups };\n}\n\nfunction simple(regex) {\n  return { regex, deser: ([s]) => s };\n}\n\nfunction escapeToken(value) {\n  return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n  const one = digitRegex(loc),\n    two = digitRegex(loc, \"{2}\"),\n    three = digitRegex(loc, \"{3}\"),\n    four = digitRegex(loc, \"{4}\"),\n    six = digitRegex(loc, \"{6}\"),\n    oneOrTwo = digitRegex(loc, \"{1,2}\"),\n    oneToThree = digitRegex(loc, \"{1,3}\"),\n    oneToSix = digitRegex(loc, \"{1,6}\"),\n    oneToNine = digitRegex(loc, \"{1,9}\"),\n    twoToFour = digitRegex(loc, \"{2,4}\"),\n    fourToSix = digitRegex(loc, \"{4,6}\"),\n    literal = (t) => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }),\n    unitate = (t) => {\n      if (token.literal) {\n        return literal(t);\n      }\n      switch (t.val) {\n        // era\n        case \"G\":\n          return oneOf(loc.eras(\"short\"), 0);\n        case \"GG\":\n          return oneOf(loc.eras(\"long\"), 0);\n        // years\n        case \"y\":\n          return intUnit(oneToSix);\n        case \"yy\":\n          return intUnit(twoToFour, untruncateYear);\n        case \"yyyy\":\n          return intUnit(four);\n        case \"yyyyy\":\n          return intUnit(fourToSix);\n        case \"yyyyyy\":\n          return intUnit(six);\n        // months\n        case \"M\":\n          return intUnit(oneOrTwo);\n        case \"MM\":\n          return intUnit(two);\n        case \"MMM\":\n          return oneOf(loc.months(\"short\", true), 1);\n        case \"MMMM\":\n          return oneOf(loc.months(\"long\", true), 1);\n        case \"L\":\n          return intUnit(oneOrTwo);\n        case \"LL\":\n          return intUnit(two);\n        case \"LLL\":\n          return oneOf(loc.months(\"short\", false), 1);\n        case \"LLLL\":\n          return oneOf(loc.months(\"long\", false), 1);\n        // dates\n        case \"d\":\n          return intUnit(oneOrTwo);\n        case \"dd\":\n          return intUnit(two);\n        // ordinals\n        case \"o\":\n          return intUnit(oneToThree);\n        case \"ooo\":\n          return intUnit(three);\n        // time\n        case \"HH\":\n          return intUnit(two);\n        case \"H\":\n          return intUnit(oneOrTwo);\n        case \"hh\":\n          return intUnit(two);\n        case \"h\":\n          return intUnit(oneOrTwo);\n        case \"mm\":\n          return intUnit(two);\n        case \"m\":\n          return intUnit(oneOrTwo);\n        case \"q\":\n          return intUnit(oneOrTwo);\n        case \"qq\":\n          return intUnit(two);\n        case \"s\":\n          return intUnit(oneOrTwo);\n        case \"ss\":\n          return intUnit(two);\n        case \"S\":\n          return intUnit(oneToThree);\n        case \"SSS\":\n          return intUnit(three);\n        case \"u\":\n          return simple(oneToNine);\n        case \"uu\":\n          return simple(oneOrTwo);\n        case \"uuu\":\n          return intUnit(one);\n        // meridiem\n        case \"a\":\n          return oneOf(loc.meridiems(), 0);\n        // weekYear (k)\n        case \"kkkk\":\n          return intUnit(four);\n        case \"kk\":\n          return intUnit(twoToFour, untruncateYear);\n        // weekNumber (W)\n        case \"W\":\n          return intUnit(oneOrTwo);\n        case \"WW\":\n          return intUnit(two);\n        // weekdays\n        case \"E\":\n        case \"c\":\n          return intUnit(one);\n        case \"EEE\":\n          return oneOf(loc.weekdays(\"short\", false), 1);\n        case \"EEEE\":\n          return oneOf(loc.weekdays(\"long\", false), 1);\n        case \"ccc\":\n          return oneOf(loc.weekdays(\"short\", true), 1);\n        case \"cccc\":\n          return oneOf(loc.weekdays(\"long\", true), 1);\n        // offset/zone\n        case \"Z\":\n        case \"ZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n        case \"ZZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n        // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n        // because we don't have any way to figure out what they are\n        case \"z\":\n          return simple(/[a-z_+-/]{1,256}?/i);\n        // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n        // in this case we accept any non-newline white-space\n        case \" \":\n          return simple(/[^\\S\\n\\r]/);\n        default:\n          return literal(t);\n      }\n    };\n\n  const unit = unitate(token) || {\n    invalidReason: MISSING_FTP,\n  };\n\n  unit.token = token;\n\n  return unit;\n}\n\nconst partTypeStyleToTokenVal = {\n  year: {\n    \"2-digit\": \"yy\",\n    numeric: \"yyyyy\",\n  },\n  month: {\n    numeric: \"M\",\n    \"2-digit\": \"MM\",\n    short: \"MMM\",\n    long: \"MMMM\",\n  },\n  day: {\n    numeric: \"d\",\n    \"2-digit\": \"dd\",\n  },\n  weekday: {\n    short: \"EEE\",\n    long: \"EEEE\",\n  },\n  dayperiod: \"a\",\n  dayPeriod: \"a\",\n  hour12: {\n    numeric: \"h\",\n    \"2-digit\": \"hh\",\n  },\n  hour24: {\n    numeric: \"H\",\n    \"2-digit\": \"HH\",\n  },\n  minute: {\n    numeric: \"m\",\n    \"2-digit\": \"mm\",\n  },\n  second: {\n    numeric: \"s\",\n    \"2-digit\": \"ss\",\n  },\n  timeZoneName: {\n    long: \"ZZZZZ\",\n    short: \"ZZZ\",\n  },\n};\n\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n  const { type, value } = part;\n\n  if (type === \"literal\") {\n    const isSpace = /^\\s+$/.test(value);\n    return {\n      literal: !isSpace,\n      val: isSpace ? \" \" : value,\n    };\n  }\n\n  const style = formatOpts[type];\n\n  // The user might have explicitly specified hour12 or hourCycle\n  // if so, respect their decision\n  // if not, refer back to the resolvedOpts, which are based on the locale\n  let actualType = type;\n  if (type === \"hour\") {\n    if (formatOpts.hour12 != null) {\n      actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n    } else if (formatOpts.hourCycle != null) {\n      if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n        actualType = \"hour12\";\n      } else {\n        actualType = \"hour24\";\n      }\n    } else {\n      // tokens only differentiate between 24 hours or not,\n      // so we do not need to check hourCycle here, which is less supported anyways\n      actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n    }\n  }\n  let val = partTypeStyleToTokenVal[actualType];\n  if (typeof val === \"object\") {\n    val = val[style];\n  }\n\n  if (val) {\n    return {\n      literal: false,\n      val,\n    };\n  }\n\n  return undefined;\n}\n\nfunction buildRegex(units) {\n  const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n  return [`^${re}$`, units];\n}\n\nfunction match(input, regex, handlers) {\n  const matches = input.match(regex);\n\n  if (matches) {\n    const all = {};\n    let matchIndex = 1;\n    for (const i in handlers) {\n      if (hasOwnProperty(handlers, i)) {\n        const h = handlers[i],\n          groups = h.groups ? h.groups + 1 : 1;\n        if (!h.literal && h.token) {\n          all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n        }\n        matchIndex += groups;\n      }\n    }\n    return [matches, all];\n  } else {\n    return [matches, {}];\n  }\n}\n\nfunction dateTimeFromMatches(matches) {\n  const toField = (token) => {\n    switch (token) {\n      case \"S\":\n        return \"millisecond\";\n      case \"s\":\n        return \"second\";\n      case \"m\":\n        return \"minute\";\n      case \"h\":\n      case \"H\":\n        return \"hour\";\n      case \"d\":\n        return \"day\";\n      case \"o\":\n        return \"ordinal\";\n      case \"L\":\n      case \"M\":\n        return \"month\";\n      case \"y\":\n        return \"year\";\n      case \"E\":\n      case \"c\":\n        return \"weekday\";\n      case \"W\":\n        return \"weekNumber\";\n      case \"k\":\n        return \"weekYear\";\n      case \"q\":\n        return \"quarter\";\n      default:\n        return null;\n    }\n  };\n\n  let zone = null;\n  let specificOffset;\n  if (!isUndefined(matches.z)) {\n    zone = IANAZone.create(matches.z);\n  }\n\n  if (!isUndefined(matches.Z)) {\n    if (!zone) {\n      zone = new FixedOffsetZone(matches.Z);\n    }\n    specificOffset = matches.Z;\n  }\n\n  if (!isUndefined(matches.q)) {\n    matches.M = (matches.q - 1) * 3 + 1;\n  }\n\n  if (!isUndefined(matches.h)) {\n    if (matches.h < 12 && matches.a === 1) {\n      matches.h += 12;\n    } else if (matches.h === 12 && matches.a === 0) {\n      matches.h = 0;\n    }\n  }\n\n  if (matches.G === 0 && matches.y) {\n    matches.y = -matches.y;\n  }\n\n  if (!isUndefined(matches.u)) {\n    matches.S = parseMillis(matches.u);\n  }\n\n  const vals = Object.keys(matches).reduce((r, k) => {\n    const f = toField(k);\n    if (f) {\n      r[f] = matches[k];\n    }\n\n    return r;\n  }, {});\n\n  return [vals, zone, specificOffset];\n}\n\nlet dummyDateTimeCache = null;\n\nfunction getDummyDateTime() {\n  if (!dummyDateTimeCache) {\n    dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n  }\n\n  return dummyDateTimeCache;\n}\n\nfunction maybeExpandMacroToken(token, locale) {\n  if (token.literal) {\n    return token;\n  }\n\n  const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n  const tokens = formatOptsToTokens(formatOpts, locale);\n\n  if (tokens == null || tokens.includes(undefined)) {\n    return token;\n  }\n\n  return tokens;\n}\n\nexport function expandMacroTokens(tokens, locale) {\n  return Array.prototype.concat(...tokens.map((t) => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nexport function explainFromTokens(locale, input, format) {\n  const tokens = expandMacroTokens(Formatter.parseFormat(format), locale),\n    units = tokens.map((t) => unitForToken(t, locale)),\n    disqualifyingUnit = units.find((t) => t.invalidReason);\n\n  if (disqualifyingUnit) {\n    return { input, tokens, invalidReason: disqualifyingUnit.invalidReason };\n  } else {\n    const [regexString, handlers] = buildRegex(units),\n      regex = RegExp(regexString, \"i\"),\n      [rawMatches, matches] = match(input, regex, handlers),\n      [result, zone, specificOffset] = matches\n        ? dateTimeFromMatches(matches)\n        : [null, null, undefined];\n    if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n      throw new ConflictingSpecificationError(\n        \"Can't include meridiem when specifying 24-hour format\"\n      );\n    }\n    return { input, tokens, regex, rawMatches, matches, result, zone, specificOffset };\n  }\n}\n\nexport function parseFromTokens(locale, input, format) {\n  const { result, zone, specificOffset, invalidReason } = explainFromTokens(locale, input, format);\n  return [result, zone, specificOffset, invalidReason];\n}\n\nexport function formatOptsToTokens(formatOpts, locale) {\n  if (!formatOpts) {\n    return null;\n  }\n\n  const formatter = Formatter.create(locale, formatOpts);\n  const df = formatter.dtFormatter(getDummyDateTime());\n  const parts = df.formatToParts();\n  const resolvedOpts = df.resolvedOptions();\n  return parts.map((p) => tokenForPart(p, formatOpts, resolvedOpts));\n}\n","/*\n  This is just a junk drawer, containing anything used across multiple classes.\n  Because Luxon is small(ish), this should stay small and we won't worry about splitting\n  it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\nimport { InvalidArgumentError } from \"../errors.js\";\nimport Settings from \"../settings.js\";\n\n/**\n * @private\n */\n\n// TYPES\n\nexport function isUndefined(o) {\n  return typeof o === \"undefined\";\n}\n\nexport function isNumber(o) {\n  return typeof o === \"number\";\n}\n\nexport function isInteger(o) {\n  return typeof o === \"number\" && o % 1 === 0;\n}\n\nexport function isString(o) {\n  return typeof o === \"string\";\n}\n\nexport function isDate(o) {\n  return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nexport function hasRelative() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n  } catch (e) {\n    return false;\n  }\n}\n\n// OBJECTS AND ARRAYS\n\nexport function maybeArray(thing) {\n  return Array.isArray(thing) ? thing : [thing];\n}\n\nexport function bestBy(arr, by, compare) {\n  if (arr.length === 0) {\n    return undefined;\n  }\n  return arr.reduce((best, next) => {\n    const pair = [by(next), next];\n    if (!best) {\n      return pair;\n    } else if (compare(best[0], pair[0]) === best[0]) {\n      return best;\n    } else {\n      return pair;\n    }\n  }, null)[1];\n}\n\nexport function pick(obj, keys) {\n  return keys.reduce((a, k) => {\n    a[k] = obj[k];\n    return a;\n  }, {});\n}\n\nexport function hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n// NUMBERS AND STRINGS\n\nexport function integerBetween(thing, bottom, top) {\n  return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nexport function floorMod(x, n) {\n  return x - n * Math.floor(x / n);\n}\n\nexport function padStart(input, n = 2) {\n  const isNeg = input < 0;\n  let padded;\n  if (isNeg) {\n    padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n  } else {\n    padded = (\"\" + input).padStart(n, \"0\");\n  }\n  return padded;\n}\n\nexport function parseInteger(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseInt(string, 10);\n  }\n}\n\nexport function parseFloating(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseFloat(string);\n  }\n}\n\nexport function parseMillis(fraction) {\n  // Return undefined (instead of 0) in these cases, where fraction is not set\n  if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n    return undefined;\n  } else {\n    const f = parseFloat(\"0.\" + fraction) * 1000;\n    return Math.floor(f);\n  }\n}\n\nexport function roundTo(number, digits, towardZero = false) {\n  const factor = 10 ** digits,\n    rounder = towardZero ? Math.trunc : Math.round;\n  return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nexport function isLeapYear(year) {\n  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function daysInYear(year) {\n  return isLeapYear(year) ? 366 : 365;\n}\n\nexport function daysInMonth(year, month) {\n  const modMonth = floorMod(month - 1, 12) + 1,\n    modYear = year + (month - modMonth) / 12;\n\n  if (modMonth === 2) {\n    return isLeapYear(modYear) ? 29 : 28;\n  } else {\n    return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n  }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nexport function objToLocalTS(obj) {\n  let d = Date.UTC(\n    obj.year,\n    obj.month - 1,\n    obj.day,\n    obj.hour,\n    obj.minute,\n    obj.second,\n    obj.millisecond\n  );\n\n  // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n  if (obj.year < 100 && obj.year >= 0) {\n    d = new Date(d);\n    // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n    // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n    // the calculations done by Date.UTC are using year 2000 - which is incorrect\n    d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n  }\n  return +d;\n}\n\nexport function weeksInWeekYear(weekYear) {\n  const p1 =\n      (weekYear +\n        Math.floor(weekYear / 4) -\n        Math.floor(weekYear / 100) +\n        Math.floor(weekYear / 400)) %\n      7,\n    last = weekYear - 1,\n    p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7;\n  return p1 === 4 || p2 === 3 ? 53 : 52;\n}\n\nexport function untruncateYear(year) {\n  if (year > 99) {\n    return year;\n  } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nexport function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n  const date = new Date(ts),\n    intlOpts = {\n      hourCycle: \"h23\",\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n    };\n\n  if (timeZone) {\n    intlOpts.timeZone = timeZone;\n  }\n\n  const modified = { timeZoneName: offsetFormat, ...intlOpts };\n\n  const parsed = new Intl.DateTimeFormat(locale, modified)\n    .formatToParts(date)\n    .find((m) => m.type.toLowerCase() === \"timezonename\");\n  return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nexport function signedOffset(offHourStr, offMinuteStr) {\n  let offHour = parseInt(offHourStr, 10);\n\n  // don't || this because we want to preserve -0\n  if (Number.isNaN(offHour)) {\n    offHour = 0;\n  }\n\n  const offMin = parseInt(offMinuteStr, 10) || 0,\n    offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n  return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nexport function asNumber(value) {\n  const numericValue = Number(value);\n  if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue))\n    throw new InvalidArgumentError(`Invalid unit value ${value}`);\n  return numericValue;\n}\n\nexport function normalizeObject(obj, normalizer) {\n  const normalized = {};\n  for (const u in obj) {\n    if (hasOwnProperty(obj, u)) {\n      const v = obj[u];\n      if (v === undefined || v === null) continue;\n      normalized[normalizer(u)] = asNumber(v);\n    }\n  }\n  return normalized;\n}\n\nexport function formatOffset(offset, format) {\n  const hours = Math.trunc(Math.abs(offset / 60)),\n    minutes = Math.trunc(Math.abs(offset % 60)),\n    sign = offset >= 0 ? \"+\" : \"-\";\n\n  switch (format) {\n    case \"short\":\n      return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n    case \"narrow\":\n      return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n    case \"techie\":\n      return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n    default:\n      throw new RangeError(`Value format ${format} is out of range for property format`);\n  }\n}\n\nexport function timeObject(obj) {\n  return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n","/**\n * @private\n */\n\nimport Zone from \"../zone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport InvalidZone from \"../zones/invalidZone.js\";\n\nimport { isUndefined, isString, isNumber } from \"./util.js\";\nimport SystemZone from \"../zones/systemZone.js\";\n\nexport function normalizeZone(input, defaultZone) {\n  let offset;\n  if (isUndefined(input) || input === null) {\n    return defaultZone;\n  } else if (input instanceof Zone) {\n    return input;\n  } else if (isString(input)) {\n    const lowered = input.toLowerCase();\n    if (lowered === \"default\") return defaultZone;\n    else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;\n    else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;\n    else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n  } else if (isNumber(input)) {\n    return FixedOffsetZone.instance(input);\n  } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n    // This is dumb, but the instanceof check above doesn't seem to really work\n    // so we're duck checking it\n    return input;\n  } else {\n    return new InvalidZone(input);\n  }\n}\n","import DateTime from \"./datetime.js\";\nimport Settings from \"./settings.js\";\nimport Locale from \"./impl/locale.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nimport { hasRelative } from \"./impl/util.js\";\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nexport default class Info {\n  /**\n   * Return whether the specified zone contains a DST.\n   * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n   * @return {boolean}\n   */\n  static hasDST(zone = Settings.defaultZone) {\n    const proto = DateTime.now().setZone(zone).set({ month: 12 });\n\n    return !zone.isUniversal && proto.offset !== proto.set({ month: 6 }).offset;\n  }\n\n  /**\n   * Return whether the specified zone is a valid IANA specifier.\n   * @param {string} zone - Zone to check\n   * @return {boolean}\n   */\n  static isValidIANAZone(zone) {\n    return IANAZone.isValidZone(zone);\n  }\n\n  /**\n   * Converts the input into a {@link Zone} instance.\n   *\n   * * If `input` is already a Zone instance, it is returned unchanged.\n   * * If `input` is a string containing a valid time zone name, a Zone instance\n   *   with that name is returned.\n   * * If `input` is a string that doesn't refer to a known time zone, a Zone\n   *   instance with {@link Zone#isValid} == false is returned.\n   * * If `input is a number, a Zone instance with the specified fixed offset\n   *   in minutes is returned.\n   * * If `input` is `null` or `undefined`, the default zone is returned.\n   * @param {string|Zone|number} [input] - the value to be converted\n   * @return {Zone}\n   */\n  static normalizeZone(input) {\n    return normalizeZone(input, Settings.defaultZone);\n  }\n\n  /**\n   * Return an array of standalone month names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @example Info.months()[0] //=> 'January'\n   * @example Info.months('short')[0] //=> 'Jan'\n   * @example Info.months('numeric')[0] //=> '1'\n   * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n   * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n   * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n   * @return {Array}\n   */\n  static months(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n  }\n\n  /**\n   * Return an array of format month names.\n   * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n   * changes the string.\n   * See {@link Info#months}\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @return {Array}\n   */\n  static monthsFormat(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n  }\n\n  /**\n   * Return an array of standalone week names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @example Info.weekdays()[0] //=> 'Monday'\n   * @example Info.weekdays('short')[0] //=> 'Mon'\n   * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n   * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n   * @return {Array}\n   */\n  static weekdays(length = \"long\", { locale = null, numberingSystem = null, locObj = null } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n  }\n\n  /**\n   * Return an array of format week names.\n   * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n   * changes the string.\n   * See {@link Info#weekdays}\n   * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale=null] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @return {Array}\n   */\n  static weekdaysFormat(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n  }\n\n  /**\n   * Return an array of meridiems.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n   * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n   * @return {Array}\n   */\n  static meridiems({ locale = null } = {}) {\n    return Locale.create(locale).meridiems();\n  }\n\n  /**\n   * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n   * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.eras() //=> [ 'BC', 'AD' ]\n   * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n   * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n   * @return {Array}\n   */\n  static eras(length = \"short\", { locale = null } = {}) {\n    return Locale.create(locale, null, \"gregory\").eras(length);\n  }\n\n  /**\n   * Return the set of available features in this environment.\n   * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n   * Keys:\n   * * `relative`: whether this environment supports relative time formatting\n   * @example Info.features() //=> { relative: false }\n   * @return {Object}\n   */\n  static features() {\n    return { relative: hasRelative() };\n  }\n}\n","import DateTime, { friendlyDateTime } from \"./datetime.js\";\nimport Duration from \"./duration.js\";\nimport Settings from \"./settings.js\";\nimport { InvalidArgumentError, InvalidIntervalError } from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport * as Formats from \"./impl/formats.js\";\n\nconst INVALID = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n  if (!start || !start.isValid) {\n    return Interval.invalid(\"missing or invalid start\");\n  } else if (!end || !end.isValid) {\n    return Interval.invalid(\"missing or invalid end\");\n  } else if (end < start) {\n    return Interval.invalid(\n      \"end before start\",\n      `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`\n    );\n  } else {\n    return null;\n  }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nexport default class Interval {\n  /**\n   * @private\n   */\n  constructor(config) {\n    /**\n     * @access private\n     */\n    this.s = config.start;\n    /**\n     * @access private\n     */\n    this.e = config.end;\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.isLuxonInterval = true;\n  }\n\n  /**\n   * Create an invalid Interval.\n   * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Interval}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidIntervalError(invalid);\n    } else {\n      return new Interval({ invalid });\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n   * @param {DateTime|Date|Object} start\n   * @param {DateTime|Date|Object} end\n   * @return {Interval}\n   */\n  static fromDateTimes(start, end) {\n    const builtStart = friendlyDateTime(start),\n      builtEnd = friendlyDateTime(end);\n\n    const validateError = validateStartEnd(builtStart, builtEnd);\n\n    if (validateError == null) {\n      return new Interval({\n        start: builtStart,\n        end: builtEnd,\n      });\n    } else {\n      return validateError;\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and a Duration to extend to.\n   * @param {DateTime|Date|Object} start\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static after(start, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(start);\n    return Interval.fromDateTimes(dt, dt.plus(dur));\n  }\n\n  /**\n   * Create an Interval from an end DateTime and a Duration to extend backwards to.\n   * @param {DateTime|Date|Object} end\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static before(end, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(end);\n    return Interval.fromDateTimes(dt.minus(dur), dt);\n  }\n\n  /**\n   * Create an Interval from an ISO 8601 string.\n   * Accepts `<start>/<end>`, `<start>/<duration>`, and `<duration>/<end>` formats.\n   * @param {string} text - the ISO string to parse\n   * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {Interval}\n   */\n  static fromISO(text, opts) {\n    const [s, e] = (text || \"\").split(\"/\", 2);\n    if (s && e) {\n      let start, startIsValid;\n      try {\n        start = DateTime.fromISO(s, opts);\n        startIsValid = start.isValid;\n      } catch (e) {\n        startIsValid = false;\n      }\n\n      let end, endIsValid;\n      try {\n        end = DateTime.fromISO(e, opts);\n        endIsValid = end.isValid;\n      } catch (e) {\n        endIsValid = false;\n      }\n\n      if (startIsValid && endIsValid) {\n        return Interval.fromDateTimes(start, end);\n      }\n\n      if (startIsValid) {\n        const dur = Duration.fromISO(e, opts);\n        if (dur.isValid) {\n          return Interval.after(start, dur);\n        }\n      } else if (endIsValid) {\n        const dur = Duration.fromISO(s, opts);\n        if (dur.isValid) {\n          return Interval.before(end, dur);\n        }\n      }\n    }\n    return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n  }\n\n  /**\n   * Check if an object is an Interval. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isInterval(o) {\n    return (o && o.isLuxonInterval) || false;\n  }\n\n  /**\n   * Returns the start of the Interval\n   * @type {DateTime}\n   */\n  get start() {\n    return this.isValid ? this.s : null;\n  }\n\n  /**\n   * Returns the end of the Interval\n   * @type {DateTime}\n   */\n  get end() {\n    return this.isValid ? this.e : null;\n  }\n\n  /**\n   * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalidReason === null;\n  }\n\n  /**\n   * Returns an error code if this Interval is invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Returns the length of the Interval in the specified unit.\n   * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n   * @return {number}\n   */\n  length(unit = \"milliseconds\") {\n    return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n  }\n\n  /**\n   * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n   * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n   * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n   * @param {string} [unit='milliseconds'] - the unit of time to count.\n   * @return {number}\n   */\n  count(unit = \"milliseconds\") {\n    if (!this.isValid) return NaN;\n    const start = this.start.startOf(unit),\n      end = this.end.startOf(unit);\n    return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n  }\n\n  /**\n   * Returns whether this Interval's start and end are both in the same unit of time\n   * @param {string} unit - the unit of time to check sameness on\n   * @return {boolean}\n   */\n  hasSame(unit) {\n    return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end DateTimes.\n   * @return {boolean}\n   */\n  isEmpty() {\n    return this.s.valueOf() === this.e.valueOf();\n  }\n\n  /**\n   * Return whether this Interval's start is after the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isAfter(dateTime) {\n    if (!this.isValid) return false;\n    return this.s > dateTime;\n  }\n\n  /**\n   * Return whether this Interval's end is before the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isBefore(dateTime) {\n    if (!this.isValid) return false;\n    return this.e <= dateTime;\n  }\n\n  /**\n   * Return whether this Interval contains the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  contains(dateTime) {\n    if (!this.isValid) return false;\n    return this.s <= dateTime && this.e > dateTime;\n  }\n\n  /**\n   * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n   * @param {Object} values - the values to set\n   * @param {DateTime} values.start - the starting DateTime\n   * @param {DateTime} values.end - the ending DateTime\n   * @return {Interval}\n   */\n  set({ start, end } = {}) {\n    if (!this.isValid) return this;\n    return Interval.fromDateTimes(start || this.s, end || this.e);\n  }\n\n  /**\n   * Split this Interval at each of the specified DateTimes\n   * @param {...DateTime} dateTimes - the unit of time to count.\n   * @return {Array}\n   */\n  splitAt(...dateTimes) {\n    if (!this.isValid) return [];\n    const sorted = dateTimes\n        .map(friendlyDateTime)\n        .filter((d) => this.contains(d))\n        .sort(),\n      results = [];\n    let { s } = this,\n      i = 0;\n\n    while (s < this.e) {\n      const added = sorted[i] || this.e,\n        next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      i += 1;\n    }\n\n    return results;\n  }\n\n  /**\n   * Split this Interval into smaller Intervals, each of the specified length.\n   * Left over time is grouped into a smaller interval\n   * @param {Duration|Object|number} duration - The length of each resulting interval.\n   * @return {Array}\n   */\n  splitBy(duration) {\n    const dur = Duration.fromDurationLike(duration);\n\n    if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n      return [];\n    }\n\n    let { s } = this,\n      idx = 1,\n      next;\n\n    const results = [];\n    while (s < this.e) {\n      const added = this.start.plus(dur.mapUnits((x) => x * idx));\n      next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      idx += 1;\n    }\n\n    return results;\n  }\n\n  /**\n   * Split this Interval into the specified number of smaller intervals.\n   * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n   * @return {Array}\n   */\n  divideEqually(numberOfParts) {\n    if (!this.isValid) return [];\n    return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n  }\n\n  /**\n   * Return whether this Interval overlaps with the specified Interval\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  overlaps(other) {\n    return this.e > other.s && this.s < other.e;\n  }\n\n  /**\n   * Return whether this Interval's end is adjacent to the specified Interval's start.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsStart(other) {\n    if (!this.isValid) return false;\n    return +this.e === +other.s;\n  }\n\n  /**\n   * Return whether this Interval's start is adjacent to the specified Interval's end.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsEnd(other) {\n    if (!this.isValid) return false;\n    return +other.e === +this.s;\n  }\n\n  /**\n   * Return whether this Interval engulfs the start and end of the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  engulfs(other) {\n    if (!this.isValid) return false;\n    return this.s <= other.s && this.e >= other.e;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end as the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n\n    return this.s.equals(other.s) && this.e.equals(other.e);\n  }\n\n  /**\n   * Return an Interval representing the intersection of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n   * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  intersection(other) {\n    if (!this.isValid) return this;\n    const s = this.s > other.s ? this.s : other.s,\n      e = this.e < other.e ? this.e : other.e;\n\n    if (s >= e) {\n      return null;\n    } else {\n      return Interval.fromDateTimes(s, e);\n    }\n  }\n\n  /**\n   * Return an Interval representing the union of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  union(other) {\n    if (!this.isValid) return this;\n    const s = this.s < other.s ? this.s : other.s,\n      e = this.e > other.e ? this.e : other.e;\n    return Interval.fromDateTimes(s, e);\n  }\n\n  /**\n   * Merge an array of Intervals into a equivalent minimal set of Intervals.\n   * Combines overlapping and adjacent Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static merge(intervals) {\n    const [found, final] = intervals\n      .sort((a, b) => a.s - b.s)\n      .reduce(\n        ([sofar, current], item) => {\n          if (!current) {\n            return [sofar, item];\n          } else if (current.overlaps(item) || current.abutsStart(item)) {\n            return [sofar, current.union(item)];\n          } else {\n            return [sofar.concat([current]), item];\n          }\n        },\n        [[], null]\n      );\n    if (final) {\n      found.push(final);\n    }\n    return found;\n  }\n\n  /**\n   * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static xor(intervals) {\n    let start = null,\n      currentCount = 0;\n    const results = [],\n      ends = intervals.map((i) => [\n        { time: i.s, type: \"s\" },\n        { time: i.e, type: \"e\" },\n      ]),\n      flattened = Array.prototype.concat(...ends),\n      arr = flattened.sort((a, b) => a.time - b.time);\n\n    for (const i of arr) {\n      currentCount += i.type === \"s\" ? 1 : -1;\n\n      if (currentCount === 1) {\n        start = i.time;\n      } else {\n        if (start && +start !== +i.time) {\n          results.push(Interval.fromDateTimes(start, i.time));\n        }\n\n        start = null;\n      }\n    }\n\n    return Interval.merge(results);\n  }\n\n  /**\n   * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n   * @param {...Interval} intervals\n   * @return {Array}\n   */\n  difference(...intervals) {\n    return Interval.xor([this].concat(intervals))\n      .map((i) => this.intersection(i))\n      .filter((i) => i && !i.isEmpty());\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for debugging.\n   * @return {string}\n   */\n  toString() {\n    if (!this.isValid) return INVALID;\n    return `[${this.s.toISO()} – ${this.e.toISO()})`;\n  }\n\n  /**\n   * Returns a localized string representing this Interval. Accepts the same options as the\n   * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n   * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n   * is browser-specific, but in general it will return an appropriate representation of the\n   * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n   * specified.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n   * Intl.DateTimeFormat constructor options.\n   * @param {Object} opts - Options to override the configuration of the start DateTime.\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n   * @return {string}\n   */\n  toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this)\n      : INVALID;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Interval.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISO(opts) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of date of this Interval.\n   * The time components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {string}\n   */\n  toISODate() {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISODate()}/${this.e.toISODate()}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of time of this Interval.\n   * The date components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISOTime(opts) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this Interval formatted according to the specified format\n   * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n   * formatting tool.\n   * @param {string} dateFormat - The format string. This string formats the start and end time.\n   * See {@link DateTime#toFormat} for details.\n   * @param {Object} opts - Options.\n   * @param {string} [opts.separator =  ' – '] - A separator to place between the start and end\n   * representations.\n   * @return {string}\n   */\n  toFormat(dateFormat, { separator = \" – \" } = {}) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n  }\n\n  /**\n   * Return a Duration representing the time spanned by this interval.\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n   * @return {Duration}\n   */\n  toDuration(unit, opts) {\n    if (!this.isValid) {\n      return Duration.invalid(this.invalidReason);\n    }\n    return this.e.diff(this.s, unit, opts);\n  }\n\n  /**\n   * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n   * @param {function} mapFn\n   * @return {Interval}\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n   */\n  mapEndpoints(mapFn) {\n    return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n  }\n}\n","import SystemZone from \"./zones/systemZone.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport Locale from \"./impl/locale.js\";\n\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nlet now = () => Date.now(),\n  defaultZone = \"system\",\n  defaultLocale = null,\n  defaultNumberingSystem = null,\n  defaultOutputCalendar = null,\n  twoDigitCutoffYear = 60,\n  throwOnInvalid;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nexport default class Settings {\n  /**\n   * Get the callback for returning the current timestamp.\n   * @type {function}\n   */\n  static get now() {\n    return now;\n  }\n\n  /**\n   * Set the callback for returning the current timestamp.\n   * The function should return a number, which will be interpreted as an Epoch millisecond count\n   * @type {function}\n   * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n   * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n   */\n  static set now(n) {\n    now = n;\n  }\n\n  /**\n   * Set the default time zone to create DateTimes in. Does not affect existing instances.\n   * Use the value \"system\" to reset this value to the system's time zone.\n   * @type {string}\n   */\n  static set defaultZone(zone) {\n    defaultZone = zone;\n  }\n\n  /**\n   * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n   * The default value is the system's time zone (the one set on the machine that runs this code).\n   * @type {Zone}\n   */\n  static get defaultZone() {\n    return normalizeZone(defaultZone, SystemZone.instance);\n  }\n\n  /**\n   * Get the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultLocale() {\n    return defaultLocale;\n  }\n\n  /**\n   * Set the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultLocale(locale) {\n    defaultLocale = locale;\n  }\n\n  /**\n   * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultNumberingSystem() {\n    return defaultNumberingSystem;\n  }\n\n  /**\n   * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultNumberingSystem(numberingSystem) {\n    defaultNumberingSystem = numberingSystem;\n  }\n\n  /**\n   * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultOutputCalendar() {\n    return defaultOutputCalendar;\n  }\n\n  /**\n   * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultOutputCalendar(outputCalendar) {\n    defaultOutputCalendar = outputCalendar;\n  }\n\n  /**\n   * Get the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.\n   * @type {number}\n   */\n  static get twoDigitCutoffYear() {\n    return twoDigitCutoffYear;\n  }\n\n  /**\n   * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.\n   * @type {number}\n   * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century\n   * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050\n   * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n   * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n   */\n  static set twoDigitCutoffYear(cutoffYear) {\n    twoDigitCutoffYear = cutoffYear % 100;\n  }\n\n  /**\n   * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static get throwOnInvalid() {\n    return throwOnInvalid;\n  }\n\n  /**\n   * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static set throwOnInvalid(t) {\n    throwOnInvalid = t;\n  }\n\n  /**\n   * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCaches() {\n    Locale.resetCache();\n    IANAZone.resetCache();\n  }\n}\n","import { ZoneIsAbstractError } from \"./errors.js\";\n\n/**\n * @interface\n */\nexport default class Zone {\n  /**\n   * The type of zone\n   * @abstract\n   * @type {string}\n   */\n  get type() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * The name of this zone.\n   * @abstract\n   * @type {string}\n   */\n  get name() {\n    throw new ZoneIsAbstractError();\n  }\n\n  get ianaName() {\n    return this.name;\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year.\n   * @abstract\n   * @type {boolean}\n   */\n  get isUniversal() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's common name (such as EST) at the specified timestamp\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the name\n   * @param {Object} opts - Options to affect the format\n   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n   * @param {string} opts.locale - What locale to return the offset name in.\n   * @return {string}\n   */\n  offsetName(ts, opts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to compute the offset\n   * @return {number}\n   */\n  offset(ts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone\n   * @abstract\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is valid.\n   * @abstract\n   * @type {boolean}\n   */\n  get isValid() {\n    throw new ZoneIsAbstractError();\n  }\n}\n","import { formatOffset, parseZoneInfo, isUndefined, objToLocalTS } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n  if (!dtfCache[zone]) {\n    dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n      hour12: false,\n      timeZone: zone,\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\",\n      era: \"short\",\n    });\n  }\n  return dtfCache[zone];\n}\n\nconst typeToPos = {\n  year: 0,\n  month: 1,\n  day: 2,\n  era: 3,\n  hour: 4,\n  minute: 5,\n  second: 6,\n};\n\nfunction hackyOffset(dtf, date) {\n  const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n    parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n    [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;\n  return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n  const formatted = dtf.formatToParts(date);\n  const filled = [];\n  for (let i = 0; i < formatted.length; i++) {\n    const { type, value } = formatted[i];\n    const pos = typeToPos[type];\n\n    if (type === \"era\") {\n      filled[pos] = value;\n    } else if (!isUndefined(pos)) {\n      filled[pos] = parseInt(value, 10);\n    }\n  }\n  return filled;\n}\n\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nexport default class IANAZone extends Zone {\n  /**\n   * @param {string} name - Zone name\n   * @return {IANAZone}\n   */\n  static create(name) {\n    if (!ianaZoneCache[name]) {\n      ianaZoneCache[name] = new IANAZone(name);\n    }\n    return ianaZoneCache[name];\n  }\n\n  /**\n   * Reset local caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCache() {\n    ianaZoneCache = {};\n    dtfCache = {};\n  }\n\n  /**\n   * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n   * @param {string} s - The string to check validity on\n   * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n   * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n   * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.\n   * @return {boolean}\n   */\n  static isValidSpecifier(s) {\n    return this.isValidZone(s);\n  }\n\n  /**\n   * Returns whether the provided string identifies a real zone\n   * @param {string} zone - The string to check\n   * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n   * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n   * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n   * @return {boolean}\n   */\n  static isValidZone(zone) {\n    if (!zone) {\n      return false;\n    }\n    try {\n      new Intl.DateTimeFormat(\"en-US\", { timeZone: zone }).format();\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n\n  constructor(name) {\n    super();\n    /** @private **/\n    this.zoneName = name;\n    /** @private **/\n    this.valid = IANAZone.isValidZone(name);\n  }\n\n  /** @override **/\n  get type() {\n    return \"iana\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.zoneName;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName(ts, { format, locale }) {\n    return parseZoneInfo(ts, format, locale, this.name);\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/\n  offset(ts) {\n    const date = new Date(ts);\n\n    if (isNaN(date)) return NaN;\n\n    const dtf = makeDTF(this.name);\n    let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts\n      ? partsOffset(dtf, date)\n      : hackyOffset(dtf, date);\n\n    if (adOrBc === \"BC\") {\n      year = -Math.abs(year) + 1;\n    }\n\n    // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n    const adjustedHour = hour === 24 ? 0 : hour;\n\n    const asUTC = objToLocalTS({\n      year,\n      month,\n      day,\n      hour: adjustedHour,\n      minute,\n      second,\n      millisecond: 0,\n    });\n\n    let asTS = +date;\n    const over = asTS % 1000;\n    asTS -= over >= 0 ? over : 1000 + over;\n    return (asUTC - asTS) / (60 * 1000);\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"iana\" && otherZone.name === this.name;\n  }\n\n  /** @override **/\n  get isValid() {\n    return this.valid;\n  }\n}\n","import { formatOffset, signedOffset } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nexport default class FixedOffsetZone extends Zone {\n  /**\n   * Get a singleton instance of UTC\n   * @return {FixedOffsetZone}\n   */\n  static get utcInstance() {\n    if (singleton === null) {\n      singleton = new FixedOffsetZone(0);\n    }\n    return singleton;\n  }\n\n  /**\n   * Get an instance with a specified offset\n   * @param {number} offset - The offset in minutes\n   * @return {FixedOffsetZone}\n   */\n  static instance(offset) {\n    return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n  }\n\n  /**\n   * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n   * @param {string} s - The offset string to parse\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n   * @return {FixedOffsetZone}\n   */\n  static parseSpecifier(s) {\n    if (s) {\n      const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n      if (r) {\n        return new FixedOffsetZone(signedOffset(r[1], r[2]));\n      }\n    }\n    return null;\n  }\n\n  constructor(offset) {\n    super();\n    /** @private **/\n    this.fixed = offset;\n  }\n\n  /** @override **/\n  get type() {\n    return \"fixed\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n  }\n\n  get ianaName() {\n    if (this.fixed === 0) {\n      return \"Etc/UTC\";\n    } else {\n      return `Etc/GMT${formatOffset(-this.fixed, \"narrow\")}`;\n    }\n  }\n\n  /** @override **/\n  offsetName() {\n    return this.name;\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.fixed, format);\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return true;\n  }\n\n  /** @override **/\n  offset() {\n    return this.fixed;\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n  }\n\n  /** @override **/\n  get isValid() {\n    return true;\n  }\n}\n","import Zone from \"../zone.js\";\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nexport default class InvalidZone extends Zone {\n  constructor(zoneName) {\n    super();\n    /**  @private */\n    this.zoneName = zoneName;\n  }\n\n  /** @override **/\n  get type() {\n    return \"invalid\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.zoneName;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName() {\n    return null;\n  }\n\n  /** @override **/\n  formatOffset() {\n    return \"\";\n  }\n\n  /** @override **/\n  offset() {\n    return NaN;\n  }\n\n  /** @override **/\n  equals() {\n    return false;\n  }\n\n  /** @override **/\n  get isValid() {\n    return false;\n  }\n}\n","import { formatOffset, parseZoneInfo } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nexport default class SystemZone extends Zone {\n  /**\n   * Get a singleton instance of the local zone\n   * @return {SystemZone}\n   */\n  static get instance() {\n    if (singleton === null) {\n      singleton = new SystemZone();\n    }\n    return singleton;\n  }\n\n  /** @override **/\n  get type() {\n    return \"system\";\n  }\n\n  /** @override **/\n  get name() {\n    return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName(ts, { format, locale }) {\n    return parseZoneInfo(ts, format, locale);\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/\n  offset(ts) {\n    return -new Date(ts).getTimezoneOffset();\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"system\";\n  }\n\n  /** @override **/\n  get isValid() {\n    return true;\n  }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var inProgress = {};\nvar dataWebpackPrefix = \"multidialogo-frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","if (typeof __webpack_modules__ !== 'undefined') {\n__webpack_require__.m = __webpack_require__.m || __webpack_modules__;\n__webpack_require__.c = __webpack_require__.c || __webpack_module_cache__;\n}","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + {\"7\":\"afb15675cae6e97f50aa\",\"10\":\"5ee7494b1a11572633eb\",\"287\":\"ec491d129e23e251cdb5\",\"440\":\"31cc6de650de68d93341\",\"472\":\"f99b762c7ae9247bc557\",\"778\":\"6d0b2930967363303c86\",\"843\":\"12ba71a5b83e5d74e330\",\"990\":\"21e12fcbbcfc19e60a45\"}[chunkId] + \".chunk.js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmultidialogo_frontend\"] = self[\"webpackChunkmultidialogo_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// With default aurelia-loader-webpack config, this module is added as an extra entry\r\n// before any other code executes so that PAL.Loader is properly configured.\r\n// There are several tricky points worth noticing.\r\n// \r\n// We don't add aurelia-loader-webpack itself as an entry point (used to until 2.0 RC2)\r\n// because it (transitively) brings too much bagage with itself, most notably polyfills.\r\n// This made it super-hard to add other polyfills before Aurelia's and led to various bugs.\r\n//\r\n// We don't add custom code in aurelia-pal or aurelia-loader or aurelia-bootstrapper to detect\r\n// the Webpack environment and configure the loader because they might live in a DLL.\r\n// If they do, they would bring aurelia-loader-webpack along in the DLL and this is a special \r\n// library that *has to be in the main chunk.*\r\n//\r\n// The over-complicated design I've settled upon in the end is to use this special module\r\n// as an entry point that configures aurelia-loader-webpack. It has minimal static imports:\r\n// just aurelia-pal, which itself has no other dependencies and doesn't run much code.\r\n// It hacks the loader field into a getter so that it can synchronously load aurelia-loader-webpack\r\n// just in time when it is demanded by aurelia-bootstrapper.\r\n// This enables users to load polyfills before aurelia-loader-webpack is actually loaded.\r\n\r\nimport { PLATFORM } from \"aurelia-pal\";\r\n\r\nvar Loader;\r\n\r\nObject.defineProperty(PLATFORM, \"Loader\", {\r\n  get: function() {\r\n    return Loader || (Loader = require(\"aurelia-loader-webpack\").WebpackLoader);\r\n  },\r\n  set: function(value) {\r\n    Loader = value;\r\n  }\r\n});\r\n","import 'aurelia-polyfills';\nimport { PLATFORM, isInitialized } from 'aurelia-pal';\n\nvar bootstrapPromises = [];\r\nvar startResolve;\r\nvar startPromise = new Promise(function (resolve) { return startResolve = resolve; });\r\nvar host = PLATFORM.global;\r\nvar isNodeLike = typeof process !== 'undefined' && !process.browser;\r\nfunction ready() {\r\n    if (!host.document || host.document.readyState === 'complete') {\r\n        return Promise.resolve();\r\n    }\r\n    return new Promise(function (resolve) {\r\n        host.document.addEventListener('DOMContentLoaded', completed);\r\n        host.addEventListener('load', completed);\r\n        function completed() {\r\n            host.document.removeEventListener('DOMContentLoaded', completed);\r\n            host.removeEventListener('load', completed);\r\n            resolve();\r\n        }\r\n    });\r\n}\r\nfunction createLoader() {\r\n    if (PLATFORM.Loader) {\r\n        return Promise.resolve(new PLATFORM.Loader());\r\n    }\r\n    if (typeof AURELIA_WEBPACK_2_0 === 'undefined') {\r\n        if (typeof __webpack_require__ !== 'undefined') {\r\n            var m = __webpack_require__(require.resolve('aurelia-loader-webpack'));\r\n            return Promise.resolve(new m.WebpackLoader());\r\n        }\r\n        if (host.System && typeof host.System.config === 'function') {\r\n            return host.System.normalize('aurelia-bootstrapper').then(function (bsn) {\r\n                return host.System.normalize('aurelia-loader-default', bsn);\r\n            }).then(function (loaderName) {\r\n                return host.System.import(loaderName).then(function (m) { return new m.DefaultLoader(); });\r\n            });\r\n        }\r\n        if (typeof host.require === 'function' && typeof host.define === 'function' && typeof host.define.amd === 'object') {\r\n            return new Promise(function (resolve, reject) { return host.require(['aurelia-loader-default'], function (m) { return resolve(new m.DefaultLoader()); }, reject); });\r\n        }\r\n        if (isNodeLike && typeof module !== 'undefined' && typeof module.require !== 'undefined') {\r\n            var m = module.require('aurelia-loader-nodejs');\r\n            return Promise.resolve(new m.NodeJsLoader());\r\n        }\r\n    }\r\n    return Promise.reject('No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.');\r\n}\r\nfunction initializePal(loader) {\r\n    if (isInitialized)\r\n        return Promise.resolve();\r\n    var type;\r\n    var isRenderer = isNodeLike && (process.type === 'renderer' || process.versions['node-webkit']);\r\n    if (isNodeLike && !isRenderer) {\r\n        type = 'nodejs';\r\n    }\r\n    else if (typeof window !== 'undefined') {\r\n        type = 'browser';\r\n    }\r\n    else if (typeof self !== 'undefined') {\r\n        type = 'worker';\r\n    }\r\n    else {\r\n        throw new Error('Could not determine platform implementation to load.');\r\n    }\r\n    return loader.loadModule('aurelia-pal-' + type)\r\n        .then(function (palModule) { return type === 'nodejs' && !isInitialized && palModule.globalize() || palModule.initialize(); });\r\n}\r\nfunction preparePlatform(loader) {\r\n    var map = function (moduleId, relativeTo) {\r\n        return loader.normalize(moduleId, relativeTo)\r\n            .then(function (normalized) {\r\n            loader.map(moduleId, normalized);\r\n            return normalized;\r\n        });\r\n    };\r\n    return initializePal(loader)\r\n        .then(function () { return loader.normalize('aurelia-bootstrapper'); })\r\n        .then(function (bootstrapperName) {\r\n        var frameworkPromise = map(PLATFORM.moduleName('aurelia-framework', { exports: ['Aurelia'] }), bootstrapperName);\r\n        return Promise.all([\r\n            frameworkPromise,\r\n            frameworkPromise.then(function (frameworkName) { return map('aurelia-dependency-injection', frameworkName); }),\r\n            map('aurelia-router', bootstrapperName),\r\n            map('aurelia-logging-console', bootstrapperName)\r\n        ]);\r\n    })\r\n        .then(function (_a) {\r\n        var frameworkName = _a[0];\r\n        return loader.loadModule(frameworkName);\r\n    })\r\n        .then(function (fx) { return startResolve(function () { return new fx.Aurelia(loader); }); });\r\n}\r\nfunction config(appHost, configModuleId, aurelia) {\r\n    aurelia.host = appHost;\r\n    aurelia.configModuleId = configModuleId || null;\r\n    if (configModuleId) {\r\n        return aurelia.loader\r\n            .loadModule(configModuleId)\r\n            .then(function (customConfig) {\r\n            if (!customConfig.configure) {\r\n                throw new Error(\"Cannot initialize module '\".concat(configModuleId, \"' without a configure function.\"));\r\n            }\r\n            return customConfig.configure(aurelia);\r\n        });\r\n    }\r\n    aurelia.use\r\n        .standardConfiguration()\r\n        .developmentLogging();\r\n    return aurelia.start().then(function () { return aurelia.setRoot(); });\r\n}\r\nfunction run() {\r\n    return ready()\r\n        .then(createLoader)\r\n        .then(preparePlatform)\r\n        .then(function () {\r\n        var appHosts = host.document.querySelectorAll('[aurelia-app],[data-aurelia-app]');\r\n        for (var i = 0, ii = appHosts.length; i < ii; ++i) {\r\n            var appHost = appHosts[i];\r\n            var mainModuleId = appHost.getAttribute('aurelia-app') || appHost.getAttribute('data-aurelia-app');\r\n            bootstrap(config.bind(null, appHost, mainModuleId));\r\n        }\r\n        var toConsole = console.error.bind(console);\r\n        var bootstraps = bootstrapPromises.map(function (p) { return p.catch(toConsole); });\r\n        bootstrapPromises = null;\r\n        return Promise.all(bootstraps);\r\n    });\r\n}\r\nfunction bootstrap(configure) {\r\n    var p = startPromise.then(function (factory) { return configure(factory()); });\r\n    if (bootstrapPromises)\r\n        bootstrapPromises.push(p);\r\n    return p;\r\n}\r\nvar starting = run();\n\nexport { bootstrap, starting };\n//# sourceMappingURL=aurelia-bootstrapper.js.map\n"],"names":["_global","_interopRequireDefault","obj","__esModule","_babelPolyfill","console","warn","_class","_class2","_class3","_class5","_class7","_class8","_class9","_class10","_class12","_temp","_class13","_class14","_temp2","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Constructor","protoProps","staticProps","prototype","_typeof","Symbol","iterator","constructor","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","TypeError","create","value","setPrototypeOf","__proto__","targetContext","sourceContext","map","camelCase","name","result","charAt","toLowerCase","slice","replace","_","x","toUpperCase","createOverrideContext","bindingContext","parentOverrideContext","getContextFor","scope","ancestor","oc","overrideContext","createScopeForTest","parentBindingContext","slotNames","versionSlotNames","lastSlot","ensureEnoughSlotNames","currentSlot","ii","addObserver","observer","observerSlots","undefined","this","_observerSlots","subscribe","_version","observeProperty","propertyName","observerLocator","getObserver","observeArray","array","getArrayObserver","unobserve","all","unsubscribe","connectable","queue","queued","nextId","minimumImmediate","frameBudget","isFlushRequested","immediate","flush","animationFrameStart","binding","__connectQueueId","connect","splice","enqueueBindingConnect","id","push","setConnectQueueThreshold","enableConnectQueue","disableConnectQueue","Number","MAX_SAFE_INTEGER","getConnectQueueSize","addSubscriber","context","callable","hasSubscriber","_context0","_context1","_context2","_contextsRest","_callablesRest","_callable2","_callable1","_callable0","removeSubscriber","callables","contexts","arrayPool1","arrayPool2","poolUtilization","callSubscribers","newValue","oldValue","context0","callable0","context1","callable1","context2","callable2","contextsRest","callablesRest","poolIndex","hasSubscribers","index","subscriberCollection","ExpressionObserver","_dec","_dec2","expression","lookupFunctions","getValue","evaluate","setValue","assign","_this","arguments","Function","dispose","toNumber","s","newSplice","removed","addedCount","ArraySplice","calcEditDistances","current","currentStart","currentEnd","old","oldStart","oldEnd","rowCount","columnCount","distances","Array","north","west","j","_i","_j","equals","spliceOperationsFromEditDistances","edits","northWest","min","reverse","calcSplices","prefixCount","suffixCount","minLength","Math","sharedPrefix","sharedSuffix","_splice","ops","splices","oldIndex","searchLength","index1","index2","count","calculateSplices","previous","currentValue","previousValue","arraySplice","mergeSplice","start1","end1","start2","end2","inserted","insertionOffset","intersectCount","deleteCount","currentRemoved","prepend","apply","append","offset","projectArraySplices","changeRecords","createInitialSplices","record","type","error","JSON","stringify","forEach","concat","getChangeRecords","object","entries","size","keys","item","next","done","newRecord","ModifyCollectionObserver","_dec3","taskQueue","collection","oldCollection","lengthPropertyName","Map","Set","addChangeRecord","changeRecord","lengthObserver","arrayLength","queueMicroTask","flushChangeRecords","reset","getLengthObserver","CollectionLengthObserver","records","_dec4","arrayProto","pop","shift","sort","unshift","_getArrayObserver","ModifyArrayObserver","for","__au_patched__","Reflect","notEmpty","methodCallResult","__array_observer__","oldArray","_ModifyCollectionObse","_for","Expression","isAssignable","args","Error","toString","FEATURE_NO_UNPARSER","_Unparser","unparse","BindingBehavior","_Expression","_this3","accept","visitor","visitBindingBehavior","bind","behavior","bindingBehaviors","behaviorKey","evalList","unbind","ValueConverter","_Expression2","_this4","allArgs","converter","valueConverters","toView","fromView","visitValueConverter","expressions","signals","connectBindingToSignal","Assign","_Expression3","_this5","vistor","visitAssign","Conditional","_Expression4","condition","yes","no","_this6","visitConditional","AccessThis","_Expression5","_this7","visitAccessThis","AccessScope","_Expression6","_this8","visitAccessScope","AccessMember","_Expression7","_this9","instance","visitAccessMember","AccessKeyed","_Expression8","_this10","getKeyed","isArray","parseInt","setKeyed","visitAccessKeyed","CallScope","_Expression9","_this11","mustEvaluate","func","getFunction","visitCallScope","CallMember","_Expression10","_this12","visitCallMember","CallFunction","_Expression11","_this13","visitCallFunction","Binary","_Expression12","operation","left","right","_this14","autoConvertAdd","a","b","visitBinary","Unary","_Expression13","_this15","visitPrefix","LiteralPrimitive","_Expression14","_this16","visitLiteralPrimitive","LiteralString","_Expression15","_this17","visitLiteralString","LiteralTemplate","_Expression16","cooked","raw","tag","_this18","tagged","contextType","getScopeContext","getObjectContext","results","_i2","String","visitLiteralTemplate","LiteralArray","_Expression17","elements","_this19","visitLiteralArray","LiteralObject","_Expression18","values","_this20","visitLiteralObject","list","mustExist","Unparser","buffer","join","write","text","writeArgs","conditional","access","prefix","charCodeAt","binary","literal","escaped","ExpressionCloner","cloneExpressionArray","clonedArray","visitUnary","unary","cloneExpression","bindingMode","oneTime","oneWay","twoWay","Parser","cache","parse","src","ParserImplementation","parseBindingBehavior","fromCharCode","idx","start","len","tkn","T$EOF","val","ch","get","nextToken","T$ExpressionTerminal","err","parseValueConverter","opt","T$Ampersand","parseVariadicArgs","parseExpression","T$Bar","T$Colon","exprStart","parseConditional","T$Eq","parseBinary","T$Question","expect","minPrecedence","parseLeftHandSide","T$BinaryOp","opToken","T$Precedence","TokenValues","T$TokenMask","primary","T$Plus","T$Minus","T$Bang","T$TypeofKeyword","T$VoidKeyword","op","T$ParentScope","T$Period","T$AccessScopeTerminal","C$Ancestor","C$ShorthandProp","C$This","T$Identifier","C$Scope","T$ThisScope","T$LParen","T$RParen","C$Primary","T$LBracket","_elements","T$RBracket","T$Comma","T$LBrace","T$RBrace","T$IdentifierOrKeyword","T$Literal","T$StringLiteral","T$TemplateTail","T$TemplateContinuation","parseTemplate","T$NumericLiteral","T$NullKeyword","T$UndefinedKeyword","T$TrueKeyword","T$FalseKeyword","T$MemberOrCallExpression","C$Member","C$Keyed","C$Call","C$Tagged","scanTemplateTail","scanIdentifier","CharScanners","AsciiIdParts","has","IdParts","KeywordLookup","scanNumber","isFloat","pow","_start","parseFloat","scanString","quote","marker","_unescaped","hex","test","unescape","last","unescaped","scanTemplate","tail","message","column","token","code","T$ClosingToken","T$Keyword","T$UnaryOp","T$MemberExpression","T$BarBar","T$AmpersandAmpersand","T$Caret","T$EqEq","T$BangEq","T$EqEqEq","T$BangEqEq","T$Lt","T$Gt","T$LtEq","T$GtEq","T$InKeyword","T$InstanceOfKeyword","T$Star","T$Percent","T$Slash","true","null","false","$this","$parent","in","instanceof","typeof","void","codes","decompress","lookup","set","compressed","rangeCount","end","add","returnToken","p","unexpectedCharacter","Uint8Array","ci","mapProto","_getMapObserver","ModifyMapObserver","_ModifyCollectionObse2","__map_observer__","proto","delete","clear","hasValue","emLogger","findOriginalEventTarget","event","composedPath","deepPath","path","stopPropagation","standardStopPropagation","propagationStopped","handleCapturedEvent","orderedCallbacks","capturedCallbacks","callback","parentNode","orderedCallback","handleEvent","CapturedHandlerEntry","eventName","increment","decrement","DelegateHandlerEntry","eventManager","delegatedCallbacks","parent","escapeShadowRoot","ShadowRoot","host","DelegationEntryHandler","entry","targetEvent","EventHandler","removeEventListener","DefaultEventStrategy","delegatedHandlers","capturedHandlers","strategy","disposable","handlerEntry","delegationStrategy","bubbling","previousCallback","capturing","addEventListener","none","EventManager","elementHandlerLookup","eventStrategyLookup","registerElementConfig","tagName","properties","checked","files","scrollTop","scrollLeft","defaultEventStrategy","config","hasOwnProperty","registerEventStrategy","getElementHandler","EventSubscriber","callbackOrListener","delegate","events","element","handler","DirtyChecker","tracked","checkDelay","addProperty","property","scheduleDirtyCheck","removeProperty","indexOf","_this22","setTimeout","check","isDirty","DirtyCheckProperty","_dec5","dirtyChecker","logger","propertyAccessor","PrimitiveObserver","primitive","doNotCache","SetterObserver","_dec6","observing","getterValue","setterValue","convertProperty","propertyIsEnumerable","XLinkAttributeObserver","attributeName","getAttributeNS","setAttributeNS","nodeName","dataAttributeAccessor","getAttribute","removeAttribute","setAttribute","DataAttributeObserver","StyleObserver","styles","version","style","cssText","_setProperty","priority","setProperty","m","rx","pair","exec","ValueAttributeObserver","_dec7","notify","checkedArrayContext","checkedValueContext","CheckedObserver","_dec8","initialSync","arrayObserver","synchronizeElement","valueObserver","__observers__","model","elementValue","isRadio","matcher","findIndex","synchronizeValue","selectArrayContext","SelectValueObserver","_dec9","multiple","synchronizeOptions","options","_loop","option","optionValue","selected","_this23","_option","_ret2","_loop2","_loop3","v","_this24","domObserver","observe","childList","subtree","characterData","disconnect","ClassObserver","nameIndex","names","split","classList","remove","hasDeclaredDependencies","dependencies","declarePropertyDependencies","ctor","getOwnPropertyDescriptor","computedFrom","_len","rest","_key","ComputedExpression","_Expression19","_this25","createComputedObserver","parser","svgElements","svgPresentationElements","svgPresentationAttributes","svgAnalyzer","FEATURE_NO_SVG","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","mask","metadata","mpath","pattern","polygon","polyline","radialGradient","rect","script","stop","svg","switch","symbol","textPath","title","tref","tspan","use","view","vkern","SVGAnalyzer","createElement","html","div","innerHTML","firstChild","firstElementChild","altglyph","altglyphdef","altglyphitem","glyphref","isStandardSvgAttribute","presentationElements","presentationAttributes","_class11","ObserverLocator","adapters","observersLookup","createPropertyObserver","getOrCreateObserversLookup","createObserversLookup","addAdapter","adapter","getAdapterObserver","xlinkResult","getPropertyDescriptor","existingGetterOrSetter","adapterObserver","getMapObserver","getSetObserver","getAccessor","_getSetObserver","inject","ObjectObservationAdapter","BindingExpression","targetProperty","sourceExpression","mode","attribute","discrete","createBinding","Binding","_dec10","updateTarget","targetObserver","updateSource","source","isBound","method","CallExpression","Call","callSource","$event","prop","_this26","ValueConverterResource","convention","endsWith","substring","initialize","container","register","registry","registerValueConverter","load","valueConverter","nameOrTarget","BindingBehaviorResource","registerBindingBehavior","bindingBehavior","ListenerExpression","preventDefault","Listener","_handler","getAU","au","NameExpression","apiName","NameBinder","locateAPI","controller","viewModel","LookupFunctions","BindingEngine","createBindingExpression","propertyObserver","_this27","collectionObserver","_this28","expressionObserver","registerAdapter","setProto","ModifySetObserver","_ModifyCollectionObse3","__set_observer__","oldSize","from","observable","targetOrConfig","deco","isClassDecorator","innerPropertyName","innerPropertyDescriptor","callbackName","changeHandler","initializer","t","k","d","signalBindings","__decorate","decorators","c","r","decorate","__metadata","metadataKey","metadataValue","autoinject","potentialTarget","_emptyParameters","isInjectable","Strategy","resolver","isStrategy","actual","expected","state","StrategyResolver","singleton","invoke","transient","function","alias","Lazy","Lazy_1","of","All","All_1","getAll","Optional","checkParent","_checkParent","Optional_1","hasResolver","Boolean","Parent","Parent_1","Factory","Factory_1","fn","getResolver","NewInstance","dynamicDependencies","asKey","NewInstance_1","dependency","registerInstance","as","getDecoratorDependencies","lazy","keyValue","optional","checkParentOrTarget","inject$$1","factory","newInstance","asKeyOrTarget","validateKey","freeze","resolverDecorates","decorates","InvocationHandler","invoker","invokeWithDynamicDependencies","classInvoker","Type","deps","instances","dep","construct","staticDependencies","Container","configuration","_configuration","_onHandlerCreated","onHandlerCreated","_handlers","handlers","_resolvers","root","makeGlobal","setHandlerCreatedCallback","registerResolver","registerSingleton","registerTransient","registerHandler","registerAlias","originalKey","aliasKey","resolver$$1","allResolvers","autoRegister","registration","autoRegisterAll","fns","unregister","_get","createChild","child","_createInvocationHandler","e","f","getPrototypeOf","invokeAsFactory","FactoryInvoker","TransientRegistration","keyOrRegisterInChild","registerInChild","SingletonRegistration","existingResolver","_registerInChild","targetContainer","DefaultDialogSettings","lock","startingZIndex","centerHorizontalOnly","rejectOnCancel","ignoreTransitions","restoreFocus","lastActiveElement","focus","RENDERRERS","ux","then","DialogRenderer","native","NativeDialogRenderer","DEFAULT_RESOURCES","UxDialog","UxDialogHeader","UxDialogBody","UxDialogFooter","AttachFocus","DEFAULT_CSS_TEXT","cssM","DialogConfiguration","frameworkConfiguration","applySetter","renderer","resources","fwConfig","settings","_apply","Promise","_a","rendererImpl","$cssText","modules","globalResources","useDefaults","useRenderer","useCSS","useStandardResources","useResource","resourceName","whenClosed","onfulfilled","onrejected","wasCancelled","closeResult","DialogService","compositionEngine","defaultSettings","controllers","hasOpenDialog","hasActiveDialog","validateSettings","createCompositionContext","childContainer","viewResources","viewSlot","ensureViewModel","compositionContext","resolve","_cancelOperation","composeAndShowDialog","dialogController","compose","showDialog","reason","reject","createSettings","keyboard","overlayDismiss","open","resolveCloseResult","rejectCloseResult","removeController","getDialogContainer","asDialogOpenPromise","promise","canActivate","closeAll","cancel","catch","unclosedControllers","unclosed","service","configure","frameworkConfig","applyConfig","Renderer","hideDialog","createDialogCancelError","output","createDialogCloseError","invokeLifecycle","DialogController","releaseResources","cancelOperation","ok","close","closeError","closePromise","dialogResult","canDeactivate","Handler","messageType","handle","invokeCallback","data","invokeHandler","EventAggregator","eventLookup","messageHandlers","publish","subscribers","subscribeOnce","sub","includeEventsIn","ea","aurelia","extPattern","runTasks","tasks","loadResources","resourcesToLoad","appResources","viewEngine","n","_normalize","moduleId","ext","getExt","isOtherResource","removeExt","loader","normalize","relativeTo","normalized","importId","addOriginalExt","loads","importIds","l","importViewResources","match","assertProcessed","plugins","processed","invalidConfigMsg","cfg","FrameworkConfiguration","info","preTasks","postTasks","behaviorsToLoad","configuredPlugins","preTask","bootstrapperName","postTask","implementation","task","feature","plugin","hasIndex","resourcesRelativeTo","resource","toAdd","parent_1","grandParent","name_1","startsWith","meta","elementName","globalName","resourcePath","newName","pluginConfig","_addNormalizedPlugin","defaultBindingLanguage","router","history","defaultResources","eventAggregator","basicConfiguration","standardConfiguration","developmentLogging","level","logLevel","loadModule","ConsoleAppender","loadPlugin","debug","normalizedId","_loadPlugin","Aurelia","hostConfigured","_started","preventActionlessFormSubmit","evt","action","bubbles","cancelable","enhance","applicationHost","_configureHost","engine","attached","_onAureliaComposed","setRoot","instruction","deactivate","initialComposition","configModuleId","hostSlot","transformChildNodesIntoView","extendStatics","__extends","__","LinkHandler","activate","DefaultLinkHandler","_super","getEventInfo","shouldHandleEvent","href","navigate","_hasPushState","anchor","findClosestAnchor","targetIsThisWindow","hasAttribute","altKey","ctrlKey","metaKey","shiftKey","leftButtonClicked","which","isRelative","el","targetWindow","win","attr","BrowserHistory","linkHandler","_isActive","_checkUrlCallback","_checkUrl","location","$history","wantsPushState","pushState","normalizedOptions","rootUrl","rootStripper","wantsHashChange","_wantsHashChange","hashChange","hasPushState","$location","atRoot","pathname","fragment","_getFragment","search","hash","_getHash","routeStripper","replaceState","silent","_loadUrl","getAbsoluteRoot","createOrigin","protocol","hostname","port","_b","_c","trigger","_d","absoluteUrl","url","updateHash","navigateBack","back","setTitle","setState","getState","getHistoryIndex","historyIndex","go","movement","substr","forcePushState","location_1","trailingSlash","fragmentOverride","routeHandler","$config","mi","History","Headers","headers","header","configureXHR","xhr","setRequestHeader","headerStr","headerPairs","headerPair","_key2","RequestMessage","content","baseUrl","buildFullUrl","params","qs","traditional","HttpResponseMessage","requestMessage","responseType","reviver","statusCode","status","response","responseText","isSuccess","statusText","mimeType","getAllResponseHeaders","contentType","trim","mimeTypes","_content","RequestMessageProcessor","xhrType","xhrTransformers","XHRType","isAborted","abort","readyState","process","client","rejectResponse","rejectPromiseWithErrorObject","resp","errorResp","ErrorHttpResponseMessage","onload","ontimeout","onerror","onabort","chain","processRequest","user","password","applyXhrTransformers","processor","send","interceptors","interceptor","request","requestError","responseError","interceptorsPromise","_interceptorsPromise","timeoutTransformer","timeout","callbackParameterNameTransformer","callbackParameterName","credentialsTransformer","withCredentials","progressTransformer","progressCallback","upload","onprogress","downloadProgressTransformer","downloadProgressCallback","responseTypeTransformer","headerTransformer","contentTransformer","skipContentProcessing","FormData","Blob","ArrayBuffer","Document","replacer","JSONPRequestMessage","_RequestMessage","_this2","JSONPXHR","round","random","encodeURIComponent","cleanUp","createJSONPRequestMessageProcessor","HttpRequestMessage","_RequestMessage2","createHttpRequestMessageProcessor","_HttpResponseMessage","responseMessage","RequestBuilder","transformers","requestTransformers","useJsonp","asDelete","_addTransformer","asGet","asHead","asOptions","asPatch","asPost","asPut","asJsonp","withUrl","withContent","withBaseUrl","withParams","withResponseType","withTimeout","withHeader","withLogin","withReviver","withReplacer","withProgressCallback","withDownloadProgressCallback","withCallbackParameterName","withInterceptor","addHelper","trackRequestEnd","pendingRequests","isRequesting","HttpClient","requestProcessorFactories","builder","createRequest","createProcessor","trackRequestStart","_delete","req","head","jsonp","put","patch","post","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","rejected","adopt","__generator","body","y","label","sent","trys","verb","TextTemplateLoader","loadTemplate","loadText","address","template","WebpackLoader","moduleRegistry","loaderPlugins","modulesBeingLoaded","useTemplateLoader","addPlugin","fetch","getOrCreateTemplateRegistryEntry","templateIsLoaded","templateLoader","__webpack_require__","getOwnPropertyNames","some","moduleExports","exports","_import","defaultHMR","addressParts","loaderPlugin","plugin_1","asyncModuleId","module","hot","normalizeSync","loadAllModules","ids","existing","beingLoaded","ensureOriginOnExports","exportedValue","__useDefault","default","applyPluginToUrl","defaultExport","pluginName","TemplateDependency","TemplateRegistryEntry","factoryIsReady","onReady","_template","_factory","addDependency","finalSrc","requires","querySelectorAll","removeChild","Loader","templateRegistry","_console","_console2","_len2","_console3","_len3","_key3","_console4","_len4","_key4","loggers","appenders","globalDefaultLevel","standardLevels","isStandardLevel","appendArgs","logFactory","threshold","_appenders$i","logFactoryCustom","appender","connectLoggers","Logger","_level","getLogger","addAppender","removeAppender","getAppenders","clearAppenders","disconnectLoggers","_level2","addCustomLevel","isNaN","removeCustomLevel","setLevel","getLevel","cached","isDebugEnabled","_extends","isObject","paramTypes","propertyType","targetKey","getOwn","getOwnMetadata","define","defineMetadata","getOrCreateOwn","originStorage","unknownOrigin","moduleMember","Origin","origin","applicator","on","deprecated","optionsOrTarget","maybeKey","maybeDescriptor","decorator","methodSignature","SyntaxError","deprecationWrapper","mixin","instanceKeys","_mixin","possible","resolvedTarget","alwaysValid","noCompose","ensureProtocolOptions","validate","createProtocolValidator","createProtocolAsserter","assert","hidden","_PLATFORM","window","capture","global","performance","requestAnimationFrame","FEATURE_NO_IE","document","createElementNS","protoProp","strTrim","arrIndexOf","emptyArray","DOMEx","DOMException","checkTokenAndGetIndex","ClassList","elem","trimmedClasses","classes","_updateClassName","classListProto","contains","tokens","updated","toggle","force","Element","testElement","createMethod","original","DOMTokenList","_toggle","_filterEntries","_entries","_clearEntries","entryType","nowOffset","Date","now","timing","navigationStart","_marksIndex","mark","webkitMark","startTime","duration","measure","webkitMeasure","startMark","endMark","getEntriesByType","webkitGetEntriesByType","getEntriesByName","webkitGetEntriesByName","clearMarks","webkitClearMarks","clearMeasures","webkitClearMeasures","con","nop","memory","log","CustomEvent","_CustomEvent","detail","createEvent","initCustomEvent","Event","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","_FEATURE","shadowDOM","HTMLElement","attachShadow","scopedCSS","htmlTemplateElement","children","mutationObserver","MutationObserver","WebKitMutationObserver","ensureHTMLTemplateElement","isSVGTemplate","namespaceURI","fixSVGTemplateElement","ownerDocument","attrs","attributes","insertBefore","fixHTMLTemplateElement","createDocumentFragment","appendChild","fixHTMLTemplateElementRoot","childTemplates","shadowPoly","ShadowDOMPolyfill","_DOM","NodeList","SVGElement","boundary","adoptNode","node","createAttribute","createTextNode","createComment","createTemplateElement","createMutationObserver","createCustomEvent","eventType","dispatchEvent","getComputedStyle","getElementById","querySelector","query","nextElementSibling","nextSibling","nodeType","createTemplateFromMarkup","markup","temp","appendNode","newNode","replaceNode","replaceChild","unwrap","removeNode","injectStyles","destination","oldStyle","childNodes","platform","dom","activeElement","XMLHttpRequest","AggregateError","innerError","skipIfAlreadyAggregate","separator","stack","FEATURE","PLATFORM","noop","eachModule","moduleName","_moduleName","_x","DOM","isInitialized","initializePAL","subject","pd","relativeToFile","file","fileParts","nameParts","normalizedBaseParts","trimDots","ary","part","path1","path2","urlPrefix","schemeMatch","scheme","url1","url2","url3","encode","encodeKey","buildParam","arrayKey","buildQueryString","pairs","processScalarParam","existedParam","parseComplexParam","queryParams","currentParams","keysLastIndex","preventPollution","prevValue","parseQueryString","queryString","decodeURIComponent","O","dP","ObjectProto","toStringTag","toLength","iterCall","FEATURE_NO_ES2015","GOPS","setDescriptor","G","internalSymbol","DP","DPies","GOPN","GOPD","PIE","gOPN","gOPD","$defineProperties","hOP","pIE","addInternalIfNeeded","o","uid","onlyNonSymbols","onlySymbols","setAndGetSymbol","sourceConstructor","_Symbol","_Symbol2","description","sourceMap","$defineProperty","defineProp","copyAsNonEnumerable","newDescriptor","$getOwnPropertySymbols","getOwnPropertySymbols","cachedWindowNames","originalObjectGetOwnPropertyNames","descriptors","symbols","prefixLength","createWithSymbols","str","o_O","protoDescriptor","tst","Si","AP","SP","returnThis","fromCodePoint","codePointAt","isFinite","searchString","position","subjectString","floor","lastIndex","it","toInteger","ceil","iter","E","return","arrayLike","C","aLen","mapfn","mapping","iterFn","find","predicate","FEATURE_NO_ES2016","includes","searchElement","currentElement","hasDontEnumBug","dontEnums","dontEnumsLength","needsFix","gOPS","filterOS","where","keyOrSymbol","arg","is","_createCollection","_createCollection2","WeakMap","createCollection","sharedDelete","sharedClear","sharedGet","mapHas","sharedSet","sharedKeys","sharedIterator","_itp","_keys","sharedValues","mapEntries","sharedForEach","setHas","sharedAdd","setEntries","_values","objectOnly","Collection","init","sharedSize","itp","array2","_ref","WeakSet","propertyKey","Target","ownKeys","FEATURE_NO_ESNEXT","emptyMetadata","metadataContainerKey","metadataContainer","State","charSpec","nextStates","_iterator","_isArray","validChars","invalidChars","repeat","escapeRegex","RegExp","StaticSegment","string","caseSensitive","eachChar","regex","generate","DynamicSegment","consumed","StarSegment","EpsilonSegment","RouteRecognizer","rootState","routes","route","currentState","skippableStates","types","statics","dynamics","stars","routeName","isEmpty","segments","normalizedRoute","splitRoute","segment","_match","_name","_addSegment","addSegment","firstState","nextState","jj","routeNames","_i3","getRoute","nameOrRoute","handlersFor","hasRoute","generationUsesHref","routeParams","segmentValue","param","recognize","states","isSlashDropped","normalizedPath","queryStart","decodeURI","pathLen","recognizeChar","solutions","_i4","_l","sortSolutions","findHandler","captures","currentCapture","RecognizeResults","_names","_params","isDynamic","NavigationInstruction","plan","viewPortInstructions","ancestorParams","hasChildRouter","getWildCardName","parentInstruction","allParams","lifecycleArgs","getAllInstructions","instructions","childInstruction","childNavigationInstruction","getAllPreviousInstructions","previousInstruction","addViewPortInstruction","nameOrInitOptions","component","viewPortInstruction","viewPortName","currentViewPort","childRouter","configRoute","wildcardIndex","lastIndexOf","getWildcardPath","wildcardName","getBaseUrl","$encodeURI","encodeURI","nonEmptyRoute","_commitChanges","waitToSwap","currentInstruction","navModel","isActive","refreshNavigation","delaySwaps","_loop_1","viewPort","viewPorts","childNavInstruction","parentCatchHandler","swap","prune","_updateTitle","_buildTitle","titleSeparator","childTitles","navModelTitle","instructionRouter","transformTitle","child_nav_instruction","childTitle","NavModel","relativeHref","updateTitle","_normalizeAbsolutePath","absolute","_createRootedPath","isAbsoluteUrl","_ensureArrayWithSingleRoutePerConfig","routeConfigs","isRootedPath","RouterConfiguration","pipelineSteps","addPipelineStep","addAuthorizeStep","addPreActivateStep","addPreRenderStep","addPostRenderStep","fallbackRoute","_fallbackRoute","mapRoute","useViewPortDefaults","viewPortConfig","viewPortDefaults","routeConfig","createNavModel","addRoute","mapUnknownRoutes","unknownRouteConfig","exportToRouter","handleUnknownRoutes","pipelineStepCount","isRoot","pipelineProvider","addStep","Router","isConfigured","isNavigating","isExplicitNavigation","isExplicitNavigationBack","isNavigatingFirst","isNavigatingNew","isNavigatingRefresh","isNavigatingForward","isNavigatingBack","couldDeactivate","navigation","_fallbackOrder","_recognizer","_childRecognizer","_configuredPromise","_resolveConfiguredPromise","registerViewPort","ensureConfigured","callbackOrConfig","_resolveUrl","navigateToRoute","recognizer","rootedPath","order","nav","validateRouteConfig","navigationStrategy","withChild","hasOwnRoute","catchAllHandler","_createRouteConfig","parentRouter","length_1","$viewPortDefaults","_refreshBaseUrl","generateBaseUrl","_createNavigationInstruction","queryIndex","urlRecognizationResults","instructionInit","compareQueryParams","first","evaluateNavigationStrategy","_parentCatchAllHandler","newParentInstruction","_findParentInstructionFromRouter","evaluator","createCompletionHandler","completed","Pipeline","steps","run","getSteps","nextFn","complete","currentStep","createNextFn","isNavigationCommand","Redirect","shouldContinueProcessing","setRouter","appRouter","useAppRouter","RedirectToRoute","_buildNavigationPlan","forceLifecycleMinimum","buildRedirectPlan","prevInstruction","defaultViewPortConfigs","buildTransitionPlans","viewPortPlans","viewPortConfigs","InternalActivationStrategy","redirect","redirectInstruction","originalInstructionParams","redirectInstructionParams","redirectLocation","newInstructionConfig","hasNewParams","hasDifferentParameterValues","pending","previousViewPortInstructions","prevViewPortInstruction","prevViewPortComponent","newInstructionViewPortConfigs","nextViewPortConfig","viewPortActivationStrategy","determineActivationStrategy","viewPortPlan","prevComponent","prevModuleId","childPlan","currentNavInstruction","newViewPortConfig","prevViewPortViewModel","activationStrategy","prev","prevParams","nextParams","nextWildCardName","prevQueryParams","nextQueryParams","BuildNavigationPlanStep","navigationInstruction","loadNewRoute","routeLoader","loadPromises","determineLoadingPlans","loadingPlan","loadRoute","loadingPlans","planConfig","loadComponent","childRouter_1","getChildRouter","configureRouter","RouteLoader","LoadRouteStep","CommitChangesStep","PipelineStatus","RouterEvent","PipelineSlotName","noChange","processDeactivatable","ignoreResult","infos","findDeactivatable","inspect","shouldContinue","iterate","processPotential","addPreviousDeactivatable","prevViewModel","processActivatable","findActivatable","current_1","viewPortComponent","SafeSubscription","subscriptionFunc","_subscribed","_subscription","obs_1","subscribed","CanDeactivatePreviousStep","CanActivateNextStep","DeactivatePreviousStep","ActivateNextStep","PipelineSlot","slotName","slotAlias","PipelineProvider","createPipelineSlot","createPipeline","useCanDeactivateStep","pipeline","_findStep","found","slotSteps","removeStep","slot","_clearSteps","AppRouter","maxInstructionCount","_queue","loadUrl","_queueInstruction","restorePreviousLocation","$viewPort","_dequeueInstruction","viewModel_1","_findViewModel","resolveConfiguredPromise_1","instructionCount","navtracker","currentNavTracker","currentNavigationTracker","processResult","resolveInstruction","finalResult","navigationCommandResult","innerResult","isInnerInstruction","eventArgs","previousLocation","makeRequestFlushFromTimer","requestFlush","timeoutHandle","handleFlushTimer","intervalHandle","setInterval","clearTimeout","clearInterval","TaskQueue","flushing","longStacks","microTaskQueue","microTaskQueueCapacity","requestFlushMicroTaskQueue","makeRequestFlushFromMutationObserver","flushMicroTaskQueue","requestFlushTaskQueue","flushTaskQueue","_flushQueue","capacity","scan","newLength","onError","filterFlushStack","prepareQueueStack","queueTask","MAX_VALUE","filterQueueStack","captureStack","AttributeMap","allElements","registerUniversal","InterpolationBindingExpression","parts","attrToRemove","ChildInterpolationBinding","InterpolationBinding","validateTarget","parentElement","targetAccessor","interpolate","updateOneTimeBindings","rawValue","LetExpression","toBindingContext","LetBinding","arg0","LetInterpolationBindingExpression","LetInterpolationBinding","interpolationBinding","createInterpolationBinding","SyntaxInterpreter","attributeMap","interpret","existingInstruction","command","handleUnknownCommand","determineDefaultBindingMode","attrName","contentEditable","defaultBindingMode","attrValue","language","inString","inEscape","foundName","_getPrimaryPropertyName","inspectAttribute","createAttributeInstruction","primaryProperty","isDestructuring","local","items","TemplatingBindingLanguage","syntaxInterpreter","emptyStringExpression","toBindingContextAttr","interpolationParts","parseInterpolation","theInfo","createLetExpressions","letElement","nodeValue","inspectTextContent","char","interpolationStart","pos","partIndex","ActivationStrategy","Compose","InvokeLifecycle","currentController","currentViewModel","changes","created","owningView","pendingTask","processChanges","removeAll","modelChanged","requestUpdate","viewChanged","viewModelChanged","composer","needsReInitialization","vm","Replace","createInstruction","swapOrder","tryActivateViewModel","completeCompositionTask","updateRequested","IfCore","viewFactory","showing","isCaching","returnToCache","_show","_hide","_unbindView","If","conditionChanged","_update","show","animating","elseVm","_swap","Else","_registerInIf","ifVm","previousSibling","if","With","valueChanged","updateOverrideContexts","views","startIndex","updateOverrideContext","createFullOverrideContext","even","$index","$first","$last","$middle","$odd","$even","updateOneTimeBinding","ArrayRepeatStrategy","getCollectionObserver","instanceChanged","$repeat","itemsLength","viewsLength","viewsRequireLifecycle","childrenSnapshot","itemNameInBindingContext","matcher_1","itemsPreviouslyInViews_1","viewsToRemove","oldItem","updateViews","removePromise","removeViews","indexOfView","insertView","moveView","_inPlaceProcessItems","removeAllViews","_standardProcessInstanceChanged","addView","viewCount","removeView","middle","updateBindings","instanceMutated","__queuedSplices","__array","maybePromise","_runSplices","queuedSplices_1","runQueuedSplices_1","nextPromise","removeDelta","rmPromises","viewOrPromise","spliceIndexLow","_handleAddedSplices","spliceIndex","addIndex","MapRepeatStrategy","_standardProcessItems","removeIndex","_getViewIndexByKey","NullRepeatStrategy","NumberRepeatStrategy","childrenLength","SetRepeatStrategy","max","_getViewIndexByValue","RepeatStrategyLocator","matchers","strategies","addStrategy","getStrategy","lifecycleOptionalBehaviors","behaviorRequiresLifecycle","handlesAttached","handlesBind","handlesCreated","handlesDetached","handlesUnbind","targetRequiresLifecycle","behaviors","behaviorInstructions","_viewsRequireLifecycle","AbstractRepeater","sourceIndex","targetIndex","skipAnimation","matcherExtractionMarker","Repeat","strategyLocator","ignoreMutation","getItemsSourceExpression","bi","originalAttrName","isOneTime","Repeat_1","_captureAndRemoveMatcherBinding","matcherBinding","itemsChanged","_unsubscribeCollection","callContext","_observeInnerCollection","_observeCollection","_getInnerCollection","unwrapExpression","unwrapped","handleCollectionMutated","handleInnerCollectionMutated","newItems","useInnerMatcher","extractMatcherBindingExpression","getChildrenCount","repeatedElement","getFirstElementChild","repeatedElementTargetId","insert","move","removeMany","removeAt","$view","bindings","boundProperties","targetedElementId","instructionIds","instructionId","matcherBindingExpression","aureliaHideClassName","aureliaHideClass","injectAureliaHideStyleAtBoundary","domBoundary","hasAureliaHideStyle","Show","animator","removeClass","addClass","Hide","HTMLSanitizer","sanitize","input","SanitizeHTMLValueConverter","sanitizer","untrustedMarkup","Replaceable","Focus","isAttached","needsApply","blur","detached","cssUrlMatcher","CSSResource","_scoped","_alreadyGloballyInjected","registerViewEngineHooks","fixupCSSUrls","css","p1","CSSViewEngineHooks","owner","beforeCompile","targetShadowDOM","AttrBindingBehavior","modeBindingBehavior","originalMode","OneTimeBindingBehavior","OneWayBindingBehavior","ToViewBindingBehavior","FromViewBindingBehavior","TwoWayBindingBehavior","throttle","throttleState","elapsed","delay","timeoutId","throttledMethod","ThrottleBindingBehavior","methodToThrottle","originalName","unset","debounceCallSource","debounceState","debouncedMethod","debounceCall","callContextToDebounce","_oldValue","DebounceBindingBehavior","isCallSource","methodToDebounce","debouncer","handleSelfEvent","selfEventCallSource","SelfBindingBehavior","BindingSignaler","signal","SignalBindingBehavior","bindingSignaler","signalName","name_2","notApplicableMessage","UpdateTriggerBindingBehavior","originalHandler","configure$1","addResourcePlugin","viewUrl","registryEntry","bindableNames","useShadowDOMmode","getElementName","_createDynamicElement","DynamicElement","injectAureliaHideStyleAtHead","styleResourcePlugin","_createCSSResource","ViewCSS","EmptyLayoutViewModel","RouterView","viewLocator","compositionTransaction","compositionTransactionNotifier","enlist","$viewPortInstruction","viewModelResource","RouterViewLocator","_notify","layoutInstruction","layoutViewModel","layoutView","layoutModel","viewStrategy","getViewStrategy","makeRelativeTo","compositionTransactionOwnershipToken","tryCapture","viewPortComponentBehaviorInstruction","viewPortController","previousView","work","swapStrategy","ready","owningView_or_layoutView","automate","transactionOwnerShipToken","waitForCompositionComplete","createController","layoutController","slots","newView","notifier","$resource","bindables","findNearest","routerView","EmptyClass","TemplatingRouteLoader","resolveViewModel","createDynamicClass","DynamicClass","createChildContainer","navInstruction","RouteHref","processChange","attributeChanged","ElementEvents","subscriptions","_enqueueHandler","_dequeueHandler","captureOrOptions","defaultListenerOptions","EventHandlerImpl","subscription","disposeAll","once","ResourceLoadContext","hasDependency","ViewCompileInstruction","compileSurrogate","associatedModuleId","normal","BehaviorInstruction","unitTest","anchorIsContainer","containerless","initiatedByBehavior","dynamic","inheritBindingContext","biProto","partReplacements","contentFactory","TargetInstruction","shadowSlot","parentInjectorId","contentExpression","lifting","liftingInstruction","noExpressions","providers","injectorId","elementInstruction","surrogate","tiProto","slotFallbackFactory","capitalMatcher","addHyphenAndLower","_hyphenate","_isAllWhitespace","auInterpolationTarget","textContent","BehaviorPropertyObserver","selfSubscriber","initialValue","notqueued","publishing","_ensurePropertiesDefined","BindableProperty","nameOrConfig","registerWith","_configureDescriptor","defaultValue","defineOn","handlerName","createObserver","changeHandlerName","hasOptions","propertyChanged","_initialize","observerLookup","behaviorHandlesBind","_createDynamicProperty","ViewLocator","origin_1","RelativeViewStrategy","NoViewStrategy","StaticViewStrategy","viewStrategyMetadataKey","createFallbackViewStrategy","ConventionalViewStrategy","convertOriginToViewUrl","BindingLanguage","noNodes","SlotCustomAttribute","auSlotAttribute","PassThroughSlot","destinationName","fallbackFactory","destinationSlot","projections","contentView","renderFallbackContent","nodes","projectionSource","ownerView","ShadowDOM","distributeView","passThroughTo","addNode","removeNodes","needsFallbackRendering","projectFrom","ShadowSlot","isContentProjectionSource","projectFromAnchors","destinationSlots","$node","distributeNodes","auOwnerView","auProjectionSource","auAssignedSlot","_findAnchor","undistributeView","hasSlots","auSlotProjectFrom","auProjectionChildren","ownChildren","undistributeAll","viewIndex","lastView","projectTo","insertNodesBefore","fallbackSlots","getSlotName","defaultSlotKey","destinationOverride","currentNode","CompositionTransactionNotifier","_compositionCount","_tryCompleteTransaction","CompositionTransactionOwnershipToken","_ownershipToken","thenable","_createThenable","_resolveCallback","CompositionTransaction","View","lastChild","fromCache","viewModelScope","animatableElement","_isUserControlled","returnViewToCache","_systemUpdate","_invokeHook","addBinding","refNode","appendNodesTo","Animator","enter","leave","className","runSequence","animations","registerEffect","effectName","unregisterEffect","ViewSlot","contentSelectors","animateView","direction","getAnimatableElement","animation","removeAction","projectToSlots","_projectionAdd","_projectionInsert","_projectionMove","_projectionRemove","_projectionRemoveAt","_projectionRemoveMany","_projectionRemoveAll","$resolver","providerResolverInstance","ProviderResolver","__providerId__","elementContainerGet","BoundViewFactory","boundViewFactory","elementEvents","ViewResources","superGet","_element","applyInstructions","containers","shadowSlots","elementContainer","commentAnchor","slotDestination","makeElementIntoAnchor","contentElement","createElementContainer","styleStringToObject","firstIndexOfColon","styleObjectToString","parentContainer","factoryCreateInstruction","setCacheSize","doNotOverrideIfAlreadySet","getCachedView","ViewFactory","cacheSize","cachedView","instructable","cloneNode","instructables","surrogateInstruction","applySurrogateInstruction","currentAttributeValue","styleObject","nextInjectorId","lastAUTargetID","makeIntoInstructionTarget","auTargetID","getNextAUTargetID","defaultLetHandler","ViewCompiler","bindingLanguage","compile","compileInstruction","_compileNode","targetId","ins","_compileSurrogate","targetLightDOM","_compileElement","getBindingLanguage","wholeText","currentChild","knownAttribute","hasValues","mapAttribute","alteredAttr","_configureProperties","liftsContent","elementProperty","makeShadowSlot","compiler","auShadowSlot","getElement","processAttributes","getNextInjectorId","ViewEngineHooksResource","viewEngineHooks","ResourceModule","moduleInstance","mainResource","onLoaded","loadContext","vs","main","ResourceDescription","resourceTypeMeta","HtmlBehaviorResource","ModuleAnalyzer","getAnalysis","analyze","mainResourceKey","fallbackValue","fallbackKey","conventional","resourceModule","TemplateRegistryViewStrategy","ProxyViewFactory","auSlotBehavior","ViewEngine","viewCompiler","moduleAnalyzer","_pluginMap","extension","loadViewFactory","urlOrRegistryEntry","ensureRegistryEntry","loadTemplateResources","viewModelRequires","viewModelRequireMetadataKey","templateImportCount","importViewModelResource","moduleImport","viewModelModule","moduleIds","_applyLoaderPlugin","imports","analysis","associatedModule","allAnalysis","Controller","skipSelfSubscriber","__parentOverrideContext","lastProviderId","doProcessContent","doProcessAttributes","attributeDefaultBindingMode","shadowDOMOptions","processContent","usesShadowDOM","childBindings","hasDynamicOptions","addChildBinding","nextProviderId","htmlName","_copyInheritedProperties","registerAttribute","aliases","registerElement","transientView","hasChildNodes","toReplace","viewHost","__propertiesDefined__","derived","this_1","validateBehaviorName","conventionMark","hasParent","getValueConverter","getBindingBehavior","afterCompile","beforeCreate","afterCreate","beforeBind","beforeUnbind","resourceType","templateController","currentProps","newProp","existed","_tryAddHook","counter","one","two","three","four","hooks","bindingLanguageFallback","patchInParent","newParent","originalParent","relativeToView","registerValue","impl","absolutePath","dependencyBaseUrl","InlineViewStrategy","$deps","elDeps","dependencies_1","exported","SwapStrategies","before","with","after","skipActivation","CompositionEngine","previousViews","_createControllerAndSwap","isClass","transaction","animationEvent","enterBegin","enterActive","enterDone","enterTimeout","leaveBegin","leaveActive","leaveDone","leaveTimeout","staggerNext","removeClassBegin","removeClassActive","removeClassDone","removeClassTimeout","addClassBegin","addClassActive","addClassDone","addClassTimeout","animateBegin","animateActive","animateDone","animateTimeout","sequenceBegin","sequenceDone","createChildObserverDecorator","selectorOrConfig","actualTarget","selector","ChildObserver","ChildObserverBinder","noMutations","trackMutation","groupedMutations","binder","mutations","onChildChange","binders","bindersLength","added","addedNodes","removedNodes","onRemove","onAdd","mutationRecords","assignedSlot","anchors","__childObserver__","previousElementSibling","childObserver","ElementConfigResource","instanceOrConfig","override","customElement","customAttribute","bindable","nameOrConfigOrTarget","key2","descriptor2","dynamicOptions","defaultShadowDOMOptions","useShadowDOM","targetOrOptions","doNotProcessContent","useViewStrategy","useView","inlineView","noView","targetOrDependencies","templateOrConfig","elementConfig","TemplatingEngine","_container","_moduleAnalyzer","_viewCompiler","_compositionEngine","configureAnimator","compilerInstructions","letExpressions","Validator","__spreadArrays","il","jl","validateTrigger","ValidateResult","rule","valid","Rules","rules","ExpressionVisitor","visitChain","visitArgs","ValidationMessageParser","bindinqLanguage","nullExpression","undefinedExpression","coalesce","MessageExpressionValidator","originalMessage","validationMessages","required","email","maxLength","minItems","maxItems","range","between","ValidationMessageProvider","getMessage","getDisplayName","displayName","words","StandardValidator","messageProvider","validateProperty","validateObject","ruleExists","messageKey","$displayName","$propertyName","$value","$object","$getDisplayName","validateRuleSequence","ruleSequence","sequence","validateAllProperties","allValid","promises","when","promiseOrBoolean","GlobalValidationConfiguration","validatorType","validationTrigger","DEFAULT_VALIDATION_TRIGGER","customValidator","defaultValidationTrigger","getDefaultValidationTrigger","validator","getTargetDOMElement","getObject","objectExpression","getPropertyInfo","originalExpression","isString","PropertyAccessorParser","isNumber","accessorText","getAccessorExpression","accessor","ValidateEvent","errors","controllerValidateResult","ValidationController","propertyParser","renderers","validating","objects","finishValidating","eventCallbacks","addObject","removeObject","processResultDelta","addError","resolvedPropertyName","__manuallyAdded__","removeError","addRenderer","render","kind","unrender","removeRenderer","registerBinding","propertyInfo","unregisterBinding","resetBinding","getInstructionPredicate","predicate_1","object_1","propertyName_1","rules_1","execute","object_2","propertyName_2","rules_2","_e","resultSets","reduce","returnPromise","newResults","oldResults","invokeCallbacks","exception","getAssociatedElements","oldResult","newResultIndex","newResult","elements_1","oldResults_1","newResults_1","validateBinding","registeredBinding","changeTrigger","newTrigger","bindings_1","revalidateErrors","ValidateBindingBehaviorBase","rulesOrController","validationController","getValidateTrigger","change","vbbUpdateSource","validateBlurHandler","manual","standardUpdateTarget","ValidateBindingBehavior","ValidateManuallyBindingBehavior","ValidateOnBlurBindingBehavior","ValidateOnChangeBindingBehavior","ValidateOnChangeOrBlurBindingBehavior","changeOrBlur","ValidationControllerFactory","createForCurrentScope","ValidationErrorsCustomAttribute","boundaryElement","controllerAccessor","errorsInternal","targets","compareDocumentPosition","interestingElements","ValidationRendererCustomAttribute","FluentRuleCustomizer","fluentEnsure","fluentRules","parsers","_addRule","withMessageKey","withMessage","ensure","ensureObject","satisfies","satisfiesRule","expectedValue","FluentRules","customRules","argsToConfig","constraint","FluentEnsure","assertInitialized","mergeRules","existingRules","ValidationRules","messageParser","customRule","taggedRules","untaggedRules","off","Advices","Api","api","startUpdateInterval","updateIntervalDuration","targetRoutes","updateInterval","updateAdvices","newAdvices","advice","activeAdvices","hasBeenSeen","targetAdvices","targetCodes","setAsSeen","localStorage","getItem","setItem","checkAgreements","storagePrefix","currentTimestamp","moment","utc","expiryTimestamp","format","checkResult","dialog","class","removeItem","sanitizeUrl","hasPassed","URL","URLSearchParams","checkPlatformMessages","platformMessages","platformMessage","uuid","toastPlatformMessage","link","linkText","mdToast","hold","elementClass","icon","checkSettingsLinkedSoftware","multifatture","accountingClientSoftwareUuid","dialogMissingBillingProfile","checkUserBillingProfile","checkUserProfileData","profile","missingProperties","requiredProperties","countryCode","dialogMissingProperties","viewModelParams","checkUserProfilePec","hasPecCheckPassed","sessionStorage","pec","dialogMissingPec","CheckFlow","checks","addCheck","matched","getCheck","functionName","isBuildingAdministrator","businessType","isMandatory","MavRequest","isOperator","dateFormat","statuses","shortText","isPrivilegedUser","DateFormatValueConverter","displayText","payments","banking","mavSelfPrintingAuthorizationStatus","approvalDate","approvedAt","mavApprovedAt","activationDate","activatedAt","mavActivatedAt","deletionDate","deletedAt","mavDeletedAt","rejectionDate","refusedAt","mavRefusedAt","setDatasourceMavAuthorizationStatus","datasource","statusesRemoved","TableInterface","inizialized","configurables","endpoint","limit","total","isLoading","btoa","dataLoad","dataLoaded","xhrs","initialized","_query","sorts","loadRequest","parseQuery","parseResponse","dialogError","searchInterface","controls","SearchInterface","active","table","control","setError","schema","startOf","endOf","soft","TableSidebar","isOpen","backdrop","getElementsByTagName","sidebar","composition","TableSelectionInterface","selectedRecords","selectedCount","recordsByUuid","selectEveryVisibleRecordSelected","addLoadSuccessListener","_selection","isDisabled","isSelected","isEveryVisibleRecordSelected","changeSelectedRecords","setSelectedRecords","setSelectedCount","changeSelectEveryVisibleRecordSelected","isEveryVisibleRecordDisabled","every","hard","MdToast","holdedElement","transition","uuidv4","currentStack","closureTag","dataActionClosure","consume","FidelityCardsModel","toast","activation","card","fidelityCardPriceListUuid","priceListUuid","renew","activationUuid","QueueMessages","queueMessageStatusCodes","setQueueMessageStatusCodes","parseQueueMessageStatusCodes","statusGroupValue","statusGroup","statusGroupLabel","getQueueMessageStatusCodeGroupValue","getQueueMessageStatusCodeGroupLabel","getQueueMessageStatusCodeLabel","QueueProperties","group","channels","uuidQueueToUpdate","update","ENVIRONMENT","MdTooltipCustomAttribute","tooltip","bounds","getBoundingClientRect","top","height","width","StaticTooltipCustomAttribute","tooltipId","elementId","navigationEvent","elementIcon","generateIcon","handleClick","structuredClone","handleMouseEnter","handleMouseLeave","tooltipList","setIcon","placement","subtitle","defaultConfig","margin","color","fontSize","weight","svgMarkup","wrapper","marginStyle","parseMargin","display","verticalAlign","showTimeout","role","iconNode","iconHtml","outerHTML","closure","arrowElement","computePosition","middleware","flip","padding","arrow","middlewareData","arrowX","arrowY","staticSide","bottom","DialogIntents","vms","intent","intents","includesCode","DialogIntentsAcceptCashbackContract","goToCashbackContracts","DialogIntentsConfirmTransmissionDelay","KaDialog","KaToast","mdt","sessionUuid","nonWorkingDaysDisclaimerAccepted","DialogIntentsLogin","reload","login","searchParams","newRelativePathQuery","busy","username","finally","DialogIntentsPayOrders","DialogIntentsProvideCertifiedDocuments","uploadSessionUuid","documents","parseDocuments","_documents","codesTranslator","tr","MISSING","hasMissingDocuments","missingDocument","_errors","PENDING","hasPendingDocuments","pendingDocument","edit","DocumentResource","save","uploadSession","uploadedFileUuid","documentType","placeholder","userId","saved","attachment","reader","FileReader","readAsDataURL","filename","fileData","downloadStaticResource","templateFileName","download","click","lang","DialogIntentsProvideIban","iban","legalFormCode","billingProfileOwnerId","billingProfileUuid","DialogIntentsProvideLegalForm","legalForms","legalFormTypes","companyLegalFormCode","datatext","datavalue","datamultiple","datapreload","companyLegalFormCodeDatasource","getUser","optgroup","formsForThisType","form","legacyOwnerId","userDisplayName","parentId","DialogIntentsProvideSdd","sdd","sepaDirectDebitEnabled","KmLayout","_collapsed","_styles","aside","_intervals","_navigation","_toolbar","burgerAside","burgerHeader","innerWidth","interval","infoBox","brand","groups","roles","toolbar","isDevelopmentEnvironment","authorized","userGroups","userGroupsPassed","authGroups","userRoles","userRolesPassed","authRoles","setHiddens","hiddens","activateBadges","badge","toggleNavigation","collapsed","subtool","currentTarget","MdAccordionButton","targetElement","resetHeight","initDelay","overflow","isCollapsed","scrollHeight","MdControl","bindValueToParentData","mdTooltip","enterPressed","submit","MdCounter","inOutAnimationDuration","decimals","onEntryStart","toFixed","initElement","animateCounter","mdCounter","opacity","onfinish","mdCounterBody","mdCounterElement","startTimestamp","timestamp","progress","digits","MdInputArray","eval","MdInput","MdLoader","setParentPositionRelative","destroy","pendingChanged","setFadeOut","MdNavUtenti","stored","links","userIdChanged","userData","hasRole","parentUuid","MdPrefselDialog","users","tableUsers","parse_query","select","MdPrefsel","remapUserData","isOverrideChanged","isOverride","MdResource","schemaLoaded","dataSaved","dataSaveError","parentContext","konsole","field","errorPayload","MdTablePagination","page","limits","areLimitsValid","limitChanged","applyOptions","pageChanged","paginate","pages","showOptions","pagesDatasource","optionsShown","hideOptions","integerCastValueConverter","MdTableProgressbar","MdTableSort","MdTableToolbar","buttons","openSearch","SidebarSearch","inputs","MdTableWrapper","resizeHandler","innerHeight","decrease","AppendCommaValueConverter","ComboFormatValueConverter","MdDatasources","mdDatasources","mdDatasourceReference","isValid","FilesizeFormatValueConverter","units","ObjectFormatValueConverter","new_value","QueueChannelFormatValueConverter","channel","QueueStatusFormatValueConverter","StringifyValueConverter","StriphtmlValueConverter","_accessToken","_refreshToken","_refreshPromise","_autologinPromise","_user","_baseUrl","_boAccessToken","_boRefreshToken","_refreshUrl","msg","accessToken","fingerprint","queryMap","depth","fields","filters","expr","operators","gte","lte","gt","lt","eq","like","regexp","operator","convertHref","originalResponse","included","isResponseArray","warnings","warning","relationships","include","datasets","smsReportUrl","isJSON","dialogIntents","refreshToken","getRefreshToken","userDataChanged","refresh","grantType","logout","startUser","feat","featureCode","reroute","impersonate","boAccessToken","boRefreshToken","disimpersonate","parseUrl","chunks","hashes","unlabelParameters","isAuthenticated","MdApi","MdAuth","mdAuth","store","paymentMethods","flatServiceTypes","multifattureSoftwares","postalServices","vectors","postages","initPostalServices","initMultifattureSoftwares","initPaymentMethods","initFlatServiceTypes","vector","postage","InlineDialogFileViewer","MdFileViewer","kaDialog","kaToast","fileViewer","fileExtension","blob","createObjectURL","dialogFileViewer","revokeObjectURL","offsetParent","mouseleave","MouseEvent","MdFileDownload","fileDownload","contentDisposition","MdTools","BUSINESS_TYPES","preferences","mergeModelData","requested","preset","responseValue","helpers","diffObject","object1","object2","removeEmptyAttributes","nullifyEmptyStringAttributes","isCurrentDateGreaterThan","date","isCurrentDateLowerThan","isDateGreaterThan","date1","date2","isDateLowerThan","setDateRange","days","currentDate","getFullYear","setDate","getDate","toISOString","flattenApiResponseData","originalApiResponseData","apiResponseDataRecords","relationship","parsedRelationship","parseRelationship","relationshipData","apiError","errorMessages","errorBody","errorCode","parameters","parameter","messages","permissions","permission","contextualize","dictionary","fidelityCards","userCurrentFidelityCard","legacy","getCrossLoginTokenCurrent","general","navigateToExternal","dialogMavTiming","MdUser","mdApi","RestClient","storage","environment","_data","checkFlow","initData","apiResponse","setUserData","apiResponseData","auth","isImpersonated","setData","removeData","loggedUser","APP_DEBUG","MfApi","refreshUrl","MfFileDownload","mfApi","exportFiles","filterQuery","requestUrl","fileId","fileName","fromEntries","vmAgreement","agreement","vmLegacyViewer","profileUuid","encodedCallbackUri","atob","view_routeViewName","tabs","privilege","privileges","tab1","tab2","view_tabName1","tableInterface","control1","control2","control3","control4","control5","control6","view_tabName2","ServiceDialogUserProfile","missingPropertiesValueConverter","zipCode","streetAddress","admLvl1","admLvl2","admLvl3","Login","Logout","viewRecupero","uniqueIdentifier","success","emailAddress","pass1","pass2","password1","password2","vmDeleteAccount","DialogAddResellerTag","pendingInit","readonly","resellerCode","rewardedServiceCode","getServiceGroups","serviceGroups","changeReseller","uuidReseller","reseller","resellerCodes","referralCode","DialogSponsorAgreement","pendingSave","agreementText","loadAgreementText","LandingPages","editEnabled","priceLists","getPriceLists","initTableInterface","listCode","searchStatus","sponsorUuid","definitivePriceListCode","temporaryPriceListCode","temporaryPriceListCodeDurationInDays","recordFormatted","addResellerTag","deleteResellerTag","prospectLandingPageReferralCode","openSponsorDialog","RevisioneAbiCab","abiCode","cabCode","instituteName","officeName","loadData","initGeo","_initialized","controlKey","valueModel","endonym","viewRubricaDati","contact","loaded","firstname","lastname","nickname","companyName","jobTitle","admLvl1Uuid","admLvl2Uuid","admLvl3Uuid","locality","addressee","fiscalCode","vatCode","homePhoneNumberInternationalPrefix","homePhoneNumber","workPhoneNumberInternationalPrefix","workPhoneNumber","mobilePhoneNumberInternationalPrefix","mobilePhoneNumber","faxNumberInternationalPrefix","faxNumber","certifiedEmailAddress","webSiteUrl","contactGroups","notes","newsletterOptIn","newsletterOptInDate","uniqueCode","annulla","setGeo","childField","childControl","childSchema","childData","admLvls","lvl","objectValue","administrativeLevels","enabled","RubricaDialogEliminaGruppo","deleteContacts","RubricaDialogElimina","multipleRecords","viewRubricaGruppi","groupsTableInterface","nuovo","elimina","modifica","contatti","viewRubricaImportazione","loading","carica","viewRubrica","rubricaTableInterface","rubricaSearchInterface","textSearch","ricerca","gruppi","importa","esporta","csv","searchControlAdmLvl1","searchControlAdmLvl2","searchControlAdmLvl3","selectContact","toggleAllContacts","DialogMigrateSubuser","activableOn","payableBy","selectedUser","migrationRecipient","migrationReason","migrationSubuserUuid","ServiceDialogProfiloAddReseller","serviceGroupCode","ProfiloDeleteBillingProfile","ProfiloDocumentUpload","buttonPending","ibanCodes","userProfile","placeholderType","getIbanCodes","ibanCode","UtentiDialogArchiviaNuovo","newParentUserUuid","UtentiImportazioneDialogSovrascrittura","viewGestioneUtenti","elenco","importazione","anagrafica","documenti","documenti_approvazione","fatturazione","segnalatori","compensi","cashback","impostazioni","pagamenti","Anagrafica","mdUser","pendingLoad","parentUser","legalFormSelected","oldSelectedCountryCode","courtesyTitle","holderName","phoneNumber","getUserGroups","getBusinessType","setCompanyLegalFormCodeDatasource","getUserProfile","changeLegalForm","legalForm","vatCodeNeeded","fiscalCodeNeeded","companyNameNeeded","personNameNeeded","setBusinessTypeEndpoint","setLegalFormsEndpoint","legalFormsEndpoint","legalFormsForThisType","countryCodeValueModel","copyServiceToken","navigator","clipboard","writeText","parseResourceData","Cashback","savedData","readEnabled","writeEnabled","isInitializing","percentageOnServices","openDialogEditPercentageOnServices","submitAction","vmCompensi","summaryTableInterface","detailsTableInterface","usersTableInterface","usersSummaryTableInterface","summarySearchInterface","detailsSearchInterface","usersSearchInterface","usersSummarySearchInterface","createdAtStart","createdAtEnd","associatedUser","serviceGroup","loadServiceGroups","subtract","promisesT","loadCommissions","isReseller","new","exportSummary","exportDetail","exportUsers","exportUsersSummary","setTag","userTagEnabled","cancelTag","isInt","Segnalatori","contextUser","staticTooltipMavDocuments","initSearchInterface","subuser","fetchUserData","alterData","documentsBucket","notRefusedDocumentsCount","currentCertifiableDocumentBuckets","approval","uploadedAt","certification","downloadUri","uri","toggleType","typeRow","row","viewUtenti","migratePending","isAdvancedUser","isMasterUser","isImpersonateUser","priceList","registeredAtStart","registeredAtEnd","sepaDirectDebit","attivazione","_attivazionePending","archiviazione","impersonifica","abbonamenti","csvDownload","migrate","findMigrationProfile","profileId","SponsorsFormatValueConverter","sponsors","sponsor","sponsorInitials","sponsorDisplayName","FatturazioneEditor","mavRequests","taxPercentage","bankAccountInfo","billingProfileIban","hasProfileOwnership","changeLegalFormPending","checkSDDPassed","pendingPopulateMissingData","firstName","lastName","officeCode","ipaCode","splitPaymentsEnabled","lastFourIbanDigits","mavRequest","getBankAccountInfo","mavAuthorizationRequests","isVisitor","autoPopulate","populate","getMavAuthorizationRequest","mavCreateAuthorizationRequest","isBuildingAdminCreatingMavRequest","sendMavAuthorizationRequest","ownerLegacyId","isMAVRequestDeletable","dialogDeleteMAVRequest","operatorDeleteMAVRequest","userDeleteMAVRequest","requestUuid","isVisibleForTheSelectedLegalForm","checkSDD","legalFormCodeFound","legalFormType","setFieldSchemaRequired","resetUnrequiredFieldData","necessityStatement","schemaProperties","populateMissingData","flattenResource","vmFatturazione","isSetAsDefaultLoading","staticTooltipMavAuthorization","selectedBillingProfiles","allSelected","selectedProfile","newIban","oldIban","selectAll","activeSdd","editor","billingProfile","sdiEnabled","sdi","genericSubuserCode","isAdmin","searchContext","SearchContext","initLegalForms","initSearchContextUser","user_active","fiscal_code","mav_authorization_status","setDefaultSearchInterfaceData","updateContextDatasource","updateTableInterfaceEndpoint","getPaymentPreferences","updateTableInterfaceQuery","lastSearchContext","suffix","isChildUsers","hasUser","isOperatorActiveSubusersWorthy","isUserActiveSubusersWorthy","searchContextChange","searchContextUserChange","searchActiveUsersChange","resetSearch","createProfile","forceEnabled","setAsDefault","getBillingProfile","patchDefault","payment","saveBillingProfileIban","saveCustomSdi","mavSelfPrintingAuthorizationUuid","dialogDeleteMavRequest","deleteMavRequest","isUserMaster","viewUtentiImportazione","selectAllProfile","selectAllBilling","autocomplete","importStatus","countSelected","countProcessing","countErrors","countImported","billing","colClassName","billingProfileData","objToArray","fillBillingProfileWithUserProfileValues","_selected","_imported","matchedUserUuid","_status","matchedBillingProfileUuid","importTable","easing","toggleAllProfile","toggleAllBilling","selectProfile","selectBilling","resetErrors","importProfile","_overwrite","_disabled","importBilling","dialogDuplicate","Impostazioni","isInitPending","advancedPreferences","grantLoginWithSupportTicket","enableBetaFeatures","Pagamenti","customSdiEnabled","masterUserCreditSharingCheck","debtGuarantorDisplayName","debtGuarantorUuid","masterUserCreditSharing","registerBillsAsManagementMovement","scopes","downloadHistoryEnabled","noAssociations","services","newReseller","selectedCode","datasourceServiceGroups","addServiceGroup","deleteServiceGroup","addReseller","deleteReseller","downloadHistory","downloadHistoryPending","Navigation","authRequired","beforeIcon","explanation","highlighted","afterIcon","openSenderui","totalQueueDrafts","totalQueuesPendingPayment","openMulticoin","dialogBlacklistedTaxCodes","openMultinforma","areContractualAgreementsSigned","queueType","getCrossLoginTokens","iframe","Toolbar","notiIntervalCounter","totalUnreadNotifications","codice","viewStrategyParams","App","isAppUpdated","initLayoutConfiguration","appUpdateCheck","serverStatusCheck","fingerprintCode","pic","layoutConfiguration","account","setAccountTitle","setUserDisplayName","picture","parseNavigation","inherit","hasLayout","hasLanguages","AutologinStep","AuthorizeStep","InitializationStep","NotificationsStep","WallAdvicesStep","gotoLegacy","getAppIndex","appEtag","serverStatusResponse","yearMonthDate","getMonth","userAgent","md5","deviceFingerprint","getHours","getMinutes","savedAppEtag","groupEnd","currentRoute","authRole","userCheck","myUnreadNotifications","subusersUnreadNotifications","totalUnreadNotificationsCount","totalMineUnreadNotificationsCount","totalSubuserUnreadNotificationsCount","advices","advicesToShow","adviceToShow","DialogModalSenderUI","senderui","SenderUI","checkDraftSaved","payload","draft","vmMaintenance","getHealthcheck","vmNotFound","viewAgreements","agreements","startAt","clauses","agreementsTableInterface","agreementsSearchInterface","startAtLte","startAtGte","clause","saveData","newClause","deleteClause","deleteClauseData","addClause","viewAlias","AliasSchema","aliasTableInterface","requestedAt","aliasSearchInterface","requestedAtGte","requestedAtLte","datatype","country","viewArchiviazioneDialog","preview","realPath","noDryRun","archivia","viewArchiviazione","archives","yearFrom","monthFrom","yearTo","monthTo","datasources","years","months","locale","EditorWallAdvice","wallAdvice","isExpiredAdvice","initResource","htmlContent","endAt","public","getWallAdvice","pendingGetWallAdvice","checkIsExpiredAdvice","wallAdvicePreview","editWallAdvice","dialogAdviceConfirmation","normalizeStartAtDateTime","setHours","normalizeEndAtDateTime","visibilityEndDate","alreadyVisible","getTime","visibilityStartDate","createWallAdvice","PreviewWallAdvice","WallAdvice","htmlTemplate","acknowledgedAdvice","acknowledged","viewCurrentAdvices","tools","openEditorWallAdvice","dialogEditorWallAdvice","viewExpiredAdvices","dialogConfirmExpiredAdviceDeletion","adviceUuid","deleteExpiredAdvice","vmAdvices","accumulator","dialogWallAdvice","dateToNormalize","isErrorInit","isPendingInit","viewBounces","bouncesTableInterface","bouncesSearchInterface","UtentiDialogDocumentiApproval","statusReason","editStatus","vmDocumentiGestione","documentTypes","getDocumentTypes","filterStatus","_search","setPlaceholderType","APP_API_BASE_URL","VMMultitrax","initTable","strategyIn","typeIn","lastAttemptStart","lastAttemptEnd","deliveredAtStart","deliveredAtEnd","notDelivered","excludeFromRetry","deleteRecord","setExcludeFromRetry","setNotDelivered","deliveredAt","DaysFormatValueConverter","difference","DateTime","diffNow","abs","ServiceDialogNotificationDetail","notificationUuid","getNotification","notification","dataParse","srcdoc","emailHtmlBody","scheduleEmail","buildEmail","recipientEmailAddress","emailDispatchedAt","emailDispatchErrorAt","emailDispatchErrorMessage","emailDeliveredAt","emailBouncedAt","emailBounceReason","emails","recipientEmailAddress2","recipientEmailAddress3","scheduleSms","scheduleUiNotice","vmNotifiche","copyText","notifiche","vmListaNotifiche","statusEmail","statusSms","statusUI","selectedChannel","statusTooltip","dispatchedAt","dispatchError","dispatchErrorMessage","bounced","bounceReason","createdAt","ServiceDialogAssignEditor","redeemCode","offer","ServiceDialogOfferteEditor","targetUserType","contextBusinessType","promotionCode","deadlineType","deadlineAt","deadlineTypeChange","vmOfferte","gestione","prenotate","riscattate","vmOfferteGestione","createdAtGte","createdAtLte","endAtGte","endAtLte","deadlineAtGte","deadlineAtLte","serviceCreationDeadlineGte","serviceCreationDeadlineLte","userCreationDeadlineGte","userCreationDeadlineLte","offerLink","deadline","createOffer","editOffer","assignOffer","vmOffertePrenotate","vmOfferteRiscattate","offerlink","redeemedAtGte","redeemedAtLte","userUuid","vmContracts","openDialogContractDetail","contractUuid","userRenderableHtml","contractVersion","contractType","DialogContractDetail","pendingGetCashbackContract","getCashbackContract","DialogContractRescission","isConfirmed","toLocaleDateString","latestVersions","schemaMessages","defaultMessage","validationRule","setDatasourceDefaultMessage","changeDefaultMessage","setLatestContractVersion","acceptance","changeUserUuid","parseData","rescindContract","DialogContractCreate","cashbackContract","pendingCreateCashbackContracts","openDialogConfirmContractCreation","createCashbackContracts","ViewMultinvioContracts","openDialogCreateContract","ViewServiceContracts","viewSubscriptions","serviceContract","multinvioContract","serviceContractPending","multinvioContractPending","dialogCashbackContractRescission","controllerTabRequests","viewUserArchive","tab","serviceContractSubscriptions","multinvioContractSubscriptions","tableInterfaceServiceContractSubscriptions","tableInterfaceMultinvioContractSubscriptions","viewUserSubscriptions","flatServiceContract","controllerTabUserArchive","pendingGetMultinvioContract","pendingGetFlatServiceContract","pendingSubscriptionMultinvioContract","pendingSubscriptionFlatServiceContract","clause1","disabled","clause2","getLatSubscriptedMultinvioContract","getLastSubscriptedFlatServiceContract","setClausesData","contract","acceptedAt","setClausesReadonly","pendingFlatServiceContract","hasNext","getNextFlatServiceContract","gracePeriodEndAt","lastContractGracePeriodEndsOn","pendingMultinvioContract","getNextMultinvioContract","setEndpointDownloadPdf","downloadPdfContract","subscribeContract","storageSubscriptions","DialogCreditTransfer","amount","saveTransferCreditMovements","clone","DialogEditRequest","statusSchema","saveEditRequest","DialogInsertMovement","saveInsertCreditMovement","DialogWithdrawalRequest","temporaryInvoiceFileUploadUuid","setWithdrawalAmount","billableAmount","saveWithdrawalRequest","postUploadSessions","fileUpload","postWithdrawalRequests","tabMovements","transactionDisabledDate","inhibitionCashbackMessage","metaResponse","lastAcceptedFlatServiceContract","lastAcceptedMultinvioVolumesContract","sourceTypeSchema","initTab","setEndpoint","setDirectionDatasource","setSourceTypeDatasource","irregularTypes","IN","HISTORY","OUT","changeDirection","sourceType","sourceUser","sourceUuids","getLastAcceptedFlatServiceContract","getLastlastAcceptedMultinvioVolumesContract","allSettled","isTransactionDisabledUntilDate","disabledUntilDate","isTransactionDisabledAfterDate","disabledStartDate","getCashbackTransferEligibilityCheck","openTemporaryDialog","dialogCreditTransfer","dialogWithdrawalRequest","bodyMessage","dialogInsertMovement","dialogServiceDetail","ownerId","sourceUserId","flatServiceUuid","sourceFlatServiceSubscriptionUuid","navigateToQueueDetail","sourceQueueUuid","navigateToLegacyReport","movementDetail","tabRequests","deleteRequest","dialogDeleteRequest","dialogEditRequest","vmTransactions","downloadDocument","DialogOrderDetail","orderUuid","orderStatuses","downloadOrderInvoice","setOrder","getOrder","parseBillingProfileDetails","billingProfileDetails","_billingProfileDetails","parseBillingProfileCodes","parseBillingProfileOwner","parseBillingProfileAddress","province","city","allowedCodes","codesFound","PaymentInstruction","paymentCoors","SettleInvoice","confirm","settle","invoice","document_id","seen","confirmInvoice","ViewInvoicesList","suppliers","date_to","date_from","paymentStatuses","mfFileDownload","doctype","supplier_id","payment_status","number","getSuppliers","add_external","order_by","order_type","supplier","setSuppliersDatasource","dialogSettleInvoice","doctype_label","mfsuppliers_id","payment_status_label","payment_status_class","commodity","report","report_filename","codici","pr","prcodes","pods","comp_code","codici_importazione","sdd_request_pay","parseDataQuery","ViewOrders","totalGrossAmount","DEFAULT_DATE_RANGE_DAYS","getPaymentMethodDatasource","cleanedPayments","getPaymentMethod","getContextDatasource","orderNumber","paymentStatus","paymentMethod","setDefaultDateRange","updateValidationRules","getOrdersEndpoint","contextChanged","setOwnerValue","ownerChanged","setContextSchema","setContextValue","getContextSuffix","contextSuffix","resetDateRange","dialogPaymentInstructions","dialogOrderDetail","disposition","Dashboard","sendEnabled","ViewActivation","userPromotions","fidelityCardsModel","templateCard","getFidelityCards","setUserFidelityCard","parseFidelityCards","setUserPromotions","viewActivation","statusClass","statusLabel","activable","statusDescription","revocable","revocableMessage","expireAt","promotion","DialogFidelityCardActivation","disclosure","isActivable","isPendingActivation","isAcknowledgementPending","elementDialogHeaderH2","acknowledgement","changeAcknowledgement","postDisclosureAcceptances","userFidelityCard","appendElementFidelityCardTitle","appendElementFidelityCardPrice","getFidelityCardDisclosure","acknowledgementStatement","span","price","disclosureAccepted","fidelityCardUuid","fidelityCardActivation","acceptDisclosure","dialogSwitchingActivation","autoRenewEnabled","viewTemplateCard","templateFidelityCard","mdFileDownload","disclosureDownload","setActivationButtonMessage","activationMessage","setSelfRenewTooltip","dialogCardActivation","dialogCardManagement","dialogGracePeriodInformation","gracePeriod","fidelityCardRenew","viewTemplateFidelityCard","DialogHelpServicesAgreement","setDatasourceServices","openServiceAgreement","selectedService","serviceData","Help","urls","privacy","mailTo","sla","knowledge","supportTickets","expired","dialogHelpServicesAgreement","openExternalLink","ViewAgreements","allClausesAccepted","accepted","acceptances","userAgreementClauseUuid","areAllClausesAccepted","ImpostazioniEmail","multinvioDigitalSelfUsages","isMultinvioDigitalSelfUsagesEnded","displayAddress","notificationAddress","emailForwarding","certified","notCertified","certifiedAddresses","isCal","prefsel","sender","hasInheritedPEC","enableOverride","smtpServer","smtpPort","getMultinvioDigitalSelfUsages","usage","prefselChanged","ImpostazioniFax","cover","fax","ImpostazioniGenerali","enableCreditPartialUsage","enableToPayQueueDutiesForSubuserAtCheckout","mobileNumbers","internationalPrefix","confirmationCode","optedIn","optedOut","overrideData","resend","revoke","ImpostazioniMultibox","envelope","packagePresentation","recipientList","multibox","ImpostazioniMulticerta","multicertaInvitation","legalAcknowledgement","legalDuration","legalType","multicerta","setPostageDatasource","ImpostazioniNotifiche","uiPreferences","emailPreferences","credit","serviceThreshold","postageThreshold","dailyDigest","directDebit","bouncedEmailsDigest","pushPreferences","appPush","blocked","refused","delivered","privacyConsent","commercial","PostaDialogConfirm","ImpostazioniPosta","envelopeLogoUuid","dataset","postalOrders","watermarks","print","frontBack","colorMode","sheetFormat","staple","postageCode","vectorEnablings","enabledAt","disabledAt","expectReceipt","topicOnReturnReceipt","nexive","letter","_prioritaria","_raccomandata","prioritaria","raccomandata","processPostages","processVectors","nexiveIndex","toggleNexive","postalAccount","postalAccountHolder","isToggle","prefSelector","fileUri","previews","setStatus","setDefault","uriBuild","getImage","vmCover","webPath","ImpostazioniSms","smsAliases","staticTooltipSms","numberUuid","aliasUuid","sms","vmEmailConfirm","emailConfirmationCode","vmLandingOfferta","offerExpired","promoOffers","localStorageOffer","authUserRedeemDate","redeemedAt","offerStatus","redeemCodes","activateOffer","updateLocalStorage","vmLandingRegistrazione","clients","editableUsername","pendingAttached","definitive","temporary","prospectUuid","passwordConfirm","clientUuid","commercialContact","thirdPartyDisclosure","setClientUuidDatasource","setBusinessTypeDatasource","changeEmail","priceListResponse","definitivePriceList","temporaryPriceList","businessTypes","assignToProfile","assignToHolderName","parsePhoneNumber","referral","assignToLocation","phoneId","mobilePhoneId","phoneCountryPrefix","mobilePhoneCountryPrefix","changeUsername","dialogPrivacyConsent","postAnonymousUsers","MulticertaInvite","mittente","multicertaInviteTableInterface","multicertaInviteSearchInterface","demoRecipient","vmPointsTransactionHistory","sourceTypes","contextDatasource","isMdCounterVisible","sourceUserUuidDatasource","isSelectedUserBuildingAdministartor","infoTooltipStatus","infoTooltipPoints","multicoinPoints","staticTooltipFidelityCard","staticTooltipMulticoin","defaultSearchSettings","sourceUserIdDatasource","transactionStatuses","changeSourceUserUuid","sourceUserUuid","changeSourceUserId","setContextDatasource","changeContext","setMdCounterVisibility","initTabs","setSourceTypesDatasource","setTransactionStatusesDatasource","totalAmount","totalPending","totalPendingAmount","totalBlocked","totalBlockedAmount","totalTransferred","totalTransferredAmount","getTransactionStatus","recordProperty","recordStatus","hasTransferErrors","subusers","displayAccount","displaySubusers","dialogReason","dialogLockedAccreditation","legacySmsQueueId","navigateToLegacySMSreport","dialogFlatServiceSubscriptionDetail","toggleTransferError","transferErrorDetail","wrapperElement","clientHeight","wrappers","growingElement","NotificheAnteprima","kaTabsCounter","alerts","kaTabs","insertAdjacentHTML","getAlerts","metaAlerts","fetchSubusers","ownerDisplayName","readByMeAt","notificationsReadStatus","read","setAllAsRead","notificationsTableInterface","takeOver","assigneeUuid","shareCode","notificationTooltip","plainTextBody","elencoNotificheMie","elencoNotificheSottoutenti","elencoNotificheUtenti","vmElencoNotificheMie","myNotificationsTableInterface","myNotificationsSearchInterface","readBy","templateCode","getTemplates","setTemplate","readByChanged","getNotifications","templates","oldSelectedTemplate","newSelectedTemplate","vmElencoNotificheUtenti","_subusers","userNotificationsTableInterface","userNotificationsSearchInterface","searchSubuser","setSubuser","searchSubuserChanged","oldSelectedSubuser","newSelectedSubuser","searchUser","viewCopertine","isSubuser","isPrintOperator","IsUserSearchFieldVisible","searchInterfaceData","coverStatuses","mdFileViewer","setPrivileges","setIsUserSearchFieldVisible","initView","getCovers","setSearchInterfaceUserLabel","setSearchInterfaceUserEndpoint","setSearchInterfaceSchemaStatusDatasource","setTableInterfaceCoversEndpoint","resetCovers","changeSearchInterfaceDataTarget","changeSearchInterfaceDataUser","dialogManageCover","dialogAddCover","dialogUserAssociationsWithTheCover","dialogDeleteCover","recordUuid","deleteCover","DialogAddCover","selectedSubuserProfiles","staticTooltipCover","associations","setResourceSchemaItemsValidationRule","presets","changeAssociationsTarget","setResourceSchemaPresetsDatasource","changeAssociationsItems","setFileData","onloadend","setPayload","associatedSubusers","postCover","addCover","DialogManageCover","refusalReason","setCoverStatus","authorDisplayName","patchLetterCover","manageCover","DialogUserAssociationsWithTheCover","dialogService","currentItems","isDefault","normalizeItemDefault","isAssociated","normalizeItemAssociation","itemDeafault","itemAssociation","changeTarget","saveUserAssociationsWithCover","vmAutorizzazioni","mav","isBankOperator","isUser","UtentiDialogMavApproval","trusteeServiceCode","trustee","serviceCode","UtentiDialogCreateRequest","setUserId","getBillingProfiles","subuserChanged","billingProfiles","identifier","vmMav","mavRequestModel","trusteeDisplayName","trusteeSubServiceCode","isMAVrequestCreatable","dialogMAVRequestCreation","isMAVrequestsCSVDownloadable","MAVrequestsCSVDownload","IsMAVcollectionDownloadDisabled","MAVcollectionDownload","IsMAVrequestApprovalDisabled","MAVrequestApproval","MAVrequestApprovalStatus","setMAVrequestApprovalStatus","toastContext","isMAVRequestDeletionDisabled","subServiceCode","DialogDownloadReceipts","vmTracciatiEsitoPagamento","richieste","vmTracciatiEsito","selectedArray","recordsSelected","allRecordsSelected","someRecordsSelected","someRecords","visibleRecordsUuids","allRecords","billingProfileOwnerDisplayName","accounted","downloaded","showDisabled","accountFor","resetSelectedCbis","exportSelectedCbis","receiptUuidIn","downloadSelectedCbis","markReceiptsAsAccountedOnSuccess","vmAbbonamenti","isPendingInitTabs","flatServiceProducts","showMigrationsTab","isGetFlatServiceTypesPending","setTools","showOrHideMigrationsTab","getFlatServiceProducts","isMaster","getLastServiceContractSubscribed","setPrivilegesTabs","responses","mineResponse","subusersResponse","mineHasElements","subusersHasElements","isBasicUser","attivi","attivabili","volture","getFlatServiceTypes","productCode","enabledUntil","dialogCashbackSubscriptionRequired","dialogFidelityCardRequired","requestedUserData","lastAcceptedServiceContract","isCashbackContractNeverBeenSigned","getLastMultinvioContractSubscribed","rescindedAt","ServiceDialogAbbonamentiAttivazioneSottoutenti","activations","isServicePayableBy","activationSummary","pendingBillingProfiles","pendingActivation","failedActivationsCount","successfulActivationsCount","userBillingProfileDatasource","recordBillingProfilePending","resourcePayment","resourceBillingProfile","payable","initServiceDialog","setResourcePaymentDatasource","setResourcePaymentData","setUserBillingProfile","initTableSelectionInterface","_resource","isLastRecord","setSubusersBillingProfiles","getAllSubuserBillingProfiles","tableSelectionInterface","any","usablePaymentMethods","setBillingProfileDatasourceItem","lasttName","taxCode","setEachSubuserBillingProfile","defaultBillingProfileUuid","setFailedActivationDetail","_failedActivationXhr","setFlatServicesActivationsPayload","payeeBillingProfileUuid","payeeUserUuid","autoRenewable","autoRenew","setActivationSummary","newActivation","setFailedActivationsCount","feedback","setSuccessfulActivationsCount","activateSelectedRecords","showFailedActivationDetail","exportActivationsReport","parseFailedActivationDetailMessage","ServiceDialogAbbonamentiAttivazione","payeeUserId","payableByUserId","billingDatasource","ServiceDialogAbbonamentiAutorinnovo","updateDatasourcePending","autoRenewPaymentMethod","updateDatasource","allowedAutoRenewPaymentMethods","filteredPaymentMethods","ServiceDialogAbbonamentiCashbackContractSubscriptionRequired","ServiceDialogAbbonamentiDetail","flatService","setStatusDatasource","setPaymentMethodDatasource","flatServiceCode","flatServiceProductCode","flatServiceType","flatServiceTitle","flatServiceDescription","orderId","ownerFiscalCode","ownerParentDisplayName","flatServicePrice","flatServiceCashbackAmount","flatServiceMulticoinPoint","payeeDisplayName","getFlatService","setResourceData","dataProperty","ServiceDialogAbbonamentiEditor","payers","getPaymentMethods","availableByDefault","changeProductCode","comboItems","comboItemsSource","changeActivableByPrivilegedUserOnly","payableByDatasource","activableByPrivilegedUserOnly","changeSubscriptionExpireAt","subscriptionExpireAt","changePaymentMethods","isFreeCharge","vatAmount","getDefaultPaymentMethods","allowableBusinessTypes","subscriptionExpiryType","promotionNeeded","createPortabilityPromotionOnActivation","associatedPromoCodes","cashbackAmount","multicoinPoint","vault","setAllowableBusinessTypesDatasource","flatServiceDataParse","activableOnUser","activableOnSubuser","payableBySponsor","payableByUser","payableBySubuser","addedPromoCode","removedPromoCode","promo","SponsorUuid","ServiceDialogFidelityCardActivationSubscriptionRecommended","goToFidelityCardsActivation","ServiceDialogLog","logs","operationLog","ServiceDialogModifyServiceExpiration","applyStatusAt","ServiceDialogAbbonamentiStatoServizio","toUTC","seconds","milliseconds","toISO","suppressMilliseconds","ACTIVE","TERMINATED","SUSPENDED","vmAbbonamentiAttivabili","searchedData","staticTooltipServices","productCodeChanged","setFlatServiceTypesDatasource","suffixUrl","activateService","activateOnUserId","payableByUserUuid","isServiceCashbackGracePeriod","openDialogSubuserServiceActivation","openDialogUserServiceActivation","serviceDescription","vmAbbonamentiAttivi","isServiceAutoRenewDisabled","showLogs","showBankTransfer","legacyApi","creditorCompany","creditorIban","editExpiration","dialogAutoRenew","editRenewal","isAutoRenewDisabled","vmAbbonamentiGestione","endpointServices","createService","editService","vmVolture","buildEndpoint","confirmSelectedServices","parsedError","viewCrediti","currentBalance","selectedParentIsMaster","migrationMessages","migrationReceiverDisplayName","creditTableInterface","creditSearchInterface","dateStart","dateEnd","setParent","filteredNoVatSubjectAmount","filteredVatSubjectAmount","noVatSubjectAmount","vatSubjectAmount","ripristina","creditMovement","getMigrationMessage","migrationVerse","messageTemplate","export","sign","vatSubject","noVatSubject","viewDeposito","bailmentTableInterface","bailmentSearchInterface","depositTransaction","DialogCreditMovement","signTransaction","masterUser","DialogDepositTransaction","note","cause","DialogTransactionConfirm","ServiceDialogListiniPianificazione","pricelists","vmPromozioni","isParent","vmListiniElenco","pricelistDefault","pricelistsPending","allSubusers","searchSubusersChanged","searchSubusers","selectedSubuser","legacyLink","getSubusers","setContext","selectSubuser","pricelist","priceListDefault","newPricelistSchedule","subusersPricelistSchedule","vmPromozioniAggiungi","addPromotion","promotionUuid","DialogCreatePromotion","DialogEditPromotion","assegnate","vmPromozioniAssegnate","selectedUserId","selectedUserData","endsPromotion","editPromotion","vmPromozioniGestione","createPromotion","vmRicariche","vmRicaricheElenco","fetched","visible","userChange","packageTypes","packages","cart","quantity","net","vat","packageCount","resetTypesDatasource","typesChange","schemaChanged","typeCode","updateCart","addToCart","pkg","setQuantity","removeFromCart","getCartPayload","emptyCart","cartbar","totalBasketItems","totalBasketNetAmount","totalBasketVat","storageCart","checkout","DialogBankTransfer","prececkout","getPrececkout","customerCareEmail","confirmationShortCode","mailto","customerCareConfirmation","DialogLegacyHistory","archiveLabel","archive","toLegacyArchive","setArchiveLabel","DialogMessageCostDetail","costVoices","DialogMessageStatusTransitionsHistory","messageStatuses","queueMessages","getMessageStatuses","setMessageStatuses","DialogQueueCostDetail","DialogMessageStatuses","sendCodes","sendCodeErrorsChanged","parsedValue","queuesSendCodes","xQueuesSendCodesErrors","sendCodeErrors","DialogReportAttachments","queueUuid","errorInit","messageUuid","attachments","globalCover","queueOwnerId","globalStaple","fastDelivery","messageChannel","downloadFile","slug","DialogReportMultiboxDetail","DialogReportQueueResend","selectableRecipients","numberSelected","errorSearch","allPageSelected","pendingSearch","getSelectedsCount","getSelectedsKeys","switchAllSelectedButton","toggleRecipientSelection","handlePageSelection","queueOwner","setDefaults","getDeafaultSelectableRecipients","allUuidsMap","getAllUuid","allUuids","recipient","togglePageSelection","createNewDraft","recipientsUuid","newDraftUuid","openCopiedQueueInSenderUi","updateCounter","ViewPending","parseRecordsSelected","sessionContext","totalGrossGte","totalGrossLte","payment_method","send_code","short_confirmation_code","topic","editDraft","deleteDraft","deleteSelectedDrafts","contextPath","possiblyRequiredFields","setPaymentMethod","setContextPath","utenti","_datasource","shortConfirmationCode","shipment","isSearchEnabled","isOrderAmountShowable","orderAmount","grossAmount","handlePossiblyRequiredFields","badgeUpdate","dialogPossiblyRequiredFields","searchEnabled","isRequired","userConfirmOrder","backofficeConfirmOrder","bankTranferCheck","editQueue","abortQueue","messageHtml","draftUuid","bankTransferData","dialogDeletePayment","deleteOrder","ViewReportDetail","queueProperties","previousRoute","usedChannels","isEmailForwardingUsed","canQueueBeDiscontinued","isGoBackButtonShowable","urlPosteItaliane","getQueueOutlines","getSender","initMessages","getPostages","initMessagesInterface","messagesTableInterface","messagesSearchInterface","setChannelDatasource","reinitializeAfterDeliveryInterruption","setIsEmailForwardingUsed","setCanQueueBeDiscontinued","postalService","setMessageDialogInterruptDelivery","isSomeChannelIncluded","dialogMessageStatusTransitionsHistory","dialogMessageCostDetail","dialogAttachments","dialogQueueResend","dialogMultibox","dialogInterruptDelivery","interruptDelivery","downloadReceipt3A","legacyId","downloadCertificatesTSD","downloadDeliveryReceipt","downloadQueueSchedule","downloadLogMessages","navigateTo","shouldShowCostLink","cost","emailForwardingUsed","queueDeliveryCanBeDiscontinued","canDownloadReceipt","deliveryReceiptAvailable","parseDeadlineEvents","deadlineEvents","emailNotificationAddresses","vmReport","isLegacyQueueDetail","displayPaymentMethods","partialCreditPayment","getUserData","groupedStatuses","groupedValues","dataProperties","downloadWorkOrderList","openDialogQueueCsvDownload","setSelectable","oldRecords","newRecords","sendCode","setSelected","selectable","setPageSelection","dataSendCodes","islegacyDetail","navigateToLegacyReportDetail","inviate","annullate","archiviate","getClients","openDialogLegacyHistory","toLegacy","ViewArchived","statusMessages","pageSelection","selectedChanged","setContextSuffix","vmSentReload","vmCanceledReload","unarchive","directory","ViewCanceled","abandonedStatus","vmArchiveReload","ViewSent","loadingId","updateWaitingQueuesStorage","ownerStatusIn","isSearchDisabled","updateQueueMessages","dataDefaultProperties","dialogQueueCostDetail","charenc","utf8","stringToBytes","bin","bytesToString","bytes","escape","core","__e","aFunction","that","ctx","hide","PROTOTYPE","$export","own","out","IS_FORCED","F","IS_GLOBAL","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","virtual","R","U","__g","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","Attributes","bitmap","valueOf","cof","UNSCOPABLES","ArrayProto","at","unicode","forbiddenField","toObject","toAbsoluteIndex","copyWithin","to","inc","fill","endPos","toIObject","IS_INCLUDES","fromIndex","IObject","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","res","memo","isRight","SPECIES","speciesConstructor","arraySlice","factories","partArgs","bound","TAG","ARG","T","tryGet","callee","redefineAll","anInstance","forOf","$iterDefine","setSpecies","DESCRIPTORS","fastKey","SIZE","getEntry","_f","getConstructor","NAME","ADDER","iterable","_t","def","setStrong","iterated","_k","getWeak","createArrayMethod","$has","arrayFind","arrayFindIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","ufstore","redefine","fails","$iterDetect","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","Base","fixMethod","KEY","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","NEED","$toISOString","lz","num","NaN","RangeError","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","NUMBER","hint","getKeys","getSymbols","isEnum","exp","MATCH","re","defined","wks","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","maybeCallNative","nativeMethod","arg2","forceStringMethod","strfn","rxfn","ignoreCase","multiline","sticky","IS_CONCAT_SPREADABLE","flattenIntoArray","sourceLen","mapper","spreadable","mapFn","isArrayIter","getIterFn","BREAK","RETURN","ITERATOR","documentElement","un","Iterators","isInteger","isRegExp","ret","IteratorPrototype","LIBRARY","$iterCreate","BUGGY","KEYS","VALUES","DEFAULT","IS_SET","FORCED","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","SAFE_CLOSING","riter","skipClosing","safe","arr","$expm1","expm1","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","Infinity","log1p","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","onFreeze","macrotask","Observer","isNode","domain","exit","nextTick","standalone","PromiseCapability","$$resolve","$$reject","$assign","A","K","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","contentWindow","Properties","windowNames","getWindowNames","$keys","hiddenKeys","arrayIndexOf","isEntries","$parseFloat","$trim","$parseInt","ws","radix","newPromiseCapability","promiseCapability","SRC","$toString","TO_STRING","TPL","isFunction","classof","builtinExec","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","buggy","stat","shared","SHARED","copyright","D","quot","createHTML","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","spaces","space","ltrim","rtrim","exporter","ALIAS","FORCE","defer","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","ONREADYSTATECHANGE","listener","port2","port1","onmessage","postMessage","importScripts","$typed","$buffer","propertyDesc","toIndex","createArrayIncludes","ArrayIterators","arrayFill","arrayCopyWithin","$DP","$GOPD","ARRAY_BUFFER","SHARED_BUFFER","BYTES_PER_ELEMENT","$ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayIncludes","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","WRONG_LENGTH","$map","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","toOffset","BYTES","speciesFromList","fromList","addGetter","internal","$from","$of","TO_LOCALE_BUG","$toLocaleString","comparefn","subarray","begin","$begin","byteOffset","$slice","$set","$iterators","isTAIndex","$getDesc","$setDesc","$TypedArrayPrototype$","CLAMPED","GETTER","SETTER","TypedArray","TAC","ABV","TypedArrayPrototype","addElement","getter","setter","$offset","$length","byteLength","klass","$len","$nativeIterator","CORRECT_ITER_NAME","$iterator","DATA_VIEW","WRONG_INDEX","BaseBuffer","LN2","BUFFER","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","unpackI32","packI8","packI16","packI32","packF64","packF32","isLittleEndian","intIndex","pack","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","Typed","TypedArrayConstructors","px","wksExt","$Symbol","USE_SYMBOL","$every","$filter","$find","forced","$forEach","STRICT","createProperty","$indexOf","NEGATIVE_ZERO","addToUnscopables","Arguments","$reduce","upTo","cloned","$some","$sort","toJSON","pv","TO_PRIMITIVE","DateProto","INVALID_DATE","HAS_INSTANCE","FunctionProto","FProto","nameRE","strong","MAP","sqrt","$acosh","acosh","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","$Number","BROKEN_COF","TRIM","argument","third","maxCode","_isFinite","isSafeInteger","MIN_SAFE_INTEGER","aNumberValue","$toFixed","ERROR","ZERO","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$fails","$toPrecision","toPrecision","precision","$freeze","$getOwnPropertyDescriptor","$getPrototypeOf","$isExtensible","$isFrozen","isFrozen","$isSealed","isSealed","$preventExtensions","$seal","seal","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","PROMISE","versions","v8","$Promise","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","_v","_s","reaction","exited","fail","_h","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","onrejectionhandled","$reject","_w","$resolve","executor","onFulfilled","onRejected","capability","remaining","alreadyCalled","race","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","deleteProperty","Enumerate","enumerate","getProto","receiver","V","existingDescriptor","ownDesc","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","flags","advanceStringIndex","regExpExec","$match","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","$SPLIT","LENGTH","MAX_UINT32","SUPPORTS_Y","SPLIT","$split","internalSplit","lastLength","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","big","blink","bold","$at","ENDS_WITH","$endsWith","endPosition","fixed","fontcolor","fontsize","$fromCodePoint","INCLUDES","italics","point","callSite","tpl","small","STARTS_WITH","$startsWith","strike","sup","wksDefine","enumKeys","_create","gOPNExt","$GOPS","$JSON","_stringify","HIDDEN","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$propertyIsEnumerable","$getOwnPropertyNames","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","$replacer","$isView","isView","fin","viewS","viewT","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint32Array","Uint8ClampedArray","InternalMap","each","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","WEAK_MAP","$WeakMap","WEAK_SET","arraySpeciesCreate","flatMap","$includes","getOwnPropertyDescriptors","getDesc","$values","onFinally","$pad","WEBKIT_BUG","padEnd","padStart","trimLeft","trimRight","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","$task","MSIE","time","boundArgs","base64map","crypt","rotl","rotr","endian","randomBytes","bytesToWords","wordsToBytes","bytesToHex","hexToBytes","bytesToBase64","base64","triplet","base64ToBytes","imod4","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_IMPORT_20___","___CSS_LOADER_URL_IMPORT_21___","___CSS_LOADER_URL_IMPORT_22___","___CSS_LOADER_URL_IMPORT_23___","___CSS_LOADER_URL_IMPORT_24___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","___CSS_LOADER_URL_REPLACEMENT_24___","___CSS_LOADER_URL_REPLACEMENT_25___","___CSS_LOADER_URL_REPLACEMENT_26___","___CSS_LOADER_URL_REPLACEMENT_27___","___CSS_LOADER_URL_REPLACEMENT_28___","___CSS_LOADER_URL_REPLACEMENT_29___","cssWithMappingToString","needLayer","media","dedupe","supports","layer","alreadyImportedModules","needQuotes","cssMapping","sourceMapping","sourceURLs","sources","sourceRoot","___HTML_LOADER_IMPORT_0___","___HTML_LOADER_IMPORT_1___","___HTML_LOADER_REPLACEMENT_0___","maybeNeedQuotes","isBuffer","isSlowBuffer","readFloatLE","_isBuffer","KaPluginConfiguration","_kaDialog","_kaToast","_kaApi","kaConfig","useAll","_kaConsole","KaConsole","_classCallCheck","useStandard","useLayout","useInputs","useControls","KaApi","_aureliaFramework","_aureliaHttpClient","_aureliaRouter","_environment2","routeLogin","routeHome","APP_STORAGE","APP_KAMAJI_BASE_URL","_isKamaji1","grant_type","access_token","refresh_token","userid","_ref2","conf","_descriptor","_descriptor2","_descriptor3","KaButton","_initDefineProp","_applyDecoratedDescriptor","_ready","disabledChanged","busyChanged","KaControlBackdropService","drawer","KaControlCheck","_descriptor4","_arr","_schema","kaControlComboTextifyValueConverter","kaControlComboHighlightValueConverter","KaControlCombo","_desc","_value","_initializerWarningHelper","_client","opened","combostack","valuestack","preloadedCombostack","datasearch","buildCombostack","clientChanged","getValueModel","buildValuestack","dts","buildQueryUrl","dtv","dtt","unmatched","getUrlParams","_isArray2","_iterator2","_ref3","_iterator3","_isArray3","_ref4","evalSafeVar","_ret","_combostack","max_h","searchInput","term","dtp","dsh","terms","searchRequest","searchPending","searchKeyUp","searchDebounceTimeout","searchKeyDown","_Object$assign","_hash$split","dtf","datafilter","urlParams","_keys2","_iterator4","_isArray4","_i5","_ref5","_item","_text","_keys3","_iterator5","_isArray5","_i6","_ref6","_valuestack","controlDateValueConverter","KaControlDate","_descriptor5","_luxon","_kaControlBackdrop","keydown","fromFormat","fromISO","setZone","toLocal","toFormat","controlDatetimeValueConverter","KaControlDateTime","KaControlEditor","_kaCkeditor2","buildEditor","editorValuePending","getData","readonlyChanged","isReadOnly","_editor_initialized","contentToolbar","editing","isFocused","KaControlFile","displayValue","KaControlsList","KaControlNumber","KaControlPassword","KaControlsTable","KaControlText","KaControlTextarea","_dec11","_dec12","_dec13","_dec14","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","NullifyEmptyValueConverter","KaControl","_aureliaValidation","_kaComponents","parentResourceName","_name$split","bindToResource","subscribeValueCollectionObserver","unbindFromResource","valueCollectionObserver","bindedToResource","checkNested","scrollErrorOverflow","scroller","offsetWidth","dropdown","setSchemaBinding","resourceControlSchemaBinding","resourceSchemaBinding","createNested","setDataBinding","resourceControlValueBinding","resourceValueBinding","resourceReadonlyBinding","levels","KaDatetime","Info","month","numeric","long","short","weekdays","weekday","hours","hour","minutes","minute","dateTime","day","year","weeks","monthInterval","Interval","fromDateTimes","startWeek","plus","weekInterval","week","splitBy","Duration","fromObject","setValues","shiftValues","KaDialogVm","_aureliaDialog","_kaDialogVm","KaEnterCustomAttribute","_callback","keyCode","kaHighlightValueConverter","KaInputControls","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_descriptor19","_descriptor20","_kaCkeditor","_moment","_moment2","bindingEngine","config_overrides","checklistInit","comboListUpdate","dateInit","comboInit","editorInit","clearEnabled","addEnabled","openEnabled","dropdownEnabled","showEnabled","downloadEnabled","dateDisplayValue","comboDisplayValue","childRoute","dialogClosed","hideEnabled","configChanged","checklistParseSelected","fileDisplayValue","requiredChanged","keyup","validation","checkClick","heading","fileInit","comboOpen","comboOpened","comboClose","comboReady","comboQuery","combo","comboQueryValue","comboGetItems","comboParseSelected","parse_response","addUrlParam","queryOperator","dataoperator","clientRequest","_endpoint","_fields","datatexts","parsed","comboValueReady","_datatext","comboSelect","_isArray6","_iterator6","comboListAddItem","comboListItems","comboListRemoveItem","listItem","checklistItems","checklistSelect","_iterator7","_isArray7","_i7","_ref7","_isArray8","_i8","_iterator8","_ref8","addUrlParams","_iterator9","_isArray9","_i9","_ref9","_ref10","_v2","_iterator10","_isArray10","_i10","_ref11","KaInput","insideMdResource","resourceControls","resourceRef","resourceControlsChanged","KaLayout","_navigation2","closest","expand","collapse","KaNavbar","appName","button","KaProgress","KaResource","saveAndReload","schema_loaded","data_loaded","save_before","save_after","buttonsActions","dataValidated","dataValidateError","modeChanged","_setReadonly","listRefQuery","_request","originalData","injectSchema","injectData","_validateControls","filedata","stream","granted","_ref12","_ref13","parentTab","promiseAll","_resetButtons","_iterator11","_isArray11","_i11","_ref14","KaTable","filters_loaded","records_loaded","sort_stack","sort_columns","config_operators","json","config_metas","config_options","hasFilters","hide_options","hide_filters","columns","filtrables","sortables","exportables","actions","appVer","prefilter","floater","transform","columns_schema","fieldDataset","fieldSchema","_fieldSchema","_field2","fieldKebab","export_schema","export_field","_field","_field4","default_operator","value_from","value_to","_loop4","_operator","filter_operator","filter_value","count_query","_field3","reference_query","export_query","nw","_iterator12","_isArray12","_i12","_iterator13","_isArray13","_i13","diff","set_sort","_iterator14","_isArray14","_i14","set_page","set_limit","show_options","optionsOpen","show_filters","filtersOpen","apply_filters","reset_filters","_iterator15","_isArray15","_i15","_ref15","_field5","show_export","exportOpen","hide_export","select_export","_iterator16","_isArray16","_i16","_ref16","_field6","unselect_export","_iterator17","_isArray17","_i17","_ref17","_field7","apply_export","exportPages","_iterator18","_isArray18","_i18","_ref18","_loop5","_isArray19","_i19","_iterator19","_ref19","copy","deep","unique","duplicate","deepcopy","_iterator20","_isArray20","_i20","_ref20","_field8","KaTableFilters","KaTabs","contents","whiteSpace","isDialog","currentTab","KaTooltipCustomAttribute","_dom","_middlewareData$arrow","getCssDimensions","hasOffset","offsetHeight","shouldFallback","$","unwrapElement","contextElement","getScale","domElement","noOffsets","getVisualOffsets","visualViewport","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getClientRectFromClippingAncestor","clippingAncestor","getViewportRect","clientWidth","visualViewportBased","getDocumentRect","scroll","scrollWidth","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","htmlX","htmlY","htmlRect","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","floating","getDocumentElement","getClippingRect","rootBoundary","clippingAncestors","getClippingElementAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","firstClippingAncestor","clippingRect","accRect","getElementRects","async","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","reference","getClientRects","isElement","isRTL","autoUpdate","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","passive","cleanupIo","observeMove","onMove","io","cleanup","_io","skip","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","frameId","reobserveFrame","resizeObserver","firstEntry","cancelAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","detectOverflow","autoPlacement","inline","limitShift","mergedOptions","platformWithCache","Bold","Cancel","Code","Column","Downloadable","Heading","Italic","Justify","Link","Next","Paragraph","Previous","Redo","Row","Save","Strikethrough","Subscript","Superscript","Undo","Unlink","getPluralForm","CKEDITOR_TRANSLATIONS","super","rethrowUnexpectedError","HTMLIFrameElement","contentDocument","base","u","h","references","updater","nonce","nc","styleSheet","Buffer","require","CKEDITOR_VERSION","allocUnsafe","webpackPolyfill","injectType","locals","M","I","N","__data__","H","Y","Q","J","Z","tt","X","nt","et","ot","st","ct","ft","pt","bt","wt","vt","xt","yt","Tt","Ct","St","Pt","Et","Mt","Nt","It","Rt","Ot","Lt","Dt","Vt","Bt","Ht","Ft","Wt","Ut","Yt","Qt","Gt","Jt","Xt","Zt","ne","ee","ie","oe","se","ce","ae","de","le","he","ue","ge","fe","pe","me","we","be","ke","xe","ye","ve","Ae","Te","Se","Ce","Pe","Ee","Ie","Me","Oe","De","Re","ze","Le","je","Ve","He","Fe","Ue","We","qe","$e","Ye","Qe","Ke","Ze","tn","Xe","nn","En","In","Mn","On","Nn","Rn","Dn","isTypedArray","zn","jn","Fn","Bn","Hn","Wn","Un","$n","Gn","Kn","Qn","Zn","Jn","ti","Xn","ni","ei","oi","ri","ai","di","li","hi","ui","fi","gi","pi","wi","vi","yi","xi","Ai","Ci","Ti","Pi","Mi","Ii","Oi","Ni","Di","Ri","zi","Li","ji","Vi","Fi","Ui","qi","Yi","Gi","Ki","Ji","Zi","Xi","eo","oo","so","ro","co","uo","lo","fo","mo","bo","po","wo","ko","_o","vo","yo","Ao","xo","Co","To","Yo","$o","Go","Qo","Ko","Zo","Jo","es","ts","ns","isMap","os","rs","cs","isSet","ds","gs","xs","Bs","Hs","Fs","keysIn","$s","Us","Gs","Ys","Qs","_config","Ks","_setObjectToTarget","_setToTarget","_getFromSource","Js","Xs","Zs","called","er","nr","ir","highest","high","low","lowest","or","rr","ar","cr","lr","listenTo","stopListening","fr","hr","emitter","callbacks","gr","childEvents","br","kr","fire","wr","_delegations","_r","stopDelegating","dr","_events","vr","yr","xr","_items","_itemMap","_idProperty","idProperty","_bindToExternalToInternalMap","_bindToInternalToExternalMap","_skippedIndexesFromExternal","_getItemIdBeforeAdding","getIndex","_bindToCollection","bindTo","_setUpBindToBinding","using","Ar","_context","_plugins","_availablePlugins","_contextPlugins","isContextPlugin","requiredBy","_add","plugin1","plugin2","Cr","Er","Pr","plural","Mr","Ir","uiLanguage","contentLanguage","uiLanguageDirection","Or","contentLanguageDirection","Nr","Rr","builtinPlugins","editors","_contextOwner","initPlugins","_addEditor","_removeEditor","_getEditorConfig","Dr","Vr","zr","jr","getChildIndex","getChild","getPath","getAncestors","includeSelf","parentFirst","getCommonAncestor","isBefore","isAfter","_remove","_removeChildren","_fireChange","Br","_textData","isSimilar","_clone","Fr","textNode","offsetInText","offsetSize","isPartial","Ur","Hr","Wr","_patterns","qr","matchAll","$r","Yr","Gr","getClassNames","hasClass","Qr","hasStyle","getStyle","Zr","Jr","Xr","ta","na","oa","Cache","sa","ca","aa","la","da","ua","ha","ga","fa","ma","pa","ba","wa","va","ka","xa","ya","Ta","Aa","Ca","Pa","Sa","Ma","Ea","Na","Ia","Ra","Oa","La","Da","Va","za","Ba","ja","Ha","Fa","Wa","Ua","$a","Ga","Ya","Ka","Qa","Za","Ja","tc","Xa","ec","ic","rc","sc","ac","lc","cc","uc","dc","hc","fc","pc","wc","bc","kc","yc","vc","Ac","xc","Cc","Tc","Sc","Pc","Mc","Ec","Nc","Ic","Oc","_styleProcessor","getStyleNames","setTo","Dc","toNormalizedForm","getReducedForm","Lc","_cleanEmptyObjectsOnPath","getNormalized","_getStylesEntries","getAsString","Rc","_normalizers","_extractors","_reducers","_consumables","zc","getRelatedStyles","setNormalizer","setExtractor","setReducer","setStyleRelation","_mapStyleNames","Vc","_attrs","jc","_children","_insertChild","_classes","Bc","stylesProcessor","_customProperties","childCount","getChildren","getAttributeKeys","getAttributes","getNormalizedStyle","findAncestor","getCustomProperty","getCustomProperties","getIdentity","getFillerOffset","_appendChild","Fc","_setAttribute","_removeAttribute","_addClass","_removeClass","_setStyle","_removeStyle","_setCustomProperty","_removeCustomProperty","Hc","Uc","Wc","qc","$c","Yc","Gc","Qc","Jc","Zc","toMany","Xc","_observable","_bindProperties","_to","_bindings","methodName","Kc","nl","rl","sl","ol","tl","al","selection","editableElement","cl","ll","rootName","dl","boundaries","startPosition","ul","_createAt","singleCharacters","shallow","ignoreElementEnd","_boundaryStartParent","_boundaryEndParent","_next","_previous","isAtEnd","_createAfter","_formatReturnValue","isAtStart","_createBefore","isEqual","previousPosition","nextPosition","nodeAfter","nodeBefore","getShiftedBy","getLastMatchingPosition","compareWith","getWalker","hl","isFlat","getEnlarged","fl","getTrimmed","containsPosition","containsRange","getDifference","isIntersecting","getIntersection","getContainedElement","getItems","getPositions","_createFromParentsAndOffsets","_createFromPositionAndShift","_createIn","_createOn","gl","ml","_ranges","_lastRangeBackward","_isFake","_fakeSelectionLabel","isFake","fakeSelectionLabel","isBackward","getRanges","getFirstRange","getLastRange","getFirstPosition","getLastPosition","getSelectedElement","_setRanges","_setFakeOptions","pl","fake","backward","setFocus","_addRange","_pushRange","addedRange","intersectingRange","_setTo","_setFocus","bl","roots","_postFixers","getRoot","registerPostFixer","_callPostFixers","kl","_priority","_id","_clonesGroup","getElementsWithSameId","vl","DEFAULT_PRIORITY","Al","Tl","isMac","Sl","isGecko","Pl","isSafari","El","isAndroid","Ml","features","isRegExpUnicodePropertySupported","Il","Cl","Nl","Ol","ctrl","alt","Rl","Vl","arrowleft","arrowup","arrowright","arrowdown","backspace","esc","cmd","Dl","Ll","zl","Bl","Hl","toDomElement","Fl","Ul","domTarget","defaultView","getSelection","getRangeAt","focusNode","focusOffset","domPositionToView","viewPositionToDom","extend","domConverter","Wl","ql","$l","_cloneGroups","setSelection","setSelectionFocus","createText","createAttributeElement","createContainerElement","createEditableElement","_document","createEmptyElement","createUIElement","setStyle","removeStyle","setCustomProperty","removeCustomProperty","breakAttributes","_breakAttributes","_breakAttributesRange","breakContainer","mergeAttributes","_removeFromClonedElementsGroup","Zl","mergeContainers","Xl","Gl","_addToClonedElementsGroup","nd","Yl","_wrapPosition","_wrapRange","_unwrapChildren","rename","clearClonedElementsGroup","createPositionAt","createPositionAfter","createPositionBefore","createRange","createRangeOn","createRangeIn","createSelection","_wrapChildren","_wrapAttributeElement","Ql","_unwrapAttributeElement","Kl","Jl","POSITIVE_INFINITY","ed","td","od","sd","rd","ckeFiller","cd","ld","dd","ud","fd","startContainer","startOffset","gd","md","firstIndex","lastIndexOld","lastIndexNew","bd","wd","howMany","kd","fastDiff","vd","yd","xd","Node","Ad","domDocuments","markedAttributes","markedChildren","markedTexts","_inlineFiller","_fakeSelectionContainer","markToSync","mapViewToDom","_updateChildrenMappings","_isSelectionInInlineFiller","_removeInlineFiller","_getInlineFillerPosition","_needsInlineFillerAtSelection","_updateAttrs","_updateChildren","inlineFillerPosition","_updateText","Cd","_updateSelection","_updateFocus","viewChildrenToDom","withChildren","_diffNodeLists","_findReplaceActions","equal","_updateElementMappings","unbindDomElement","bindElements","Td","findCorrespondingDomText","viewToDom","insertData","deleteData","_markDescendantTextToSync","domToView","Md","Pd","Sd","_removeDomSelection","_removeFakeSelection","_updateFakeSelection","_updateDomSelection","Id","bindFakeSelection","_fakeSelectionNeedsUpdate","removeAllRanges","selectNodeContents","addRange","_domSelectionNeedsUpdate","Ed","ELEMENT_NODE","isDomSelectionCorrect","domSelectionToView","anchorNode","mapDomToView","isBlockFiller","Nd","Od","Rd","DOCUMENT_NODE","Ld","zd","blockFillerMode","preElements","blockElements","_blockFiller","_domToViewMapping","_viewToDomMapping","_fakeSelectionMapping","fakeSelectionToView","bindDocumentFragments","_processDataFromViewText","viewRangeToDom","setStart","setEnd","getParentUIElement","_processDataFromDomText","isComment","isDocumentFragment","keepOriginalCase","domChildrenToView","isDomSelectionBackward","domRangeToView","endContainer","endOffset","findCorrespondingViewText","scrollX","scrollY","jd","scrollTo","DOCUMENT_FRAGMENT_NODE","COMMENT_NODE","isEqualNode","Fd","Bd","anchorOffset","detach","_isDomSelectionPositionCorrect","_getTouchingViewTextNode","_nodeEndsWithSpace","Vd","_getTouchingInlineDomNode","_checkShouldLeftTrimDomText","_checkShouldRightTrimDomText","Text","createTreeWalker","NodeFilter","SHOW_TEXT","SHOW_ELEMENT","acceptNode","FILTER_ACCEPT","FILTER_SKIP","Dd","Hd","Ud","_getProxyEmitter","qd","attach","ur","$d","Wd","_domNode","_domListeners","_createDomListener","useCapture","removeListener","Yd","isEnabled","enable","disable","Kd","Qd","Zd","Jd","Xd","tu","nu","eu","ou","iu","cu","du","lu","hu","uu","Cu","Su","Eu","Pu","Nu","Ru","Ou","Lu","zu","Vu","Bu","Hu","Fu","Wu","Uu","$u","qu","Yu","characterDataOldValue","_renderer","_domElements","_mutationObserver","_onMutations","takeRecords","_isBogusBrMutation","oldText","newText","oldChildren","newChildren","forceRender","Gu","domEvent","Qu","domEventType","onDomEvent","Ku","keystroke","Zu","th","eh","nh","ih","oh","rh","sh","lh","uh","dh","leading","maxWait","trailing","hh","_fireSelectionChangeDoneDebounced","fh","_handleSelectionMove","oldSelection","newSelection","domSelection","gh","_clearInfiniteLoopInterval","_clearInfiniteLoop","_loopbackCounter","_handleSelectionChange","hasDomSelection","mh","_renderTimeoutId","ph","isComposing","bh","wh","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","kh","vh","_source","yh","getDomRangeRects","moveTo","moveBy","getIntersectionArea","getArea","getVisible","xh","commonAncestorContainer","excludeScrollbarsAndBorders","Th","viewportOffset","Oh","Rh","Ph","Dh","Sh","frameElement","Mh","Eh","Ih","Nh","scrollViewportToShowTarget","scrollAncestorsToShowTarget","Ch","Lh","domRoots","_initialDomRootAttributes","_observers","_ongoingChange","_postFixersInProgress","_renderingDisabled","_hasChangedSinceTheLastRendering","_writer","hd","_render","attachDomRoot","detachDomRoot","getDomRoot","disableObservers","enableObservers","scrollToTheSelection","isRenderingInProgress","_disableRendering","zh","getChildStartOffset","_setAttributesTo","_clearAttributes","Vh","fromJSON","jh","Bh","_nodes","_insertNodes","maxOffset","getNode","getNodeIndex","getNodeStartOffset","indexToOffset","offsetToIndex","nodeList","_removeNodes","Fh","getNodeByPath","Hh","Uh","qh","stickiness","_visitedParent","$h","Yh","Wh","Gh","getParentPath","getCommonPath","isTouching","hasSameParentAs","getTransformedByOperation","_getTransformedByInsertOperation","_getTransformedByMoveOperation","_getTransformedBySplitOperation","_getTransformedByMergeOperation","_getTransformedByInsertion","_getTransformedByMove","sourcePosition","targetPosition","movedRange","_getCombined","splitPosition","moveTargetPosition","graveyardPosition","insertionPosition","_getTransformedByDeletion","deletionPosition","graveyard","Qh","containsItem","getMinimalFlatRanges","getTransformedByOperations","_createFromRanges","Kh","_modelToViewMapping","_viewToModelMapping","_viewToModelLengthCallbacks","_markerNameToElements","_elementToMarkerNames","_unboundMarkerNames","viewPosition","modelPosition","_findPositionIn","findMappedViewAncestor","_toModelOffset","unbindViewElement","toModelElement","unbindModelElement","toViewElement","bindElementToMarker","unbindElementFromMarkerName","flushUnboundMarkerNames","clearBindings","toModelRange","toModelPosition","toViewRange","toViewPosition","isPhantom","markerNameToElements","registerViewToModelLength","getModelLength","_moveViewPositionToTextNode","Jh","_consumable","_textProxyRegistry","Zh","_getSymbolForTextProxy","revert","_addSymbolForTextProxy","Xh","conversionApi","dispatcher","convertChanges","getMarkersToRemove","convertMarkerRemove","getChanges","convertInsert","convertRemove","convertAttribute","attributeKey","attributeOldValue","attributeNewValue","getRange","convertMarkerAdd","getMarkersToAdd","writer","consumable","_createInsertConsumable","_testAndFire","_clearConversionApi","_createConsumableForRange","convertSelection","getMarkersAtPosition","_createSelectionConsumable","tf","markerName","markerRange","ef","_removeAllRanges","directChange","_popRange","attributeKeys","getSelectedBlocks","sf","rf","containsEntireContent","_checkRange","nf","isBlock","isLimit","af","cf","lf","toRange","fromRange","isDocumentOperation","df","uf","hf","ff","gf","hasOwnRange","isGravityOverridden","markers","_updateMarkers","_updateAttributes","_getStoredAttributes","_overrideGravity","overrideGravity","_restoreGravity","restoreGravity","_getStoreAttributeKey","_isStoreAttributeKey","_model","_attributePriority","_fixGraveyardRangesData","_hasChangedRange","_overriddenGravityRegister","liveRange","_fixGraveyardSelection","_validateSelectionRange","pf","differ","enqueueChange","_getDefaultRange","_prepareRange","oldMarkers","_getSurroundingAttributes","mf","getNearestSelectionRange","bf","wf","_dispatchers","yf","vf","xf","elementToElement","Vf","Uf","converterPriority","attributeToElement","jf","qf","Mf","attributeToAttribute","Bf","$f","Rf","markerToElement","Ff","Nf","isOpening","markerToHighlight","Hf","Df","Yf","Cf","Lf","zf","Wf","Gf","Zf","elementToAttribute","Xf","rg","ag","ng","tg","sg","elementToMarker","eg","dg","ig","viewItem","og","splitToAllowedParent","modelCursor","convertChildren","getSplitParts","modelRange","cursorParent","cg","lg","checkAttribute","ug","downcastDispatcher","Jf","hg","_commands","commandName","commands","fg","gg","consumablesFromElement","createFrom","_canConsumeName","_test","_consume","_revert","mg","_sourceDefinitions","_attributeProperties","pg","getDefinition","itemName","_clearCache","getDefinitions","_compiledDefinitions","_compile","isRegistered","isInline","checkChild","_checkContextMatch","allowAttributes","checkMerge","addChildCheck","addAttributeCheck","setAttributeProperties","getAttributeProperties","getLimitElement","checkAttributeInSelection","getValidRanges","Ig","_getValidRangesForRange","Mg","walker","findAllowedParent","removeDisallowedAttributes","Ng","createContext","bg","wg","_g","kg","vg","yg","xg","allowIn","Eg","getNames","allowContentOf","allowWhere","allowAttributesOf","inheritTypesFrom","Ag","Tg","Cg","inheritAllFrom","Sg","Pg","Og","_splitParts","_modelCursor","convertItem","_convertItem","_convertChildren","_splitToAllowedParent","_getSplitParts","convert","Dg","_removeEmptyElements","Rg","_registerSplitPair","Lg","upcastDispatcher","viewDocument","_viewWriter","Kf","_checkIfRootsExists","hasContent","ignoreWhitespaces","toData","zg","removeSelectionAttribute","toModel","addStyleProcessorRules","getRootNames","Vg","_helpers","_downcast","_createConversionHelpers","dispatchers","isDowncast","_upcast","addAlias","jg","upcastAlso","Bg","Fg","operations","baseVersion","addOperation","batch","Hg","_validate","__className","Ug","Wg","qg","Qg","Jg","Kg","$g","Yg","Zg","tm","Xg","em","getReversed","_execute","Gg","nm","im","getMovedRangeStart","om","shouldReceiveAttributes","sm","oldRange","newRange","affectsData","_markers","rm","oldName","am","cm","lm","getInsertionPosition","dm","um","_assertWriterUsedCorrectly","pm","applyOperation","usingOperation","updateMarker","addMarker","insertText","insertElement","appendText","appendElement","hm","fm","setAttributes","clearAttributes","_addOperationForAffectedMarkers","mm","merge","_merge","_mergeDetached","createPositionFromPath","gm","_set","_refresh","managedUsingOperations","removeMarker","setSelectionAttribute","_setSelectionAttribute","_removeSelectionAttribute","overrideSelectionGravity","restoreSelectionGravity","_currentWriter","bm","_markerCollection","_changesInElement","_elementSnapshots","_changedMarkers","_changeCount","_cachedChanges","_cachedChangesWithGraveyard","refreshItem","_isInInsertedElement","_markRemove","_markInsert","getMarkersIntersectingRange","bufferMarkerChange","bufferOperation","_markAttribute","getChangedMarkers","hasDataChanges","includeChangesInGraveyard","wm","_m","_getInsertDiff","_getRemoveDiff","_getAttributesDiff","changeCount","km","_markChange","_removeAllNestedChanges","_makeSnapshot","_getChangesForElement","_handleChange","nodesToHandle","_operations","_undoPairs","_undoneOperations","getOperations","getOperation","setOperationAsUndone","isUndoingOperation","isUndoneOperation","getUndoneOperation","Tm","xm","Am","Cm","ym","Sm","Pm","_hasSelectionChangedFromTheLastChangeBlock","createRoot","_handleChangeBlock","_hasDocumentChangedFromTheLastChangeBlock","_getDefaultRoot","Em","Mm","Im","_attachLiveRange","_managedUsingOperations","_affectsData","_destroyMarker","getMarkersGroup","_detachLiveRange","_liveRange","getStart","getEnd","Nm","Om","Rm","Dm","Lm","toPosition","fromPosition","zm","jm","canMergeWith","_filterAttributesOf","_affectedStart","_affectedEnd","handleNodes","_handleNode","isFirst","isLast","getSelectionRange","nodeToSelect","getAffectedRange","_handleObject","_checkAndSplitToAllowedPosition","_insert","_mergeSiblingsOf","_handleDisallowedNode","_tryAutoparagraphing","_setAffectedBoundaries","_canMergeLeft","_canMergeRight","_getAllowedIn","Bm","doNotResetEntireContent","$m","qm","Wm","leaveUnmerged","Fm","Ym","doNotAutoparagraph","Hm","Um","Gm","Km","unit","Zm","tp","ep","isForward","Jm","Xm","ip","sp","rp","up","ap","cp","dp","hp","lp","fp","_pendingChanges","_runPendingChanges","insertContent","Vm","deleteContent","modifySelection","Qm","getSelectedContent","np","createBatch","createOperationFromJSON","gp","_listener","press","mp","pp","keystrokes","bp","wp","kp","updateSourceElement","sourceElement","_p","HTMLTextAreaElement","vp","xp","getHtml","createHTMLDocument","Ap","_domParser","DOMParser","_domConverter","_htmlWriter","_toDom","parseFromString","Tp","_components","Cp","Sp","_nextEventLoopTimeout","_focus","_blur","focusedElement","Pp","componentFactory","focusTracker","_editableElementsMap","ckeditorInstance","setEditableElement","getEditableElement","getEditableElementsNames","_editableElements","editorUI","Np","Op","isDirectHost","Vp","Lp","jp","Bp","hostElement","zp","Dp","Fp","_replacedElements","newElement","restore","Hp","_toolbarConfig","Mp","_elementReplacer","editable","_initPlaceholder","_initToolbar","stickyPanel","limiterElement","viewportTopOffset","fillFromConfig","Ep","originKeystrokeHandler","originFocusTracker","beforeFocus","afterBlur","Up","_renderViewIntoCollectionParent","_parentElement","Wp","isRendered","$p","ib","nb","_isRendered","_revertData","_renderNode","intoFragment","isApplying","revertData","_revertTemplateFromNode","getViews","fb","gb","Gp","eventNameOrFunction","Qp","valueIfTrue","ub","_renderText","_renderElement","_renderAttributes","_renderElementChildren","_setUpListeners","Kp","_bindToObservable","Xp","bb","tb","_renderStyleAttribute","lb","hb","eb","mb","eventListeners","activateDomEventListener","Zp","activateAttributeListener","Yp","Jp","removeAttributeNS","rb","ab","sb","cb","ob","db","_viewCollections","_unboundChildren","bindTemplate","_bindTemplate","registerChild","deregisterChild","extendTemplate","yb","vb","Ab","attachToDom","_bodyCollectionContainer","dir","xb","xmlns","detachFromDom","childElementCount","Cb","Pb","Eb","_voiceLabelView","_createVoiceLabel","Mb","_editableElement","_hasExternalElement","_editingView","_updateIsFocusedClasses","Ib","Nb","Rb","Db","_contentPanelPlaceholder","_panelRect","_contentPanel","limiterBottomOffset","marginLeft","_checkIfShouldBeSticky","_limiterRect","isSticky","_isStickyToTheLimiter","_hasViewportTopOffset","_marginLeft","Lb","keystrokeHandler","focusables","zb","_getFocusableItem","focusFirst","focusLast","focusNext","focusPrevious","Vb","Bb","_observerInstance","_createObserver","_addElementCallback","_deleteElementCallback","_elementCallbacks","_getElementCallbacks","Fb","_previousRects","_periodicCheckTimeout","_checkElementRectsAndExecuteCallback","_startPeriodicCheck","_stopPeriodicCheck","_hasRectChanged","contentRect","Hb","Ub","selectstart","$b","positions","limiter","fitInViewport","qb","Gb","elementRect","viewportRect","Qb","targetRect","limiterRect","Yb","positionName","positionRect","limiterIntersectArea","viewportIntersectArea","Kb","Zb","Jb","Xb","buttonView","panelView","panelPosition","_getOptimalPosition","_panelPositions","southEast","southWest","northEast","defaultPanelPositions","ew","viewBox","_updateXMLContent","_colorFillPaths","fillColor","iw","sw","tooltipView","_createTooltipView","labelView","_createLabelView","iconView","keystrokeView","_createKeystrokeView","_getTooltipString","tabindex","isToggleable","mousedown","withKeystroke","rw","aw","arrowView","_createArrowView","lw","_focusCycler","dw","uw","fw","toggleSwitchView","_createToggleView","gw","activator","contextElements","bw","kw","vw","yw","xw","ww","toolbarView","Cw","listView","itemsView","Sw","maxWidth","_behavior","shouldGroupWhenFull","Ew","Pw","viewChildren","viewFocusables","viewItemsView","viewFocusTracker","viewLocale","ungroupedItems","groupedItems","groupedItemsDropdown","_createGroupedItemsDropdown","cachedPadding","shouldUpdateGroupingOnNextResize","_updateFocusCycleableItems","_updateGrouping","viewElement","_enableGroupingOnResize","_enableGroupingOnMaxWidthChange","_areItemsOverflowing","_groupLastItem","_ungroupFirstItem","Iw","shouldToolbarGroupWhenFull","Ow","yp","initialData","Rw","Nw","Dw","_disableStack","forceDisabled","Lw","clearForceDisabled","zw","Vw","jw","Bw","Fw","Hw","Uw","Ww","_canBeAligned","qw","$w","Yw","isFormatting","Gw","Qw","Kw","Xw","t_","localizedOptionTitles","center","justify","_addButton","isVertical","ariaLabel","n_","i_","o_","s_","a_","c_","l_","_actions","hasAny","d_","_reader","u_","loaders","_updatePendingAction","_loadersMap","_pendingAction","getLoader","createLoader","createUploadAdapter","h_","uploaded","uploadTotal","destroyLoader","_destroy","uploadedPercent","_filePromiseWrapper","_createFilePromiseWrapper","_adapter","uploadResponse","isFulfilled","rejecter","g_","m_","_getValue","_checkEnabled","forceValue","p_","w_","_applyQuote","_removeQuote","b_","afterInit","y_","A_","_getValueFromFirstAllowedNode","T_","C_","copyOnEnter","P_","E_","I_","N_","D_","L_","V_","j_","getAsFile","_native","B_","dropRange","dataTransfer","targetRanges","clipboardData","F_","clientX","clientY","caretRangeFromPoint","rangeParent","rangeOffset","W_","q_","$_","_htmlDataProcessor","U_","H_","Y_","G_","Q_","K_","J_","isSoft","Z_","X_","ek","nk","tk","ik","sk","rk","ak","lk","dk","uk","isLocked","_changeCallback","_batch","_reset","_selectionChangeCallback","unlock","hk","_buffer","_batches","resultRange","fk","mk","gk","wk","pk","vk","bk","_handleContainerChildrenMutations","_handleTextMutation","_handleTextNodeInsertion","yk","xk","firstChangeAt","insertions","deletions","Ak","Tk","kk","isInput","Ck","_shouldEntireContentBeReplacedWithParagraph","_replaceEntireContentWithParagraph","Sk","inputType","selectionToRemove","Pk","Ek","Mk","Ik","Ok","Rk","Nk","Dk","Lk","useRelations","forceWeakRemove","setOriginalOperations","originalOperations","operationsA","operationsB","nextBaseVersionA","nextBaseVersionB","originalOperationsACount","originalOperationsBCount","getContext","updateRelation","padWithNoOps","Vk","zk","_history","_useRelations","_forceWeakRemove","_relations","_setRelation","side","wasInLeftElement","wasStartBeforeMergedElement","wasEndBeforeMergedElement","wasInRightElement","aIsStrong","aWasUndone","_wasUndone","bWasUndone","abRelation","_getRelation","baRelation","wasUndone","jk","Fk","Hk","Bk","Uk","_stack","_createdBatches","addBatch","ranges","clearStack","_restoreSelection","Wk","_undo","qk","$k","Yk","_batchRegistry","_undoCommand","_redoCommand","Gk","Qk","Kk","Jk","Xk","tv","ev","nv","paragraphLikeElements","ov","iv","_autoparagraphEmptyRoots","sv","modelElements","rv","av","cv","_addDefaultH1Conversion","lv","hv","dv","withText","commandValue","isOn","gv","_fireEvents","mv","_insertDescriptor","oldDescriptor","_removeDescriptor","bv","wv","kv","vv","yv","isVisible","attachTo","defaultPositions","southArrowNorth","southArrowNorthMiddleWest","southArrowNorthMiddleEast","southArrowNorthWest","southArrowNorthEast","northArrowSouth","northArrowSouthMiddleWest","northArrowSouthMiddleEast","northArrowSouthWest","northArrowSouthEast","pin","unpin","_pinWhenIsVisibleCallback","_startPinning","_stopPinning","xv","Av","arrowVerticalOffset","Tv","arrowHorizontalOffset","northWestArrowSouthWest","northWestArrowSouthMiddleWest","northWestArrowSouth","northWestArrowSouthMiddleEast","northWestArrowSouthEast","northEastArrowSouthWest","northEastArrowSouthMiddleWest","northEastArrowSouth","northEastArrowSouthMiddleEast","northEastArrowSouthEast","southWestArrowNorthWest","southWestArrowNorthMiddleWest","southWestArrowNorth","southWestArrowNorthMiddleEast","southWestArrowNorthEast","southEastArrowNorthWest","southEastArrowNorthMiddleWest","southEastArrowNorth","southEastArrowNorthMiddleEast","southEastArrowNorthEast","Cv","Pv","Ev","Mv","Vv","Nv","hasSelectionHandle","jv","Iv","Ov","Rv","Dv","zv","Hv","Fv","Uv","Wv","qv","Yv","Kv","Gv","Qv","$v","Xv","ty","ey","ny","Bv","Zv","Jv","iy","cy","ly","uy","dy","hy","my","py","by","_widgetsWithTypeAroundUI","_enableTypeAroundUIInjection","_enableDetectionOfTypeAroundWidgets","_enableInsertingParagraphsOnButtonClick","_insertParagraph","oy","wy","_y","importNode","sy","ry","ay","vy","_previouslySelected","_clearPreviouslySelectedWidgets","Ay","_onMousedown","_onKeydown","_handleDelete","xy","_setSelectionOverElement","yy","_handleEnterKey","_handleArrowKeys","_getObjectElementNextToSelection","Ty","Cy","Sy","Ey","fieldView","statusView","_createStatusView","Iy","Ny","ariaDescribedById","errorText","Ry","Dy","Ly","Vy","labeledInput","_createLabeledInputView","saveButtonView","_createButton","cancelButtonView","_focusables","Uy","Wy","positionLimiter","_viewToStack","_idToStack","_rotatorView","_createRotatorView","_fakePanelsView","_createFakePanelsView","hasView","stackId","_numberOfStacks","_visibleStack","singleViewMode","showStack","_showView","_singleViewMode","visibleView","_showNextStack","hideView","_getStackId","updatePosition","_getBalloonPosition","visibleStack","_showPrevStack","qy","buttonNextView","buttonPrevView","$y","balloonClassName","withArrow","showView","_createButtonView","_balloonPanelView","_addPanels","_removePanels","numberOfPanels","Qy","Ky","_createForm","_form","_showForm","_balloon","_hideForm","_isVisible","Gy","_isInBalloon","Jy","nx","ix","ox","_insertMissingModelCaptionElement","sx","tx","_fixCaptionVisibility","_updateCaptionVisibility","_lastSelectedCaption","ax","cx","lx","hx","_options","_referenceCoordinates","activeHandlePosition","mx","gx","bx","originalWidth","originalHeight","aspectRatio","originalWidthPercents","fx","proposedWidth","proposedHeight","proposedWidthPercents","widthPercents","proposedHandleHostWidth","handleHostWidth","proposedHandleHostHeight","handleHostHeight","wx","_domResizerWrapper","_viewResizerWrapper","_cleanup","_appendHandles","_appendSizeUI","_sizeUI","bindToState","_initialViewWidth","_getHandleHost","_getResizeHost","updateSize","_proposeNewSize","redraw","commit","onCommit","isSameNode","containsHandle","isResizeHandle","dismiss","vx","pageX","pageY","isCentered","dominant","getResizeHost","getHandleHost","kx","Ax","xx","Cx","_resizers","_observer","_mouseDownListener","_mouseMoveListener","_mouseUpListener","_visibleResizer","_getResizerByViewElement","_getResizerByHandle","_activeResizer","Sx","Mx","defaultStyle","Ox","Rx","Dx","Lx","zx","Vx","full","alignLeft","alignCenter","alignRight","jx","Bx","Fx","Hx","Ix","Nx","Wx","localizedDefaultStylesTitles","qx","Yx","Kx","_toolbarDefinitions","_updateToolbarsVisibility","getRelatedElement","toolbarId","_isToolbarVisible","_hideToolbar","_isToolbarInBalloon","_showToolbar","Gx","Qx","Zx","_fileInputView","Xx","eA","nA","oA","File","sA","acceptedType","allowMultipleFiles","dA","uploadStatusChange","uA","fA","gA","mA","wA","yA","bA","pA","vA","hA","kA","_A","xA","alert","showSuccess","_showNotification","namespace","showInfo","showWarning","AA","insertChild","removeChildren","TA","CA","uploadId","SA","PA","iA","imageElement","EA","_readAndUpload","_ckHack","uploadStatus","_parseAndSetSrcsetAttributeOnImage","IA","_childCommands","_getFirstEnabledCommand","registerChildCommand","NA","OA","RA","DA","_defineButton","zA","VA","BA","FA","UA","WA","qA","manualDecorators","restoreManualDecoratorStates","_getDecoratorStateFromModel","$A","GA","YA","nT","oT","iT","rT","sT","aT","fT","gT","mT","bT","wT","_T","vT","yT","AT","TT","CT","PT","ST","MT","ET","NT","IT","RT","DT","LT","VT","jT","BT","UT","_definitions","getDispatcher","WT","$T","_modelSelection","_overrideUid","_isNextGravityRestorationSkipped","_isGravityOverridden","YT","handleForwardMovement","_hasSelectionAttribute","KT","_preventCaretMovement","GT","QT","handleBackwardMovement","_setSelectionAttributeFromTheNodeBefore","JT","_skipNextAutomaticGravityRestoration","XT","tC","nC","iC","addTargetToExternalLinks","FT","HT","_enableAutomaticDecorators","_enableManualDecorators","qT","_setupLinkHighlight","_enableInsertContentSelectionAttributesFixer","rel","oC","rC","urlInputView","_createUrlInput","_manualDecoratorSwitches","_createManualDecoratorSwitches","_createFormChildren","getDecoratorSwitchesState","dC","previewButtonView","_createPreviewButton","unlinkButtonView","editButtonView","hC","fC","actionsView","_createActionsView","formView","_createFormView","_createToolbarLinkButton","_enableUserBalloonInteractions","_addFormView","_hideUI","_closeFormView","_showUI","_getSelectedLinkElement","_areActionsVisible","_isUIVisible","_isUIInPanel","_addActionsView","_areActionsInPanel","_getBalloonPositionData","_isFormInPanel","_removeFormView","_startUpdatingUI","gC","zT","pC","wC","listIndent","bC","listType","_C","_indentBy","vC","kC","SC","yC","TC","sameIndent","smallerIndent","AC","xC","CC","PC","MC","IC","OC","RC","DC","$C","HC","UC","LC","qC","zC","VC","FC","WC","foo","YC","BC","GC","jC","NC","EC","JC","XC","getMediaViewElement","iS","rS","oS","sS","aS","dS","extraProviders","removeProviders","provider","providerDefinitions","hasMedia","_getMedia","getViewElement","uS","_getUrlMatches","_getValidUrl","_previewRenderer","renderForEditingView","renderMediaPreview","_getPreviewHtml","_getPlaceholderHtml","fS","tS","gS","mS","_timeoutId","_positionToInsert","_embedMediaBetweenPositions","bS","_validators","resetFormStatus","infoText","_urlInputViewInfoDefault","_urlInputViewInfoTip","_S","kS","_setUpDropdown","_setUpForm","AS","CS","MS","indent","NS","OS","RS","SS","PS","DS","ES","IS","LS","zS","xS","TS","BS","FS","VS","WS","jS","innerText","HS","US","sheet","cssRules","stylesString","bodyString","qS","YS","GS","QS","KS","ZS","$S","JS","XS","tP","eP","oP","sP","rP","_getFormattingItems","_getFormattingAttributes","aP","lP","hP","fP","mP","pP","wP","_P","vP","yP","TP","PP","EP","NP","getCellLocation","OP","rows","headingRows","headingColumns","LP","zP","VP","startRow","endRow","includeSpanned","_skipRows","_row","_column","_cellIndex","_spannedCells","_nextCellAtColumn","_isOverEndRow","_isSpanned","_getSpanned","_shouldSkipRow","_shouldSkipColumn","_formatOutValue","_recordSpans","skipRow","cell","isSpanned","rowspan","colspan","cellIndex","_markSpannedCell","BP","FP","HP","UP","tE","eE","WP","qP","$P","XP","YP","GP","iE","oE","nE","QP","KP","JP","ZP","sE","asWidget","jP","bE","pE","gE","fE","rE","yE","aE","cE","vE","uE","hE","kE","lE","mE","xE","wE","_E","AE","TE","createTable","CE","insertRows","copyStructureFromAbove","SE","insertColumns","PE","splitCellHorizontally","splitCellVertically","EE","isHorizontal","_getMergeableCell","NE","OE","removeRows","ME","IE","RE","getRows","DE","LE","getColumns","VE","zE","removeColumns","jE","_isInHeading","BE","FE","HE","UE","cellsToMove","cellsToTrim","YE","GE","$E","qE","newCellsSpan","updatedSpan","WE","QE","mergeWidth","mergeHeight","ZE","XE","KE","JE","tM","eM","nM","iM","cM","oM","sM","rM","aM","lM","dM","uM","hM","fM","gM","mM","pM","bM","_M","dE","vM","actionView","_createActionView","xM","_createGridCollection","_highlightGridBoxes","AM","EM","bindIsOn","_prepareDropdown","_prepareMergeSplitButtonDropdown","_fillDropdownWithListOptions","MM","IM","NM","startColumn","endColumn","OM","RM","LM","_handleDeleteContent","_defineSelectionConverter","_enableShiftClickSelection","_enableMouseDragSelection","_enablePluginDisabling","getSelectedTableCells","getSelectionAsFragment","setCellSelection","_getCellsToSelect","cells","getFocusCell","getAnchorCell","_getModelTableCellFromDomEvent","zM","flat","VM","_onCopyCut","_onInsertContent","FM","BM","UM","firstRow","lastRow","firstColumn","lastColumn","qM","WM","YM","GM","jM","firstColumnOfSelection","lastColumnOfSelection","firstRowOfSelection","lastRowOfSelection","HM","$M","QM","_handleTabOnSelectedTable","_getTabHandler","KM","JM","_navigateFromCellInDirection","_isSelectionAtCellEdge","_isObjectElementNextToSelection","_findTextRangeFromSelection","_isSingleLineRange","_getNearestVisibleTextPosition","eI","testCallback","hasMatch","_startListening","_evaluateTextBeforeSelection","nI","iI","sI","oI","rI","registeredTrademark","trademark","oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight","horizontalEllipsis","enDash","emDash","quotesPrimary","fI","quotesSecondary","quotesPrimaryEnGb","quotesSecondaryEnGb","quotesPrimaryPl","quotesSecondaryPl","aI","mathematical","typography","quotes","cI","dI","uI","hI","pI","e_","r_","_addListAutoformats","_addBasicStylesAutoformats","_addHeadingAutoformats","_addBlockQuoteAutoformats","_addCodeBlockAutoformats","f_","x_","M_","z_","Zk","fv","Xy","Ex","_registerSchema","_registerConverters","modelElement","$x","Jx","MA","LA","HA","mC","ZC","yS","nP","isTransformedWithPasteFromOffice","cP","gP","kP","CP","XM","tI","lI","transformations","_enableTransformationWatchers","gI","extra","mI","normalizedTransformation","LuxonError","InvalidDateTimeError","toMessage","InvalidIntervalError","InvalidDurationError","ConflictingSpecificationError","InvalidUnitError","InvalidArgumentError","ZoneIsAbstractError","DATE_SHORT","DATE_MED","DATE_MED_WITH_WEEKDAY","DATE_FULL","DATE_HUGE","TIME_SIMPLE","TIME_WITH_SECONDS","second","TIME_WITH_SHORT_OFFSET","timeZoneName","TIME_WITH_LONG_OFFSET","TIME_24_SIMPLE","hourCycle","TIME_24_WITH_SECONDS","TIME_24_WITH_SHORT_OFFSET","TIME_24_WITH_LONG_OFFSET","DATETIME_SHORT","DATETIME_SHORT_WITH_SECONDS","DATETIME_MED","DATETIME_MED_WITH_SECONDS","DATETIME_MED_WITH_WEEKDAY","DATETIME_FULL","DATETIME_FULL_WITH_SECONDS","DATETIME_HUGE","DATETIME_HUGE_WITH_SECONDS","Zone","ianaName","isUniversal","offsetName","opts","formatOffset","otherZone","singleton$1","SystemZone","Intl","DateTimeFormat","resolvedOptions","timeZone","parseZoneInfo","getTimezoneOffset","dtfCache","typeToPos","era","ianaZoneCache","IANAZone","resetCache","isValidSpecifier","isValidZone","zone","zoneName","makeDTF","hour12","adOrBc","formatToParts","partsOffset","formatted","filled","isUndefined","hackyOffset","fMonth","fDay","fYear","fadOrBc","fHour","fMinute","fSecond","asTS","over","objToLocalTS","millisecond","intlLFCache","intlDTCache","getCachedDTF","locString","intlNumCache","intlRelCache","sysLocaleCache","weekInfoCache","listStuff","loc","englishFn","intlFn","listingMode","PolyNumberFormatter","intl","forceSimple","padTo","otherOpts","intlOpts","useGrouping","minimumIntegerDigits","inf","getCachedINF","NumberFormat","roundTo","PolyDateFormatter","dt","originalZone","gmtOffset","offsetZ","toJSDate","PolyRelFormatter","isEnglish","hasRelative","rtf","getCachedRTF","cacheKeyOpts","RelativeTimeFormat","formatRelativeTime","narrow","quarters","lastable","isDay","isInPast","fmtValue","singular","lilUnits","fmtUnit","fallbackWeekSettings","firstDay","minimalDays","weekend","Locale","fromOpts","numberingSystem","outputCalendar","weekSettings","defaultToEN","specifiedLocale","Settings","defaultLocale","localeR","systemLocale","numberingSystemR","defaultNumberingSystem","outputCalendarR","defaultOutputCalendar","weekSettingsR","validateWeekSettings","defaultWeekSettings","numbering","parsedLocale","parsedNumberingSystem","parsedOutputCalendar","parseLocaleString","localeStr","xIndex","uIndex","selectedStr","smaller","calendar","intlConfigString","weekdaysCache","monthsCache","meridiemCache","eraCache","fastNumbersCached","fastNumbers","supportsFastNumbers","isActuallyEn","hasNoWeirdness","alts","redefaultToEN","redefaultToSystem","formatStr","mapMonths","ms","extract","mapWeekdays","meridiems","eras","matching","dtFormatter","numberFormatter","relFormatter","listFormatter","getCachedLF","ListFormat","getWeekSettings","hasLocaleWeekInfo","getCachedWeekInfo","getWeekInfo","weekInfo","getStartOfWeek","getMinDaysInFirstWeek","getWeekendDays","other","FixedOffsetZone","utcInstance","parseSpecifier","signedOffset","InvalidZone","normalizeZone","defaultZone","lowered","numberingSystems","arab","arabext","bali","beng","deva","fullwide","gujr","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","latn","numberingSystemsUTF16","hanidecChars","digitRegexCache","digitRegex","throwOnInvalid","twoDigitCutoffYear","cutoffYear","resetCaches","resetDigitRegexCache","Invalid","nonLeapLadder","leapLadder","unitOutOfRange","dayOfWeek","UTC","setUTCFullYear","js","getUTCDay","computeOrdinal","isLeapYear","uncomputeOrdinal","ordinal","month0","isoWeekdayToLocal","isoWeekday","startOfWeek","gregorianToWeek","gregObj","minDaysInFirstWeek","weekYear","weekNumber","weeksInWeekYear","timeObject","weekToGregorian","weekData","weekdayOfJan4","yearInDays","daysInYear","gregorianToOrdinal","gregData","ordinalToGregorian","ordinalData","usesLocalWeekValues","localWeekday","localWeekNumber","localWeekYear","hasInvalidGregorianData","validYear","validMonth","integerBetween","validDay","daysInMonth","hasInvalidTimeData","validHour","validMinute","validSecond","validMillisecond","bestBy","compare","best","thing","padded","parseInteger","parseFloating","parseMillis","fraction","towardZero","factor","modMonth","floorMod","firstWeekOffset","weekOffset","weekOffsetNext","untruncateYear","offsetFormat","modified","offHourStr","offMinuteStr","offHour","offMin","asNumber","numericValue","normalizeObject","normalizer","pick","monthsLong","monthsShort","monthsNarrow","weekdaysLong","weekdaysShort","weekdaysNarrow","erasLong","erasShort","erasNarrow","stringifyTokens","splits","tokenToString","macroTokenToFormatOpts","DD","DDD","DDDD","ttt","tttt","TTT","TTTT","fff","ffff","FF","FFF","FFFF","Formatter","parseFormat","fmt","currentFull","bracketed","formatOpts","systemLoc","formatWithSystemDefault","formatDateTime","formatDateTimeParts","formatInterval","formatRange","formatDateTimeFromString","knownEnglish","useDateTimeFormatter","isOffsetFixed","allowZ","meridiem","meridiemForDateTime","monthForDateTime","weekdayForDateTime","maybeMacro","eraForDateTime","quarter","formatDurationFromString","dur","tokenToField","realTokens","lildur","mapped","shiftTo","ianaRegex","combineRegexes","regexes","combineExtractors","extractors","mergedVals","mergedZone","ex","patterns","extractor","simpleParse","offsetRegex","isoTimeBaseRegex","isoTimeRegex","isoTimeExtensionRegex","extractISOWeekData","extractISOOrdinalData","sqlTimeRegex","sqlTimeExtensionRegex","int","fallback","extractISOTime","extractISOOffset","fullOffset","extractIANAZone","isoTimeOnly","isoDuration","extractISODuration","yearStr","monthStr","weekStr","dayStr","hourStr","minuteStr","secondStr","millisecondsStr","hasNegativePrefix","negativeSeconds","maybeNegate","obsOffsets","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","fromStrings","weekdayStr","rfc2822","extractRFC2822","obsOffset","milOffset","rfc1123","rfc850","ascii","extractRFC1123Or850","extractASCII","isoYmdWithTimeExtensionRegex","isoWeekWithTimeExtensionRegex","isoOrdinalWithTimeExtensionRegex","isoTimeCombinedRegex","extractISOYmdTimeAndOffset","extractISOYmd","extractISOWeekTimeAndOffset","extractISOOrdinalDateAndTime","extractISOTimeAndOffset","extractISOTimeOnly","sqlYmdWithTimeExtensionRegex","sqlTimeCombinedRegex","extractISOTimeOffsetAndIANAZone","INVALID$2","lowOrderMatrix","casualMatrix","daysInYearAccurate","daysInMonthAccurate","accurateMatrix","orderedUnits$1","reverseUnits","clone$1","conversionAccuracy","matrix","durationToMillis","vals","_vals$milliseconds","normalizeValues","previousVal","conv","rollUp","accurate","invalid","isLuxonDuration","fromMillis","normalizeUnit","fromDurationLike","durationLike","isDuration","parseISODuration","fromISOTime","parseISOTimeOnly","fmtOpts","toHuman","unitDisplay","listStyle","toISOTime","millis","toMillis","suppressSeconds","includePrefix","includeOffset","invalidReason","minus","negate","mapUnits","reconfigure","rescale","removeZeroes","newVals","shiftToAll","built","accumulated","lastUnit","negated","invalidExplanation","v1","v2","INVALID$1","isLuxonInterval","builtStart","friendlyDateTime","builtEnd","validateError","validateStartEnd","startIsValid","endIsValid","isInterval","toDuration","useLocaleWeeks","hasSame","splitAt","dateTimes","sorted","divideEqually","numberOfParts","overlaps","abutsStart","abutsEnd","engulfs","intersection","union","intervals","final","sofar","xor","currentCount","ends","toISODate","mapEndpoints","hasDST","isValidIANAZone","locObj","getMinimumDaysInFirstWeek","getWeekendWeekdays","monthsFormat","weekdaysFormat","relative","localeWeek","dayDiff","earlier","later","utcDayStart","keepLocalTime","highWater","lowestOrder","highOrderDiffs","differs","remainingMillis","lowerOrderUnits","intUnit","deser","parseDigits","spaceOrNBSP","spaceOrNBSPRegExp","fixListRegex","stripInsensitivities","oneOf","strings","simple","escapeToken","partTypeStyleToTokenVal","dayperiod","dayPeriod","hour24","dummyDateTimeCache","expandMacroTokens","maybeExpandMacroToken","formatOptsToTokens","TokenParser","unitForToken","six","oneOrTwo","oneToThree","oneToSix","oneToNine","twoToFour","fourToSix","unitate","disqualifyingUnit","regexString","buildRegex","explainFromTokens","rawMatches","matchIndex","specificOffset","dateTimeFromMatches","toField","getDummyDateTime","resolvedOpts","tokenForPart","isSpace","actualType","INVALID","MAX_DATE","unsupportedZone","possiblyCachedWeekData","possiblyCachedLocalWeekData","localWeekData","inst","fixOffset","localTS","tz","utcGuess","o2","o3","tsToObj","objToTS","adjustTime","oPre","millisToAdd","parseDataToDateTime","parsedZone","interpretationZone","toTechFormat","extended","longFormat","extendedZone","defaultUnitValues","defaultWeekUnitValues","defaultOrdinalUnitValues","orderedUnits","orderedWeekUnits","orderedOrdinalUnits","normalizeUnitWithLocalWeeks","weeknumber","weeksnumber","weeknumbers","weekyear","weekyears","quickDT","offsetProvis","guessOffsetForZone","zoneOffsetGuessCache","zoneOffsetTs","diffRelative","calendary","lastOpts","argList","_zone","isLuxonDateTime","fromJSDate","isDate","zoneToUse","fromSeconds","tsNow","containsOrdinal","containsGregorYear","containsGregorMD","containsGregor","definiteWeekDef","useWeekData","defaultValues","objNow","foundFirst","higherOrderInvalid","hasInvalidWeekData","validWeek","validWeekday","hasInvalidOrdinalData","validOrdinal","gregorian","tsFinal","offsetFinal","parseISODate","fromRFC2822","parseRFC2822Date","preprocessRFC2822","fromHTTP","parseHTTPDate","localeToUse","parseFromTokens","fromString","fromSQL","parseSQL","isDateTime","parseFormatForOpts","localeOpts","tokenList","expandFormat","isWeekend","monthShort","monthLong","weekdayShort","weekdayLong","offsetNameShort","offsetNameLong","isInDST","getPossibleOffsets","dayMs","minuteMs","oEarlier","oLater","o1","ts1","ts2","c1","isInLeapYear","weeksInLocalWeekYear","resolvedLocaleOptions","keepCalendarTime","newTS","offsetGuess","asObj","setLocale","settingWeekStuff","mixed","normalizedUnit","toLocaleParts","toISOWeekDate","toRFC2822","toHTTP","toSQLDate","toSQLTime","includeZone","includeOffsetSpace","toSQL","toSeconds","toUnixInteger","toBSON","includeConfig","otherDateTime","durOpts","maybeArray","otherIsLater","diffed","until","inputMs","adjustedToZone","toRelative","toRelativeCalendar","fromFormatExplain","fromStringExplain","buildFormatParser","fromFormatParser","formatParser","dateTimeish","VERSION","defineLocale","weekdaysMin","meridiemParse","isPM","isLower","longDateFormat","LTS","LL","LLL","LLLL","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","dayOfMonthOrdinalParse","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","postformat","symbolMap","preparse","numberMap","suffixes","word","forms","relativeTimeWithPlural","isFormat","period","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","monthsParse","monthsRegex","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","weekdaysParse","longMonthsParse","shortMonthsParse","processRelativeTime","translate","lll","llll","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","since","abbr","eraYearOrdinalRegex","eraYearOrdinalParse","$0","$1","$2","isUpper","ezafeNumSuffix","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","translateSeconds","translateSingular","special","relativeTimeWithSingular","relativeSeconds","translator","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","weekdaysCaseReplace","nominative","accusative","genitive","processHoursFunction","webpackContext","webpackContextResolve","webpackContextKeys","hookCallback","setHookCallback","hasOwnProp","isObjectEmpty","arrLen","createUTC","strict","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","weekdayMismatch","getParsingFlags","_pf","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","_isValid","createInvalid","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","dates","isoweekdays","isoweekday","dayofyears","dayofyear","GG","isoweekyears","isoweekyear","isoweeks","isoweek","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","dayOfYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p2","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","addParseToken","tokenLen","addWeekParseToken","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","getMilliseconds","getSeconds","getDay","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setUTCDate","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","mod","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","setUTCMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weeksInYear","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","checkWeekday","parsedInput","calculateOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","configFromArray","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","_milliseconds","_days","_bubble","absRound","compareArrays","array1","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","cloneWithOffset","setTime","getDateOffset","getSetOffset","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","tmp","isAdding","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","formats","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","isSame","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","keepOffset","toDate","datetime","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","isDSTShifted","proto$1","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","encoding","_ff","_gg","HH","_hh","II","_ii","_blocksize","_digestsize","digestbytes","asBytes","asString","addUnitAlias","shorthand","lowerCase","addUnitPriority","dayOfMonth","runtime","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","makeInvokeMethod","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","tryCatch","GenStateSuspendedYield","GeneratorFunction","GeneratorFunctionPrototype","NativeIteratorPrototype","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","previousPromise","enqueue","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","skipTempReset","rootRecord","rval","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","_RestClient_instances","_RestClient_baseUrl","_RestClient_makeUrl","_RestClient_makeRequest","_APIResponse_jsonMimeTypes","__classPrivateFieldSet","__classPrivateFieldGet","RestAuth","xhrFingerprint","APIResponse","Request","isJson","getRandomValues","rnds8","rng","crypto","msCrypto","byteToHex","v4","buf","rnds","computeCoordsFromPlacement","rtl","sideAxis","alignmentAxis","alignLength","commonX","commonY","commonAlign","coords","_await$platform$isEle","rects","elementContext","altBoundary","paddingObject","clippingClientRect","offsetScale","elementClientRect","platformWithDetectOverflow","statefulPlacement","resetCount","currentMiddleware","nextX","nextY","initialPlacement","axis","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","shouldAddOffset","alignmentOffset","centerOffset","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflows","overflowsData","sides","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","originSides","_middlewareData$offse","diffCoords","convertValueToCoords","alignment","mainAxisMulti","crossAxisMulti","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","getHTMLOffset","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginRight","clippingStableScrollbarWidth","setLeftRTLScrollbarOffset","htmlOffset","firstRect","hasWindow","getNodeName","getWindow","_node$ownerDocument","isHTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","isTableElement","isTopLayer","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","rotate","perspective","isWebKit","backdropFilter","willChange","contain","getContainingBlock","getParentNode","isLastTraversableNode","CSS","getNodeScroll","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","getFrameElement","createCoords","oppositeSideMap","clamp","getSide","getAlignment","getOppositeAxis","getAxisLength","getSideAxis","firstChar","getAlignmentAxis","getAlignmentSides","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getOppositeAxisPlacements","getSideList","isStart","getPaddingObject","expandPaddingObject","rectToClientRect","validMiddleware","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","allowedPlacements","autoAlignment","placements$1","getPlacementList","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","placementsSortedByMostSpace","getSideOffsets","isAnySideFullyClipped","referenceHiddenOffsets","referenceHidden","escapedOffsets","getBoundingRect","minX","minY","nativeClientRects","clientRects","getRectsByLine","sortedRects","prevRect","resetRects","lastRect","isTop","isLeftSide","maxRight","minLeft","measureRects","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","isOriginSide","_state$middlewareData","_state$middlewareData2","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","webkit","containerType","alignments","oppositeAlignmentMap","removePrecisionIssue","fromMap","fromUnit","toMap","toUnit","down","MISSING_FTP","adjustedHour","__webpack_module_cache__","inProgress","dataWebpackPrefix","cachedModule","__webpack_modules__","definition","chunkId","hmd","needAttach","scripts","charset","onScriptComplete","doneFns","nmd","paths","baseURI","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","chunkLoadingGlobal","startResolve","bootstrapPromises","startPromise","isNodeLike","browser","preparePlatform","initializePal","isRenderer","palModule","globalize","frameworkPromise","frameworkName","appHost","customConfig","bootstrap","appHosts","mainModuleId","toConsole","bootstraps"],"sourceRoot":""}